DOT Sequential Linear Programming (SLP)
Version
DOT 6.0
Description
Sequential Linear Programming (SLP) uses linear approximations of objective and constraints to solve constrained optimization problems. This linearlized optimization problems are solved in sequence with additional bounds imposed around the current design to prevent the algorithm from moving into region where the approximation is not accurate. While this method is considered less effective compared to SQP, this may perform well in certain cases. As a rule of thumb, try SQP or MMFD first, and try SLP as an alternative.
Trade Study Resume
SLP supports continuing a trade study after a halt or crash. Last best design will be restored as the start value, and the optimization will continue from there. See the general Optimization Tool documentation for more general information on resuming Trade Studies.
References
DOT Manual
Control Parameters
Name | Default Value | Description |
---|---|---|
Optimization Parameters | ||
ConstraintThreshold (CT) | -0.03 | A constraint is active if its numerical value is more positive than CT. CT is a small negative number. |
ConstraintViolationThreshold (CTMIN) | 0.003 | A constraint is violated if its numerical value is more positive than CTMIN. The option must have a value greater than 0. |
Scaling (ISCAL) | 0 | Design variables are rescaled every ISCAL iterations. Set ISCAL = 0 to let algorithm determine the value. Set ISCAL = -1 to turn off scaling. Thus the option must have integer values greater than -1. |
SPMaxIterations (JTMAX) | 50 | The maximum number of iterations for the SLP and SQP methods. This is the number of linearized sub problems solved. Option must be a positive integer value. |
SPMaxRelativeVariableDelta (RMVLMZ) | 0.4 | Maximum relative change in design variables during the first approximate subproblem in SLP. This move limit is reduced as the optimization problem progresses. Option must have a value greater than 0. |
Optimization Parameters for First Iteration | ||
AbsoluteObjectiveDelta (DOBJ2) | 0 | Absolute change in the objective function attempted on the first optimization iteration. Set 0 to let the algorithm decide the value. Thus option accepts values greater than or equal to 0. |
MaxAbsoluteVariableDelta (DX2) | 0 | Maximum absolute change in a design variable attempted on the first optimization iteration. Used to estimate the initial move in the one-dimensional search. Updated as the optimization progresses. Set 0 to let the algorithm decide the value. The option must have a value greater than or equal to 0. |
MaxRelativeVariableDelta (DX1) | 0.01 | Maximum relative change in a design variable attempted on the first optimization iteration. Used to estimate the initial move in the one-dimensional search. Updated as the optimization progresses. The option must have a value greater than 0. |
RelativeObjectiveDelta (DOBJ1) | 0.1 | Relative change in the objective function attempted on the first optimization iteration. Used to estimate initial move in the one-dimensional search. The option value gets updated as the optimization progresses. Option must have a value greater than 0. |
Optimization Parameters for Gradients | ||
Gradients (IGRAD) | Forward | Gradient calculation scheme. Forward difference or central difference. |
MaxGradientConstraints (NGMAX) | 0 | The maximum number of constraints retained for gradient calculations. Leave 0 to let the algorithm calculate this parameter. Thus the option accepts integer values greater than or equal to 0. |
MinFiniteDifferenceStep (FDCHM) | 0.0001 | Minimum absolute value of the finite difference step when calculating gradients. This prevents too small a step when X(i) is near zero. Option must have a positive value. |
NearActiveConstraints (IGMAX) | False | If false, only gradients of active and violated constraints are calculated. If true, up to NGMAX gradients are calculated, including active, violated, and near active constraints. |
RelativeFiniteDifferenceStep (FDCH) | 0.001 | Relative finite difference step when calculating gradients. This value must be greater than 0. |
Stopping Criteria | ||
AbsoluteConvergenceTolerance (DABOBJ) | 0 | Maximum absolute change in the objective between ITRMOP consecutive iterations to indicate convergence in optimization. Set 0 to let the algorithm calculate this parameter. Thus value should be greater than or equal to 0. |
ConvergenceIterations (ITRMOP) | 2 | The number of consecutive iterations for which the absolute or relative convergence criteria must be met to indicate convergence at the optimizer level. This option should always have a positive integer value. |
MaxIterations (ITMAX) | 100 | Maximum number of iterations allowed at the optimization level. This option should always have a positive integer value. |
RelativeConvergenceTolerance (DELOBJ) | 0.001 | Maximum relative change in the objective between ITRMOP consecutive iterations to indicate convergence in optimization. The option must have a value greater than 0. |
SPAbsoluteConvergenceTolerance (DABSTR) | 0 | Maximum absolute change in the objective between ITRMST consecutive iterations of the SLP or SQP to indicate convergence to the optimum. Set to 0 to let algorithm determine the value. Thus option value must be greater than or equal to 0. |
SPConvergenceIterations (ITRMST) | 2 | The number of consecutive iterations for which the absolute or relative convergence criteria must be met to indicate convergence in the SLP. Option accepts positive integer values. |
SPRelativeConvergenceTolerance (DELSTR) | 0.001 | Maximum relative change in the objective between ITRMST consecutive iterations of SLP to indicate convergence to the optimum. Value must be greater than 0. |