可行解和最优解
可行解:各种规划中画不等式组表示的平面区域(即是可行域)后该区域中的点都算可行解
最优解:通过几何方法在这个区域中可以找出约束条件的最值即最优解
拉格朗日乘子法
待求解问题为:
m i n f ( x ) min f(x) minf(x)
s . t . h i ( x ) = 0 i = 1 , 2 , 3 , . . . , n s.t. \quad h_i(x) =0 \quad i=1,2,3,...,n s.t.hi(x)=0i=1,2,3,...,n
这个问题可以转换为
m i n [ f ( x ) + ∑ i = 1 n α i h i ( x ) ] min [f(x)+\sum_{i=1}^{n} \alpha_i h_i(x)] min[f(x)+i=1∑nαihi(x)]
其中 α i \alpha _i αi称为拉格朗日乘子,
求解过程如下,
首先对拉格朗日方程 L ( x , α ) = f ( x ) + ∑ i = 1 n α i h i ( x ) L(x, \alpha)=f(x)+\sum_{i=1}^{n} \alpha_i h_i(x) L(x,α)=f(x)+∑i=1nαihi(x)的 x x x和 α \alpha α求导,得到如下式子,
{ ∇ x L ( x , α ) = 0 ∇ α L ( x , α ) = 0 \left\{\begin{matrix} \nabla_x L(x,\alpha )=0\\ \nabla_\alpha L(x,\alpha ) =0 \end{matrix}\right. {∇xL(x,α)=0∇αL(x,α)=0
和 h i ( x ) h_i(x) hi(x)联立可得到最优解的 x x x和 α \alpha α,
下面证明算法的正确性,
现在有一个二元函数,要求其最小值, m i n ( f ( x , y ) ) min(f(x,y)) min(f(x,y)),而约束条件为 g ( x , y ) = c g(x,y)=c g(x,y)=c, 则如下图所示,
通过图上可以看出最优解发生在 g ( x , y ) = c g(x,y)=c g(x,y)=c的负梯度方向和 f ( x , y ) f(x,y) f(x,y)某一等值线的梯度方向相同,即
∇ f ( x , y ) = − α ∇ ( g ( x , y ) − c ) → ∇ [ f ( x , y ) + α ( g ( x , y ) − c ) ] = 0 \nabla f(x,y) = -\alpha\nabla (g(x,y)-c) \rightarrow \nabla [f(x,y)+\alpha (g(x,y)-c)]=0 ∇f(x,y)=−α∇(g(x,y)−c)→∇[f(x,y)+α(g(x,y)−c)]=0
通过上述推导,可得 L ( x , y , α ) = f ( x , y ) + α ( g ( x , y ) − c ) L(x,y,\alpha)=f(x,y)+\alpha (g(x,y)-c) L(x,y,α)=f(x,y)+α(g(x,y)−c)的偏导等于0, 则说明这时分别对x,y, α \alpha α求偏导,可得
∇ x , y , α L ( x , y , α ) = 0 \nabla_{x,y,\alpha }L(x,y,\alpha )=0 ∇x,y,αL(x,y,α)=0
g ( x , y ) = c g(x,y)=c g(x,y)=c
因而当 L ( x , y , α ) L(x,y,\alpha) L(x,y,α)达到极值时和 f ( x , y ) f(x,y) f(x,y)相同,因而达到极值时 g ( x , y ) − c = 0 g(x,y)-c=0 g(x,y)−c=0,这就证明了两个问题是等价的,
KKT条件
更一般的情况是求解约束条件下目标函数的极值问题既有等式,也有不等式,如下讲解只有不等式约束的情况,等式约束直接添加即可,
重申问题,
m i n f ( x ) min \quad f(x) minf(x)
s . t . g ( x ) ≤ 0 s.t. \quad g(x) \leq 0 s.t.g(x)≤0
对应的拉格朗日公式为 L ( x , α ) = f ( x ) + α g ( x ) L(x,\alpha)=f(x)+\alpha g(x) L(x,α)=f(x)+αg(x), 图形表示形式如下,
这时,有两种情况,
以上两种状况要么落在约束区域内,则 α = 0 \alpha=0 α=0,因为直接去掉约束条件即可,要么落在约束条件边界上,则 g ( x ) = 0 g(x)=0 g(x)=0, 综合起来就是
α g ( x ) = 0 \alpha g(x)=0 αg(x)=0
还有一个问题就是 α \alpha α的取值问题,当 α \alpha α不等于0的时候,即最优解在 g ( x ) = 0 g(x)=0 g(x)=0上取得时, f ( x , y ) f(x,y) f(x,y)的等值线的负梯度方向必须要和 g ( x ) = 0 g(x)=0 g(x)=0的梯度方向(法线方向)一致,即
− ∇ x f ( x ) = α ∇ x g ( x ) -\nabla_x f(x)= \alpha \nabla_x g(x) −∇xf(x)=α∇xg(x)
通过上面式子看出当 α \alpha α不等于0的时候, α \alpha α一定大于0, 即 α ≥ 0 \alpha \geq 0 α≥0
只有这样才能够得到最优解,其他虽然共线但是方向不同的不算是最优解,解释如下图所示,、
因而对于不等式约束,只要满足一定的条件都能够用拉格朗日算子法求解,这里的条件就是所谓的KKT条件,条件的总和即为上面讲述的结果,
整理一下可得,目标函数为
m i n ( f ( x ) ) min(f(x)) min(f(x))
s . t . h i ( x ) = 0 , i = 1 , 2 , . . . , m s.t. \quad h_i(x)=0, \quad i=1,2,...,m s.t.hi(x)=0,i=1,2,...,m
g j ( x ) ≤ 0 , j = 1 , 2 , . . . , n \quad g_j(x)\leq0, \quad j=1,2,...,n gj(x)≤0,j=1,2,...,n
构造无约束条件拉格朗日函数为
L ( x , α β ) = f ( x ) + ∑ i = 1 m α i h i ( x ) + ∑ j = 1 n β j g j ( x ) L(x,\alpha \beta )=f(x)+\sum_{i=1}^{m}\alpha _i h_i(x)+\sum_{j=1}^{n}\beta _j g_j(x) L(x,αβ)=f(x)+i=1∑mαihi(x)+j=1∑nβjgj(x)
在约束条件下的可行解(当然也包括最优解) 必须满足如下条件( i = 1 , 2 , . . . , m j = 1 , 2 , . . . , n i=1,2,...,m \quad j=1,2,...,n i=1,2,...,mj=1,2,...,n)
∇ x , α , β L ( x , α , β ) = 0 \nabla_{x,\alpha ,\beta }L(x,\alpha ,\beta )=0 ∇x,α,βL(x,α,β)=0
h i ( x ) = 0 h_i(x)=0 hi(x)=0
g j ( x ) ≤ 0 g_j(x)\leq 0 gj(x)≤0
β j ≥ 0 \beta _j\geq 0 βj≥0
β j g j ( x ) = 0 \beta _j g_j(x)=0 βjgj(x)=0
这就是所谓的KKT条件,简单易懂,
拉格朗日对偶性
原始问题
假设 f ( x ) , c i ( x ) , h j ( x ) f(x),c_i(x),h_j(x) f(x),ci(x),hj(x)是定义在 R n R^n Rn上的连续可微函数,则如下称为约束最优化问题的原始问题,
m i n x ∈ R n f ( x ) min_{x\in R^n} f(x) minx∈Rnf(x)
s . t . c i ( x ) ≤ 0 , i = 1 , 2 , . . . , k s.t. \quad c_i(x)\leq 0, \quad i=1,2,...,k s.t.ci(x)≤0,i=1,2,...,k
h j ( x ) = 0 j = 1 , 2 , . . . , l h_j(x)=0 \quad j=1,2,...,l hj(x)=0j=1,2,...,l
引入广义拉格朗日函数为
L ( x , α , β ) = f ( x ) + ∑ i = 1 k α i c i ( x ) + ∑ j = 1 l β j h j ( x ) L(x,\alpha ,\beta )=f(x)+\sum_{i=1}^{k}\alpha _ic_i(x)+\sum_{j=1}^{l}\beta _jh_j(x) L(x,α,β)=f(x)+i=1∑kαici(x)+j=1∑lβjhj(x)
α i , β i \alpha_i,\beta_i αi,βi为拉格朗日乘子, α i ≥ 0 \alpha_i\geq 0 αi≥0, 考虑x的函数
θ P ( x ) = m a x α , β ; α i L ( x , α , β ) \theta _P(x)=max_{\alpha ,\beta ;\alpha _i}L(x,\alpha ,\beta ) θP(x)=maxα,β;αiL(x,α,β)
对于给定某个x,如果x违反原始问题的约束条件,即存在某个i使得 c i ( x ) > 0 c_i(x)>0 ci(x)>0或者存在某个j,使得 h j ( x ) ≠ 0 h_j(x)\neq0 hj(x)=0,那么有 θ P ( x ) = + ∞ \theta_P(x)=+\infty θP(x)=+∞, 而且当x满足所有的约束条件时, θ P ( x ) = f ( x ) \theta_P(x)=f(x) θP(x)=f(x),因此
θ P ( x ) = { f ( x ) w h e n x s a t i s f y a l l c o n s t r a i n s + ∞ . o t h e r w i s e \theta _P(x)=\left\{\begin{matrix} f(x) \quad when\ x\ satisfy\ all\ constrains \\ +\infty. \quad otherwise \end{matrix}\right. θP(x)={f(x)when x satisfy all constrains+∞.otherwise
考虑极小化问题,则有
m i n x θ P ( x ) = m i n x m a x α , β ; α i ≥ 0 L ( x , α , β ) min_{x}\theta_P(x)=min_{x}max_{\alpha ,\beta ;\alpha _i\geq 0}L(x,\alpha ,\beta ) minxθP(x)=minxmaxα,β;αi≥0L(x,α,β)
上式与原始问题是等价的,称为极小极大问题,为了简化起见,定义原始问题最优值为
p ∗ = m i n x θ P ( x ) p^*=min_{x}\theta_P(x) p∗=minxθP(x)
对偶问题
定义
θ D ( α , β ) = m i n x L ( x , α , β ) \theta_D(\alpha, \beta)=min_{x}L(x,\alpha,\beta) θD(α,β)=minxL(x,α,β)
再考虑极大化 θ D ( α , β ) \theta_D(\alpha, \beta) θD(α,β), 即
m a x α , β ; α i ≥ 0 θ D ( α , β ) = m a x α , β ; α i ≥ 0 m i n x L ( x , α , β ) max_{\alpha ,\beta ;\alpha _i\geq 0}\theta _D(\alpha ,\beta )=max_{\alpha ,\beta ;\alpha _i\geq 0}min_{x}L(x,\alpha ,\beta ) maxα,β;αi≥0θD(α,β)=maxα,β;αi≥0minxL(x,α,β)
上式为广义拉格朗日函数的极大极小问题,
极大极小问题的约束最优化问题如下,
m a x α , β ; α i ≥ 0 θ D ( α , β ) = m a x α , β ; α i ≥ 0 m i n x L ( x , α , β ) max_{\alpha ,\beta ;\alpha _i\geq 0}\theta _D(\alpha ,\beta )=max_{\alpha ,\beta ;\alpha _i\geq 0}min_{x}L(x,\alpha ,\beta ) maxα,β;αi≥0θD(α,β)=maxα,β;αi≥0minxL(x,α,β)
s . t . α i ≥ 0 , i = 1 , 2 , . . . , k s.t. \quad \alpha_i \geq 0,\quad i=1,2,...,k s.t.αi≥0,i=1,2,...,k
对偶问题的最优值为
d ∗ = m a x α , β ; α i ≥ 0 θ D ( α , β ) d^*=max_{\alpha,\beta;\alpha_i\geq0}\theta_D(\alpha, \beta) d∗=maxα,β;αi≥0θD(α,β)
原始问题和对偶问题的关系
d ∗ ≤ p ∗ d^*\leq p^* d∗≤p∗
定理2
假设 f ( x ) , c i ( x ) f(x),c_i(x) f(x),ci(x)为凸函数, h j ( x ) h_j(x) hj(x)为仿射函数,并且不等式约束 c i ( x ) c_i(x) ci(x)是严格可行的(即存在x, 使得所有的i都有 c i ( x ) < 0 c_i(x)<0 ci(x)<0), 那一定会存在 x ∗ , α ∗ , β ∗ x^*,\alpha^*,\beta^* x∗,α∗,β∗, 使得 x ∗ x^* x∗为原始问题的最优解, α ∗ , β ∗ \alpha^*,\beta^* α∗,β∗为对偶问题的最优解,而且这时 p ∗ = d ∗ = L ( x ∗ , α ∗ , β ∗ ) p^*=d^*=L(x^*,\alpha ^*,\beta ^*) p∗=d∗=L(x∗,α∗,β∗)
定理3
假设 f ( x ) , c i ( x ) f(x),c_i(x) f(x),ci(x)为凸函数, h j ( x ) h_j(x) hj(x)为仿射函数,并且不等式约束 c i ( x ) c_i(x) ci(x)是严格可行的(即存在x, 使得所有的i都有 c i ( x ) < 0 c_i(x)<0 ci(x)<0),则 x ∗ x^* x∗为原始问题的最优解, α ∗ , β ∗ \alpha^*,\beta^* α∗,β∗为对偶问题的最优解的充分必要条件为如下,
x ∗ , α ∗ , β ∗ x^*,\alpha^*,\beta^* x∗,α∗,β∗满足KKT条件,即
∇ x ∗ , α ∗ , β ∗ L ( x ∗ , α ∗ , β ∗ ) = 0 \nabla_{x^*,\alpha^* ,\beta^* }L(x^*,\alpha^* ,\beta^* )=0 ∇x∗,α∗,β∗L(x∗,α∗,β∗)=0
h j ( x ∗ ) = 0 j = 1 , 2 , . . . , l h_j(x^*)=0 \quad j=1,2,...,l hj(x∗)=0j=1,2,...,l
c i ( x ∗ ) ≤ 0 i = 1 , 2 , . . . , k c_i(x^*)\leq 0\quad i=1,2,...,k ci(x∗)≤0i=1,2,...,k
α i ≥ 0 i = 1 , 2 , . . . , k \alpha_i \geq 0\quad i=1,2,...,k αi≥0i=1,2,...,k
α i c i ( x ∗ ) = 0 i = 1 , 2 , . . . , k \alpha _i c_i(x^*)=0\quad i=1,2,...,k αici(x∗)=0i=1,2,...,k
而且最关键的是,如果某个 x ∗ , α ∗ , β ∗ x^*,\alpha ^*,\beta ^* x∗,α∗,β∗满足KKT条件,那么它们也是对偶问题和原始问题的解,这就提供了如何通过解对偶问题解决原始问题的可能性,也就是说求解KKT条件的过程就是求解原始和对偶问题解的过程,
定理3和定理2是同时成立的,也就是说定理2成立的同时定理3也成立,即只要能够满足且不等式约束 c i ( x ) c_i(x) ci(x)是严格可行的,则原始问题的最优解能够通过求解对偶问题来实现,且原始问题和对偶问题的最优解满足KKT条件,而求解的过程也由KKT条件本身计算得出。