# primary_scale_types

How to scale each objective function

**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

`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

`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 `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 `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.