本文由手写笔记《优化问题数值方法》扫描件的 LaTeX 转录稿改写而来,公式以红色保留原稿的红笔重点标记。
定理与定义的编号沿用原稿编号,便于与 PDF 对照。
3.1 对偶理论
考虑约束优化问题
x∈Rnmins.t.f(x)hi(x)=0,i∈E,∣E∣=p,gj(x)⩽0,j∈I,∣I∣=m.
可行域
S={x∈Rn∣hi(x)=0, i∈E, gj(x)⩽0, j∈I}.
引入 Lagrange 函数
L(x,μ,λ)=f(x)+i∈E∑μihi(x)+j∈I∑λjgj(x).
其中
μ=(μ1,…,μp)T∈Rp,λ=(λ1,…,λm)T∈R+m,
为拉格朗日乘子。
对偶函数
d(μ,λ):=x∈RninfL(x,μ,λ)=x∈Rninff(x)+i∈E∑μihi(x)+j∈I∑λjgj(x).
定理 3.1(弱对偶原理)
设原始问题最优值为 f∗,则
∀μ∈Rp, λ∈R+m,d(μ,λ)⩽f∗.
对偶问题
μ,λmaxs.t.d(μ,λ)λ⩾0.
μ,λ 为对偶变量。若 λ⩾0,且
d(μ,λ)>−∞,则 (μ,λ) 为对偶可行解。
(μ∗,λ∗) 为对偶问题最优解(最优 Lagrange 乘子)。
对偶问题也为凸优化问题。对偶问题可能不可行(最优值 −∞),
也可能无上界(最优值 +∞)。
设对偶问题最优值为 d∗,则
d∗⩽f∗.
若
f∗−d∗=0,
则强对偶原理成立。
推论 3.1
若原始问题有可行解 xˉ,(μˉ,λˉ) 为对偶问题可行解,
且
f(xˉ)=d(μˉ,λˉ),
则 xˉ、(μˉ,λˉ) 分别为原始问题和对偶问题的最优解,
对偶间隙为 0。
推论 3.2
若原始问题无界,则对偶问题无可行解;若对偶问题无上界,则原始问题无可行解。
定义 3.1(Slater 约束资格)
设 A∈Rp×n,b∈Rp,考虑凸优化问题
x∈Rnmins.t.f(x)Ax=b,gj(x)⩽0.
若可行域内存在严格可行解,则称满足 Slater 条件。
不等式约束为仿射变换时,该约束可以放宽为可行解
定理 3.2
若凸优化问题满足 Slater 条件,则强对偶成立。
3.2 约束优化问题最优性条件
定义 3.2(切锥)
设可行域为 S,给定 xˉ∈S。若存在 tk>0,tk→0,以及
xk∈S,使得
k→∞limtkxk−xˉ=d,
则称 d 为 S 在 xˉ 处的一个切向量。S 在 xˉ 处所有切向量的集合
称为切锥,用 TS(xˉ) 表示。
切向量即从 xˉ 出发的可行方向对应的极限向量。
切锥为可行方向的集合。
定理 3.3(几何最优性条件)
若 xˉ 为约束优化问题的局部相对极小点,且 f 在 xˉ 处可微,则
(∇f(xˉ))Td⩾0,∀d∈TS(xˉ).
定义 3.3(线性化可行方向锥)
设可行点 xˉ∈S,hi、gj 在 xˉ 处可微。定义
A(xˉ):=E∪{j∣gj(xˉ)=0, j∈I},
称为 xˉ 处的活跃约束集合。xˉ 处的线性化可行方向锥为
FS(xˉ)={d dT∇hi(xˉ)=0,dT∇gj(xˉ)⩽0,∀i∈E,∀j∈A(xˉ)∩I}.
FS(xˉ)只受 S 的代数表达式影响,而 TS(xˉ)不受 S 的代数表达式影响。
定理 3.4
若 xˉ∈S,f 在 xˉ 处可微,且对所有 i∈E、j∈I,
hi、gj 在 xˉ 处可微,则有
TS(xˉ)⊆FS(xˉ).
称 TS(xˉ)=FS(xˉ) 为线性化约束资格(LCQ)。常见的约束资格条件有:
- 线性化约束资格(LCQ);
- 线性独立约束资格(LICQ):
{∇hi(xˉ)∣i∈E}∪{∇gj(xˉ)∣j∈A(xˉ)∩I}
线性无关;
3. Mangasarian–Fromovitz 约束资格(MFCQ):
{∇hi(xˉ)∣i∈E} 线性无关,且存在 d,使得
dT∇hi(xˉ)=0,i∈E,dT∇gj(xˉ)<0,j∈A(xˉ)∩I.
推论 3.3(约束最优性条件)
对 minf(x),若 xˉ 为局部极小点,且
TS(xˉ)=FS(xˉ),则有
FS(xˉ)∩{d∣dT∇f(xˉ)<0}=∅,
也即
⎩⎨⎧d dT∇f(xˉ)<0,dT∇hi(xˉ)=0,dT∇gj(xˉ)⩽0,i∈E,j∈A(xˉ)∩I⎭⎬⎫=∅.
引理 3.1(Farkas 引理)
设 q,p∈N+,c∈Rn,
ai,bj∈Rn。系统
dTc<0,dTai=0 (i=1,…,p),dTbj⩾0 (j=1,…,q)
中的 d 不存在,当且仅当存在 μi∈R、λj∈R+,使得
c=i=1∑pμiai+j=1∑qλjbj,(λj⩾0).
定理 3.5(KKT 条件)
若 x∗ 为约束优化问题的一个局部极小点,且有
TS(x∗)=FS(x∗),则存在 Lagrange 乘子
μ∗∈Rp、λ∗∈R+m,使得:
- 稳定性条件
∇xL(x∗,μ∗,λ∗)=∇f(x∗)+i∈E∑μi∗∇hi(x∗)+j∈I∑λj∗∇gj(x∗)=0;
- 原始可行性条件
hi(x∗)=0, ∀i∈E,gj(x∗)⩽0, ∀j∈I;
- 对偶可行性条件
λj∗⩾0, ∀j∈I;
- 互补松弛条件
λj∗gj(x∗)=0, ∀j∈I.
(x∗,μ∗,λ∗) 称为 KKT 点。
定理 3.6
对于满足 Slater 条件的凸优化问题,x∗ 为原问题最优解且
(μ∗,λ∗) 为对偶问题最优解,当且仅当
(x∗,μ∗,λ∗) 为 KKT 点。(⇒) 则不需要 Slater;
(⇐) 凸和 Slater 双向都要。
定义 3.4(临界锥)
(x∗,μ∗,λ∗) 为 KKT 点,临界锥为
C(x∗,μ∗,λ∗)={d∈FS(x∗) (∇gj(x∗))Td=0, λj∗>0,∀j∈A(x∗)∩I}.
定理 3.7(二阶必要条件)
若 x∗ 为局部极小点,TS(x∗)=FS(x∗),且
(x∗,μ∗,λ∗) 为 KKT 点,则有
dT∇xx2L(x∗,μ∗,λ∗)d⩾0,∀d∈C(x∗,μ∗,λ∗).
定理 3.8(二阶充分条件)
若 x∗ 可行,(x∗,μ∗,λ∗) 为 KKT 点,且
dT∇xx2L(x∗,μ∗,λ∗)d>0,∀d∈C(x∗,μ∗,λ∗), d=0,
则 x∗ 为严格局部极小点。
3.3 罚函数法
3.3.1 二次罚函数法
mins.t.f(x)hi(x)=0,i∈E.
取
P1(x):=i∈E∑hi2(x).
例如
Pϵ(x,δ)=f(x)+δP1(x)
称为罚函数无约束问题。δ→+∞ 时,
Pϵ(x,δ) 的最优值趋近于 f∗。
这种罚函数方法中,罚因子 δ 逐渐增大,罚函数的 Hessian 矩阵条件数变坏,
从而导致数值求解的不稳定性增加。
3.3.2 收敛性分析
引理 3.2(收敛的充分必要条件)
对于罚函数 PE(x,δ),若 δk+1⩾δk,则 ∀k⩾1,有
- PE(xk+1,δk+1)⩾PE(xk,δk);
- P1(xk)⩾P1(xk+1);
- f(xk)⩽f(xk+1)。
推论 3.4
若 x∗ 为原问题最优点,则 ∀k⩾1,有
f∗:=f(x∗)⩾PE(xk,δk)⩾f(xk).
定理 3.9(二次罚函数收敛性)
对于问题的 PE(x,δ) 罚函数,若 δk→+∞,且 {xk} 有聚点,则每个聚点都是约束优化问题的解。
定理 3.10(二次罚函数收敛性)
生成序列 {xk},满足
∇xPE(xk,δk)=0.
使 δk→+∞。若子列满足 xkj→xˉ,则任何满足约束条件的 xˉ 都是 KKT 点,且有
j→∞lim(2δkjhi(xkj))=μi∗,∀i∈E,
其中 μi∗ 为 hi(xˉ)=0 的 Lagrange 乘子。
对于一般的约束问题,有
P(x,δ):=f(x)+δi∈E∑hi2(x)+j∈I∑gj2(x),
gj(x):=max{gj(x),0}.
其中幂次可被改成 α,β(α⩾1, β⩾1)。
3.4 增广 Lagrange 乘子法
3.4.1 算法流程
对于等式约束,
Lδ(x,μ):=f(x)+i∈E∑μihi(x)+2δi∈E∑hi2(x).
以 xk 为初始点,求
xk+1:=argminxLδk(x,μk).
更新乘子
μk+1:=μk+δkh(xk+1),
更新罚因子
δk+1:=βδk,k←k+1(β>1).
引理 3.3
P∈Sn 且 Q∈S+n,若对所有满足 zTQz=0 的 z,有
zTPz⩾0,则存在 σ⩾0,使
zT(P+σQ)z⩾0,∀z.
定理 3.11
x∗,μ∗ 为等式约束问题的局部极小点和相应的最优 Lagrange 乘子,且 x∗ 满足 LICQ,二阶充分条件成立,则存在 δ0,使 ∀δ⩾δ0,x∗ 为 Lδ(x,μ∗) 的局部极小点。
反之,若 x∗ 为 Lδ(x,μ∗) 的局部极小点,且有 h(x∗)=0,则 x∗ 为约束优化问题的局部极小点。
3.4.2 收敛性分析
定理 3.12(增广 Lagrange 乘子法收敛性)
生成迭代序列 {xk,μk},其中迭代序列 {δk} 满足 δk→+∞。若 xk+1 为 Lδk(x,μk) 的极小点,且 {μk} 有界;若 {xk} 有子列 xkj→x∗,且在 x∗ 处满足 LICQ,则存在 μ∗,使 (x∗,μ∗) 为问题的 KKT 点,且
μ∗:=j→∞limμkj.
若保证子问题收敛,δk→+∞ 也成立。
一种可行的增广 Lagrange 函数为
Lδ(x,μ,λ):=f(x)+i∈E∑μihi(x)+2δi∈E∑hi2(x)+2δ1j∈I∑(max{λj+δgj(x),0}2−λj2).
λjk+1:=max{λjk+δkgj(xk+1),0}.
不需 δ→+∞,避免子问题求解数值困难。
罚函数的优点:构造无约束问题;缺点:需 δ→+∞,导致子问题数值困难。
增广函数解决以上问题,可避免无约束性。