In the field of mathematical optimization, Lagrangian relaxation is a relaxation method which approximates a difficult problem of constrained optimization by a simpler problem. A solution to the relaxed problem is an approximate solution to the original problem, and provides useful information. The method penalizes violations of inequality constraints using a Lagrange multiplier, which imposes a cost on violations. These added costs are used instead of the strict inequality constraints in the optimization. In practice, this relaxed problem can often be solved more easily than the original problem.
The problem of maximizing the Lagrangian function of the dual variables (the Lagrangian multipliers) is the Lagrangian dual problem.
Suppose we are given a linear programming problem, with [math]\displaystyle{ x\in \mathbb{R}^n }[/math] and [math]\displaystyle{ A\in \mathbb{R}^{m,n} }[/math], of the following form:
max | [math]\displaystyle{ c^T x }[/math] | |
s.t. | ||
[math]\displaystyle{ Ax \le b }[/math] |
If we split the constraints in [math]\displaystyle{ A }[/math] such that [math]\displaystyle{ A_1\in \mathbb{R}^{m_1,n} }[/math], [math]\displaystyle{ A_2\in \mathbb{R}^{m_2,n} }[/math] and [math]\displaystyle{ m_1+m_2=m }[/math] we may write the system:
max | [math]\displaystyle{ c^T x }[/math] | |
s.t. | ||
(1) | [math]\displaystyle{ A_1 x \le b_1 }[/math] | |
(2) | [math]\displaystyle{ A_2 x \le b_2 }[/math] |
We may introduce the constraint (2) into the objective:
max | [math]\displaystyle{ c^T x+\lambda^T(b_2-A_2x) }[/math] | |
s.t. | ||
(1) | [math]\displaystyle{ A_1 x \le b_1 }[/math] |
If we let [math]\displaystyle{ \lambda=(\lambda_1,\ldots,\lambda_{m_2}) }[/math] be nonnegative weights, we get penalized if we violate the constraint (2), and we are also rewarded if we satisfy the constraint strictly. The above system is called the Lagrangian relaxation of our original problem.
Of particular use is the property that for any fixed set of [math]\displaystyle{ \tilde{\lambda} \succeq 0 }[/math] values, the optimal result to the Lagrangian relaxation problem will be no smaller than the optimal result to the original problem. To see this, let [math]\displaystyle{ \hat{x} }[/math] be the optimal solution to the original problem, and let [math]\displaystyle{ \bar{x} }[/math] be the optimal solution to the Lagrangian relaxation. We can then see that
[math]\displaystyle{ c^T \hat{x} \leq c^T \hat{x} +\tilde{\lambda}^T(b_2-A_2 \hat{x} ) \leq c^T \bar{x} +\tilde{\lambda}^T(b_2-A_2 \bar{x} ) }[/math] |
The first inequality is true because [math]\displaystyle{ \hat{x} }[/math] is feasible in the original problem and the second inequality is true because [math]\displaystyle{ \bar{x} }[/math] is the optimal solution to the Lagrangian relaxation.
The above inequality tells us that if we minimize the maximum value we obtain from the relaxed problem, we obtain a tighter limit on the objective value of our original problem. Thus we can address the original problem by instead exploring the partially dualized problem
min | [math]\displaystyle{ P(\lambda) }[/math] | s.t. | [math]\displaystyle{ \lambda \geq 0 }[/math] |
where we define [math]\displaystyle{ P(\lambda) }[/math] as
max | [math]\displaystyle{ c^T x+\lambda^T(b_2-A_2x) }[/math] | |
s.t. | ||
(1) | [math]\displaystyle{ A_1 x \le b_1 }[/math] |
A Lagrangian relaxation algorithm thus proceeds to explore the range of feasible [math]\displaystyle{ \lambda }[/math] values while seeking to minimize the result returned by the inner [math]\displaystyle{ P }[/math] problem. Each value returned by [math]\displaystyle{ P }[/math] is a candidate upper bound to the problem, the smallest of which is kept as the best upper bound. If we additionally employ a heuristic, probably seeded by the [math]\displaystyle{ \bar{x} }[/math] values returned by [math]\displaystyle{ P }[/math], to find feasible solutions to the original problem, then we can iterate until the best upper bound and the cost of the best feasible solution converge to a desired tolerance.
The augmented Lagrangian method is quite similar in spirit to the Lagrangian relaxation method, but adds an extra term, and updates the dual parameters [math]\displaystyle{ \lambda }[/math] in a more principled manner. It was introduced in the 1970s and has been used extensively.
The penalty method does not use dual variables but rather removes the constraints and instead penalizes deviations from the constraint. The method is conceptually simple but usually augmented Lagrangian methods are preferred in practice since the penalty method suffers from ill-conditioning issues.
Original source: https://en.wikipedia.org/wiki/Lagrangian relaxation.
Read more |