.. _variables-linear_equality_scale_types:

"""""""""""""""""""""""""""
linear_equality_scale_types
"""""""""""""""""""""""""""


How to scale each linear equality constraint




**Topics**


linear_constraints



.. toctree::
   :hidden:
   :maxdepth: 1



**Specification**

- *Alias:* None

- *Arguments:* STRINGLIST

- *Default:* vector values = "none"


**Description**


Each string in ``linear_equality_scale_types`` indicates the scaling
type for each linear equality constraint. They only have effect when
the associated method specifies ``scaling``.

The options are:

- 'value' - characteristic value. If this is chosen, then  :dakkw:`variables-linear_equality_scales` must be specified; 'value' is assumed if scales are given without a ``scale_types``
- 'auto' - automatic scaling.

If a single string is specified it will apply to all linear equality
constraints. Otherwise the number of strings specified should be equal
to the number of linear equalities.

Scaling for linear constraints is applied *after* any continuous variable scaling.

For example, for variable scaling on continuous design variables x: 

.. math::
   \tilde{x}^j =
   \frac{x^j - x^j_O}{x^j_M} 
   
we have the following system for linear equality constraints 

.. math::  a_L \leq A_i x \leq a_U 

.. math::
   a_L \leq
   A_i \left( \mathrm{diag}(x_M) \tilde{x} + x_O \right) \leq a_U 
   
.. math:: 
   a_L - A_i x_O \leq A_i \mathrm{diag}(x_M) \tilde{x} \leq a_U - A_i x_O

.. math::
   \tilde{a}_L \leq \tilde{A}_i \tilde{x} \leq \tilde{a}_U 
   
and user-specified or automatically computed scaling multipliers are
appplied to this final transformed system, which accounts for
continuous design variable scaling. When automatic scaling is in use
for linear constraints they are linearly scaled by a computed
characteristic value, but not affinely to [0,1].

See the scaling information under specific methods, e.g., ``method-*-scaling`` for details on how to use this keyword.



