One of the most common problems in calculus is that of finding maxima or minima (in general, "extrema") of a function, but it is often difficult to find a closed form for the function being extremized. Such difficulties often arise when one wishes to maximize or minimize a function subject to fixed outside equality constraints. The method of Lagrange multipliers is a powerful tool for solving this class of problems without the need to explicitly solve the conditions and use them to eliminate extra variables.
Consider the twodimensional problem introduced above
maximize
f(x, y)
subject to
g(x, y) = 0.
The method of Lagrange multipliers relies on the intuition that at a maximum, f(x, y) cannot be increasing in the direction of any neighboring point where g = 0. If it were, we could walk along g = 0 to get higher, meaning that the starting point wasn't actually the maximum.
We can visualize contours of f given by f(x, y) = d for various values of d, and the contour of g given by g(x, y) = 0.
Suppose we walk along the contour line with g = 0. We are interested in finding points where f does not change as we walk, since these points might be maxima. There are two ways this could happen: First, we could be following a contour line of f, since by definition f does not change as we walk along its contour lines. This would mean that the contour lines of f and g are parallel here. The second possibility is that we have reached a "level" part of f, meaning that f does not change in any direction.
To check the first possibility, notice that since the gradient of a function is perpendicular to the contour lines, the contour lines of f and g are parallel if and only if the gradients of f and g are parallel. Thus we want points (x, y) where g(x, y) = 0 and
∇
x
,
y
f
=
λ
∇
x
,
y
g
,
for some λ
where
∇
x
,
y
f
=
(
∂
f
∂
x
,
∂
f
∂
y
)
,
∇
x
,
y
g
=
(
∂
g
∂
x
,
∂
g
∂
y
)
.
are the respective gradients. The constant λ is required because although the two gradient vectors are parallel, the magnitudes of the gradient vectors are generally not equal. This constant is called the Lagrange multiplier. (In some conventions λ is preceded by a minus sign).
Notice that this method also solves the second possibility: if f is level, then its gradient is zero, and setting λ = 0 is a solution regardless of g.
To incorporate these conditions into one equation, we introduce an auxiliary function
L
(
x
,
y
,
λ
)
=
f
(
x
,
y
)
−
λ
⋅
g
(
x
,
y
)
,
and solve
∇
x
,
y
,
λ
L
(
x
,
y
,
λ
)
=
0.
Note that this amounts to solving three equations in three unknowns. This is the method of Lagrange multipliers. Note that
∇
λ
L
(
x
,
y
,
λ
)
=
0
implies g(x, y) = 0. To summarize
∇
x
,
y
,
λ
L
(
x
,
y
,
λ
)
=
0
⟺
{
∇
x
,
y
f
(
x
,
y
)
=
λ
∇
x
,
y
g
(
x
,
y
)
g
(
x
,
y
)
=
0
The method generalizes readily to functions on
n
variables
∇
x
1
,
…
,
x
n
,
λ
L
(
x
1
,
…
,
x
n
,
λ
)
=
0
which amounts to solving
n
+
1
equations in
n
+
1
unknowns.
The constrained extrema of f are critical points of the Lagrangian
L
, but they are not necessarily local extrema of
L
(see Example 2 below).
One may reformulate the Lagrangian as a Hamiltonian, in which case the solutions are local minima for the Hamiltonian. This is done in optimal control theory, in the form of Pontryagin's minimum principle.
The fact that solutions of the Lagrangian are not necessarily extrema also poses difficulties for numerical optimization. This can be addressed by computing the magnitude of the gradient, as the zeros of the magnitude are necessarily local minima, as illustrated in the numerical optimization example.
The method of Lagrange multipliers can be extended to solve problems with multiple constraints using a similar argument. Consider a paraboloid subject to two line constraints that intersect at a single point. As the only feasible solution, this point is obviously a constrained extremum. However, the level set of
f
is clearly not parallel to either constraint (see Figure 4); instead, it is a linear combination of the two constraints' gradients. In the case of multiple constraints, that will be what we seek in general: the method of Lagrange seeks points not at which the gradient of
f
is multiple of any single constraint's gradient necessarily, but in which it is a linear combination of all the constraints' gradients.
Concretely, suppose we have
M
constraints and are walking along the set of points satisfying
g
i
(
x
)
=
0
,
i
=
1
,
…
,
M
. Every point
x
on the contour of each constraint function
g
has a space of allowable directions: the space of vectors perpendicular to
∇
g
(
x
)
. The set of directions that are allowed by all constraints is thus the space of directions perpendicular to all of the constraints' gradients. Denote this space of allowable moves by
A
and denote the span of the constraints' gradients by
S
. Then
A
=
S
⊥
, the space of vectors perpendicular to every element of
S
.
We are still interested in finding points where
f
does not change as we walk, since these points might be (constrained) extrema. We therefore seek
x
such that any allowable direction of movement away from
x
is perpendicular to
∇
f
(
x
)
(otherwise we could increase
f
by moving along that allowable direction). In other words,
∇
f
(
x
)
∈
A
⊥
=
S
. Thus there are scalars λ_{1}, λ_{2}, ..., λ_{M} such that
∇
f
(
x
)
=
∑
k
=
1
M
λ
k
∇
g
k
(
x
)
⟺
∇
f
(
x
)
−
∑
k
=
1
M
λ
k
∇
g
k
(
x
)
=
0.
These scalars are the Lagrange multipliers. We now have
M
of them, one for every constraint.
As before, we introduce an auxiliary function
L
(
x
1
,
…
,
x
n
,
λ
1
,
…
,
λ
M
)
=
f
(
x
1
,
…
,
x
n
)
−
∑
k
=
1
M
λ
k
g
k
(
x
1
,
…
,
x
n
)
and solve
∇
x
1
,
…
,
x
n
,
λ
1
,
…
,
λ
M
L
(
x
1
,
…
,
x
n
,
λ
1
,
…
,
λ
M
)
=
0
⟺
{
∇
f
(
x
)
−
∑
k
=
1
M
λ
k
∇
g
k
(
x
)
=
0
g
1
(
x
)
=
⋯
=
g
M
(
x
)
=
0
which amounts to solving
n
+
M
equations in
n
+
M
unknowns.
The method of Lagrange multipliers is generalized by the Karush–Kuhn–Tucker conditions, which can also take into account inequality constraints of the form h(x) ≤ c.
Finding local maxima of a function
f
:
U
→
R
where
U
is an open subset of
R
n
is done by finding all points
x
∈
U
such that
D
x
f
=
0
then checking whether all the eigenvalues of the Hessian
H
x
f
are negative. (Note that the maxima may not exist even if
f
is continuous because
U
is open, and also note that the conditions checked here are sufficient but not necessary for optimality.) Setting
D
x
f
=
0
is a nonlinear problem and in general, arbitrarily difficult. After finding the critical points, checking the eigenvalues is a linear problem and thus easy.
When
g
:
R
n
→
R
is a smooth function such that
D
x
g
≠
0
for all
x
in the level set of
c
then
g
−
1
(
c
)
becomes an
n
−
1
dimensional smooth manifold
M
, by the level set theorem. Finding local maxima is by definition a local problem, so it can be done on local charts of
M
: after finding a diffeomorphism
φ
:
V
→
R
n
−
1
from an open subset of
V
⊆
M
onto an open subset
U
⊆
R
n
−
1
, we can apply the algorithm in the previous paragraph to the function
f
′
=
f
∘
φ
−
1
:
U
→
R
.
While the above idea sounds good, it is difficult to compute
φ
−
1
in practice. The entire method of Lagrange multipliers reduces to the idea of skipping that step and finding the zeros of
D
x
f
′
directly. It follows from the construction in the level set theorem that the image of
D
x
φ
−
1
is
k
e
r
D
φ
−
1
(
x
)
g
⊆
R
n
. Therefore,
0
=
D
x
f
′
=
D
x
(
f
∘
φ
−
1
)
=
D
φ
−
1
(
x
)
f
∘
D
x
φ
−
1
if and only if
k
e
r
D
y
g
⊆
k
e
r
D
y
f
writing
y
for
φ
−
1
(
x
)
.
By the first isomorphism theorem this is true if and only if there exists a linear map
L
:
R
→
R
such that
L
∘
D
y
g
=
D
y
f
. As a linear map, we must have that
L
(
x
)
=
λ
x
for a fixed
λ
∈
R
. So finding a critical point of
f
′
is equivalent to solving the system of equations
λ
D
y
g
=
D
y
f
g
(
y
)
=
c
in the variables
y
∈
R
n
−
1
and
λ
∈
R
. This is in general a nonlinear system of
n
equations and
n
unknowns.
In the case of several constraints, we work with
g
:
R
n
→
R
m
and replace the condition
D
x
g
≠
0
for all
x
∈
g
−
1
(
c
)
with the requirement that
D
x
g
be surjective at all such points. In this case
L
will be a linear map
R
m
→
R
, i.e. a row vector with
m
entries.
Often the Lagrange multipliers have an interpretation as some quantity of interest. For example, if the Lagrangian expression is
L
(
x
1
,
x
2
,
…
;
λ
1
,
λ
2
,
…
)
=
f
(
x
1
,
x
2
,
…
)
+
λ
1
(
c
1
−
g
1
(
x
1
,
x
2
,
…
)
)
+
λ
2
(
c
2
−
g
2
(
x
1
,
x
2
,
…
)
)
+
…
then
∂
L
∂
c
k
=
λ
k
.
So, λ_{k} is the rate of change of the quantity being optimized as a function of the constraint parameter. As examples, in Lagrangian mechanics the equations of motion are derived by finding stationary points of the action, the time integral of the difference between kinetic and potential energy. Thus, the force on a particle due to a scalar potential, F = −∇V, can be interpreted as a Lagrange multiplier determining the change in action (transfer of potential to kinetic energy) following a variation in the particle's constrained trajectory. In control theory this is formulated instead as costate equations.
Moreover, by the envelope theorem the optimal value of a Lagrange multiplier has an interpretation as the marginal effect of the corresponding constraint constant upon the optimal attainable value of the original objective function: if we denote values at the optimum with an asterisk, then it can be shown that
d
f
(
x
1
∗
(
c
1
,
c
2
,
…
)
,
x
2
∗
(
c
1
,
c
2
,
…
)
,
…
)
d
c
k
=
λ
k
∗
.
For example, in economics the optimal profit to a player is calculated subject to a constrained space of actions, where a Lagrange multiplier is the change in the optimal value of the objective function (profit) due to the relaxation of a given constraint (e.g. through a change in income); in such a context λ* is the marginal cost of the constraint, and is referred to as the shadow price.
Sufficient conditions for a constrained local maximum or minimum can be stated in terms of a sequence of principal minors (determinants of upperleftjustified submatrices) of the bordered Hessian matrix of second derivatives of the Lagrangian expression.
Suppose we wish to maximize
f
(
x
,
y
)
=
x
+
y
subject to the constraint
x
2
+
y
2
=
1
. The feasible set is the unit circle, and the level sets of f are diagonal lines (with slope 1), so we can see graphically that the maximum occurs at
(
2
2
,
2
2
)
, and that the minimum occurs at
(
−
2
2
,
−
2
2
)
.
Using the method of Lagrange multipliers, we have
g
(
x
,
y
)
=
x
2
+
y
2
−
1
,
hence
L
(
x
,
y
,
λ
)
=
f
(
x
,
y
)
+
λ
⋅
g
(
x
,
y
)
=
x
+
y
+
λ
(
x
2
+
y
2
−
1
)
.
Now we can calculate the gradient:
∇
x
,
y
,
λ
L
(
x
,
y
,
λ
)
=
(
∂
L
∂
x
,
∂
L
∂
y
,
∂
L
∂
λ
)
=
(
1
+
2
λ
x
,
1
+
2
λ
y
,
x
2
+
y
2
−
1
)
and therefore:
∇
x
,
y
,
λ
L
(
x
,
y
,
λ
)
=
0
⇔
{
1
+
2
λ
x
=
0
1
+
2
λ
y
=
0
x
2
+
y
2
−
1
=
0
Notice that the last equation is the original constraint.
The first two equations yield
x
=
y
=
−
1
2
λ
,
λ
≠
0.
By substituting into the last equation we have:
1
4
λ
2
+
1
4
λ
2
−
1
=
0
,
so
λ
=
±
1
2
,
which implies that the stationary points are
(
2
2
,
2
2
)
,
(
−
2
2
,
−
2
2
)
.
Evaluating the objective function f at these points yields
f
(
2
2
,
2
2
)
=
2
,
f
(
−
2
2
,
−
2
2
)
=
−
2
.
Thus the maximum is
2
and the minimum is
−
2
.
Suppose we want to find the maximum values of
f
(
x
,
y
)
=
x
2
y
with the condition that the x and y coordinates lie on the circle around the origin with radius √3, that is, subject to the constraint
g
(
x
,
y
)
=
x
2
+
y
2
−
3
=
0.
As there is just a single constraint, we will use only one multiplier, say λ.
The constraint g(x, y) is identically zero on the circle of radius √3. So any multiple of g(x, y) may be added to f(x, y) leaving f(x, y) unchanged in the region of interest (on the circle where our original constraint is satisfied). Let
L
(
x
,
y
,
λ
)
=
f
(
x
,
y
)
+
λ
⋅
g
(
x
,
y
)
=
x
2
y
+
λ
(
x
2
+
y
2
−
3
)
Now we can calculate the gradient:
∇
x
,
y
,
λ
L
(
x
,
y
,
λ
)
=
(
∂
L
∂
x
,
∂
L
∂
y
,
∂
L
∂
λ
)
=
(
2
x
y
+
2
λ
x
,
x
2
+
2
λ
y
,
x
2
+
y
2
−
3
)
And therefore:
∇
x
,
y
,
λ
L
(
x
,
y
,
λ
)
=
0
⇔
{
2
x
y
+
2
λ
x
=
0
x
2
+
2
λ
y
=
0
x
2
+
y
2
−
3
=
0
⇔
{
x
(
y
+
λ
)
=
0
(
i
)
x
2
=
−
2
λ
y
(
i
i
)
x
2
+
y
2
=
3
(
i
i
i
)
Notice that (iii) is just the original constraint. (i) implies x = 0 or λ = −y. If x = 0 then
y
=
±
3
by (iii) and consequently λ = 0 from (ii). If λ = −y, substituting in (ii) we get x^{2} = 2y^{2}. Substituting this in (iii) and solving for y gives y = ±1. Thus there are six critical points:
(
2
,
1
)
;
(
−
2
,
1
)
;
(
2
,
−
1
)
;
(
−
2
,
−
1
)
;
(
0
,
3
)
;
(
0
,
−
3
)
.
Evaluating the objective at these points, we find that
f
(
±
2
,
1
)
=
2
;
f
(
±
2
,
−
1
)
=
−
2
;
f
(
0
,
±
3
)
=
0.
Therefore, the objective function attains the global maximum (subject to the constraints) at
(
±
2
,
1
)
and the global minimum at
(
±
2
,
−
1
)
.
The point
(
0
,
3
)
is a local minimum and
(
0
,
−
3
)
is a local maximum, as may be determined by consideration of the Hessian matrix of
L
(
x
,
y
,
0
)
.
Note that while
(
2
,
1
,
−
1
)
is a critical point of
L
, it is not a local extremum. We have
L
(
2
+
ϵ
,
1
,
−
1
+
δ
)
=
2
+
δ
(
ϵ
2
+
(
2
2
)
ϵ
)
.
Given any neighborhood of
(
2
,
1
,
−
1
)
, we can choose a small positive
ϵ
and a small
δ
of either sign to get
L
values both greater and less than
2
.
Suppose we wish to find the discrete probability distribution on the points
{
p
1
,
p
2
,
⋯
,
p
n
}
with maximal information entropy. This is the same as saying that we wish to find the least structured probability distribution on the points
{
p
1
,
p
2
,
⋯
,
p
n
}
. In other words, we wish to maximize the Shannon entropy equation:
f
(
p
1
,
p
2
,
⋯
,
p
n
)
=
−
∑
j
=
1
n
p
j
log
2
p
j
.
For this to be a probability distribution the sum of the probabilities
p
i
at each point
x
i
must equal 1, so our constraint is:
g
(
p
1
,
p
2
,
⋯
,
p
n
)
=
∑
j
=
1
n
p
j
=
1.
We use Lagrange multipliers to find the point of maximum entropy,
p
→
∗
, across all discrete probability distributions
p
→
on
{
x
1
,
x
2
,
⋯
,
x
n
}
. We require that:
∂
∂
p
→
(
f
+
λ
(
g
−
1
)
)

p
→
=
p
→
∗
=
0
,
which gives a system of n equations,
k
=
1
,
⋯
,
n
, such that:
∂
∂
p
k
{
−
(
∑
j
=
1
n
p
j
log
2
p
j
)
+
λ
(
∑
j
=
1
n
p
j
−
1
)
}

p
k
=
p
k
∗
=
0.
Carrying out the differentiation of these n equations, we get
−
(
1
ln
2
+
log
2
p
k
∗
)
+
λ
=
0.
This shows that all
p
k
∗
are equal (because they depend on λ only). By using the constraint
∑
j
p
j
=
1
,
we find
p
k
∗
=
1
n
.
Hence, the uniform distribution is the distribution with the greatest entropy, among distributions on n points.
The critical points of Lagrangians occur at saddle points, rather than at local maxima (or minima). Unfortunately, many numerical optimization techniques, such as hill climbing, gradient descent, some of the quasiNewton methods, among others, are designed to find local maxima (or minima) and not saddle points. For this reason, one must either modify the formulation to ensure that it's a minimization problem (for example, by extremizing the square of the gradient of the Lagrangian as below), or else use an optimization technique that finds stationary points (such as Newton's method without an extremum seeking line search) and not necessarily extrema.
As a simple example, consider the problem of finding the value of x that minimizes
f
(
x
)
=
x
2
, constrained such that
x
2
=
1
. (This problem is somewhat pathological because there are only two values that satisfy this constraint, but it is useful for illustration purposes because the corresponding unconstrained function can be visualized in three dimensions.)
Using Lagrange multipliers, this problem can be converted into an unconstrained optimization problem:
L
(
x
,
λ
)
=
x
2
+
λ
(
x
2
−
1
)
.
The two critical points occur at saddle points where x = 1 and x = −1.
In order to solve this problem with a numerical optimization technique, we must first transform this problem such that the critical points occur at local minima. This is done by computing the magnitude of the gradient of the unconstrained optimization problem.
First, we compute the partial derivative of the unconstrained problem with respect to each variable:
∂
L
∂
x
=
2
x
+
2
x
λ
∂
L
∂
λ
=
x
2
−
1.
If the target function is not easily differentiable, the differential with respect to each variable can be approximated as
∂
L
∂
x
≈
L
(
x
+
ϵ
,
λ
)
−
L
(
x
,
λ
)
ϵ
,
∂
L
∂
λ
≈
L
(
x
,
λ
+
ϵ
)
−
L
(
x
,
λ
)
ϵ
,
where
ϵ
is a small value.
Next, we compute the magnitude of the gradient, which is the square root of the sum of the squares of the partial derivatives:
h
(
x
,
λ
)
=
(
2
x
+
2
x
λ
)
2
+
(
x
2
−
1
)
2
≈
(
L
(
x
+
ϵ
,
λ
)
−
L
(
x
,
λ
)
ϵ
)
2
+
(
L
(
x
,
λ
+
ϵ
)
−
L
(
x
,
λ
)
ϵ
)
2
.
(Since magnitude is always nonnegative, optimizing over the squaredmagnitude is equivalent to optimizing over the magnitude. Thus, the ``square root" may be omitted from these equations with no expected difference in the results of optimization.)
The critical points of h occur at x = 1 and x = −1, just as in
L
. Unlike the critical points in
L
, however, the critical points in h occur at local minima, so numerical optimization techniques can be used to find them.
Constrained optimization plays a central role in economics. For example, the choice problem for a consumer is represented as one of maximizing a utility function subject to a budget constraint. The Lagrange multiplier has an economic interpretation as the shadow price associated with the constraint, in this example the marginal utility of income. Other examples include profit maximization for a firm, along with various macroeconomic applications.
In optimal control theory, the Lagrange multipliers are interpreted as costate variables, and Lagrange multipliers are reformulated as the minimization of the Hamiltonian, in Pontryagin's minimum principle.
The Lagrange multiplier method has several generalizations. In nonlinear programming there are several multiplier rules, e.g., the CarathéodoryJohn Multiplier Rule and the Convex Multiplier Rule, for inequality constraints.