.. _responses-objective_functions-primary_scale_types:
"""""""""""""""""""
primary_scale_types
"""""""""""""""""""
How to scale each objective function
.. toctree::
:hidden:
:maxdepth: 1
**Specification**
- *Alias:* objective_function_scale_types
- *Arguments:* STRINGLIST
- *Default:* no scaling
**Description**
Each string in ``primary_scale_types`` indicates the scaling type for
each objective function. They only have effect when the associated
method specifies ``scaling``.
The options are:
- 'value' - characteristic value by which response functions will be divided. If this is chosen, then :dakkw:`responses-objective_functions-primary_scales` must also be specified; 'value' is assumed if scales are given without ``scale_types``
- 'log' - logarithmic scaling (can be used together with :dakkw:`responses-objective_functions-primary_scales`, which can be helpfully used to negate values prior to log transformation)
(Automatic scaling is disallowed due to lack of bounds or targets for
primary responses.)
If a single string is specified it will apply to all
objective_functions. Otherwise the length of ``primary_scale_types``
must have length equal to :dakkw:`responses-objective_functions`. Thus,
when scalar and/or field responses are specified, the number of
``primary_scale_types`` must equal the number of scalars plus the number
of fields, *not* the total elements in the fields.
*Usage Tips:*
When scaling is active, it is applied to objective functions prior to
any :dakkw:`responses-objective_functions-weights` and multi-objective sum
formation.
See the scaling information under specific methods, e.g.,
``method-*-scaling`` for details on how to use this keyword.