Optimization algorithms
TMG Correlation computes the step length, α, when updating the design variable vector using the specified optimization algorithm method. All methods are local gradient-based optimization algorithms.
TMG Correlation uses NLopt [2], which is a free and open-source library for nonlinear optimization.
In TMG Correlation, the following optimization algorithms are available:
- Method of Moving Asymptotes (MMA) [3]
- Sequential Least-Squares Quadratic Programming (SLQP) [4, 5]
- Augmented Lagrangian algorithm (AUGLAG) [6, 7]
- Conservative Convex Separable Approximation (CCSA) [3]
- Low-Storage BFGS (L-BFGS) [8, 9]
Move limit for design variables
Move limits are constraints that control how much the design variables are allowed to change between successive optimization iterations. They define the maximum percentage change permitted for each design variable from one design cycle to the next, supporting convergence in optimization. The move limit imposes bounds on the new design variable vector as follows:
where β is the move limit in fraction form.
Move limits are used with Sequential Least-Squares Quadratic Programming and Low-Storage BFGS optimization algorithms. Both algorithms use a move limit of 50%.
Move limits prevent drastic changes in design variable values during optimization processes. The following figure illustrates an example of this effect by comparing the design variable values, calculated with and without move limits, at each design cycle using the Low-Storage BFGS optimization algorithm for a given model.

Note that the data obtained with the move limit of 50% has fewer design cycles than the one obtained without a move limit. This is the result of faster convergence toward the specified criterion.
Move limits prevent the objective function from overshooting by limiting drastic changes in design variable values. The following figure illustrates an example of this effect by comparing the objective function values, calculated with and without move limits, at each design cycle using the Low-Storage BFGS optimization algorithm for a given model.
