在线性规划中,所有的等式约束条件,不等式约束以及目标函数都是线性函数,我们是通过先研究约束条件中点的性质,最后和目标函数的target连起来 的思路,而非线性规划我们也会使用类似的思路局部最优解满足条件推导
对于非线性规划问题
x∈Rnmins.t.f(x)gi(x)≤0,i=1,…,m,hj(x)=0,j=1,…,p.
下降方向#
所谓的下降方向,就是要寻找往那个方向改变x可以让f(x) 更小,于是自然有如下定义
- 定义 :设f(x)为 Rn 上的实函数, xˉ∈Rn ,d为非0向量,如果存在 δ>0 使得 f(xˉ+λd)<f(xˉ),∀λ∈(0,δ) 称d为f(x)在 xˉ 处的下降方向 ,下降方向组成的集合为 Ω(xˉ,f)
进一步我们的约束以及目标都是可微的,可以发现当 ∇f(xˉ)Td<0 时,此时d显然为下降方向 ,所以对于目标函数的梯度可以作为下降方向的重要衡量标准,于是有
- 一阶线性下降方向 : D(xˉ,S)={d∈Rn∣∇f(xˉ)⊤d<0} 称为一阶线性下降方向
可行方向集合#
下降方向是规定了往那些方向改变x会让f(x)减小 ,而对于约束条件也划定了一个区域,我们的x只能在这个里面游动 ,因此改变x的是皇后就需要在可行方向集合里面改变
- 可行方向集合 :设 xˉ∈S,d∈Rn ,为非0向量,若存在 δ>0 使得
xˉ+λd∈S,∀λ∈(0,δ)
称d为S在 xˉ 处的可行方向,将所有的在x处的可行方向记为 F(xˉ,S) 。
同样的,如果我们假设所有的h,g都是可微的,那么对于使用Taylor展开,我们仍然可以使用梯度作为衡量标准,于是
- 一阶不等式可行方向 : Fxˉ,S={d∣∇hj(xˉ)⊤d=0, ∇gi(xˉ)⊤d≤0, i∈A(xˉ)}
我们可以证明,对于局部最优解,有
- Theorem 1: D(xˉ,S)∩Fxˉ,S=Ω(xˉ,f)∩F(xˉ,S)=ϕ (证略,反证法易证)
切锥&&LICQ条件#
但是这样定义的可行方向集中,如果我们有等式约束,那么可行方向中能使用连续的一条”线段“去刻画可能的点,只存在** 一条弯曲的线**,因此改进可行方向集合的定义方法
- 切锥: 我们称方向 d∈Rn 属于可行点 x∈S 处的切维,如果存在序列 {xi}⊂S ,和实数序列 τi↘0 ,使得
τixi−x→d,i→∞.
记其切锥集合为 T(x,S):={d:∃τi↘0,{xi}⊂S,xi→x,s.t.τixi−x→d}.
进一步的,我们将S分成不等式约束以及等式约束两部分,有 T(x,gi),T(x,hi) 于是有 T(x,S)=T(x,gi)∩T(x,hi)
可以类似证明, T(x,gi)∩T(x,hi)∩Ω(xˉ,f)=ϕ
对于这两个可行方向集合的讨论,同样考虑对于可微时,如果我们只考虑切线方向 有,
使用Taylor展开,有
- 对于等式约束 E:={hi(xˉ)=0,i=1,...,ℓ} ,若 d∈T(xˉ,h) ,这里 T(xˉ,h) 表示 hi(xˉ)=0,i=1,...,ℓ 的切锥,则存在序列 {xk}⊂E , τk↘0 ,且 xk→xˉ 使得 τkxk−xˉ→d 。令 dk=τkxk−xˉ ,则 ∇hi(xˉ)Td=hi(xˉ;d)=limk→∞τkhi(xˉ+τkdk)−hi(xˉ)=0.
- _同理,对于不等式积极约束集 (active set),记 A(xˉ)={i∣gi(xˉ)=0,i∈{1,⋯,m}} ,_ ∇gi(xˉ)Td=gi(xˉ;d)=limk→∞τkgi(xˉ+τkdk)−gi(xˉ)≥0,i∈A(xˉ).
因此我们有
- 等式的线性可行锥方向 : L(xˉ,h):={d∣∇hj(xˉ)Td=0,j=1,⋯,ℓ}.
- 不等式的线性可行锥方向 : L(xˉ,g):={d∣∇gi(xˉ)Td≥0,i∈A(xˉ)}.
对于线性可行锥的方向是容易刻画的,我们猜想,什么时候可以用切线的约束代替切锥约束呢 ,从而可以用更简单的方式刻画全局最优解 ,从而有以下条件
- MFCQ条件 :所有的等式约束梯度线性无关,且存在方向d满足 ∇hj(x∗)⊤d=0,∇gi(x∗)⊤d<0,∀i∈A(x∗).
- LICQ条件: 所有的约束条件的梯度线性无关
可以证明,
- Theorem 2 :在LICQ或MFCQ 条件下,有 L(xˉ,h)∩L(xˉ,g)=T(xˉ,g)∩T(xˉ,h)
于是有在LICQ/MFCQ条件下,有 L(x,gi)∩L(x,hi)∩Ω(xˉ,f)=ϕ ,成功的给出局部最优解 的合理的刻画

KKT条件推导#
在证明KKT条件之前我们有
- Lemma 1 :如果 xˉ 为原问题的局部最优解,且f,g,h可微,满足MFCQ条件,则有 D(xˉ,f)∩Fxˉ,g∩L(xˉ,h)=ϕ
- Fritz-John条件 :若f,g,h可微, xˉ 为局部最优解,则存在不全为0的数 λ0,λi,i∈A(xˉ) 以及 μj,j=1,2,...l 使得
λ0∇f(xˉ)−∑i=1mλi∇gi(xˉ)−∑j=1ℓμj∇hj(xˉ)=0,λi≥0
证明:

利用 λ0!=0 ,可以左右同时除以 λ0 ,同时加上lagrange函数定义以及约束条件 λi≥0,gi(xˉ)≥0(i∈A),hj(xˉ)=0 ,最后对于 i!∈A时,λi=0 ,有** 我们的KKT条件**
** KKT条件**:若 xˉ 为问题局部最优解,且 xˉ 处满足 LICQ 条件。此时,** 一阶必要条件**可表达为
(KKT)⎩⎨⎧稳定性条件原始可行性条件互补松驰条件对偶可行性条件∇xL(xˉ,λ,μ)=0gi(xˉ)≥0,i=1,⋯,m;hj(xˉ)=0,j=1,⋯,ℓ.λigi(xˉ)=0,i=1,⋯,mλi≥0,i=1,⋯,m
局部最优解判定条件#
模仿我们使用二阶导数判断** 函数的极值点**的方法,我们有
- 临界锥 :如果 (x∗,λ∗,μ∗) 为满足KKT条件的对子,有临界锥为 C(x∗,λ∗,μ∗)={d∈L(x∗,S)∣∇gi(x∗)Td=0,∀i∈A(x∗)且λi∗>0}
沿着临界锥进行优化,所有的等式约束和不等式约束会保持不变,而对此产生的可行方向d可以导出局部最优解判定条件
- 必要性 :若 x∗ 为一个局部最优解, (x∗,λ∗,μ∗) 满足KKT条件,则 dT∇xx2L(x∗,λ∗,μ∗)d≥0,∀d∈C(x∗,λ∗,μ∗).
- 充分性 :若 dT∇xx2L(x∗,λ∗,μ∗)d>0,∀d∈C(x∗,λ∗,μ∗). 严格成立,那么 x∗ 为严格的局部最优解
一个使用以上方法解题的例子

以上时线性规划问题求解局部最优解的案例,主要是通过研究可行方向性质并且于下降方向结合 ,最后得到KKT条件并使用Hessian矩阵求解的方法。