.. _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:


- <tt>'value'</tt> - 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``
- <tt>'log'</tt> - 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.


