AI Glossary / Mathematics and optimization / Intermediate
Method of moving asymptotes
Definition
The method of moving asymptotes, or MMA, is a gradient-based method for constrained nonlinear optimization. At each iteration it replaces the objective and constraints with separable approximations involving reciprocal distances to adjustable lower and upper asymptotes. It solves the resulting approximation problem and updates the design. Krister Svanberg introduced the method for structural optimization and more general nonlinear programming.
What it means
A difficult original model may require an expensive simulation to evaluate its objective and constraints. MMA uses values and sensitivities at the current design to build a simpler local problem. Separable means that each approximated function is a sum of contributions from individual variables, making the subproblem easier to handle.
The asymptotes influence the curvature and range of these approximations. They are algorithmic parameters, not necessarily the physical bounds on a design variable. They can move between iterations to regulate the search. The result is a sequence of local approximation problems, not a single exact reformulation of the original nonlinear problem.
How it works
Evaluate each function and its gradient at the current point. A typical approximation contains terms p_j/(U_j−x_j)+q_j/(x_j−L_j), plus a constant, with nonnegative coefficients and L_j<x_j<U_j. Coefficients and constants are chosen to match the current value and gradient, with implementation-specific safeguards or regularization.
Solve the approximated constrained problem within permitted move limits and variable bounds. Reevaluate the original functions at the candidate and continue with updated asymptotes. Implementations can tighten asymptote distances when variables oscillate and relax them when movement is consistent. MMA variants differ; globally convergent MMA adds mechanisms beyond the original basic scheme. Global convergence terminology does not promise a global minimum of every nonconvex problem.
Three practical examples
- A structural-design workflow can adjust dimensions while balancing weight against stress or displacement constraints.
- A topology-optimization study can update many material-design variables using objective and constraint sensitivities.
- A differentiable engineering model can solve a succession of easier convex approximation problems while retaining explicit coordinate bounds.
Think of it this way
Think of replacing a difficult local landscape with an adjustable curved guide, taking a step, and rebuilding the guide from the new position. The analogy is limited because the guide has a particular reciprocal mathematical form. A guide that matches the current slope need not match the original function away from that point or guarantee that the next candidate satisfies every original constraint.
Worked example
Consider an original one-variable illustration with f(x)=(x−1)² and current x=2. The objective value is one and its derivative is two. Choose lower asymptote L=0 and upper asymptote U=4. A basic positive-gradient approximation is f_tilde(x)=8/(4−x)−3.
At x=2 it equals one. Its derivative is 8/(4−x)², which equals two at the current point. Thus both value and first derivative match. At x=1.5, however, the approximation is 0.2 while the actual objective is 0.25. Matching locally does not make the approximation exact or automatically an upper bound everywhere.
Now add the original constraint g(x)=1.6−x≤0 and restrict this illustrative subproblem to 1.5≤x≤2.5. At x=2, g=−0.4 and g′=−1. With L=0, a matching negative-gradient approximation is g_tilde(x)=4/x−2.4. It has value −0.4 and derivative −1 at two.
The approximated constraint requires 4/x≤2.4, or x≥5/3 within this positive interval. Because f_tilde increases with x, the subproblem chooses x=5/3. The actual objective there is (2/3)²=4/9, improving from one. The original constraint equals 1.6−5/3=−1/15, so this particular candidate is feasible.
The true constrained optimum is x=1.6, with objective 0.36. The approximation step is therefore useful but does not solve the original problem exactly. Rebuilding the approximation is part of the method.
Changing the upper asymptote also changes curvature. At the same current point, choosing U=3 gives another matching objective approximation 2/(3−x)−1. Its second derivative at two is four, compared with two for the U=4 approximation. This demonstrates how asymptote placement alters the guide while preserving the current objective value and slope.
Illustrative case study
In a fictional engineering group, a designer uses MMA to reduce a component's modeled mass while limiting deflection. The team checks the sensitivity calculations on small perturbations, evaluates original constraints after each accepted design, and records the chosen move limits. This is an illustrative review process, not a reported product result or a guarantee that a mathematically optimized design is ready for manufacture.
Common misconceptions and mistakes
MMA is not derivative-free: incorrect sensitivities can produce misleading subproblems. The asymptotes also should not be confused with fixed manufacturing bounds or with the move limits that restrict a single update.
Solving a convex approximating subproblem globally does not establish a global optimum of the original nonconvex problem. Nor should basic MMA and GCMMA be treated as interchangeable implementations. Their approximation and acceptance mechanisms differ. Finally, a small change in design variables is not by itself sufficient evidence that the original constraints and optimality conditions are adequately satisfied.
Business use
For business engineering, MMA can make repeated constrained design updates computationally manageable when useful gradients are available. The operational review should cover model fidelity, sensitivity accuracy, constraint scaling, and feasibility of the final design. Record the algorithm variant and stopping conditions so another analyst can reproduce the result. Use independent engineering checks for requirements omitted from the optimization model.
People also ask
Why are the asymptotes called moving?
Their positions can change between iterations to alter the approximation's behavior.
Are they the same as lower and upper design bounds?
No. They are approximation parameters; bounds specify permitted design values.
Does MMA always find the global optimum?
No. Local approximations and convergence properties do not supply that general guarantee for nonconvex problems.
Check your understanding
Why does the illustrated subproblem choose 5/3 rather than 1.5?
Answer: Its approximated constraint requires x≥5/3. The increasing approximated objective then chooses the smallest feasible value.
Related terms
- Sensitivity analysis
- Sequential convex programming
- Structural optimization
- Topology optimization
- Move limit
- Convex approximation
- Nonlinear programming
- GCMMA
Learn next
Evaluate both the original and approximated constraint at x=1.6. Explain why the original optimum can be excluded by the current approximation, and why later iterations need updated local models.
More in Mathematics and optimization
- Absolute error loss - Absolute error loss measures a numerical prediction's error as the absolute difference between its predicted and reference values: L(y,y-hat)=|y-y-hat|.
- Active-set method - An active-set method is an optimization approach that works with a changing subset of constraints believed to be tight at the solution.
- Adjoint state method - The adjoint state method computes how a chosen objective changes when the parameters of a mathematical model change.
- Σ-algebra
- Algebraic connectivity - Algebraic connectivity is the second-smallest eigenvalue of a graph's Laplacian matrix.
- Algorithm IMED - Algorithm IMED, short for Indexed Minimum Empirical Divergence, is a method for choosing actions in a stochastic multi-armed bandit problem.
Sources
Primary source: Svanberg, The method of moving asymptotes—a new method for structural optimization: https://onlinelibrary.wiley.com/doi/10.1002/nme.1620240207 . Implementation documentation: https://pymoto.readthedocs.io/en/latest/stubs/pymoto.MMA.html . The single-variable example is an original basic approximation illustration, not a run of a specific software variant.
Previous: Method error Next: Method of multipliers