![]() |
Dakota Reference Manual
Version 6.2
Large-Scale Engineering Optimization and Uncertainty Analysis
|
Turn on scaling for variables, responses, and constraints
This keyword is related to the topics:
Alias: none
Argument(s): none
Default: no scaling
Some of the optimization and calibration methods support scaling of continuous design variables, objective functions, calibration terms, and constraints. This is activated by by providing the scaling
keyword. Discrete variable scaling is not supported.
When scaling is enabled, variables, functions, gradients, Hessians, etc., are transformed such that the method iterates in scaled variable space, whereas evaluations of the computational model as specified in the interface are performed on the original problem scale. Therefore using scaling does not require rewriting the interface to the simulation code.
Scaling also requires the specification of additional keywords which are found in the method, variables, and responses blocks. When the scaling
keyword is omitted, all _scale_types
and *_scales
specifications are ignored in the method, variables, and responses sections.
This page describes the usage of all scaling related keywords. The additional keywords come in pairs, one pair for each set of quantities to be scaled. These quantities can be constraint equations, variables, or responses.
*scales
keyword, which gives characteristic values *scale_type
keyword, which determines how to use the characteristic valuesThe pair of keywords both take argument(s), and the length of the arguments can either be zero, one, or equal to the number of quantities to be scaled. If one argument is given, it will apply to all quantities in the set. See the examples below.
Scale Types
There are four scale types:
none
(default) - no scaling, value of *scales
keyword is ignored value
- multiplicative scaling auto
- automatic scaling
First the quantity is scaled by the characteristic value, then automatic scaling will be attempted according to the following scheme:
Automatic scaling is not available for objective functions nor calibration terms since they lack bound constraints. Futher, when automatically scaled, linear constraints are scaled by characteristic values only, not affinely scaled into [0,1].
log
- logarithmic scaling
First, any characteristic values from the optional *_scales
specification are applied. Then logarithm base 10 scaling is applied.
Logarithmic scaling is not available for linear constraints.
When continuous design variables are log scaled, linear constraints are not allowed.
Scales
The *scales
keywords are used to specify the characteristic values. These must be non-zero real numbers. The numbers are used according to the corresponding *scale_type
, as described above.
Depending on the scale type, the characteristic values may be required or optional.
none
, auto
, log
- optional value
- required.A warning is issued if scaling would result in division by a value smaller in magnitude than 1.0e10*DBL_MIN
. User-provided values violating this lower bound are accepted unaltered, whereas for automatically calculated scaling, the lower bound is enforced.
The two examples below are equivalent:
responses objective_functions 3 sense "maximize" primary_scale_types = "value" primary_scales = 1 1 100
responses objective_functions 3 sense "maximize" primary_scale_types = "value" "value" "value" primary_scales = 1 1 100