Convergence Criteria

For checking if the sensitivity-based optimization has converged, two local stop criteria are implemented In addition to the maximum number of iterations. The user can specify if both stop criteria should be fulfilled or only one of the stop criteria must be fulfilled for the optimization algorithm to stop.

This page discusses:

See Also
In Other Guides
STOP

Default Convergence Criteria

For sensitivity-based optimization, the optimization stops automatically when the following convergence criteria are fulfilled. More detailed explanations of the criteria can be found in the sections beneath.


OPT_PARAM
 ID_NAME              = NO_OPT_PARAM
 OPTIMIZE             = MY_OPTIMIZE
 STOP_CRITERION_LEVEL = BOTH
 STOP_CRITERION_OBJ   = 0.001
 STOP_CRITERION_DV    = 0.005
 STOP_CRITERION_ITER  = 4
END_

Automatic Creation of Stop Conditions

For sensitivity-based optimization, some convergence stop criteria that consider the change of the objective function and the change in the design variables can be created. The creation of the convergence criteria can be influenced with the STOP_CRITERION_CONVERGENCE item in the OPT_PARAM command. Valid options are AUTO (default), NO, and YES. With AUTO, a stop criterion is created or neglected depending on the default of the installed version. If CREATE_DEFAULT_CRITERIA = NO is selected, no convergence stop criteria is created. Otherwise the optimization stops when convergence is detected.

Stop Criterion: Change in Objective Function

One of the available stop criteria is a measurement based on the change in the objective function from one optimization design cycle to the next design cycle. This stop criterion is defined by

|ΘnΘn1||Θn|STOP_CRITERION_OBJ

where Θ is objective value, the index n is representing the present optimization iteration and is n-1 is the previous iteration. When the criterion is lower than STOP_CRITERION_OBJ, the stop criterion is fulfilled. The default for STOP_CRITERION_OBJ is 0.001. The value can be changed by the user; for example,


OPT_PARAM
 ID_NAME            = opt_params
 OPTIMIZE           = id_of_optimize
 STOP_CRITERION_OBJ = 0.01
END_

This could be desirable when the number of optimizations should be reduced.

Stop Criterion: Change in design variables

Another stop criterion is based on the change in the design variables from one optimization design cycle to the next optimization design cycle and is defined by:

1Numberofdv|ρnρn1|NumberofdvSTOP_CRITERION_DV

where the index n is representing the present optimization iteration and is n-1 is the previous iteration. When the criterion is lower than STOP_CRITERION_DV, the stop criterion is fulfilled. The default for STOP_CRITERION_DV is 0.005. The value can be changed by the user; for example,


OPT_PARAM
 ID_NAME           = opt_params
 OPTIMIZE          = id_of_optimize
 STOP_CRITERION_DV = 0.0001
END_

Convergence Criteria

By default, the stop criterion measuring the change in the objective function and the criterion measuring the change in the design variables should both be fulfilled before the optimization algorithm stops. To specify that just one of the criteria must be fulfilled, set STOP_CRITERION_LEVEL equal to SINGLE. The default value for STOP_CRITERION_LEVEL is BOTH.

In the example below, the optimization algorithm should stop when just one of the criteria is fulfilled


OPT_PARAM
 ID_NAME              = opt_params
 OPTIMIZE             = id_of_optimize
 STOP_CRITERION_LEVEL = SINGLE
END_

Enhanced Convergence Criteria

For shape optimization, typical stop conditions can be defined more directly by an enhanced stop command:


STOP
 ID_NAME  = stop_command
 MOD_NDGR = <name_of_node_group>
 MOD_TYPE = <mod_type_1>, <mod_type_2>
 MOD_OPER = <Comparison operator>
 MOD_REF  = <real>, <mod_ref_1>, <mod_ref_2>
 OPTIMIZE = <name_of_optimization>
END_

For details about the parameters, see STOP.

Using this enhanced stop command, the extraction of variables and their logical comparison is performed internally by SIMULIA Tosca Structure and need no longer be specified manually by the user. For a detailed description of the several items, refer to the commands manual.

Start Iteration for Convergence Check

The two convergence criteria above are not checked before a specified number of optimization iterations have been executed. This means that the optimization will always be executed until STOP_CRITERION_ITER is reached. The number is set by the number of STOP_CRITERION_ITER. To change STOP_CRITERION_ITER to, for example, 10, the following commands could be used:


OPT_PARAM
 ID_NAME             = opt_params
 OPTIMIZE            = id_of_optimize
 STOP_CRITERION_ITER = 10
END_

The default value for STOP_CRITERION_ITER is 4. Note that STOP_CRITERION_ITER must be greater than 2.

Example 1:

The stop condition is fulfilled, if the maximum equivalence stress in the node group ALL_NODES is less than 1% of the maximum equivalence stress of the first iteration.


STOP
 ID_NAME  = stop_command
 MOD_NDGR = all_nodes
 MOD_TYPE = MAX, CTRL_INP_SHAPE
 MOD_OPER = LE
 MOD_REF  = 0.01, MULT, FIRST
 OPTIMIZE = run
END_