最优化约束条件
- 无约束条件
解决方法:函数对变量求导,令导函数等于0的点可能是极值点,将结果带回原函数进行验证。 - 等式约束条件
设目标函数为 f ( x ) f(x) f(x),约束条件为 h ( x ) h(x) h(x)。比如:
{ m i n f ( x ) s . t . h j ( x ) = 0 , j = 1 , 2 , ⋯ n \begin{cases} min\,\,f(x)\\ s.t. h_j(x)=0\text{,}j=1,2,\cdots n\\ \end{cases} {minf(x)s.t.hj(x)=0,j=1,2,⋯n
解决方法:消元法或者拉格朗日乘数法。 - 不等式约束条件(等式和不等式混合约束)
设目标函数 f ( x ) f(x) f(x),不等式约束为 g ( x ) g(x) g(x),有时还包括等式约束条件 h ( x ) h(x) h(x)。
{ m i n f ( x ) s . t . { g i ( x ) ⩽ 0 , k = 1 , 2 , ⋯ k h j ( x ) = 0 , j = 1 , 2 , ⋯ l \begin{cases} min\,\,f(x)\\ s.t. \left\{ \begin{array}{c} g_i\left( x \right) \leqslant 0\text{,}k=1,2,\cdots k\\ h_j(x)=0\text{,}j=1,2,\cdots l\\ \end{array} \right.\\ \end{cases} ⎩ ⎨ ⎧minf(x)s.t.{gi(x)⩽0,k=1,2,⋯khj(x)=0,j=1,2,⋯l
解决方法:等式约束和不等式约束 → \rightarrow → 广义拉格朗日乘数法。
拉格朗日乘数法和 KKT条件是求解约束优化问题的重要方法,那么接下来在最优化问题中主要针对拉格朗日乘数法进行讲解,并且对KKT条件进行介绍。
拉格朗日乘数法
拉格朗日乘数法是一种在一个或多个条件的约束下对函数求极值的方法,通过引入拉格朗日乘子构造拉格朗日函数对n个变量分别求偏导,然后加上k个约束条件(对应k个拉格朗日乘子)一起构成包含了(n+k)变量的(n+k)个方程的方程组问题。拉格朗日乘子背后的数学意义是其为约束方程梯度线性组合中每个向量的系数。
条件极值问题关键在于寻找极值点满足的性质:在极值点处两曲线对应的法向量平行
单一函数极值
如下图,为求
f
(
x
)
f(x)
f(x)的极值点,在计算上进行梯度求解并令梯度为0;在图形上可以理解为将x轴进行上下移动与图像相切。
多函数极值
上图描述的是单一函数的极值点问题,而函数由多个函数相加减时可以令其总梯度为0求得极值点。
设
f
(
x
)
f\left( x \right)
f(x) 由
ϕ
(
x
)
、
φ
(
x
)
\phi \left( x \right)、\varphi \left( x \right)
ϕ(x)、φ(x)构成并对
f
(
x
)
f\left( x \right)
f(x)进行梯度运算:
那么可以得知,在极值点 x 0 x_0 x0处 ϕ ( x ) \phi \left( x \right) ϕ(x)和 φ ( x ) \varphi \left( x \right) φ(x)的法向量共线。
如下图,令
φ
(
x
,
y
)
=
x
2
+
y
2
=
1
\varphi \left( x,y \right) =x^2+y^2=1
φ(x,y)=x2+y2=1,
ϕ
(
x
,
y
)
=
−
y
−
x
+
α
\phi \left( x,y \right) =-y-x+\alpha
ϕ(x,y)=−y−x+α
在
(
x
1
,
y
1
)
、
(
x
2
,
y
2
)
\left( x_1,y_1 \right)、\left( x_2,y_2 \right)
(x1,y1)、(x2,y2)处虽然梯度大小不一致,但是互相成比例,法向量共线,那么只有在这两点处才会存在函数
f
(
x
)
f\left( x \right)
f(x)的极值点。所以多函数的极值可以将函数进行拆分,分为多个子函数,并对子函数求梯度,只有在法向量共线时存在极值点。
拉格朗日函数
通过对函数极值的讨论发现了目标函数极值点与梯度的关联。那么构造函数希望能够同时考虑到目标函数与约束条件:
{
min
x
∈
R
n
f
(
x
)
s
.
t
.
h
i
=
0
,
i
=
1
,
2
,
⋯
,
N
→
L
(
x
,
α
)
=
f
(
x
)
−
∑
i
=
1
N
α
i
h
i
(
x
)
\left\{ \begin{array}{l} \underset{x\in \boldsymbol{R}^{\boldsymbol{n}}}{\min}f\left( x \right)\\ s.t. h_i=0,i=1,2,\cdots ,N\\ \end{array} \right. \rightarrow L\left( x ,\alpha \right) =f\left( x \right) -\,\,\sum_{i=1}^N{\alpha _ih_i\left( x\right)}
{x∈Rnminf(x)s.t.hi=0,i=1,2,⋯,N→L(x,α)=f(x)−i=1∑Nαihi(x)
{ L ( x , α ) = f ( x ) − ∑ i = 1 N α i h i ( x ) = f ( x ) ∂ L ( x , α ) ∂ α i = h i ( x ) \begin{cases} L\left( x,\alpha \right) =f\left( x \right) -\,\,\sum_{i=1}^N{\alpha _ih_i\left( x \right)}=f\left( x \right)\\ \frac{\partial L\left( x,\alpha \right)}{\partial \alpha _i}=h_i\left( x \right)\\ \end{cases} {L(x,α)=f(x)−∑i=1Nαihi(x)=f(x)∂αi∂L(x,α)=hi(x)
广义拉格朗日乘数法
拉格朗日乘数法解决了等式约束的最优化问题,但是存在不等式的最优化问题,因此提出了广义拉格朗日乘数法,用与解决含有不等式约束的最优化问题。
原始问题:
{
min
x
∈
R
n
f
(
x
)
s
.
t
.
{
g
i
(
x
)
⩽
0
,
k
=
1
,
2
,
⋯
k
h
j
(
x
)
=
0
,
j
=
1
,
2
,
⋯
l
\begin{cases} \underset{x\in \boldsymbol{R}^n}{\min}\,\,f\left( x \right) \\ s.t. \left\{ \begin{array}{c} g_i\left( x \right) \leqslant 0\text{,}k=1,2,\cdots k\\ h_j(x)=0\text{,}j=1,2,\cdots l\\ \end{array} \right.\\ \end{cases}
⎩
⎨
⎧x∈Rnminf(x)s.t.{gi(x)⩽0,k=1,2,⋯khj(x)=0,j=1,2,⋯l
拉格朗日函数
约束等效:
L
(
x
,
α
,
β
)
=
f
(
x
)
+
∑
i
=
1
k
α
i
g
i
(
x
)
+
∑
j
=
1
l
β
j
h
j
(
x
)
L\left( x,\alpha ,\beta \right) =f\left( x \right) +\,\,\sum_{i=1}^k{\alpha _ig_i\left( x \right)}+\sum_{j=1}^l{\beta _jh_j\left( x \right)}
L(x,α,β)=f(x)+i=1∑kαigi(x)+j=1∑lβjhj(x)
θ p ( x ) = max α , β : α i ⩾ 0 L ( x , α , β ) \theta _p\left( x \right) =\underset{\alpha ,\beta :\alpha _i\geqslant 0}{\max}L\left( x,\alpha ,\beta \right) θp(x)=α,β:αi⩾0maxL(x,α,β)
θ p ( x ) = { f ( x ) , x 满足原始问题约束问题 + ∞ , 其他 \theta _p\left( x \right) =\begin{cases} f\left( x \right) ,x\text{满足原始问题约束问题}\\ +\infty ,\text{其他}\\ \end{cases} θp(x)={f(x),x满足原始问题约束问题+∞,其他
再考虑最小化问题
min
x
θ
p
(
x
)
=
min
x
max
α
,
β
:
α
i
⩾
0
L
(
x
,
α
,
β
)
\underset{x}{\min}\theta _p\left( x \right) =\underset{x}{\min}\underset{\alpha ,\beta :\alpha _i\geqslant 0}{\max}L\left( x,\alpha ,\beta \right)
xminθp(x)=xminα,β:αi⩾0maxL(x,α,β)
它与原始优化问题等价,具有相同的解,所以 min x max α , β : α i ⩾ 0 L ( x , α , β ) \underset{x}{\min}\underset{\alpha ,\beta :\alpha _i\geqslant 0}{\max}L\left( x,\alpha ,\beta \right) xminα,β:αi⩾0maxL(x,α,β)是拉格朗日函数的极小极大值问题
原始优化问题 → 拉格朗日函数的极小极大值问题 原始问题最优解 p ∗ = min x θ p ( x ) \text{原始优化问题}\rightarrow \text{拉格朗日函数的极小极大值问题} \\ \text{原始问题最优解}p^*=\underset{x}{\begin{array}{c} \min\\ \end{array}}\theta _p\left( x \right) 原始优化问题→拉格朗日函数的极小极大值问题原始问题最优解p∗=xminθp(x)
拉格朗日对偶性
在约束最优化问题中,常常利用拉格朗日对偶性将原始问题转为对偶问题,通过解决对偶问题而得到原始问题的解。
将上述问题的极小极大值问题的求解顺序调换,先对x求最小值再对
α
,
β
\alpha ,\beta
α,β求最大值。
-
定义最小值问题:
θ D ( α , β ) = min x L ( x , α , β ) \theta _D\left( \alpha ,\beta \right) =\underset{x}{\min}L\left( x,\alpha ,\beta \right) θD(α,β)=xminL(x,α,β) -
明确最大化问题
max α , β : α i ⩾ 0 θ D ( α , β ) = max α , β : α i ⩾ 0 min x L ( x , α , β ) \underset{\alpha ,\beta :\alpha _i\geqslant 0}{\max}\theta _D\left( \alpha ,\beta \right) =\underset{\alpha ,\beta :\alpha _i\geqslant 0}{\max}\underset{x}{\min}L\left( x,\alpha ,\beta \right) α,β:αi⩾0maxθD(α,β)=α,β:αi⩾0maxxminL(x,α,β)
那么 max α , β : α i ⩾ 0 min x L ( x , α , β ) \underset{\alpha ,\beta :\alpha _i\geqslant 0}{\max}\underset{x}{\min}L\left( x,\alpha ,\beta \right) α,β:αi⩾0maxxminL(x,α,β)就是广义拉格朗日函数的极小极大值问题 -
定义对偶问题的最优值
d ∗ = max α , β : α i ⩾ 0 θ D ( α , β ) d^*=\underset{\alpha ,\beta :\alpha _i\geqslant 0}{\max}\theta _D\left( \alpha ,\beta \right) d∗=α,β:αi⩾0maxθD(α,β)
原始问题和对偶问题的关系
-
对偶问题相当于是设置了一个有关于原始优化问题的解的下界。
d ∗ = max α , β : α ⩾ 0 min x L ( x , α , β ) ⩽ min x max α , β : α ⩾ 0 L ( x , α , β ) = p ∗ d^*=\underset{\alpha ,\beta :\alpha \geqslant 0}{\max}\underset{x}{\min}L\left( x,\alpha ,\beta \right) \leqslant \underset{x}{\min}\underset{\alpha ,\beta :\alpha \geqslant 0}{\max}L\left( x,\alpha ,\beta \right) =p^* d∗=α,β:α⩾0maxxminL(x,α,β)⩽xminα,β:α⩾0maxL(x,α,β)=p∗ -
若目标函数 f ( x ) f(x) f(x)和 g ( x ) g(x) g(x)是凸函数, h ( x ) h(x) h(x)是仿射函数,不等式约束严格可行,那么存在 x ∗ , α ∗ , β ∗ x^*,\alpha ^*,\beta ^* x∗,α∗,β∗,使得 x ∗ x^* x∗是原始问题的解, α ∗ , β ∗ \alpha ^*,\beta ^* α∗,β∗是对偶问题的解,并且:
p ∗ = d ∗ = L ( x ∗ , α ∗ , β ∗ ) p^*=d^*=L\left( x^*,\alpha ^*,\beta ^* \right) p∗=d∗=L(x∗,α∗,β∗) -
若目标函数 f ( x ) f(x) f(x)和 g ( x ) g(x) g(x)是凸函数, h ( x ) h(x) h(x)是仿射函数,不等式约束严格可行,那么 x ∗ , α ∗ , β ∗ x^*,\alpha ^*,\beta ^* x∗,α∗,β∗分别是原始问题和对偶问题的充分必要条件是 x ∗ , α ∗ , β ∗ x^*,\alpha ^*,\beta ^* x∗,α∗,β∗满足 K K T KKT KKT条件: