DOT Broydon-Fletcher-Goldfarb-Shanno (BFGS)
Version
DOT 6.0
Description
Broydon-Fletcher-Goldfarb-Shanno (BFGS) is a gradient based method for unconstrained optimization problems. It is called a quasi-Newton method because it uses an approximate Hessian to find the search direction. This method is considered to be less sensitive to the accuracy of the one-dimensional search than the Fletcher-Reeves method, though experience shows that the two methods are roughly comparable in efficiency and reliability.
Trade Study Resume
BFGS 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. |
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. |