About Objective Functions in the Approximation Loop and Pointer-2 Strategies

The Approximation Loop and Pointer-2 strategies are similar to a penalty-based single objective optimization algorithm. While optimization techniques used inside the strategies may be able to operate on the constraints directly, design improvements are evaluated by the strategies based on the single value of the ObjectiveandPenalty parameter. Therefore, only single objective optimization techniques are available inside the Approximation Loop and Pointer-2 strategies. These techniques are not designed to optimize several objectives simultaneously and require that a single objective function be formed from all selected objective parameters.

The value of the objective function is calculated as a sum of all objective components with corresponding weight and scale factors:

(Objective=Sum(OBJi×Wi/Si),

where OBJi is the contribution to the objective function of the ith objective component (parameter), Wi is the corresponding weight factor, and Si is the corresponding scale factor.

If the direction of a specific objective parameter is “minimize,” its contribution to the objective function equals the parameter value itself:

OBJi=Parmi

If the direction of a specific objective parameter is “maximize,” its contribution to the objective function equals the parameter value multiplied by –1 to reverse the direction, because the Optimization component always minimizes the objective function:

OBJi=Parmi=1.0×Parmi

If the direction of a specific objective parameter is “target,” its contribution to the objective function is calculated as follows:

OBJi=Sqrt[(ParmiTargeti)2+0.04]0.2

The second component of the ObjectiveAndPenalty parameter is the penalty function, calculated as follows:

Penalty=PenaltyBase+PenaltyMultiplier×Sum(Violationi×Wi/Si)PenaltyExponent

where Violationi is the ith constraint violation value, Wi is the corresponding weight factor, and Si is the corresponding scale factor. The PenaltyBase option is set to zero if no constraints are violated. The default value is 0.0.