不等式约束的拉格朗日乘数法简要说明
前提
最近做一个优化问题用到拉格朗日乘数法,时间比较琐碎,搞了好久。现在理清了,记录下。
例1:极值点在可行域内
m i n { f ( x 1 , x 2 ) } = ( x 1 − 1 ) 2 + ( x 2 − 1 ) 2 + 1 s . t . g 1 ( x 1 ) = x 1 − 2 ≤ 0 g 1 ( x 2 ) = x 2 − 2 ≤ 0 {\rm{min}}\{f(x_1,x_2)\}=(x_1-1)^2+(x_2-1)^2+1 \\ {\rm{s.t.}} \quad g_1(x_1)=x_1-2\leq0 \\ \quad\quad\quad g_1(x_2)=x_2-2\leq0 min{f(x1,x2)}=(x1−1)2+(x2−1)2+1s.t.g1(x1)=x1−2≤0g1(x2)=x2−2≤0
1.1 构建拉格朗日函数
L ( x 1 , x 2 , μ 1 , μ 2 ) = f ( x 1 , x 2 ) + μ 1 g 1 ( x 1 ) + μ 2 g 2 ( x 2 ) μ 1 g 1 ( x 1 ) = 0 μ 2 g 2 ( x 2 ) = 0 μ 1 , μ 2 ≥ 0 L(x_1,x_2,\mu_1,\mu_2)=f(x_1,x_2)+\mu_1g_1(x_1)+\mu_2g_2(x_2)\\ \mu_1g_1(x_1)=0 \\ \mu_2g_2(x_2)=0 \\ \mu_1,\mu_2 \geq 0 L(x1,x2,μ1,μ2)=f(x1,x2)+μ1g1(x1)+μ2g2(x2)μ1g1(x1)=0μ2g2(x2)=0μ1,μ2≥0
1.2 梯度方程
根据拉格朗日乘数法的思想,在极值处应有梯度和为0的情况,即
Δ
L
(
x
1
,
x
2
,
μ
1
,
μ
2
)
=
Δ
f
(
x
1
,
x
2
)
+
μ
1
Δ
g
1
(
x
1
)
+
μ
2
Δ
g
2
(
x
2
)
=
0
μ
1
g
1
(
x
1
)
=
0
μ
2
g
2
(
x
2
)
=
0
μ
1
,
μ
2
≥
0
\Delta L(x_1, x_2,\mu_1,\mu_2) \\= \Delta f(x_1,x_2)+\mu_1 \Delta g_1(x_1)+\mu_2 \Delta g_2(x_2)=0\\ \mu_1g_1(x_1)=0 \\ \mu_2g_2(x_2)=0 \\ \mu_1,\mu_2 \geq 0
ΔL(x1,x2,μ1,μ2)=Δf(x1,x2)+μ1Δg1(x1)+μ2Δg2(x2)=0μ1g1(x1)=0μ2g2(x2)=0μ1,μ2≥0
注意,由于有
μ
i
x
i
\mu_ix_i
μixi项,上面这个已经不是线性方程组了
代入顶端的方程,得到
2
x
1
−
2
+
μ
1
=
0
2
x
2
−
2
+
μ
2
=
0
μ
1
(
x
1
−
2
)
=
0
μ
2
(
x
2
−
2
)
=
0
μ
1
,
μ
2
≥
0
2x_1-2+\mu_1=0\\ 2x_2-2+\mu_2=0\\ \mu_1(x_1-2)=0\\ \mu_2(x_2-2)=0\\ \mu_1,\mu_2 \geq 0
2x1−2+μ1=02x2−2+μ2=0μ1(x1−2)=0μ2(x2−2)=0μ1,μ2≥0
因为不是线性方程组,所以分情况讨论
case1:
μ
1
=
0
,
μ
2
≠
0
\mu_1=0,\mu_2 \neq0
μ1=0,μ2=0
∵
μ
2
≠
0
\because \mu_2 \neq0
∵μ2=0
∴
x
2
=
2
\therefore x_2 = 2
∴x2=2
在
2
x
2
−
2
+
μ
2
=
0
2x_2-2+\mu_2=0
2x2−2+μ2=0
中,
μ
2
=
−
2
\mu_2=-2
μ2=−2,这与
μ
2
≥
0
\mu_2\geq0
μ2≥0矛盾。
case2:
μ
1
≠
0
,
μ
2
=
0
\mu_1\neq0,\mu_2 =0
μ1=0,μ2=0
∵
μ
1
≠
0
\because \mu_1 \neq0
∵μ1=0
∴
x
1
=
2
\therefore x_1 = 2
∴x1=2
在
2
x
1
−
2
+
μ
1
=
0
2x_1-2+\mu_1=0
2x1−2+μ1=0
中,
μ
1
=
−
2
\mu_1=-2
μ1=−2,这与
μ
1
≥
0
\mu_1\geq0
μ1≥0矛盾。
case3:
μ
1
≠
0
,
μ
2
≠
0
\mu_1\neq0,\mu_2 \neq0
μ1=0,μ2=0
∵
μ
1
≠
0
\because \mu_1 \neq0
∵μ1=0
∴
x
1
=
2
\therefore x_1 = 2
∴x1=2
在
2
x
1
−
2
+
μ
1
=
0
2x_1-2+\mu_1=0
2x1−2+μ1=0
中,
μ
1
=
−
2
\mu_1=-2
μ1=−2,这与
μ
1
≥
0
\mu_1\geq0
μ1≥0矛盾。
μ
2
,
x
2
\mu_2,x_2
μ2,x2亦矛盾。
case4:
μ
1
=
0
,
μ
2
=
0
\mu_1=0,\mu_2 =0
μ1=0,μ2=0
∵
μ
1
=
0
,
μ
2
=
0
\because \mu_1=0,\mu_2 =0
∵μ1=0,μ2=0
∴
x
1
=
1
,
x
2
=
1
\therefore x_1 = 1,x_2 = 1
∴x1=1,x2=1
此时,
(
x
1
=
1
,
x
2
=
1
)
(x_1 = 1,x_2 = 1)
(x1=1,x2=1)
在可行域
s
.
t
.
g
1
(
x
1
)
=
x
1
−
2
≤
0
g
1
(
x
2
)
=
x
2
−
2
≤
0
{\rm{s.t.}} \quad g_1(x_1)=x_1-2\leq0 \\ \quad\quad\quad g_1(x_2)=x_2-2\leq0
s.t.g1(x1)=x1−2≤0g1(x2)=x2−2≤0
范围内,是极值。
例2:极值点在可行域外,此时最值出现在边界条件上
m i n { f ( x 1 , x 2 ) } = ( x 1 − 1 ) 2 + ( x 2 − 1 ) 2 + 1 s . t . g 1 ( x 1 ) = x 1 − 2 ≤ 0 g 1 ( x 2 ) = 2 − x 2 ≤ 0 {\rm{min}}\{f(x_1,x_2)\}=(x_1-1)^2+(x_2-1)^2+1 \\ {\rm{s.t.}} \quad g_1(x_1)=x_1-2\leq0 \\ \quad\quad\quad g_1(x_2)=2-x_2\leq0 min{f(x1,x2)}=(x1−1)2+(x2−1)2+1s.t.g1(x1)=x1−2≤0g1(x2)=2−x2≤0
2.1构建拉格朗日函数
L ( x 1 , x 2 , μ 1 , μ 2 ) = f ( x 1 , x 2 ) + μ 1 g 1 ( x 1 ) + μ 2 g 2 ( x 2 ) μ 1 g 1 ( x 1 ) = 0 μ 2 g 2 ( x 2 ) = 0 μ 1 , μ 2 ≥ 0 L(x_1,x_2,\mu_1,\mu_2)=f(x_1,x_2)+\mu_1g_1(x_1)+\mu_2g_2(x_2)\\ \mu_1g_1(x_1)=0 \\ \mu_2g_2(x_2)=0 \\ \mu_1,\mu_2 \geq 0 L(x1,x2,μ1,μ2)=f(x1,x2)+μ1g1(x1)+μ2g2(x2)μ1g1(x1)=0μ2g2(x2)=0μ1,μ2≥0
2.2梯度方程
根据拉格朗日乘数法的思想,在极值处应有梯度和为0的情况,即
Δ
L
(
x
1
,
x
2
,
μ
1
,
μ
2
)
=
Δ
f
(
x
1
,
x
2
)
+
μ
1
Δ
g
1
(
x
1
)
+
μ
2
Δ
g
2
(
x
2
)
=
0
μ
1
g
1
(
x
1
)
=
0
μ
2
g
2
(
x
2
)
=
0
μ
1
,
μ
2
≥
0
\Delta L(x_1, x_2,\mu_1,\mu_2) \\= \Delta f(x_1,x_2)+\mu_1 \Delta g_1(x_1)+\mu_2 \Delta g_2(x_2)=0\\ \mu_1g_1(x_1)=0 \\ \mu_2g_2(x_2)=0 \\ \mu_1,\mu_2 \geq 0
ΔL(x1,x2,μ1,μ2)=Δf(x1,x2)+μ1Δg1(x1)+μ2Δg2(x2)=0μ1g1(x1)=0μ2g2(x2)=0μ1,μ2≥0
代入顶端的方程,得到
2
x
1
−
2
+
μ
1
=
0
2
x
2
−
2
−
μ
2
=
0
μ
1
(
x
1
−
2
)
=
0
μ
2
(
2
−
x
2
)
=
0
μ
1
,
μ
2
≥
0
2x_1-2+\mu_1=0\\ 2x_2-2-\mu_2=0\\ \mu_1(x_1-2)=0\\ \mu_2(2-x_2)=0\\ \mu_1,\mu_2 \geq 0
2x1−2+μ1=02x2−2−μ2=0μ1(x1−2)=0μ2(2−x2)=0μ1,μ2≥0
分情况讨论
case1:
μ
1
=
0
,
μ
2
=
0
\mu_1=0,\mu_2 =0
μ1=0,μ2=0
∵
μ
1
=
0
,
μ
2
=
0
\because \mu_1=0,\mu_2 =0
∵μ1=0,μ2=0
∴
x
1
=
1
,
x
2
=
1
\therefore x_1=1,x_2=1
∴x1=1,x2=1
其中
x
2
=
1
x_2=1
x2=1 不在
g
2
(
x
2
)
=
2
−
x
2
≤
0
g_2(x_2)=2-x_2\leq0
g2(x2)=2−x2≤0 范围内,矛盾。
case2:
μ
1
≠
0
,
μ
2
=
0
\mu_1\neq0,\mu_2 =0
μ1=0,μ2=0
∵
μ
1
≠
0
,
μ
2
=
0
\because \mu_1 \neq0, \mu_2 = 0
∵μ1=0,μ2=0
∴
x
1
=
2
,
x
2
=
1
\therefore x_1 = 2,x_2=1
∴x1=2,x2=1 和
μ
1
=
−
2
\mu_1 = -2
μ1=−2。
其中
μ
1
=
−
2
\mu_1 = -2
μ1=−2 与
μ
1
≥
0
\mu_1 \geq 0
μ1≥0矛盾。
case3:
μ
1
≠
0
,
μ
2
≠
0
\mu_1\neq0,\mu_2 \neq0
μ1=0,μ2=0
∵
μ
1
≠
0
,
μ
2
≠
0
\because \mu_1 \neq0, \mu_2 \neq 0
∵μ1=0,μ2=0
∴
x
1
=
2
,
x
2
=
2
\therefore x_1 = 2,x_2= 2
∴x1=2,x2=2
显然不在可行域
s
.
t
.
g
1
(
x
1
)
=
x
1
−
2
≤
0
g
1
(
x
2
)
=
x
2
−
2
≤
0
{\rm{s.t.}} \quad g_1(x_1)=x_1-2\leq0 \\ \quad\quad\quad g_1(x_2)=x_2-2\leq0
s.t.g1(x1)=x1−2≤0g1(x2)=x2−2≤0
范围内,矛盾。
case4:
μ
1
=
0
,
μ
2
≠
0
\mu_1=0,\mu_2\neq0
μ1=0,μ2=0
∵
μ
1
=
0
,
μ
2
≠
0
\because \mu_1=0,\mu_2\neq0
∵μ1=0,μ2=0
∴
x
1
=
1
,
x
2
=
2
\therefore x_1 = 1,x_2=2
∴x1=1,x2=2 和
μ
2
=
2
\mu_2 = 2
μ2=2。
符合条件,因此
x
1
=
1
,
x
2
=
2
,
μ
1
=
0
,
μ
2
=
2
x_1=1,x_2=2,\mu_1=0,\mu_2=2
x1=1,x2=2,μ1=0,μ2=2是最值所在。
小结
松弛因子
μ
i
=
0
\mu_i=0
μi=0,说明极值点
x
∗
x^*
x∗满足对应的不等式
g
i
≤
0
g_i\leq0
gi≤0,
μ
i
≠
0
\mu_i\neq0
μi=0时,则最值点出现在边界条件
g
i
=
0
g_i=0
gi=0上。
导入
如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。