拉格朗日对偶方法求解线性规划

文章目录

    • 1 线性规划标准形式
    • 2 构建拉格朗日函数
    • 3 构建对偶函数
    • 4. 构建对偶问题
    • 5. 求解对偶问题
    • 6. 获得原始问题的最优解

1 线性规划标准形式

让我们考虑一个简单的线性规划问题,并写成标准形式:

Minimize f ( x 1 , x 2 ) = 2 x 1 + 3 x 2 Subject to g 1 ( x 1 , x 2 ) = x 1 + x 2 − 3 ≤ 0 g 2 ( x 1 , x 2 ) = − x 1 + 2 x 2 − 4 ≤ 0 \begin{align*} \text{Minimize} \quad & f(x_1, x_2) = 2x_1 + 3x_2 \\ \text{Subject to} \quad & g_1(x_1, x_2) = x_1 + x_2 - 3 \leq 0 \\ & g_2(x_1, x_2) = -x_1 + 2x_2 - 4 \leq 0 \end{align*} MinimizeSubject tof(x1,x2)=2x1+3x2g1(x1,x2)=x1+x230g2(x1,x2)=x1+2x240

2 构建拉格朗日函数

构建拉格朗日函数,格式为目标函数加上带 λ \lambda λ乘子的约束条件,拉格朗日函数为:
L ( x 1 , x 2 , λ 1 , λ 2 ) = f ( x 1 , x 2 ) + λ 1 ⋅ g 1 ( x 1 , x 2 ) + λ 2 ⋅ g 2 ( x 1 , x 2 ) L(x_1, x_2, \lambda_1, \lambda_2) =f(x_1,x_2)+\lambda_1 \cdot g_1(x_1,x_2)+\lambda_2 \cdot g_2(x_1,x_2) L(x1,x2,λ1,λ2)=f(x1,x2)+λ1g1(x1,x2)+λ2g2(x1,x2)
L ( x 1 , x 2 , λ 1 , λ 2 ) = 2 x 1 + 3 x 2 + λ 1 ( x 1 + x 2 − 3 ) + λ 2 ( − x 1 + 2 x 2 − 4 ) L(x_1, x_2, \lambda_1, \lambda_2) = 2x_1 + 3x_2 + \lambda_1(x_1 + x_2 - 3) + \lambda_2(-x_1 + 2x_2 - 4) L(x1,x2,λ1,λ2)=2x1+3x2+λ1(x1+x23)+λ2(x1+2x24)

3 构建对偶函数

对偶函数 g ( λ 1 , λ 2 ) g(\lambda_1, \lambda_2) g(λ1,λ2) 为:

g ( λ 1 , λ 2 ) = inf ⁡ x 1 , x 2 L ( x 1 , x 2 , λ 1 , λ 2 ) g(\lambda_1, \lambda_2) = \inf_{x_1, x_2} L(x_1, x_2, \lambda_1, \lambda_2) g(λ1,λ2)=x1,x2infL(x1,x2,λ1,λ2)

通过对拉格朗日函数对 x 1 x_1 x1 x 2 x_2 x2 求偏导数并令其等于零,我们可以求得最优的 x 1 x_1 x1 x 2 x_2 x2 关于 λ 1 \lambda_1 λ1 λ 2 \lambda_2 λ2 的表达式。

∂ L ∂ x 1 = 2 + λ 1 − λ 2 = 0 ∂ L ∂ x 2 = 3 + λ 1 + 2 λ 2 = 0 \begin{align*} \frac{\partial L}{\partial x_1} &= 2 + \lambda_1 - \lambda_2 = 0 \\ \frac{\partial L}{\partial x_2} &= 3 + \lambda_1 + 2\lambda_2 = 0 \end{align*} x1Lx2L=2+λ1λ2=0=3+λ1+2λ2=0

通过解这个方程组,我们可以得到 x 1 x_1 x1 x 2 x_2 x2 的关于 λ 1 \lambda_1 λ1 λ 2 \lambda_2 λ2 的表达式:

x 1 = λ 2 − λ 1 3 , x 2 = − 2 λ 2 + λ 1 3 x_1 = \frac{\lambda_2 - \lambda_1}{3}, \quad x_2 = -\frac{2\lambda_2 + \lambda_1}{3} x1=3λ2λ1,x2=32λ2+λ1

将这些表达式代入拉格朗日函数,得到对偶函数 g ( λ 1 , λ 2 ) g(\lambda_1, \lambda_2) g(λ1,λ2)

g ( λ 1 , λ 2 ) = L ( λ 2 − λ 1 3 , − 2 λ 2 + λ 1 3 , λ 1 , λ 2 ) g(\lambda_1, \lambda_2) = L\left(\frac{\lambda_2 - \lambda_1}{3}, -\frac{2\lambda_2 + \lambda_1}{3}, \lambda_1, \lambda_2\right) g(λ1,λ2)=L(3λ2λ1,32λ2+λ1,λ1,λ2)

通过对拉格朗日函数对 x 1 x_1 x1 x 2 x_2 x2 求偏导数并令其等于零,得到最优解 x 1 ∗ ( λ 1 , λ 2 ) x_1^*(\lambda_1, \lambda_2) x1(λ1,λ2) x 2 ∗ ( λ 1 , λ 2 ) x_2^*(\lambda_1, \lambda_2) x2(λ1,λ2)。将这些最优解代入拉格朗日函数,得到对偶函数:

g ( λ 1 , λ 2 ) = L ( x 1 ∗ , x 2 ∗ , λ 1 , λ 2 ) g(\lambda_1, \lambda_2) = L(x_1^*, x_2^*, \lambda_1, \lambda_2) g(λ1,λ2)=L(x1,x2,λ1,λ2)

根据之前的计算,我们得到:

g ( λ 1 , λ 2 ) = − 2 3 λ 1 − 7 3 λ 2 g(\lambda_1, \lambda_2) = -\frac{2}{3}\lambda_1 - \frac{7}{3}\lambda_2 g(λ1,λ2)=32λ137λ2

4. 构建对偶问题

对偶问题为:

Maximize g ( λ 1 , λ 2 ) Subject to λ 1 ≥ 0 , λ 2 ≥ 0 \begin{align*} \text{Maximize} \quad & g(\lambda_1, \lambda_2) \\ \text{Subject to} \quad & \lambda_1 \geq 0, \quad \lambda_2 \geq 0 \end{align*} MaximizeSubject tog(λ1,λ2)λ10,λ20
在这个例子中,我们的对偶问题是:

Maximize − 2 3 λ 1 − 7 3 λ 2 Subject to λ 1 ≥ 0 , λ 2 ≥ 0 \begin{align*} \text{Maximize} \quad & -\frac{2}{3}\lambda_1 - \frac{7}{3}\lambda_2 \\ \text{Subject to} \quad & \lambda_1 \geq 0, \quad \lambda_2 \geq 0 \end{align*} MaximizeSubject to32λ137λ2λ10,λ20

5. 求解对偶问题

在这个例子中,很显然
λ 1 ∗ = 0 , λ 2 ∗ = 0 \lambda_1^*=0,\quad \lambda_2^*=0 λ1=0,λ2=0

6. 获得原始问题的最优解

通过之前求解拉格朗日函数的最优解关于 λ 1 \lambda_1 λ1 λ 2 \lambda_2 λ2 的表达式:

x 1 ∗ ( λ 1 , λ 2 ) = λ 2 − λ 1 3 x 2 ∗ ( λ 1 , λ 2 ) = − 2 λ 2 + λ 1 3 \begin{align*} x_1^*(\lambda_1, \lambda_2) &= \frac{\lambda_2 - \lambda_1}{3} \\ x_2^*(\lambda_1, \lambda_2) &= -\frac{2\lambda_2 + \lambda_1}{3} \end{align*} x1(λ1,λ2)x2(λ1,λ2)=3λ2λ1=32λ2+λ1

将最优的 λ 1 ∗ \lambda_1^* λ1 λ 2 ∗ \lambda_2^* λ2 带入这些表达式,得到原始问题的最优解 x 1 ∗ x_1^* x1 x 2 ∗ x_2^* x2

本题中
x 1 ∗ = 0 , x 2 ∗ = 0 x_1^*=0,\quad x_2^*=0 x1=0,x2=0

目标函数
Minimize f ( x 1 , x 2 ) = 2 x 1 + 3 x 2 = 0 \text{Minimize} \quad f(x_1, x_2) = 2x_1 + 3x_2 =0 Minimizef(x1,x2)=2x1+3x2=0

你可能感兴趣的:(算法,线性规划)