第十二章: 约束优化的理论
文章目录
本书的第二部分是关于 约束优化问题的. 这类问题的一般形式为 min x ∈ R n f ( x ) , s u b j e c t   t o   { c i ( x ) = 0 , i ∈ E , c i ( x ) ≥ 0 , i ∈ I , \min_{x\in\mathbb{R}^n}f(x),\quad \mathrm{subject\,to\,}\left\{\begin{array}{ll}c_i(x)=0, & i\in\mathcal{E},\\c_i(x)\ge0, & i\in \mathcal{I},\end{array}\right. x∈Rnminf(x),subjectto{ci(x)=0,ci(x)≥0,i∈E,i∈I,其中 f , c i f,c_i f,ci均是 R n \mathbb{R}^n Rn(子集)上的 光滑、实值函数, I , E \mathcal{I},\mathcal{E} I,E为两个 有限的指标集. 与之前同, 我们称 f f f为 目标函数(objective function), c i , i ∈ E c_i,i\in\mathcal{E} ci,i∈E为 等式约束(equality constraint), c i , i ∈ I c_i,i\in\mathcal{I} ci,i∈I为 不等式约束(inequality constraint). 定义 可行集(feasible set) Ω \Omega Ω为满足这些约束条件的点全体, 即 Ω = { x ∣ c i ( x ) = 0 , i ∈ E ; c i ( x ) ≥ 0 , i ∈ I } , \Omega=\{x|c_i(x)=0,i\in\mathcal{E};c_i(x)\ge0,i\in\mathcal{I}\}, Ω={x∣ci(x)=0,i∈E;ci(x)≥0,i∈I},因此我们可以将问题简写为 min x ∈ Ω f ( x ) . \min_{x\in\Omega}f(x). x∈Ωminf(x).本章中我们将推导上述问题的 数学特征. 如无约束情形一样, 我们将讨论两种类型的 最优性条件(optimality conditions): 必要性条件为任意解(在一定假设条件下)必须满足的条件; 充分性条件是当某一特定点 x ∗ x^* x∗满足了, 就能保证 x ∗ x^* x∗是问题的解.
我们将第二章的无约束最优性条件陈列如下, 以便做对比:
- 必要性条件: 局部无约束极小点必有 ∇ f ( x ∗ ) = 0 , ∇ 2 f ( x ∗ ) \nabla f(x^*)=0,\nabla^2f(x^*) ∇f(x∗)=0,∇2f(x∗)半正定;
- 充分性条件: 任一满足 ∇ f ( x ∗ ) = 0 , ∇ 2 f ( x ∗ ) \nabla f(x^*)=0,\nabla^2f(x^*) ∇f(x∗)=0,∇2f(x∗)正定的 x ∗ x^* x∗为 f f f的严格局部极小点.
本章中我们将推出类似的适用于约束优化的条件. 为此, 我们先来作一些定义.
0. 定义
0.1 局部与全局解
我们知道在没有约束时, 我们很难找到优化问题的全局解. 不过当我们加上了约束, 这样的情况可能会有所好转. 这是因为:
- 可行集可能会排除许多局部极小点
- 在剩下的里面选出全局极小可能会相对简单.
然而, 约束的存在也可把事情弄得更复杂. 例如, 考虑问题:
min
(
x
2
+
100
)
2
+
0.01
x
1
2
,
s
u
b
j
e
c
t
 
t
o
 
x
2
−
cos
x
1
≥
0
,
\min (x_2+100)^2+0.01x_1^2,\quad\mathrm{subject\,to\,}x_2-\cos x_1\ge0,
min(x2+100)2+0.01x12,subjecttox2−cosx1≥0,图示如下.
如果此处没有约束, 则问题有唯一解 ( 0 , − 100 ) T (0,-100)^T (0,−100)T. 而加入了约束后, 在 x ( k ) = ( k π , − 1 ) T , k = ± 1 , ± 3 , ± 5 , … x^{(k)}=(k\pi,-1)^T,\quad k=\pm1,\pm3,\pm5,\ldots x(k)=(kπ,−1)T,k=±1,±3,±5,…附近都有局部解.
对于局部解的分类则是无约束情形的推广. 其中不同在于我们现在将考虑范围限制在 x ∗ x^* x∗邻域内的可行点上. 我们有以下定义:
- x ∗ x^* x∗为局部解, 若 x ∗ ∈ Ω x^*\in\Omega x∗∈Ω且存在 x ∗ x^* x∗的一个邻域 N \mathcal{N} N使得 f ( x ) ≥ f ( x ∗ ) , ∀ x ∈ N ∩ Ω f(x)\ge f(x^*),\forall x\in\mathcal{N}\cap\Omega f(x)≥f(x∗),∀x∈N∩Ω.
- x ∗ x^* x∗为严格局部解, 若 x ∗ ∈ Ω x^*\in\Omega x∗∈Ω且存在 x ∗ x^* x∗的一个邻域 N \mathcal{N} N使得 f ( x ) > f ( x ∗ ) , ∀ x ∈ N ∩ Ω ∖ { x ∗ } f(x)>f(x^*),\forall x\in\mathcal{N}\cap\Omega\setminus\{x^*\} f(x)>f(x∗),∀x∈N∩Ω∖{x∗}.
- x ∗ x^* x∗为孤立局部解, 若 x ∗ ∈ Ω x^*\in\Omega x∗∈Ω且存在 x ∗ x^* x∗的一个邻域使得 x ∗ x^* x∗为 N ∩ Ω \mathcal{N}\cap\Omega N∩Ω中的唯一局部解.
因此, 孤立局部解必定是严格局部解, 但反之不对.
0.2 光滑性
目标函数和约束的光滑性在描述解的过程中非常重要, 这与无约束情形相同. 这是因为它保证了目标函数和约束都以一种合理的可以预测的方式变化, 从而能使算法选出较好的搜索方向.
我们在第二章中看到, 非光滑的函数, 其图像可能包含扭结或者跳跃. 若我们画出约束优化问题的可行域, 则常常可以观察到许多扭结或尖锐的边缘. 但这是否就意味着描述这些可行域的约束函数是非光滑的呢? 这往往是不对的, 因为非光滑的边界往往是由一系列光滑约束函数得到的. 下图就表示
R
2
\mathbb{R}^2
R2中的一个菱形可行域.
它可以用单个非光滑的约束表示: ∥ x ∥ 1 = ∣ x 1 ∣ + ∣ x 2 ∣ ≤ 1 , \Vert x\Vert_1=|x_1|+|x_2|\le 1, ∥x∥1=∣x1∣+∣x2∣≤1,也可以用四个光滑的(线性)约束表示: x 1 + x 2 ≤ 1 , x 1 − x 2 ≤ 1 , − x 1 + x 2 ≤ 1 , − x 1 − x 2 ≤ 1. x_1+x_2\le1,\quad x_1-x_2\le1,\quad -x_1+x_2\le1,\quad -x_1-x_2\le1. x1+x2≤1,x1−x2≤1,−x1+x2≤1,−x1−x2≤1.这四个约束每个均表示可行域的一条边. 一般地, 我们也尽量选取约束函数使得每个都能表示 Ω \Omega Ω边界的光滑一段.
非光滑的、无约束优化问题有时可重构成光滑的约束问题. 一个例子就是函数 f ( x ) = max ( x 2 , x ) f(x)=\max(x^2,x) f(x)=max(x2,x)的无约束极小问题. f ( x ) f(x) f(x)在 x = 0 x=0 x=0和 x = 1 x=1 x=1都有扭结, 解为 x ∗ = 0 x^*=0 x∗=0. 我们可以通过加一人工变量 t t t得到此问题的一个光滑、有约束的表示: min t s . t .   t ≥ x , t ≥ x 2 . \min t\quad\mathrm{s.t.\,}t\ge x,t\ge x^2. mints.t.t≥x,t≥x2.这种重构的技巧通常用于 f f f是一些函数的最大或者 f f f是一向量行数的1范数或 ∞ \infty ∞范数的情形.
上面的例子中我们还用不同的方式表示了不等式约束(原形式为 c i ( x ) ≥ 0 c_i(x)\ge0 ci(x)≥0). 不过事实上, 带 ≥ \ge ≥或者是右端非零的 ≤ \le ≤均可以通过移项变成标准形式 c i ( x ) ≥ 0 c_i(x)\ge0 ci(x)≥0.
1. 约束优化问题示例
为描述约束优化问题的解, 我们先举三个简单的例子. 这一节的讨论不会很严谨, 不过在下一节我们会将其严格化.
我们先引入一个常用的术语.
定义1 任一可行点 x x x处的积极集(activate set) A ( x ) \mathcal{A}(x) A(x)由等式约束指标 E \mathcal{E} E和满足 c i ( x ) = 0 c_i(x)=0 ci(x)=0的不等式约束指标 i i i构成, 即 A ( x ) = ϵ ∪ { i ∈ I ∣ c i ( x ) = 0 } . \mathcal{A}(x)=\epsilon\cup\{i\in\mathcal{I}|c_i(x)=0\}. A(x)=ϵ∪{i∈I∣ci(x)=0}.在一可行点 x x x处, 不等式约束 i ∈ I i\in\mathcal{I} i∈I称作是积极的(activate), 若 c i ( x ) = 0 c_i(x)=0 ci(x)=0; 称作是不积极的, 若严格不等式 c i ( x ) > 0 c_i(x)>0 ci(x)>0成立.
1.1 单个等式约束
例1 我们的第一个例子是带有单个等式约束的双变量问题:
min
x
1
+
x
2
s
.
t
.
 
x
1
2
+
x
2
2
−
2
=
0
,
\min x_1+x_2\quad\mathrm{s.t.\,}x_1^2+x_2^2-2=0,
minx1+x2s.t.x12+x22−2=0,其图像见下.
此时, f ( x ) = x 1 + x 2 , I = ∅ , E = { 1 } , c 1 ( x ) = x 1 2 + x 2 2 − 2 f(x)=x_1+x_2,\mathcal{I}=\empty,\mathcal{E}=\{1\},c_1(x)=x_1^2+x_2^2-2 f(x)=x1+x2,I=∅,E={1},c1(x)=x12+x22−2.
易知此问题的可行集为以原点为中心
2
\sqrt{2}
2为半径的圆. 解由图示显然是
x
∗
=
(
−
1
,
−
1
)
T
x^*=(-1,-1)^T
x∗=(−1,−1)T. 进一步地, 从圆上任意其他一点出发, 均可找到既能减小
f
f
f又能保持可行性的方向. 例如, 从
x
=
(
2
,
0
)
T
x=(\sqrt{2},0)^T
x=(2,0)T走, 沿着任何顺时针方向都有这样的效果.
我们从图中还可发现, 在解
x
∗
x^*
x∗处, 约束的法向
∇
c
1
(
x
∗
)
\nabla c_1(x^*)
∇c1(x∗)与
∇
f
(
x
∗
)
\nabla f(x^*)
∇f(x∗)平行(我们甚至可以得出是反向的). 因此存在标量
λ
1
∗
\lambda_1^*
λ1∗(此时为
λ
1
∗
=
−
1
/
2
\lambda_1^*=-1/2
λ1∗=−1/2)使得
∇
f
(
x
∗
)
=
λ
1
∗
∇
c
1
(
x
∗
)
.
\nabla f(x^*)=\lambda_1^*\nabla c_1(x^*).
∇f(x∗)=λ1∗∇c1(x∗).事实上, 我们可以通过目标函数和约束函数的一阶Taylor展开得到上式. 为保证可行性, 我们需要任何较小的(但非零的)步长
s
s
s满足
c
1
(
x
+
s
)
=
0
c_1(x+s)=0
c1(x+s)=0, 即
0
=
c
1
(
x
+
s
)
≈
c
1
(
x
)
+
∇
c
1
(
x
)
T
s
=
∇
c
1
(
x
)
T
s
.
0=c_1(x+s)\approx c_1(x)+\nabla c_1(x)^Ts=\nabla c_1(x)^Ts.
0=c1(x+s)≈c1(x)+∇c1(x)Ts=∇c1(x)Ts.因此,
s
s
s在一阶上保持对
c
1
c_1
c1的可行性, 当它满足
∇
c
1
(
x
)
T
s
=
0.
\nabla c_1(x)^Ts=0.
∇c1(x)Ts=0.类似地, 若要求
s
s
s能产生
f
f
f的下降, 则需要
0
>
f
(
x
+
s
)
−
f
(
x
)
≈
∇
f
(
x
)
T
s
,
0>f(x+s)-f(x)\approx\nabla f(x)^Ts,
0>f(x+s)−f(x)≈∇f(x)Ts,或一阶上,
∇
f
(
x
)
T
s
<
0.
\nabla f(x)^Ts<0.
∇f(x)Ts<0.同时满足二者的
s
s
s若是存在的, 则一定就有方向
d
=
s
/
∥
s
∥
d=s/\Vert s\Vert
d=s/∥s∥具有相同的性质:
∇
c
1
(
x
)
T
d
=
0
,
∇
f
(
x
)
T
d
<
0.
\nabla c_1(x)^Td=0,\quad\nabla f(x)^Td<0.
∇c1(x)Td=0,∇f(x)Td<0.若这样的
d
d
d不存在, 也就相当于我们不能既要求可行性, 又要求目标函数值下降. 此时,
x
∗
x^*
x∗似乎就是个局部极小点了.
通过画图, 我们可知满足条件的 d d d不存在仅当 ∇ f ( x ) , ∇ c 1 ( x ) \nabla f(x),\nabla c_1(x) ∇f(x),∇c1(x)是平行的, 也就是 ∃ λ 1 \exists\lambda_1 ∃λ1, 使得 ∇ f ( x ) = λ 1 ∇ c 1 ( x ) \nabla f(x)=\lambda_1\nabla c_1(x) ∇f(x)=λ1∇c1(x)在 x x x处成立. 事实上若 ∇ f ( x ) , ∇ c 1 ( x ) \nabla f(x),\nabla c_1(x) ∇f(x),∇c1(x)不平行, 我们可设 d ˉ = − ( I − ∇ c 1 ( x ) ∇ c 1 ( x ) T ∥ ∇ c 1 ( x ) ∥ 2 ) ∇ f ( x ) , d = d ˉ ∥ d ˉ ∥ . \bar{d}=-\left(I-\frac{\nabla c_1(x)\nabla c_1(x)^T}{\Vert\nabla c_1(x)\Vert^2}\right)\nabla f(x),\quad d=\frac{\bar{d}}{\Vert\bar{d}\Vert}. dˉ=−(I−∥∇c1(x)∥2∇c1(x)∇c1(x)T)∇f(x),d=∥dˉ∥dˉ.可以验证这样的 d d d满足条件.
通过引入Lagrange函数 L ( x , λ 1 ) = f ( x ) − λ 1 c 1 ( x ) , \mathcal{L}(x,\lambda_1)=f(x)-\lambda_1c_1(x), L(x,λ1)=f(x)−λ1c1(x),且注意到 ∇ x L ( x , λ 1 ) = ∇ f ( x ) − λ 1 ∇ c 1 ( x ) \nabla_x\mathcal{L}(x,\lambda_1)=\nabla f(x)-\lambda_1\nabla c_1(x) ∇xL(x,λ1)=∇f(x)−λ1∇c1(x), 我们就知道之前的条件等价于在解 x ∗ x^* x∗, 存在标量 λ 1 ∗ \lambda_1^* λ1∗使得 ∇ x L ( x ∗ , λ 1 ∗ ) = 0. \nabla_x\mathcal{L}(x^*,\lambda_1^*)=0. ∇xL(x∗,λ1∗)=0.这就是说, 我们可以通过求Lagrange函数的稳定点以得到等式约束问题的备选解. Lagrange函数中的标量 λ 1 \lambda_1 λ1称作是对于约束 c 1 ( x ) = 0 c_1(x)=0 c1(x)=0的Lagrange乘子(multiplier).
上述条件显然是必要但不充分的. 例如, 在例1中, 上述条件在
x
=
(
1
,
1
)
T
x=(1,1)^T
x=(1,1)T处对
λ
1
=
1
2
\lambda_1=\frac{1}{2}
λ1=21也是成立的, 但这一点就显然不是问题的解——事实上, 它是函数
f
f
f在圆周上的极大点.
进一步地, 在等式约束问题中, 我们并不能仅通过在
λ
1
\lambda_1
λ1的符号上加些限制, 就将条件转成充分性条件. 对此, 考虑将约束
x
1
2
+
x
2
2
−
2
=
0
x_1^2+x_2^2-2=0
x12+x22−2=0替换成等价的
2
−
x
1
2
−
x
2
2
=
0
2-x_1^2-x_2^2=0
2−x12−x22=0. 问题的解并不受影响, 但在解处的
λ
1
∗
\lambda_1^*
λ1∗从
−
1
2
-\frac{1}{2}
−21变成了
1
2
\frac{1}{2}
21.
1.2 单个不等式约束
例2 以下是例1的一个简单变形, 其中等式约束变成了不等式约束. 考虑
min
x
1
+
x
2
s
.
t
.
 
2
−
x
1
2
−
x
2
2
≥
0
,
\min x_1+x_2\quad\mathrm{s.t.\,}2-x_1^2-x_2^2\ge0,
minx1+x2s.t.2−x12−x22≥0,此时可行域由圆周变成了圆盘. 见下图.
注意此时在圆周上 c 1 c_1 c1的法向是指向可行域内部的.
易知此时的解仍然是 ( − 1 , − 1 ) T (-1,-1)^T (−1,−1)T, 此前的必要性条件对 λ 1 ∗ = 1 2 \lambda_1^*=\frac{1}{2} λ1∗=21成立. 这与例1中的Lagrange乘子的作用有所不同. 实际上这里, Lagrange乘子的符号是起重要作用的.
与此前相同, 我们推测对于一个给定可行点 x x x, 若我们能找到 s s s同时保证一阶上的可行性和目标函数值下降, 则 x x x就不是最优的. 两问题的主要差别在于可行性条件的处理上. 相同的是, 若一阶上有 ∇ f ( x ) T s < 0 \nabla f(x)^Ts<0 ∇f(x)Ts<0, 则 s s s能改善目标函数值. 而对于可行性, 若 0 ≤ c 1 ( x + s ) ≈ c 1 ( x ) + ∇ c 1 ( x ) T s , 0\le c_1(x+s)\approx c_1(x)+\nabla c_1(x)^Ts, 0≤c1(x+s)≈c1(x)+∇c1(x)Ts,则 s s s保持了可行性. 因此一阶上, s s s保持可行性若 c 1 ( x ) + ∇ c 1 ( x ) T s ≥ 0. c_1(x)+\nabla c_1(x)^Ts\ge0. c1(x)+∇c1(x)Ts≥0.在决定是否存在 s s s同时满足二者时, 我们考虑以下两种情况. 这在上图中也有阐释.
-
情形一: x x x位于圆盘内部. 此时不等式 c 1 ( x ) ≥ 0 c_1(x)\ge0 c1(x)≥0严格成立. 任何充分小的 s s s均可满足一阶可行性条件. 而只要 ∇ f ( x ) ≠ 0 \nabla f(x)\ne0 ∇f(x)̸=0, 我们就可设置 s = − α ∇ f ( x ) , α > 0 充 分 小 s=-\alpha\nabla f(x),\quad\alpha>0充分小 s=−α∇f(x),α>0充分小同时满足二者. 不过当 ∇ f ( x ) = 0 \nabla f(x)=0 ∇f(x)=0时, 我们就只能诉求更高阶的负曲率方向.
-
情形二: x x x位于圆周上, 此时不等式 c 1 ( x ) ≥ 0 c_1(x)\ge0 c1(x)≥0成立等式. 此时两条件变为 ∇ f ( x ) T s < 0 , ∇ c 1 ( x ) T s ≥ 0. \nabla f(x)^Ts<0,\quad\nabla c_1(x)^Ts\ge0. ∇f(x)Ts<0,∇c1(x)Ts≥0.前者定义了一个开半空间, 后者描述了一个闭半空间. 见下图.
显然这两个半空间的交为空仅当 ∇ f ( x ) , ∇ c 1 ( x ) \nabla f(x),\nabla c_1(x) ∇f(x),∇c1(x)指向同一个方向, 也即 ∇ f ( x ) = λ 1 ∇ c 1 ( x ) , ∃ λ 1 ≥ 0. \nabla f(x)=\lambda_1\nabla c_1(x),\quad \exists\lambda_1\ge0. ∇f(x)=λ1∇c1(x),∃λ1≥0.注意这里的符号是很重要的. 若 λ 1 \lambda_1 λ1符号为负, 则 d d d的选取范围构成了整个开半空间.
两种情形的最优性条件可利用Lagrange函数 L \mathcal{L} L简洁地表述: 当在某点 x ∗ x^* x∗不存在一阶可行下降方向时, 我们有 ∇ x L ( x ∗ , λ 1 ∗ ) = 0 , ∃ λ 1 ∗ ≥ 0 , \nabla_x\mathcal{L}(x^*,\lambda_1^*)=0,\quad \exists\lambda_1^*\ge0, ∇xL(x∗,λ1∗)=0,∃λ1∗≥0,其中要求 λ 1 ∗ c 1 ( x ∗ ) = 0. \lambda_1^*c_1(x^*)=0. λ1∗c1(x∗)=0.上式称为是互补(complementary)松弛条件. 它表明Lagrange乘子 λ 1 \lambda_1 λ1严格正仅当对应的约束 c 1 c_1 c1起作用. 此类条件在约束优化中扮演了中心角色, 下一节我们将全力阐述. 本例中,
- 情形一下, 我们有 c 1 ( x ∗ ) > 0 c_1(x^*)>0 c1(x∗)>0, 从而需 λ 1 ∗ = 0 \lambda_1^*=0 λ1∗=0. 因此就有 ∇ f ( x ∗ ) = 0 \nabla f(x^*)=0 ∇f(x∗)=0.
- 情形二下, 我们允许 λ 1 ∗ \lambda_1^* λ1∗取非负值.
1.3 两个不等式约束
例3 假设我们再给例2添加额外的约束:
min
x
1
+
x
2
s
.
t
.
 
2
−
x
1
2
−
x
2
2
≥
0
,
x
2
≥
0
,
\min x_1+x_2\quad\mathrm{s.t.\,}2-x_1^2-x_2^2\ge0,x_2\ge0,
minx1+x2s.t.2−x12−x22≥0,x2≥0,此时可行域为下图所示的半圆盘.
从图中易知解为 ( − 2 , 0 ) T (-\sqrt{2},0)^T (−2,0)T, 该解处两个约束都起作用. 重复之前的讨论可知, 对于一个一阶可行下降方向 d d d, 我们要求它满足 ∇ c i ( x ) T d ≥ 0 , i ∈ I = { 1 , 2 } , ∇ f ( x ) T d < 0. \nabla c_i(x)^Td\ge0,\quad i\in\mathcal{I}=\{1,2\},\quad\nabla f(x)^Td<0. ∇ci(x)Td≥0,i∈I={1,2},∇f(x)Td<0.显然这样的方向在 x = ( − 2 , 0 ) T x=(-\sqrt{2},0)^T x=(−2,0)T处是不存在的. 条件 ∇ c i ( x ) T d ≥ 0 , i = 1 , 2 \nabla c_i(x)^Td\ge0,i=1,2 ∇ci(x)Td≥0,i=1,2要求 d d d位于由 ∇ c 1 ( x ) , ∇ c 2 ( x ) \nabla c_1(x),\nabla c_2(x) ∇c1(x),∇c2(x)张成平面的第一象限, 但显然对于所有这里的 d d d都有 ∇ f ( x ) T d ≥ 0 \nabla f(x)^Td\ge0 ∇f(x)Td≥0.
现在我们讨论其Lagrange函数和导数. 对每一个约束我们都在Lagrange函数上加上一个 λ i c i ( x ) \lambda_ic_i(x) λici(x), 从而 L ( x , λ ) = f ( x ) − λ 1 c 1 ( x ) − λ 2 c 2 ( x ) , \mathcal{L}(x,\lambda)=f(x)-\lambda_1c_1(x)-\lambda_2c_2(x), L(x,λ)=f(x)−λ1c1(x)−λ2c2(x),其中 λ = ( λ 1 , λ 2 ) T \lambda=(\lambda_1,\lambda_2)^T λ=(λ1,λ2)T为Lagrange乘子向量. 与之前相似, 我们有 ∇ x L ( x ∗ , λ ∗ ) = 0 , ∃ λ ∗ ≥ 0 , \nabla_x\mathcal{L}(x^*,\lambda^*)=0,\quad\exists\lambda^*\ge0, ∇xL(x∗,λ∗)=0,∃λ∗≥0,以及互补条件 λ 1 ∗ c i ( x ∗ ) = 0 , λ 2 ∗ c 2 ( x ∗ ) = 0. \lambda_1^*c_i(x^*)=0,\quad\lambda_2^*c_2(x^*)=0. λ1∗ci(x∗)=0,λ2∗c2(x∗)=0.当 x ∗ = ( − 2 , 0 ) T x^*=(-\sqrt{2},0)^T x∗=(−2,0)T, 我们有 ∇ f ( x ∗ ) = [ 1 1 ] , ∇ c 1 ( x ∗ ) = [ 2 2 0 ] , ∇ c 2 ( x ∗ ) = [ 0 1 ] , \nabla f(x^*)=\begin{bmatrix}1\\1\end{bmatrix},\quad\nabla c_1(x^*)=\begin{bmatrix}2\sqrt{2}\\0\end{bmatrix},\quad\nabla c_2(x^*)=\begin{bmatrix}0\\1\end{bmatrix}, ∇f(x∗)=[11],∇c1(x∗)=[220],∇c2(x∗)=[01],从而当选取 λ ∗ = [ 1 / ( 2 2 ) 1 ] \lambda^*=\begin{bmatrix}1/(2\sqrt{2})\\1\end{bmatrix} λ∗=[1/(22)1]时, 有 ∇ x L ( x ∗ , λ ∗ ) = 0 \nabla_x\mathcal{L}(x^*,\lambda^*)=0 ∇xL(x∗,λ∗)=0. 这里 λ ∗ \lambda^* λ∗两个分量皆满足非负性.
我们再来看看其他不是解的可行点.
-
对于 x = ( 2 , 0 ) T x=(\sqrt{2},0)^T x=(2,0)T, 可知两个约束仍然都起作用. 然而可以证明有无穷多个一阶可行下降方向 d d d, 例如 d = ( − 1 , 0 ) T d=(-1,0)^T d=(−1,0)T. 同时, 可以验证 ∇ x L ( x , λ ) = 0 \nabla_x\mathcal{L}(x,\lambda)=0 ∇xL(x,λ)=0仅当 λ = ( − 1 / ( 2 2 ) , 1 ) T \lambda=(-1/(2\sqrt{2}),1)^T λ=(−1/(22),1)T. 注意第一个分量 λ 1 \lambda_1 λ1为负, 从而必要性条件在这点不满足.
-
再考虑 x = ( 1 , 0 ) T x=(1,0)^T x=(1,0)T. 此时仅有 c 2 c_2 c2起作用. 由于从此点出发走任意小的步长均有 c 1 ( x + s ) > 0 c_1(x+s)>0 c1(x+s)>0, 所以我们仅需要考虑 c 2 , f c_2,f c2,f以决定 s s s是否是一阶可行下降步. 注意 ∇ f ( x ) = [ 1 1 ] , ∇ c 2 ( x ) = [ 0 1 ] , \nabla f(x)=\begin{bmatrix}1\\1\end{bmatrix},\quad\nabla c_2(x)=\begin{bmatrix}0\\1\end{bmatrix}, ∇f(x)=[11],∇c2(x)=[01],易知 d = ( − 1 2 , 1 4 ) T d=(-\frac{1}{2},\frac{1}{4})^T d=(−21,41)T是满足要求的一阶可行下降方向.
我们也可以从最优性条件入手. 此例中对 x = ( 1 , 0 ) T x=(1,0)^T x=(1,0)T, 由于 c 1 ( x ) > 0 c_1(x)>0 c1(x)>0, 结合互补条件, 必有 λ 1 = 0 \lambda_1=0 λ1=0. 因此, 为了使得 ∇ x L ( x , λ ) = 0 \nabla_x\mathcal{L}(x,\lambda)=0 ∇xL(x,λ)=0, 我们仅需寻找 λ 2 \lambda_2 λ2使得 ∇ f ( x ) − λ 2 c 2 ( x ) = 0 \nabla f(x)-\lambda_2c_2(x)=0 ∇f(x)−λ2c2(x)=0. 然而并没有这样的 λ 2 \lambda_2 λ2存在, 从而不满足最优性条件.
2. 切锥与约束规范
本节中, 我们定义闭凸集 Ω \Omega Ω在一点 x ∗ ∈ Ω x^*\in\Omega x∗∈Ω处的切锥(tangent cone) T Ω ( x ∗ ) T_{\Omega}(x^*) TΩ(x∗)以及在 x ∗ x^* x∗处的一阶可行方向集(first-order feasible direction set) F ( x ∗ ) \mathcal{F}(x^*) F(x∗). 我们还会讨论约束规范constraint qualification的问题.
什么是约束规范呢? 在前一节中, 我们通过检验 f f f和 c i c_i ci的一阶导数来决定从给定可行点 x x x出发是否存在可行的下降步. 实质上, 我们使用这些函数在 x x x处的一阶Taylor展开, 构造目标和约束的线性近似问题. 老实说, 这样的方法仅在线性近似能够很好的捕捉到可行集在 x x x附近的本质几何特征时, 才会有良好的效果. 若不然(比如可行集仅仅是单点, 而线性近似却构造了一整个平面), 我们就不能再期望线性近似能为我们带来关于原问题的什么有用信息. 因此我们需要对在 x x x处起作用的约束 c i c_i ci的本质特征做一些假设, 以保证线性近似是良好的. 约束规范就是起这样的作用.
给定一可行点 x x x, 我们称 { z k } \{z_k\} {zk}为趋近 x x x的可行序列(feasible sequence), 若 z k ∈ Ω , ∀ k 充 分 大 , z k → x z_k\in\Omega,\forall k充分大,z_k\to x zk∈Ω,∀k充分大,zk→x.
之后, 我们将描述局部解 x x x为: 所有趋近于局部解 x x x的可行序列, 均有 f ( z k ) ≥ f ( x ) , k 充 分 大 . f(z_k)\ge f(x),k充分大. f(zk)≥f(x),k充分大. 并且我们将进一步推导使以上性质成立的实用的、易于验证的条件. 本节中我们将定义不同的方向, 使得 x x x沿其可保持可行性.
切向(tangent)为可行序列的极限方向(limiting direction).
定义2 d d d称作是在点 x x x处对于 Ω \Omega Ω的切向, 若有趋近 x x x的可行序列 { z k } \{z_k\} {zk}以及一列 { t k } : t k → 0 \{t_k\}:t_k\to0 {tk}:tk→0, 使得 lim k → ∞ z k − x t k = d . \lim_{k\to\infty}\frac{z_k-x}{t_k}=d. k→∞limtkzk−x=d.在 x ∗ x^* x∗处对于 Ω \Omega Ω所有的切向构成的集合称为切锥, 记为 T Ω ( x ∗ ) T_{\Omega}(x^*) TΩ(x∗).
根据定义, 切锥就是锥: 若 d d d为对应于序列 { z k } , { t k } \{z_k\},\{t_k\} {zk},{tk}的切向, 则以 α − 1 t k \alpha^{-1}t_k α−1tk替换 t k , ∀ α > 0 t_k,\forall \alpha>0 tk,∀α>0, 我们就有 α d ∈ T Ω ( x ∗ ) \alpha d\in T_{\Omega}(x^*) αd∈TΩ(x∗). 令 z k ≡ x z_k\equiv x zk≡x就有 0 ∈ T Ω ( x ) 0\in T_{\Omega}(x) 0∈TΩ(x).
下面定义线性可行方向集.
定义3 给定可行点 x x x和积极集 A ( x ) \mathcal{A}(x) A(x), 线性可行方向集 F ( x ) \mathcal{F}(x) F(x)为 F ( x ) = { d ∣ d T ∇ c i ( x ) = 0 , ∀ i ∈ E , d T ∇ c i ( x ) ≥ 0 , ∀ i ∈ A ( x ) ∩ I } . \mathcal{F}(x)=\left\{d\mid\begin{array}{ll}d^T\nabla c_i(x)=0, & \forall i\in\mathcal{E},\\d^T\nabla c_i(x)\ge0, & \forall i\in\mathcal{A}(x)\cap\mathcal{I}\end{array}\right\}. F(x)={d∣dT∇ci(x)=0,dT∇ci(x)≥0,∀i∈E,∀i∈A(x)∩I}.
如切锥, 易验证 F ( x ) \mathcal{F}(x) F(x)也是个锥.
注意: 切锥的定义不依赖于 Ω \Omega Ω的代数指定(algebraic specification)(即对 c i c_i ci的等价形式都是相同的); 而线性可行方向集则依赖于 c i , i ∈ E ∪ I c_i,i\in\mathcal{E}\cup\mathcal{I} ci,i∈E∪I的定义(因为定义要用梯度).
我们再以例1和例2, 观察切锥与线性可行方向集.
例4 (例1, revisited) 下图表示在非最优点
x
=
(
−
2
,
0
)
T
x=(-\sqrt{2},0)^T
x=(−2,0)T附近问题的模样.
- 切锥.
图中显示了一个趋近 x x x的可行列, 它可以解析地写成 z k = [ − 2 − 1 / k 2 − 1 / k ] . z_k=\begin{bmatrix}-\sqrt{2-1/k^2}\\-1/k\end{bmatrix}. zk=[−2−1/k2−1/k].选取 t k = ∥ z k − x ∥ t_k=\Vert z_k-x\Vert tk=∥zk−x∥, 我们有 d = ( 0 , − 1 ) T d=(0,-1)^T d=(0,−1)T为切向. 注意到 f ( x ) = x 1 + x 2 f(x)=x_1+x_2 f(x)=x1+x2沿着 { z k } \{z_k\} {zk}是递增的: f ( z k + 1 ) > f ( z k ) , k = 2 , 3 , … f(z_{k+1})>f(z_k),k=2,3,\ldots f(zk+1)>f(zk),k=2,3,…. 因此由 f f f的连续性, 得 f ( z k ) < f ( x ) , k = 2 , 3 , … f(z_k)<f(x),k=2,3,\ldots f(zk)<f(x),k=2,3,…, 所以 x x x不可能是解.
趋近 x x x的另一序列恰从反方向: z k = [ − 2 − 1 / k 2 1 / k ] . z_k=\begin{bmatrix}-\sqrt{2-1/k^2}\\1/k\end{bmatrix}. zk=[−2−1/k21/k].易知 f f f沿此递减, 且对应于此序列的切向为 d = ( 0 , α ) T d=(0,\alpha)^T d=(0,α)T. 总之, 在 x x x处的切锥为 { ( 0 , d 2 ) T ∣ d 2 ∈ R } \{(0,d_2)^T\mid d_2\in\mathbb{R}\} {(0,d2)T∣d2∈R}.
- 线性可行方向集.
再来看线性可行方向集. d = ( d 1 , d 2 ) T ∈ F ( x ) d=(d_1,d_2)^T\in\mathcal{F}(x) d=(d1,d2)T∈F(x), 若 0 = ∇ c 1 ( x ) T d = [ 2 x 1 2 x 2 ] T [ d 1 d 2 ] = − 2 2 d 1 . 0=\nabla c_1(x)^Td=\begin{bmatrix}2x_1\\2x_2\end{bmatrix}^T\begin{bmatrix}d_1\\d_2\end{bmatrix}=-2\sqrt{2}d_1. 0=∇c1(x)Td=[2x12x2]T[d1d2]=−22d1.因此 F ( x ) = { 0 , d 2 ) T ∣ d 2 ∈ R } \mathcal{F}(x)=\{0,d_2)^T\mid d_2\in\mathbb{R}\} F(x)={0,d2)T∣d2∈R}. 此时有 T Ω ( x ) = F ( x ) T_{\Omega}(x)=\mathcal{F}(x) TΩ(x)=F(x).
改变约束的代数定义. 假设可行集定义为 Ω = { x ∣ c 1 ( x ) = 0 } , c i ( x ) = ( x 1 2 + x 2 2 − 2 ) 2 = 0. \Omega=\{x\mid c_1(x)=0\},\quad c_i(x)=(x_1^2+x_2^2-2)^2=0. Ω={x∣c1(x)=0},ci(x)=(x12+x22−2)2=0.则 d ∈ F ( x ) d\in\mathcal{F}(x) d∈F(x)若 0 = ∇ c 1 ( x ) T d = [ 4 ( x 1 2 + x 2 2 − 2 ) x 1 4 ( x 1 2 + x 2 2 − 2 ) x 2 ] T [ d 1 d 2 ] = [ 0 0 ] T [ d 1 d 2 ] , 0=\nabla c_1(x)^Td=\begin{bmatrix}4(x_1^2+x_2^2-2)x_1\\4(x_1^2+x_2^2-2)x_2\end{bmatrix}^T\begin{bmatrix}d_1\\d_2\end{bmatrix}=\begin{bmatrix}0\\0\end{bmatrix}^T\begin{bmatrix}d_1\\d_2\end{bmatrix}, 0=∇c1(x)Td=[4(x12+x22−2)x14(x12+x22−2)x2]T[d1d2]=[00]T[d1d2],即对所有 ( d 1 , d 2 ) T (d_1,d_2)^T (d1,d2)T均成立. 这就是说, F ( x ) = R 2 \mathcal{F}(x)=\mathbb{R}^2 F(x)=R2. 这样切锥和线性可行方向集就不同了, 准确说是有 T Ω ( x ) ⊊ F ( x ) T_{\Omega}(x)\subsetneq \mathcal{F}(x) TΩ(x)⊊F(x). 事实上, 从定义可知 T Ω ( x ) ⊆ F ( x ) T_{\Omega}(x)\subseteq \mathcal{F}(x) TΩ(x)⊆F(x).
例5 (例2, revisited) 考虑例2中的问题.
x
=
(
−
1
,
−
1
)
T
x=(-1,-1)^T
x=(−1,−1)T仍然是解, 但此时对于任意给定的可行点有更多的收敛可行序列可供选择. 可见下图.
对于点 x = ( − 2 , 0 ) T x=(-\sqrt{2},0)^T x=(−2,0)T, 等式约束下的可行序列仍然可用. 不过, 这时从圆盘内部趋近于 x x x却有无穷多个可行序列. 这些序列均有形式 z k = ( − 2 , 0 ) T + ( 1 / k ) w , z_k=(-\sqrt{2},0)^T+(1/k)w, zk=(−2,0)T+(1/k)w,其中 w w w为第一分量为正的向量. z k z_k zk可行说明 ∥ z k ∥ ≤ 2 \Vert z_k\Vert\le\sqrt{2} ∥zk∥≤2, 即 ( − 2 + w 1 / k ) 2 + ( w 2 / k ) 2 ≤ 2 ⇒ k ≥ ( w 1 2 + w 2 2 ) / ( 2 2 w 1 ) . (-\sqrt{2}+w_1/k)^2+(w_2/k)^2\le2\Rightarrow k\ge (w_1^2+w_2^2)/(2\sqrt{2}w_1). (−2+w1/k)2+(w2/k)2≤2⇒k≥(w12+w22)/(22w1).事实上除了这些以直线形式趋近的可行序列, 我们还可以定义更多的非线性序列. 总的来说, ( − 2 , 0 ) T (-\sqrt{2},0)^T (−2,0)T处的切锥为 { ( w 1 , w 2 ) T ∣ w 1 ≥ 0 } \{(w_1,w_2)^T|w_1\ge0\} {(w1,w2)T∣w1≥0}.
对例2中可行集的表示, 我们由定义可知 d ∈ F ( x ) d\in\mathcal{F}(x) d∈F(x)若 0 ≤ ∇ c 1 ( x ) T d = [ − 2 x 1 − 2 x 2 ] T [ d 1 d 2 ] = 2 2 d 1 . 0\le\nabla c_1(x)^Td=\begin{bmatrix}-2x_1\\-2x_2\end{bmatrix}^T\begin{bmatrix}d_1\\d_2\end{bmatrix}=2\sqrt{2}d_1. 0≤∇c1(x)Td=[−2x1−2x2]T[d1d2]=22d1.因此对于可行集的这一特殊代数表示, 我们有 F ( x ) = T Ω ( x ) \mathcal{F}(x)=T_{\Omega}(x) F(x)=TΩ(x).
约束规范是使得线性可行集 F ( x ) \mathcal{F}(x) F(x)相似于切锥 T Ω ( x ) T_{\Omega}(x) TΩ(x)的条件. 事实上, 大多数约束规范能保证这二者相等. 如前所述, 这些条件保证了以线性化代数表示集合 Ω \Omega Ω而构造的 F ( x ) \mathcal{F}(x) F(x), 能够抓住集合 Ω \Omega Ω在 x x x附近的本质几何特征, 记为 T Ω ( x ) T_{\Omega}(x) TΩ(x).
例4就是个正面的例子. 我们看到 T Ω ( x ) , F ( x ) T_{\Omega}(x),\mathcal{F}(x) TΩ(x),F(x)都包含了纵轴, 这与 x x x邻域内的集合 Ω − { x } \Omega-\{x\} Ω−{x}就很相似. 这说明切锥很好地把握了 x x x附近邻域的几何特征.
反面例子可考虑约束
c
1
(
x
)
=
1
−
x
1
2
−
(
x
2
−
1
)
2
≥
0
,
c
2
(
x
)
=
−
x
2
≥
0
,
c_1(x)=1-x_1^2-(x_2-1)^2\ge0,\quad c_2(x)=-x_2\ge0,
c1(x)=1−x12−(x2−1)2≥0,c2(x)=−x2≥0,此时可行点为单点集
Ω
=
{
(
0
,
0
)
T
}
\Omega=\{(0,0)^T\}
Ω={(0,0)T}. 可见下图.
对此点 x = ( 0 , 0 ) T x=(0,0)^T x=(0,0)T, 显然有 T Ω ( x ) = { ( 0 , 0 ) T } T_{\Omega}(x)=\{(0,0)^T\} TΩ(x)={(0,0)T}, 这是因为趋近于 x x x的可行序列 z k ≡ x z_k\equiv x zk≡x. 进一步, 我们可以验证线性可行方向集 F ( x ) \mathcal{F}(x) F(x)为 F ( x ) = { ( d 1 , 0 ) T ∣ d 1 ∈ R } , \mathcal{F}(x)=\{(d_1,0)^T\mid d_1\in\mathbb{R}\}, F(x)={(d1,0)T∣d1∈R},即整个横轴. 这里, 线性可行方向集就没有很好地捕捉到可行集在 x x x附近的几何特征, 从而约束规范不成立.
设计算法时常用的约束规范如下.
定义4 (LICQ) 给定 x x x与积极集 A ( x ) \mathcal{A}(x) A(x), 我们称在这点线性无关约束规范(Linear independence constraint qualification, LICQ成立, 若起作用约束的梯度集 { ∇ c i ( x ) , i ∈ A ( x ) } \{\nabla c_i(x),i\in\mathcal{A}(x)\} {∇ci(x),i∈A(x)}线性无关.
对于上面这个例子而言, LICQ就是不成立的. 另外, 一般地, 若LICQ成立, 是不可能有起作用约束的梯度为0的. 我们会在第6节介绍其他的约束规范.
3. 一阶最优性条件
本节中, 我们将陈述 x ∗ x^* x∗为局部极小点的一阶必要性条件, 并用一个例子说明这些条件的作用. 证明则留给后面的章节.
为陈述必要性条件, 我们首先定义一般问题的Lagrange函数 L ( x , λ ) = f ( x ) − ∑ i ∈ E ∪ I λ i c i ( x ) . \mathcal{L}(x,\lambda)=f(x)-\sum_{i\in\mathcal{E}\cup\mathcal{I}}\lambda_ic_i(x). L(x,λ)=f(x)−i∈E∪I∑λici(x).下面定理中要给出的必要性条件属于一阶条件. 这是因为它们仅与目标函数和约束函数的梯度(也就是一阶导数向量)有关. 这些条件是本书剩下章节中许多算法的基础.
定理1 (一阶必要性条件) 设 x ∗ x^* x∗为约束问题的一个局部解, 且 f , c i f,c_i f,ci均是连续可微的, LICQ在 x ∗ x^* x∗处成立. 于是存在Lagrange乘子 λ ∗ \lambda^* λ∗使得以下条件对于 ( x ∗ , λ ∗ ) (x^*,\lambda^*) (x∗,λ∗)是成立的: ∇ x L ( x ∗ , λ ∗ ) = 0 , c i ( x ∗ ) = 0 , ∀ i ∈ E , c i ( x ∗ ) ≥ 0 , ∀ i ∈ I , λ i ∗ ≥ 0 , ∀ i ∈ I , λ i ∗ c i ( x ∗ ) = 0 , ∀ i ∈ E ∪ I . \begin{aligned}\nabla_x\mathcal{L}(x^*,\lambda^*)&=0,\\c_i(x^*)&=0,\quad \forall i\in\mathcal{E},\\c_i(x^*)&\ge0,\quad\forall i\in\mathcal{I},\\\lambda_i^*&\ge0,\quad\forall i\in\mathcal{I},\\\lambda_i^*c_i(x^*)&=0,\quad\forall i\in\mathcal{E}\cup\mathcal{I}.\end{aligned} ∇xL(x∗,λ∗)ci(x∗)ci(x∗)λi∗λi∗ci(x∗)=0,=0,∀i∈E,≥0,∀i∈I,≥0,∀i∈I,=0,∀i∈E∪I.
这些条件通常称为Karush-Kuhn-Tucker条件, 简称KKT条件. 其中第一个称为稳定性(stationarity)条件; 第二、三个为可行性(feasibility)条件; 第四个为不等式乘子的非负性(nonnegativity)条件; 最后一个为互补(complementary)松弛条件, 说明第 i i i个约束
- 要么起作用,
- 要么 λ i ∗ = 0 \lambda_i^*=0 λi∗=0,
- 要么两种情况均发生.
特别地, 由于不起作用的不等式约束对应的Lagrange乘子为0, 因此可以省去 i ̸ ∈ A ( x ∗ ) i\not\in\mathcal{A}(x^*) i̸∈A(x∗)的指标, 重新将第一个等式写作 0 = ∇ x L ( x ∗ , λ ∗ ) = ∇ f ( x ∗ ) − ∑ i ∈ A ( x ∗ ) λ i ∗ ∇ c i ( x ∗ ) . 0=\nabla_x\mathcal{L}(x^*,\lambda^*)=\nabla f(x^*)-\sum_{i\in\mathcal{A}(x^*)}\lambda_i^*\nabla c_i(x^*). 0=∇xL(x∗,λ∗)=∇f(x∗)−i∈A(x∗)∑λi∗∇ci(x∗).从 λ ∗ \lambda^* λ∗的符号可知, Lagrange函数实际上是提供了目标函数 f f f的一个下界. 而加上互补松弛条件后, 这个下界就正好与 f f f的值相等. 这为我们记忆Lagrange函数的形式提供了方便(尤其是约束前面的符号是正是负).
互补松弛条件的一个特殊情形如下.
定义5 (严格互补(strict complementary)) 给定局部解 x ∗ x^* x∗和乘子向量 λ ∗ \lambda^* λ∗满足一阶必要性条件, 我们称有严格互补松弛条件成立, 若 λ i ∗ , c i ( x ∗ ) \lambda_i^*,c_i(x^*) λi∗,ci(x∗)中有且仅有一个为0. 换句话说我们有 λ i ∗ > 0 , ∀ i ∈ I ∩ A ( x ∗ ) \lambda_i*>0,\forall i\in\mathcal{I}\cap\mathcal{A}(x^*) λi∗>0,∀i∈I∩A(x∗).
严格互补松弛条件的成立往往能为算法决定积极集 A ( x ∗ ) \mathcal{A}(x^*) A(x∗)带来便利, 从而能更快地收敛到 x ∗ x^* x∗.
对给定的约束问题和解 x ∗ x^* x∗, 可能有许多的乘子 λ ∗ \lambda^* λ∗满足一阶必要性条件. 但若LICQ成立, 可以证明 λ ∗ \lambda^* λ∗是唯一的.
定理1的证明相当麻烦, 但它对于我们理解约束优化是至关重要的, 所以我们仍然要证明(放在下一节). 下面我们用一个例子阐释KKT条件.
例6 考虑如下图所示的可行域.
其边界可用四个约束描述. 我们将问题解析地写作标准形式: min x ( x 1 − 3 2 ) 2 + ( x 2 − 1 2 ) 4 , s . t .   [ 1 − x 1 − x 2 1 − x 1 + x 2 1 + x 1 − x 2 1 + x 1 + x 2 ] ≥ 0. \min_x\left(x_1-\frac{3}{2}\right)^2+\left(x_2-\frac{1}{2}\right)^4,\quad\mathrm{s.t.\,}\begin{bmatrix}1-x_1-x_2\\1-x_1+x_2\\1+x_1-x_2\\1+x_1+x_2\end{bmatrix}\ge0. xmin(x1−23)2+(x2−21)4,s.t.⎣⎢⎢⎡1−x1−x21−x1+x21+x1−x21+x1+x2⎦⎥⎥⎤≥0.显然从上图来看此问题的解是 x ∗ = ( 1 , 0 ) T x^*=(1,0)^T x∗=(1,0)T. 在此点处第一和第二个约束起作用. 记之为 c 1 , c 2 c_1,c_2 c1,c2, 我们有 ∇ f ( x ∗ ) = [ − 1 − 1 2 ] , ∇ c 1 ( x ∗ ) = [ − 1 − 1 ] , ∇ c 2 ( x ∗ ) = [ − 1 1 ] . \nabla f(x^*)=\begin{bmatrix}-1\\-\frac{1}{2}\end{bmatrix},\quad\nabla c_1(x^*)=\begin{bmatrix}-1\\-1\end{bmatrix},\quad\nabla c_2(x^*)=\begin{bmatrix}-1\\1\end{bmatrix}. ∇f(x∗)=[−1−21],∇c1(x∗)=[−1−1],∇c2(x∗)=[−11].此时满足LICQ. 置 λ ∗ = ( 3 4 , 1 4 , 0 , 0 ) T \lambda^*=(\frac{3}{4},\frac{1}{4},0,0)^T λ∗=(43,41,0,0)T, 我们就有KKT条件.
4. 一阶最优性条件的证明
下面我们展开对定理1的证明. 这之前需要许多辅助性的引理, 因此推导过程非常漫长. 不过正是因为这一结论对于优化相当基础, 因此这一切都是值得的.
4.1 切锥和一阶(线性)可行方向集的联系
下面的结论使用约束规范(LICQ)关联切锥和一阶线性可行方向集. 在之后的证明中, 我们使用 A ( x ∗ ) A(x^*) A(x∗)来表示行为在最优点起作用约束的梯度(转置)的矩阵, 即 A ( x ∗ ) T = [ ∇ c i ( x ∗ ) ] i ∈ A ( x ∗ ) . A(x^*)^T=[\nabla c_i(x^*)]_{i\in\mathcal{A}(x^*)}. A(x∗)T=[∇ci(x∗)]i∈A(x∗).
引理2 设 x ∗ x^* x∗为一可行点. 于是下面两个论断是成立的:
- T Ω ( x ∗ ) ⊂ F ( x ∗ ) . T_{\Omega}(x^*)\subset\mathcal{F}(x^*). TΩ(x∗)⊂F(x∗).
- 若在 x ∗ x^* x∗处满足LICQ, 则 F ( x ∗ ) = T Ω ( x ∗ ) \mathcal{F}(x^*)=T_{\Omega}(x^*) F(x∗)=TΩ(x∗).
证明: 不失一般性, 假设所有的约束 c i ( ⋅ ) , i = 1 , 2 , … , m c_i(\cdot),i=1,2,\ldots,m ci(⋅),i=1,2,…,m均在 x ∗ x^* x∗起作用. 为证明第一条, 假设 { z k } , { t k } \{z_k\},\{t_k\} {zk},{tk}为满足 lim k → ∞ z k − x ∗ t k = d \lim_{k\to\infty}\frac{z_k-x^*}{t_k}=d k→∞limtkzk−x∗=d的序列, 其中 z k z_k zk为可行点序列, t k > 0 : t k → 0 ( k → ∞ ) t_k>0:t_k\to0(k\to\infty) tk>0:tk→0(k→∞). 于是有 z k = x ∗ + t k d + o ( t k ) . z_k=x^*+t_kd+o(t_k). zk=x∗+tkd+o(tk).考虑 i ∈ E i\in\mathcal{E} i∈E并使用Taylor定理, 我们有 0 = 1 t k c i ( z k ) = 1 t k [ c i ( x ∗ ) + t k ∇ c i ( x ∗ ) T d + o ( t k ) ] = ∇ c i ( x ∗ ) T d + o ( t k ) t k . \begin{aligned}0&=\frac{1}{t_k}c_i(z_k)\\&=\frac{1}{t_k}[c_i(x^*)+t_k\nabla c_i(x^*)^Td+o(t_k)]\\&=\nabla c_i(x^*)^Td+\frac{o(t_k)}{t_k}.\end{aligned} 0=tk1ci(zk)=tk1[ci(x∗)+tk∇ci(x∗)Td+o(tk)]=∇ci(x∗)Td+tko(tk).令 k → ∞ k\to\infty k→∞, 我们有 ∇ c i ( x ∗ ) T d = 0. \nabla c_i(x^*)^Td=0. ∇ci(x∗)Td=0.对起作用的不等式约束 i ∈ A ( x ∗ ) ∩ I i\in\mathcal{A}(x^*)\cap\mathcal{I} i∈A(x∗)∩I, 我们有类似地 0 ≤ 1 t k c i ( z k ) = 1 t k [ c i ( x ∗ ) + t k ∇ c i ( x ∗ ) T d + o ( t k ) ] = ∇ c i ( x ∗ ) T d + o ( t k ) t k . \begin{aligned}0&\le\frac{1}{t_k}c_i(z_k)\\&=\frac{1}{t_k}[c_i(x^*)+t_k\nabla c_i(x^*)^Td+o(t_k)]\\&=\nabla c_i(x^*)^Td+\frac{o(t_k)}{t_k}.\end{aligned} 0≤tk1ci(zk)=tk1[ci(x∗)+tk∇ci(x∗)Td+o(tk)]=∇ci(x∗)Td+tko(tk).因此我们有 ∇ c i ( x ∗ ) T d ≥ 0. \nabla c_i(x^*)^Td\ge0. ∇ci(x∗)Td≥0.这样第1条证明完毕.
下面证明第2条. 我们要利用隐函数定理. 首先由于LICQ成立, 因此 m × n m\times n m×n矩阵 A ( x ∗ ) A(x^*) A(x∗)行满秩. 令 Z Z Z为 A ( x ∗ ) A(x^*) A(x∗)核空间的基构成的矩阵, 即 Z ∈ R n × ( n − m ) , Z 列 满 秩 , A ( x ∗ ) Z = O . Z\in\mathbb{R}^{n\times (n-m)},\quad Z列满秩,\quad A(x^*)Z=O. Z∈Rn×(n−m),Z列满秩,A(x∗)Z=O.选取 ∀ d ∈ F ( x ∗ ) \forall d\in\mathcal{F}(x^*) ∀d∈F(x∗), 假设 { t k } k = 0 ∞ \{t_k\}_{k=0}^{\infty} {tk}k=0∞为任意满足 lim k → ∞ t k = 0 \lim_{k\to\infty}t_k=0 limk→∞tk=0的正标量序列. 定义参数化方程组 R : R n × R → R n R:\mathbb{R}^n\times \mathbb{R}\to\mathbb{R}^n R:Rn×R→Rn为 R ( z , t ) = [ c ( z ) − t A ( x ∗ ) d Z T ( z − x ∗ − t d ) ] = [ 0 0 ] . R(z,t)=\begin{bmatrix}c(z)-tA(x^*)d\\Z^T(z-x^*-td)\end{bmatrix}=\begin{bmatrix}0\\0\end{bmatrix}. R(z,t)=[c(z)−tA(x∗)dZT(z−x∗−td)]=[00].我们断言: 这一方程组对于较小 t = t k > 0 t=t_k>0 t=tk>0的解 z = z k z=z_k z=zk给出了符合切锥要求的趋近于 x ∗ x^* x∗的可行序列. 下证之.
在 t = 0 , z = x ∗ t=0,z=x^* t=0,z=x∗, R R R的Jacobi矩阵为 ∇ z R ( x ∗ , 0 ) = [ A ( x ∗ ) Z T ] , \nabla_zR(x^*,0)=\begin{bmatrix}A(x^*) \\Z^T\end{bmatrix}, ∇zR(x∗,0)=[A(x∗)ZT],显然由于 Z Z Z行满秩, A ( x ∗ ) A(x^*) A(x∗)行满秩, 得到Jacobi矩阵是非奇异的. 因此根据隐函数定理, 方程组对所有充分小的 t k t_k tk存在唯一解 z k z_k zk. 以及 i ∈ E ⇒ c i ( z k ) = t k ∇ c i ( x ∗ ) T d = 0 , i ∈ A ( x ∗ ) ∩ I ⇒ c i ( z k ) = t k ∇ c i ( x ∗ ) T d ≥ 0 , \begin{aligned}i\in\mathcal{E}&\Rightarrow c_i(z_k)=t_k\nabla c_i(x^*)^Td=0,\\i\in\mathcal{A}(x^*)\cap\mathcal{I}&\Rightarrow c_i(z_k)=t_k\nabla c_i(x^*)^Td\ge0,\end{aligned} i∈Ei∈A(x∗)∩I⇒ci(zk)=tk∇ci(x∗)Td=0,⇒ci(zk)=tk∇ci(x∗)Td≥0,因此 z k z_k zk可行. 下面只需证明 z k z_k zk的极限方向属于切锥. 由于 R ( z k , t k ) = 0 , ∀ k R(z_k,t_k)=0,\forall k R(zk,tk)=0,∀k并使用Taylor定理, 我们有 0 = R ( z k , t k ) = [ c ( z k ) − t k A ( x ∗ ) d Z T ( z k − x ∗ − t k d ) ] = [ A ( x ∗ ) ( z k − x ∗ ) + o ( ∥ z k − x ∗ ∥ ) − t k A ( x ∗ ) d Z T ( z k − x ∗ − t k d ) ] = [ A ( x ∗ ) Z T ] ( z k − x ∗ − t k d ) + o ( ∥ z k − x ∗ ∥ ) . \begin{aligned}0=R(z_k,t_k)&=\begin{bmatrix}c(z_k)-t_kA(x^*)d\\Z^T(z_k-x^*-t_kd)\end{bmatrix}\\&=\begin{bmatrix}A(x^*)(z_k-x^*)+o(\Vert z_k-x^*\Vert)-t_kA(x^*)d\\Z^T(z_k-x^*-t_kd)\end{bmatrix}\\&=\begin{bmatrix}A(x^*)\\Z^T\end{bmatrix}(z_k-x^*-t_kd)+o(\Vert z_k-x^*\Vert).\end{aligned} 0=R(zk,tk)=[c(zk)−tkA(x∗)dZT(zk−x∗−tkd)]=[A(x∗)(zk−x∗)+o(∥zk−x∗∥)−tkA(x∗)dZT(zk−x∗−tkd)]=[A(x∗)ZT](zk−x∗−tkd)+o(∥zk−x∗∥).两边同除 t k t_k tk并利用第一项中系数矩阵的非奇异性, 我们有 z k − x ∗ t k = d + o ( ∥ z k − x ∗ ∥ t k ) , \frac{z_k-x^*}{t_k}=d+o\left(\frac{\Vert z_k-x^*\Vert}{t_k}\right), tkzk−x∗=d+o(tk∥zk−x∗∥),注意到由隐函数定理, z k − x ∗ = O ( t k ) z_k-x^*=O(t_k) zk−x∗=O(tk). 因此对 k k k取极限即得 d ∈ T Ω ( x ∗ ) , ∀ d ∈ F ( x ∗ ) . d\in T_{\Omega}(x^*),\forall d\in\mathcal{F}(x^*). d∈TΩ(x∗),∀d∈F(x∗). 证毕.
4.2 一个基本必要条件
我们知道, 一个点 x x x为约束优化的局部解仅当所有趋于它的可行序列均有 f ( z k ) ≥ f ( x ) , k 充 分 大 时 f(z_k)\ge f(x),k充分大时 f(zk)≥f(x),k充分大时. 下面的定理表明, 若这样的序列是存在的, 则其极限方向必与目标函数的梯度有非负内积.
定理3 若
x
∗
x^*
x∗为约束优化的局部解, 则
∇
f
(
x
∗
)
T
d
≥
0
,
∀
d
∈
T
Ω
(
x
∗
)
.
\nabla f(x^*)^Td\ge0,\quad\forall d\in T_{\Omega}(x^*).
∇f(x∗)Td≥0,∀d∈TΩ(x∗).
证明: 用反证法证明. 假设存在切向
d
d
d使得
∇
f
(
x
∗
)
T
d
<
0
\nabla f(x^*)^Td<0
∇f(x∗)Td<0. 令
{
z
k
}
,
{
t
k
}
\{z_k\},\{t_k\}
{zk},{tk}为
d
d
d对应的序列. 我们有
f
(
z
k
)
=
f
(
x
∗
)
+
(
z
k
−
x
∗
)
T
∇
f
(
x
∗
)
+
o
(
∥
z
k
−
x
∗
∥
)
=
f
(
x
∗
)
+
t
k
d
T
∇
f
(
x
∗
)
+
o
(
t
k
)
.
\begin{aligned}f(z_k)&=f(x^*)+(z_k-x^*)^T\nabla f(x^*)+o(\Vert z_k-x^*\Vert)\\&=f(x^*)+t_kd^T\nabla f(x^*)+o(t_k).\end{aligned}
f(zk)=f(x∗)+(zk−x∗)T∇f(x∗)+o(∥zk−x∗∥)=f(x∗)+tkdT∇f(x∗)+o(tk).由于
d
T
∇
f
(
x
∗
)
<
0
d^T\nabla f(x^*)<0
dT∇f(x∗)<0, 因此当
k
k
k充分大时一阶项终将起主要作用, 从而使得
f
(
z
k
)
<
f
(
x
∗
)
+
1
2
t
k
d
T
∇
f
(
x
∗
)
<
f
(
x
∗
)
,
k
充
分
大
.
f(z_k)<f(x^*)+\frac{1}{2}t_kd^T\nabla f(x^*)<f(x^*),\quad k充分大.
f(zk)<f(x∗)+21tkdT∇f(x∗)<f(x∗),k充分大.因此给定
x
∗
x^*
x∗的任意开邻域, 我们可选取充分大的
k
k
k使得
z
k
z_k
zk位于此邻域中且函数值小于
f
(
x
)
f(x)
f(x). 这就与
x
∗
x^*
x∗为局部解矛盾! 证毕.
此定理的逆命题并不一定对. 即由
∇
f
(
x
∗
)
T
d
≥
0
,
∀
d
∈
T
Ω
(
x
∗
)
\nabla f(x^*)^Td\ge0,\forall d\in T_{\Omega}(x^*)
∇f(x∗)Td≥0,∀d∈TΩ(x∗), 推不出
x
∗
x^*
x∗为局部极小. 例如下面这个例子:
min
x
2
s
.
t
.
 
x
2
≥
−
x
1
2
.
\min x_2\quad\mathrm{s.t.\,}x_2\ge-x_1^2.
minx2s.t.x2≥−x12.其图示如下.
此问题是无界的, 但若考虑 x ∗ = ( 0 , 0 ) T x^*=(0,0)^T x∗=(0,0)T, 不难发现在 x ∗ x^* x∗处所有可行序列的极限方向必定有 d 2 ≥ 0 d_2\ge0 d2≥0. 因此 ∇ f ( x ∗ ) T d = d 2 ≥ 0 \nabla f(x^*)^Td=d_2\ge0 ∇f(x∗)Td=d2≥0. 但 x ∗ x^* x∗显然不是一个局部极小点. 事实上对 ∀ α > 0 \forall\alpha>0 ∀α>0, ( α , − α 2 ) (\alpha,-\alpha^2) (α,−α2)的函数值都要更小. 对 x ∗ x^* x∗的任意邻域, 只需取 α \alpha α充分小即可.
4.3 Farkas引理
证明一阶最优性定理的关键一步是证明经典的择一性定理(a classicial theorem of alternative)——Farkas引理. 有的文献中可能会从KKT条件证明Farkas引理. 实际上二者在某种程度上是等价的. 这里, 我们由Farkas引理证明KKT条件. 此引理考虑如下定义的锥 K K K: K = { B y + C w ∣ y ≥ 0 } , K=\{By+Cw\mid y\ge0\}, K={By+Cw∣y≥0},其中 B , C B,C B,C分别为 n × m , n × p n\times m,n\times p n×m,n×p的矩阵, y , w y,w y,w分别为对应维度的向量. 给定向量 g ∈ R n g\in\mathbb{R}^n g∈Rn, Farkas引理表明下面两条有且仅有一条成立:
- g ∈ K g\in K g∈K;
- 存在向量 d ∈ R n d\in\mathbb{R}^n d∈Rn使得 g T d < 0 , B T d ≥ 0 , C T d = 0. g^Td<0,\quad B^Td\ge0,\quad C^Td=0. gTd<0,BTd≥0,CTd=0.
这两种情形可用下图形象地阐释:
其中 B B B有三个列, C C C为 O O O, n = 2 n=2 n=2. 注意第二种情形, 向量 d d d实际上定义了一张分离超平面, 它在 R n \mathbb{R}^n Rn中将向量 g g g和锥 K K K分离开.
这里先证明如上定义的锥 K K K是个闭集.
引理4 如上定义的锥
K
K
K是闭集.
证明: 将
w
w
w分成正部和负部, 易知
K
K
K有等价表示
K
=
{
[
B
C
−
C
]
[
y
w
+
w
−
]
∣
[
y
w
+
w
−
]
≥
0
}
.
K=\left\{\left.\begin{bmatrix}B & C & -C\end{bmatrix}\begin{bmatrix}y\\w^+\\w^-\end{bmatrix}\right|\begin{bmatrix}y\\w^+\\w^-\end{bmatrix}\ge0\right\}.
K=⎩⎨⎧[BC−C]⎣⎡yw+w−⎦⎤∣∣∣∣∣∣⎣⎡yw+w−⎦⎤≥0⎭⎬⎫.因此不失一般性我们可设
K
K
K具有形式
K
=
{
B
y
∣
y
≥
0
}
.
K=\{By\mid y\ge0\}.
K={By∣y≥0}.设
B
B
B为
n
×
m
n\times m
n×m矩阵.
Step1. 对 ∀ s ∈ K \forall s\in K ∀s∈K, 存在具有最小基数的指标集 I ⊂ { 1 , 2 , … , m } I\subset\{1,2,\ldots,m\} I⊂{1,2,…,m}(记 B B B的列指标中属于 I I I的那些列构成的子阵为 B I B_I BI), 同时满足:
- 使得 B I B_I BI列满秩
- 存在 y I ≥ 0 y_I\ge0 yI≥0满足 s = B I y I s=B_Iy_I s=BIyI.
反证, 设存在 s s s使其具有最小基数表示 s = B N y N , y N ≥ 0 s=B_Ny_N,y_N\ge0 s=BNyN,yN≥0, 但 B N B_N BN的列向量组是线性相关的. 由于 N N N具最小基数, 因此 y N y_N yN没有分量为0. 同时有非零 w w w使得 B N w = 0 B_Nw=0 BNw=0. 因为 s = B N ( y N + τ w ) , ∀ τ s=B_N(y_N+\tau w),\forall\tau s=BN(yN+τw),∀τ, 因此我们可以从0增加或减小 τ \tau τ直到 y N + τ w y_N+\tau w yN+τw中(相对于 y N y_N yN)有不少于一个分量变为0, 同时其他分量仍为正数. 此时定义 N ˉ \bar{N} Nˉ为将那些变成0的分量的指标从 N N N中移除后得到的指标集, 并依次定义 y ˉ N ˉ \bar{y}_{\bar{N}} yˉNˉ为 y N + τ w y_N+\tau w yN+τw中严格正的部分. 于是有 s = B N ˉ y ˉ N ˉ , y ˉ N ˉ ≥ 0 s=B_{\bar{N}}\bar{y}_{\bar{N}},\bar{y}_{\bar{N}}\ge0 s=BNˉyˉNˉ,yˉNˉ≥0. 这就与 N N N具有最小基数矛盾.
Step2. 证明
K
K
K是闭集.
按定义证明. 令
{
s
k
}
:
s
k
∈
K
,
∀
k
;
s
k
→
s
\{s^k\}: s^k\in K,\forall k; s^k\to s
{sk}:sk∈K,∀k;sk→s. 只需证明
s
∈
K
s\in K
s∈K. 由Step1所证, 对
∀
k
\forall k
∀k, 我们有表示
s
k
=
B
I
k
y
I
k
k
,
y
I
k
k
≥
0
s^k=B_{I_k}y_{I_k}^k,y_{I_k}^k\ge0
sk=BIkyIkk,yIkk≥0,
I
k
I_k
Ik为最小基数指标,
B
I
k
B_{I_k}
BIk的列向量组线性无关. 由于
I
k
I_k
Ik仅有有限种可能. 因此至少有一种在序列中取到了无穷多次. 记这样的指标子集为
I
I
I, 可取对应的子列. 以下不妨设
I
k
≡
I
,
∀
k
I_k\equiv I,\forall k
Ik≡I,∀k,
s
k
=
B
I
y
I
k
,
y
I
k
≥
0
s^k=B_Iy_I^k,y_I^k\ge0
sk=BIyIk,yIk≥0,
B
I
B_I
BI列满秩. 这就推出
B
I
T
B
I
B_I^TB_I
BITBI可逆, 从而
y
I
k
y_I^k
yIk有唯一解析表示:
y
I
k
=
(
B
I
T
B
I
)
−
1
B
I
T
s
k
,
k
=
0
,
1
,
2
,
…
.
y_I^k=(B_I^TB_I)^{-1}B_I^Ts^k,\quad k=0,1,2,\ldots.
yIk=(BITBI)−1BITsk,k=0,1,2,….两边取
k
→
∞
k\to\infty
k→∞得到
y
I
k
→
y
I
=
d
e
f
(
B
I
T
B
I
)
−
1
B
I
T
s
,
y_I^k\to y_I\xlongequal{def}(B_I^TB_I)^{-1}B_I^Ts,
yIk→yIdef(BITBI)−1BITs,进一步地
y
I
≥
0
y_I\ge0
yI≥0. 于是
s
=
B
I
y
I
,
y
I
≥
0
⇒
s
∈
K
s=B_Iy_I,y_I\ge0\Rightarrow s\in K
s=BIyI,yI≥0⇒s∈K.
利用这个引理, 我们就能证明Farkas引理.
引理5 (Farkas) 设锥 K K K如上定义. 给定任意向量 g ∈ R n g\in\mathbb{R}^n g∈Rn, 下面两个系统有且仅有一个有解. { B x + C y = g , x ≥ 0 , , { g T x < 0 , B T x ≥ 0 , C T x = 0 , \left\{\begin{array}{l}Bx+Cy=g,\\x\ge0,\end{array}\right.,\quad \left\{\begin{array}{l}g^Tx<0,\\B^Tx\ge0,\\C^Tx=0,\end{array}\right. {Bx+Cy=g,x≥0,,⎩⎨⎧gTx<0,BTx≥0,CTx=0,其中 B ∈ R n × m , C ∈ R n × p B\in\mathbb{R}^{n\times m},C\in\mathbb{R}^{n\times p} B∈Rn×m,C∈Rn×p.
证明:
-
Step1. 证明这二者不能同时成立. 若存在 y ≥ 0 , w y\ge0,w y≥0,w使得 g = B y + C w g=By+Cw g=By+Cw; 同时也存在 d d d使得 g T d < 0 , B T d ≥ 0 , C T d = 0 g^Td<0,B^Td\ge0,C^Td=0 gTd<0,BTd≥0,CTd=0. 于是 0 > d T g = d T B y + d T C w = ( B T d ) T y + ( C T d ) T w ≥ 0 , 0>d^Tg=d^TBy+d^TCw=(B^Td)^Ty+(C^Td)^Tw\ge0, 0>dTg=dTBy+dTCw=(BTd)Ty+(CTd)Tw≥0,最后一个不等号是因为 C T d = 0 , B T d ≥ 0 , y ≥ 0 C^Td=0,B^Td\ge0,y\ge0 CTd=0,BTd≥0,y≥0. 因此这二者不能同时成立.
-
Step2. 证明二者有一个必定成立. 具体说来, 我们要在 g ̸ ∈ K g\not\in K g̸∈K时构造 d d d满足第二个系统. 由引理4, K K K是个闭集. 因此存在 s ^ ∈ K \hat{s}\in K s^∈K使其为 K K K中与 g g g欧式距离最小的向量. 即有 s ^ ∈ arg min s ∥ s − g ∥ 2 2 s . t .   s ∈ K . \hat{s}\in\arg\min_s\Vert s-g\Vert_2^2\quad\mathrm{s.t.\,}s\in K. s^∈argsmin∥s−g∥22s.t.s∈K.由于 s ^ ∈ K \hat{s}\in K s^∈K, 因此从 K K K为锥得出 α s ^ ∈ K , ∀ α ≥ 0 \alpha\hat{s}\in K,\forall\alpha\ge0 αs^∈K,∀α≥0. 由于 ∥ α s ^ − g ∥ 2 2 \Vert\alpha\hat{s}-g\Vert_2^2 ∥αs^−g∥22在 α = 1 \alpha=1 α=1时取到极小, 于是有 d d α ∥ α s ^ − g ∥ 2 2 ∣ α = 1 = 0 ⇒ s ^ T ( s ^ − g ) = 0. \left.\frac{\mathrm{d}}{\mathrm{d}\alpha}\Vert\alpha\hat{s}-g\Vert_2^2\right|_{\alpha=1}=0\Rightarrow\hat{s}^T(\hat{s}-g)=0. dαd∥αs^−g∥22∣∣∣∣α=1=0⇒s^T(s^−g)=0.现在, 令 s s s为 K K K中任意一个向量. 因 K K K为凸集(这是显然的), 由 s ^ \hat{s} s^的极小化性质有 ∥ s ^ + θ ( s − s ^ ) − g ∥ 2 2 ≥ ∥ s ^ − g ∥ 2 2 , ∀ θ ∈ [ 0 , 1 ] , \Vert \hat{s}+\theta(s-\hat{s})-g\Vert_2^2\ge\Vert\hat{s}-g\Vert_2^2,\quad\forall\theta\in[0,1], ∥s^+θ(s−s^)−g∥22≥∥s^−g∥22,∀θ∈[0,1],这等价于 2 θ ( s − s ^ ) T ( s ^ − g ) + θ 2 ∥ s − s ^ ∥ 2 2 ≥ 0. 2\theta(s-\hat{s})^T(\hat{s}-g)+\theta^2\Vert s-\hat{s}\Vert_2^2\ge0. 2θ(s−s^)T(s^−g)+θ2∥s−s^∥22≥0.上式两边除以 θ \theta θ并令 θ ↓ 0 \theta\downarrow0 θ↓0, 我们有 ( s − s ^ ) T ( s ^ − g ) ≥ 0. (s-\hat{s})^T(\hat{s}-g)\ge0. (s−s^)T(s^−g)≥0.因此 s T ( s ^ − g ) ≥ 0 , ∀ s ∈ K . s^T(\hat{s}-g)\ge0,\quad\forall s\in K. sT(s^−g)≥0,∀s∈K.下验证 d = s ^ − g d=\hat{s}-g d=s^−g满足第二个系统. 注意由于 g ̸ ∈ K g\not\in K g̸∈K, 所以 d ≠ 0 d\ne0 d̸=0.
- d T g = d T ( s ^ − d ) = ( s ^ − g ) T s ^ − d T d = − ∥ d ∥ 2 2 < 0. d^Tg=d^T(\hat{s}-d)=(\hat{s}-g)^T\hat{s}-d^Td=-\Vert d\Vert_2^2<0. dTg=dT(s^−d)=(s^−g)Ts^−dTd=−∥d∥22<0.
- 因 d T s ≥ 0 , ∀ s ∈ K d^Ts\ge0,\forall s\in K dTs≥0,∀s∈K, 所以 d T ( B y + C w ) ≥ 0 , ∀ y ≥ 0 , ∀ w . d^T(By+Cw)\ge0,\forall y\ge0,\forall w. dT(By+Cw)≥0,∀y≥0,∀w.固定 y = 0 y=0 y=0, 有 ( C T d ) T w ≥ 0 , ∀ w (C^Td)^Tw\ge0,\forall w (CTd)Tw≥0,∀w, 这仅当 C T d = 0 C^Td=0 CTd=0才成立; 固定 w = 0 w=0 w=0, 于是有 ( B T d ) T y ≥ 0 , ∀ y ≥ 0 (B^Td)^Ty\ge0,\forall y\ge0 (BTd)Ty≥0,∀y≥0, 这仅当 B T d ≥ 0 B^Td\ge0 BTd≥0才成立.
Farkas引理证毕.
将Farkas引理应用于如下定义的锥 N N N上: N = { ∑ i ∈ A ( x ∗ ) λ i ∇ c i ( x ∗ ) , λ i ≥ 0 , i ∈ A ( x ∗ ) ∩ I } , N=\left\{\sum_{i\in\mathcal{A}(x^*)}\lambda_i\nabla c_i(x^*),\quad \lambda_i\ge0,i\in\mathcal{A}(x^*)\cap\mathcal{I}\right\}, N=⎩⎨⎧i∈A(x∗)∑λi∇ci(x∗),λi≥0,i∈A(x∗)∩I⎭⎬⎫,并置 g = ∇ f ( x ∗ ) g=\nabla f(x^*) g=∇f(x∗), 我们有
- ∇ f ( x ∗ ) = ∑ i ∈ A ( x ∗ ) λ i ∇ c i ( x ∗ ) = A ( x ∗ ) T λ ∗ , λ i ≥ 0 , i ∈ A ( x ∗ ) ∩ I . \nabla f(x^*)=\sum_{i\in\mathcal{A}(x^*)}\lambda_i\nabla c_i(x^*)=A(x^*)^T\lambda^*,\quad \lambda_i\ge0,i\in\mathcal{A}(x^*)\cap\mathcal{I}. ∇f(x∗)=∑i∈A(x∗)λi∇ci(x∗)=A(x∗)Tλ∗,λi≥0,i∈A(x∗)∩I. 或者
- 存在 d d d使得 d T ∇ f ( x ∗ ) < 0 , d ∈ F ( x ∗ ) d^T\nabla f(x^*)<0,d\in\mathcal{F}(x^*) dT∇f(x∗)<0,d∈F(x∗).
4.4 一阶最优性条件的证明
之前的引理2和引理5(Farkas引理)已为我们证明KKT条件带来极大的便利. 下面仅给出最后一步的证明. 假设 x ∗ ∈ R n x^*\in\mathbb{R}^n x∗∈Rn为LICQ成立的可行点.
先证明存在乘子 λ i , i ∈ A ( x ∗ ) \lambda_i,i\in\mathcal{A}(x^*) λi,i∈A(x∗)使得 ∇ f ( x ∗ ) = ∑ i ∈ A ( x ∗ ) λ i ∇ c i ( x ∗ ) = A ( x ∗ ) T λ ∗ , λ i ≥ 0 , i ∈ A ( x ∗ ) ∩ I . \nabla f(x^*)=\sum_{i\in\mathcal{A}(x^*)}\lambda_i\nabla c_i(x^*)=A(x^*)^T\lambda^*,\quad \lambda_i\ge0,i\in\mathcal{A}(x^*)\cap\mathcal{I}. ∇f(x∗)=i∈A(x∗)∑λi∇ci(x∗)=A(x∗)Tλ∗,λi≥0,i∈A(x∗)∩I.定理3说明 d T ∇ f ( x ∗ ) ≥ 0 , ∀ d ∈ T Ω ( x ∗ ) d^T\nabla f(x^*)\ge0,\forall d\in T_{\Omega}(x^*) dT∇f(x∗)≥0,∀d∈TΩ(x∗). 而由引理2知 T Ω ( x ∗ ) = F ( x ∗ ) T_{\Omega}(x^*)=\mathcal{F}(x^*) TΩ(x∗)=F(x∗). 于是 d T ∇ f ( x ∗ ) ≥ 0 , ∀ d ∈ F ( x ∗ ) d^T\nabla f(x^*)\ge0,\forall d\in\mathcal{F}(x^*) dT∇f(x∗)≥0,∀d∈F(x∗). 因此由Farkas引理后的说明, 可知存在乘子满足条件.
下定义向量 λ ∗ \lambda^* λ∗为 λ i ∗ = { λ i , i ∈ A ( x ∗ ) , 0 , i ∈ I ∖ A ( x ∗ ) , \lambda_i^*=\left\{\begin{array}{ll}\lambda_i, & i\in\mathcal{A}(x^*),\\0, & i\in\mathcal{I}\setminus\mathcal{A}(x^*),\end{array}\right. λi∗={λi,0,i∈A(x∗),i∈I∖A(x∗),之后验证这样的 λ ∗ \lambda^* λ∗以及局部解 x ∗ x^* x∗满足KKT条件:
- 稳定性条件 ∇ x L ( x ∗ , λ ∗ ) = 0 \nabla_x\mathcal{L}(x^*, \lambda^*)=0 ∇xL(x∗,λ∗)=0显然成立.
- 由于 x ∗ x^* x∗为可行点, 因此可行性条件成立.
- 因为 λ i ∗ ≥ 0 , i ∈ A ( x ∗ ) ∩ I ; λ i ∗ = 0 , i ∈ I ∖ A ( x ∗ ) \lambda_i^*\ge0,i\in\mathcal{A}(x^*)\cap\mathcal{I};\lambda_i^*=0,i\in\mathcal{I}\setminus\mathcal{A}(x^*) λi∗≥0,i∈A(x∗)∩I;λi∗=0,i∈I∖A(x∗). 所以 λ i ∗ ≥ , i ∈ I \lambda_i^*\ge,i\in\mathcal{I} λi∗≥,i∈I. 不等式乘子的非负性条件成立.
- 对于 i ∈ A ( x ∗ ) ∩ I i\in\mathcal{A}(x^*)\cap\mathcal{I} i∈A(x∗)∩I, c i ( x ∗ ) = 0 c_i(x^*)=0 ci(x∗)=0; 对于 i ∈ I ∖ A ( x ∗ ) i\in\mathcal{I}\setminus\mathcal{A}(x^*) i∈I∖A(x∗), λ i ∗ = 0 \lambda_i^*=0 λi∗=0. 因此互补松弛条件 λ i ∗ c i ( x ∗ ) = 0 , i ∈ I \lambda_i^*c_i(x^*)=0,i\in\mathcal{I} λi∗ci(x∗)=0,i∈I成立.
一阶最优的必要性条件证毕.
5. 二阶最优性条件
至此, 我们已介绍并证明了一阶条件——KKT条件——它告诉了我们 f f f的一阶导数和在解 x ∗ x^* x∗处起作用约束 c i c_i ci的一阶导数是紧密相关的. 当这些条件成立, 沿着任意 w ∈ F ( x ∗ ) w\in\mathcal{F}(x^*) w∈F(x∗)移动只有两种可能:
- 增加了目标函数的一阶近似, 即 w T ∇ f ( x ∗ ) > 0 w^T\nabla f(x^*)>0 wT∇f(x∗)>0; 或者
- 保持一阶近似不变 w T ∇ f ( x ∗ ) = 0 w^T\nabla f(x^*)=0 wT∇f(x∗)=0.
那么 f f f和 c i c_i ci的二阶导数在最优性条件中起到了什么作用呢? 注意到对于 w ∈ F ( x ∗ ) : w T ∇ f ( x ∗ ) = 0 w\in\mathcal{F}(x^*): w^T\nabla f(x^*)=0 w∈F(x∗):wT∇f(x∗)=0, 我们无法仅从一阶导数上确定沿 w w w目标函数是增是减. 这时候二阶导数就可以打破一部分的瓶颈. 二阶条件就是要检验 f , c i f,c_i f,ci的二阶导数项, 看看这一高阶信息能否确定 f f f的上升或下降. 同之前一样, 二阶条件(或二阶导数)与Lagrange函数在未定方向上的曲率信息相关.
由于我们现在在讨论二阶导数, 因此这里需要相较于前面几节中更强的光滑性的假设. 为此, 假定 f f f和 c i , i ∈ E ∪ I c_i,i\in\mathcal{E}\cup\mathcal{I} ci,i∈E∪I均二阶连续可导.
除此之外, 我们还需要定义新的集合. 这是因为, 二阶条件与一阶条件有着重要的差别:
- 一阶条件是针对所有的线性可行方向, 而二阶条件通常只是针对线性可行方向集的一个子集. 这是由于在那些使得目标函数一阶方向导数非零(也就是大于0)的方向上, 目标函数的二阶导数并不影响优化问题的局部最优性. 因此我们仅需考虑那些方向导数为零的方向.
- 分析一阶条件是在考察目标函数在可行方向上的变化, 而分析二阶条件是利用Lagrange函数在可行方向上的变化.
基于以上差异, 给定 F ( x ∗ ) \mathcal{F}(x^*) F(x∗)和满足KKT条件的乘子 λ ∗ \lambda^* λ∗, 我们定义临界锥(the critical cone) C ( x ∗ , λ ∗ ) \mathcal{C}(x^*,\lambda^*) C(x∗,λ∗)为: C ( x ∗ , λ ∗ ) = { w ∈ F ( x ∗ ) ∣ ∇ c i ( x ∗ ) T w = 0 , i ∈ A ( x ∗ ) ∩ I 且 λ i ∗ > 0 } . \mathcal{C}(x^*,\lambda^*)=\{w\in\mathcal{F}(x^*)\mid\nabla c_i(x^*)^Tw=0,i\in\mathcal{A}(x^*)\cap\mathcal{I}且\lambda_i^*>0\}. C(x∗,λ∗)={w∈F(x∗)∣∇ci(x∗)Tw=0,i∈A(x∗)∩I且λi∗>0}.等价地, w ∈ C ( x ∗ , λ ∗ ) ⇔ { ∇ c i ( x ∗ ) T w = 0 , i ∈ E , ∇ c i ( x ∗ ) T w = 0 , i ∈ A ( x ∗ ) ∩ I , λ i ∗ > 0 , ∇ c i ( x ∗ ) T w ≥ 0 , i ∈ A ( x ∗ ) ∩ I , λ i ∗ = 0. w\in\mathcal{C}(x^*,\lambda^*)\Leftrightarrow\left\{\begin{array}{ll}\nabla c_i(x^*)^Tw=0, & i\in\mathcal{E},\\\nabla c_i(x^*)^Tw=0, & i\in\mathcal{A}(x^*)\cap\mathcal{I},\lambda_i^*>0,\\\nabla c_i(x^*)^Tw\ge0, & i\in\mathcal{A}(x^*)\cap\mathcal{I},\lambda_i^*=0.\end{array}\right. w∈C(x∗,λ∗)⇔⎩⎨⎧∇ci(x∗)Tw=0,∇ci(x∗)Tw=0,∇ci(x∗)Tw≥0,i∈E,i∈A(x∗)∩I,λi∗>0,i∈A(x∗)∩I,λi∗=0.称临界锥中的方向为临界方向(critical direction). 下面说明, 临界锥就是我们要考虑的子集的一部分. 事实上由定义可知 w ∈ C ( x ∗ , λ ∗ ) ⇒ λ i ∗ ∇ c i ( x ∗ ) T w = 0 , i ∈ E ∪ I . w\in\mathcal{C}(x^*,\lambda^*)\Rightarrow\lambda_i^*\nabla c_i(x^*)^Tw=0,i\in\mathcal{E}\cup\mathcal{I}. w∈C(x∗,λ∗)⇒λi∗∇ci(x∗)Tw=0,i∈E∪I.因此从KKT条件中的稳定性条件, 我们有 w ∈ C ( x ∗ , λ ∗ ) ⇒ w T ∇ f ( x ∗ ) = ∑ i ∈ E ∪ I λ i ∗ w T ∇ c i ( x ∗ ) = 0. w\in\mathcal{C}(x^*,\lambda^*)\Rightarrow w^T\nabla f(x^*)=\sum_{i\in\mathcal{E}\cup\mathcal{I}}\lambda_i^*w^T\nabla c_i(x^*)=0. w∈C(x∗,λ∗)⇒wT∇f(x∗)=i∈E∪I∑λi∗wT∇ci(x∗)=0.换句话说, C ( x ∗ , λ ∗ ) ⊂ F ( x ∗ ) ∩ N ∇ f ( x ∗ ) , \mathcal{C}(x^*,\lambda^*)\subset\mathcal{F}(x^*)\cap N_{\nabla f(x^*)}, C(x∗,λ∗)⊂F(x∗)∩N∇f(x∗),其中 N ∇ f ( x ∗ ) = { d ∣ d T ∇ f ( x ∗ ) = 0 } . N_{\nabla f(x^*)}=\{d\mid d^T\nabla f(x^*)=0\}. N∇f(x∗)={d∣dT∇f(x∗)=0}.
例7 考虑问题
min
x
1
s
.
t
.
 
x
2
≥
0
,
1
−
(
x
1
−
1
)
2
−
x
2
2
≥
0
,
\min x_1\quad\mathrm{s.t.\,}x_2\ge0,1-(x_1-1)^2-x_2^2\ge0,
minx1s.t.x2≥0,1−(x1−1)2−x22≥0,其图像如下所示.
易知最优解为 x ∗ = ( 0 , 0 ) T x^*=(0,0)^T x∗=(0,0)T, 且在 x ∗ x^* x∗的积极集为 A ( x ∗ ) = { 1 , 2 } \mathcal{A}(x^*)=\{1,2\} A(x∗)={1,2}, 唯一(这是因为满足LICQ)Lagrange乘子 λ ∗ = ( 0 , 0.5 ) T \lambda^*=(0,0.5)^T λ∗=(0,0.5)T. 因起作用约束的梯度为 ( 0 , 1 ) T , ( 2 , 0 ) T (0,1)^T,(2,0)^T (0,1)T,(2,0)T, 因此线性可行方向集为 F ( x ∗ ) = { d ∣ d ≥ 0 } , \mathcal{F}(x^*)=\{d\mid d\ge0\}, F(x∗)={d∣d≥0},临界锥为 C ( x ∗ , λ ∗ ) = { ( 0 , w 2 ) T ∣ w 2 ≥ 0 } . \mathcal{C}(x^*,\lambda^*)=\{(0,w_2)^T\mid w_2\ge0\}. C(x∗,λ∗)={(0,w2)T∣w2≥0}.
5.1 二阶必要性条件
与一阶不同, 二阶条件有必要的, 也有充分的. 我们先给出二阶最优的必要性条件: 若 x ∗ x^* x∗为局部解, 则Lagrange的Hessian矩阵沿临界方向有非负曲率.
定理6 (二阶必要性条件) 设 x ∗ x^* x∗为约束问题的局部解且LICQ成立. λ ∗ \lambda^* λ∗为使KKT条件成立的Lagrange乘子. 于是 w T ∇ x x 2 L ( x ∗ , λ ∗ ) w ≥ 0 , ∀ w ∈ C ( x ∗ , λ ∗ ) . w^T\nabla^2_{xx}\mathcal{L}(x^*,\lambda^*)w\ge0,\quad\forall w\in\mathcal{C}(x^*,\lambda^*). wT∇xx2L(x∗,λ∗)w≥0,∀w∈C(x∗,λ∗).证明: 因 x ∗ x^* x∗为局部解, 所以所有趋近于 x ∗ x^* x∗的可行序列均有 f ( z k ) ≥ f ( x ∗ ) , k 充 分 大 f(z_k)\ge f(x^*),k充分大 f(zk)≥f(x∗),k充分大. 我们证明的方法为, 构造可行序列使其极限方向为 w w w, 并由 f ( z k ) ≥ f ( x ∗ ) f(z_k)\ge f(x^*) f(zk)≥f(x∗)证明非负曲率条件成立.
由于 w ∈ C ( x ∗ , λ ∗ ) ⊂ F ( x ∗ ) w\in\mathcal{C}(x^*,\lambda^*)\subset\mathcal{F}(x^*) w∈C(x∗,λ∗)⊂F(x∗), 因此可用引理2证明中的隐函数定理法选取序列 { t k } , { z k } \{t_k\},\{z_k\} {tk},{zk}使得 lim k → ∞ z k − x ∗ t k = w , \lim_{k\to\infty}\frac{z_k-x^*}{t_k}=w, k→∞limtkzk−x∗=w,这样就有 z k − x ∗ = t k w + o ( t k ) . z_k-x^*=t_kw+o(t_k). zk−x∗=tkw+o(tk).由 { z k } \{z_k\} {zk}的构造方式, 我们有 c i ( z k ) = t k ∇ c i ( x ∗ ) T w , i ∈ A ( x ∗ ) . c_i(z_k)=t_k\nabla c_i(x^*)^Tw,\quad i\in\mathcal{A}(x^*). ci(zk)=tk∇ci(x∗)Tw,i∈A(x∗).因此 L ( z k , λ ∗ ) = f ( z k ) − ∑ i ∈ E ∪ I λ i ∗ c i ( z k ) = f ( z k ) − t k ∑ i ∈ A ( x ∗ ) λ i ∗ ∇ c i ( x ∗ ) T w = f ( z k ) . ( ∵ w ∈ C ( x ∗ , λ ∗ ) ) \begin{aligned}\mathcal{L}(z_k,\lambda^*)&=f(z_k)-\sum_{i\in\mathcal{E}\cup\mathcal{I}}\lambda_i^*c_i(z_k)\\&=f(z_k)-t_k\sum_{i\in\mathcal{A}(x^*)}\lambda_i^*\nabla c_i(x^*)^Tw\\&=f(z_k).(\because w\in\mathcal{C}(x^*,\lambda^*))\end{aligned} L(zk,λ∗)=f(zk)−i∈E∪I∑λi∗ci(zk)=f(zk)−tki∈A(x∗)∑λi∗∇ci(x∗)Tw=f(zk).(∵w∈C(x∗,λ∗))另一方面, 我们可通过Taylor展开得到 L ( z k , λ ∗ ) \mathcal{L}(z_k,\lambda^*) L(zk,λ∗)在 x ∗ x^* x∗附近的展开. 由Hessian矩阵 ∇ 2 f , ∇ 2 c i , i ∈ E ∪ I \nabla^2f,\nabla^2c_i,i\in\mathcal{E}\cup\mathcal{I} ∇2f,∇2ci,i∈E∪I的连续性可得 L ( z k , λ ∗ ) = L ( x ∗ , λ ∗ ) + ( z k − x ∗ ) T ∇ x L ( x ∗ , λ ∗ ) + 1 2 ( z k − x ∗ ) T ∇ x x 2 L ( x ∗ , λ ∗ ) ( z k − x ∗ ) + o ( ∥ z k − x ∗ ∥ 2 ) . \begin{aligned}\mathcal{L}(z_k,\lambda^*)=&\mathcal{L}(x^*,\lambda^*)+(z_k-x^*)^T\nabla_x\mathcal{L}(x^*,\lambda^*)\\&+\frac{1}{2}(z_k-x^*)^T\nabla_{xx}^2\mathcal{L}(x^*,\lambda^*)(z_k-x^*)+o(\Vert z_k-x^*\Vert^2).\end{aligned} L(zk,λ∗)=L(x∗,λ∗)+(zk−x∗)T∇xL(x∗,λ∗)+21(zk−x∗)T∇xx2L(x∗,λ∗)(zk−x∗)+o(∥zk−x∗∥2).由互补松弛条件, 我们有 L ( x ∗ , λ ∗ ) = f ( x ∗ ) \mathcal{L}(x^*,\lambda^*)=f(x^*) L(x∗,λ∗)=f(x∗). 再由稳定性条件知上式等式右端第二项为0, 因此 f ( z k ) = L ( z k , λ ∗ ) = f ( x ∗ ) + 1 2 t k 2 w T ∇ x x 2 L ( x ∗ , λ ∗ ) w + o ( t k 2 ) . f(z_k)=\mathcal{L}(z_k,\lambda^*)=f(x^*)+\frac{1}{2}t_k^2w^T\nabla_{xx}^2\mathcal{L}(x^*,\lambda^*)w+o(t_k^2). f(zk)=L(zk,λ∗)=f(x∗)+21tk2wT∇xx2L(x∗,λ∗)w+o(tk2).如果 w T ∇ x x 2 L ( x ∗ , λ ∗ ) w < 0 w^T\nabla^2_{xx}\mathcal{L}(x^*,\lambda^*)w<0 wT∇xx2L(x∗,λ∗)w<0, 则上式就推出 f ( z k ) < f ( x ∗ ) , k 充 分 大 f(z_k)<f(x^*),k充分大 f(zk)<f(x∗),k充分大. 这就与 x ∗ x^* x∗为局部解矛盾. 证毕.
5.2 二阶充分性条件
下面给出二阶充分性条件, 即当 f , c i , i ∈ E ∪ I f,c_i,i\in\mathcal{E}\cup\mathcal{I} f,ci,i∈E∪I满足时能得到 x ∗ x^* x∗为局部解. 与必要性条件不同的不仅是推导的方向, 充分性条件也无需约束规范, 同时不等式变为严格不等式.
定理7 (二阶充分性条件) 设对于某个可行点 x ∗ ∈ R n x^*\in\mathbb{R}^n x∗∈Rn, 存在Lagrange乘子 λ ∗ \lambda^* λ∗满足KKT条件(注意无需约束规范). 同时还有 w T ∇ x x 2 L ( x ∗ , λ ∗ ) w > 0 , ∀ w ∈ C ( x ∗ , λ ∗ ) , w ≠ 0. w^T\nabla^2_{xx}\mathcal{L}(x^*,\lambda^*)w>0,\quad\forall w\in\mathcal{C}(x^*,\lambda^*),w\ne0. wT∇xx2L(x∗,λ∗)w>0,∀w∈C(x∗,λ∗),w̸=0.则 x ∗ x^* x∗为约束问题的严格局部解.
证明: 首先, 注意到
C
ˉ
=
{
d
∈
C
(
x
∗
,
λ
∗
)
∣
∥
d
∥
=
1
}
\bar{\mathcal{C}}=\{d\in\mathcal{C}(x^*,\lambda^*)\mid\Vert d\Vert=1\}
Cˉ={d∈C(x∗,λ∗)∣∥d∥=1}是
C
(
x
∗
,
λ
∗
)
\mathcal{C}(x^*,\lambda^*)
C(x∗,λ∗)的一个紧子集, 从而
d
T
∇
x
x
2
L
(
x
∗
,
λ
∗
)
d
d^T\nabla^2_{xx}\mathcal{L}(x^*,\lambda^*)d
dT∇xx2L(x∗,λ∗)d在此集上的极小值为一个严格正的常数, 记为
σ
\sigma
σ. 因为
C
(
x
∗
,
λ
∗
)
\mathcal{C}(x^*,\lambda^*)
C(x∗,λ∗)是个锥, 因此
(
w
/
∥
w
∥
)
∈
C
ˉ
(w/\Vert w\Vert)\in\bar{\mathcal{C}}
(w/∥w∥)∈Cˉ当且仅当
w
∈
C
(
x
∗
,
λ
∗
)
,
w
≠
0
w\in\mathcal{C}(x^*,\lambda^*),w\ne0
w∈C(x∗,λ∗),w̸=0. 于是正曲率条件就变为
w
T
∇
x
x
2
L
(
x
∗
,
λ
∗
)
w
≥
σ
∥
w
∥
2
,
∀
w
∈
C
(
x
∗
,
λ
∗
)
.
w^T\nabla^2_{xx}\mathcal{L}(x^*,\lambda^*)w\ge\sigma\Vert w\Vert^2,\quad\forall w\in\mathcal{C}(x^*,\lambda^*).
wT∇xx2L(x∗,λ∗)w≥σ∥w∥2,∀w∈C(x∗,λ∗).我们证明: 对于每个趋于
x
∗
x^*
x∗的可行序列
{
z
k
}
\{z_k\}
{zk}均有
f
(
z
k
)
≥
f
(
x
∗
)
+
(
σ
/
4
)
∥
z
k
−
x
∗
∥
2
,
k
充
分
大
.
f(z_k)\ge f(x^*)+(\sigma/4)\Vert z_k-x^*\Vert^2,\quad k充分大.
f(zk)≥f(x∗)+(σ/4)∥zk−x∗∥2,k充分大. 若不然, 则存在
{
z
k
}
:
z
k
→
x
\{z_k\}:z_k\to x
{zk}:zk→x满足
f
(
z
k
)
<
f
(
x
∗
)
+
(
σ
/
4
)
∥
z
k
−
x
∗
∥
2
,
k
充
分
大
.
f(z_k)<f(x^*)+(\sigma/4)\Vert z_k-x^*\Vert^2,\quad k充分大.
f(zk)<f(x∗)+(σ/4)∥zk−x∗∥2,k充分大.不失一般性, 我们可假设
z
k
z_k
zk具有极限方向
d
d
d:
lim
k
→
∞
z
k
−
x
∗
∥
z
k
−
x
∗
∥
=
d
.
\lim_{k\to\infty}\frac{z_k-x^*}{\Vert z_k-x^*\Vert}=d.
k→∞lim∥zk−x∗∥zk−x∗=d.我们从
T
Ω
(
x
∗
)
⊂
F
(
x
∗
)
T_{\Omega}(x^*)\subset\mathcal{F}(x^*)
TΩ(x∗)⊂F(x∗)知
d
∈
F
(
x
∗
)
d\in\mathcal{F}(x^*)
d∈F(x∗). 若
d
̸
∈
C
(
x
∗
,
λ
∗
)
d\not\in\mathcal{C}(x^*,\lambda^*)
d̸∈C(x∗,λ∗), 就存在
j
∈
A
(
x
∗
)
∩
I
j\in\mathcal{A}(x^*)\cap\mathcal{I}
j∈A(x∗)∩I使得
λ
j
∗
∇
c
j
(
x
∗
)
T
d
>
0
\lambda_j^*\nabla c_j(x^*)^Td>0
λj∗∇cj(x∗)Td>0成立, 而对于剩下的指标
i
∈
A
(
x
∗
)
i\in\mathcal{A}(x^*)
i∈A(x∗),
λ
i
∗
∇
c
i
(
x
∗
)
T
d
≥
0.
\lambda_i^*\nabla c_i(x^*)^Td\ge0.
λi∗∇ci(x∗)Td≥0.由Taylor定理, 对于
j
j
j我们有
λ
j
∗
c
j
(
z
k
)
=
λ
j
∗
c
j
(
x
∗
)
+
λ
j
∗
∇
c
j
(
x
∗
)
T
(
z
k
−
x
∗
)
+
o
(
∥
z
k
−
x
∗
∥
)
=
∥
z
k
−
x
∗
∥
λ
j
∗
∇
c
j
(
x
∗
)
T
d
+
o
(
∥
z
k
−
x
∗
∥
)
.
\begin{aligned}\lambda_j^*c_j(z_k)&=\lambda_j^*c_j(x^*)+\lambda_j^*\nabla c_j(x^*)^T(z_k-x^*)+o(\Vert z_k-x^*\Vert)\\&=\Vert z_k-x^*\Vert\lambda_j^*\nabla c_j(x^*)^Td+o(\Vert z_k-x^*\Vert).\end{aligned}
λj∗cj(zk)=λj∗cj(x∗)+λj∗∇cj(x∗)T(zk−x∗)+o(∥zk−x∗∥)=∥zk−x∗∥λj∗∇cj(x∗)Td+o(∥zk−x∗∥).因此,
L
(
z
k
,
λ
∗
)
=
f
(
z
k
)
−
∑
i
∈
A
(
x
∗
)
λ
i
∗
c
i
(
z
k
)
≤
f
(
z
k
)
−
λ
j
∗
c
j
(
z
k
)
≤
f
(
z
k
)
−
∥
z
k
−
x
∗
∥
λ
j
∗
∇
c
j
(
x
∗
)
T
d
+
o
(
∥
z
k
−
x
∗
∥
)
.
\begin{aligned}\mathcal{L}(z_k,\lambda^*)&=f(z_k)-\sum_{i\in\mathcal{A}(x^*)}\lambda_i^*c_i(z_k)\\&\le f(z_k)-\lambda_j^*c_j(z_k)\\&\le f(z_k)-\Vert z_k-x^*\Vert\lambda_j^*\nabla c_j(x^*)^Td+o(\Vert z_k-x^*\Vert).\end{aligned}
L(zk,λ∗)=f(zk)−i∈A(x∗)∑λi∗ci(zk)≤f(zk)−λj∗cj(zk)≤f(zk)−∥zk−x∗∥λj∗∇cj(x∗)Td+o(∥zk−x∗∥).同时Taylor展开还有
L
(
z
k
,
λ
∗
)
=
f
(
x
∗
)
+
O
(
∥
z
k
−
x
∗
∥
2
)
,
\mathcal{L}(z_k,\lambda^*)=f(x^*)+O(\Vert z_k-x^*\Vert^2),
L(zk,λ∗)=f(x∗)+O(∥zk−x∗∥2),因此
f
(
z
k
)
≥
f
(
x
∗
)
+
∥
z
k
−
x
∗
∥
λ
j
∗
∇
c
j
(
x
∗
)
T
d
+
o
(
∥
z
k
−
x
∗
∥
)
.
f(z_k)\ge f(x^*)+\Vert z_k-x^*\Vert\lambda_j^*\nabla c_j(x^*)^Td+o(\Vert z_k-x^*\Vert).
f(zk)≥f(x∗)+∥zk−x∗∥λj∗∇cj(x∗)Td+o(∥zk−x∗∥).这与假设矛盾. 所以
d
∈
C
(
x
∗
,
λ
∗
)
d\in\mathcal{C}(x^*,\lambda^*)
d∈C(x∗,λ∗), 因此
d
T
∇
x
x
2
L
(
x
∗
,
λ
∗
)
d
≥
σ
d^T\nabla^2_{xx}\mathcal{L}(x^*,\lambda^*)d\ge\sigma
dT∇xx2L(x∗,λ∗)d≥σ.
综上, 我们有
f
(
z
k
)
≥
f
(
x
∗
)
+
1
2
(
z
k
−
x
∗
)
T
∇
x
x
2
L
(
x
∗
,
λ
∗
)
(
z
k
−
x
∗
)
+
o
(
∥
z
k
−
x
∗
∥
2
)
=
f
(
x
∗
)
+
1
2
d
T
∇
x
x
2
L
(
x
∗
,
λ
∗
)
d
∥
z
k
−
x
∗
∥
2
+
o
(
∥
z
k
−
x
∗
∥
2
)
≥
f
(
x
∗
)
+
(
σ
/
2
)
∥
z
k
−
x
∗
∥
2
+
o
(
∥
z
k
−
x
∗
∥
2
)
.
\begin{aligned}f(z_k)&\ge f(x^*)+\frac{1}{2}(z_k-x^*)^T\nabla^2_{xx}\mathcal{L}(x^*,\lambda^*)(z_k-x^*)+o(\Vert z_k-x^*\Vert^2)\\&=f(x^*)+\frac{1}{2}d^T\nabla^2_{xx}\mathcal{L}(x^*,\lambda^*)d\Vert z_k-x^*\Vert^2+o(\Vert z_k-x^*\Vert^2)\\&\ge f(x^*)+(\sigma/2)\Vert z_k-x^*\Vert^2+o(\Vert z_k-x^*\Vert^2).\end{aligned}
f(zk)≥f(x∗)+21(zk−x∗)T∇xx2L(x∗,λ∗)(zk−x∗)+o(∥zk−x∗∥2)=f(x∗)+21dT∇xx2L(x∗,λ∗)d∥zk−x∗∥2+o(∥zk−x∗∥2)≥f(x∗)+(σ/2)∥zk−x∗∥2+o(∥zk−x∗∥2).这又与最开始的反证假设矛盾. 从而对于每个趋于
x
∗
x^*
x∗的可行序列
{
z
k
}
\{z_k\}
{zk}均有
f
(
z
k
)
≥
f
(
x
∗
)
+
(
σ
/
4
)
∥
z
k
−
x
∗
∥
2
,
k
充
分
大
.
f(z_k)\ge f(x^*)+(\sigma/4)\Vert z_k-x^*\Vert^2,\quad k充分大.
f(zk)≥f(x∗)+(σ/4)∥zk−x∗∥2,k充分大.因此
x
∗
x^*
x∗为严格局部解. 证毕.
例8 (例2, one more time) 我们再回到例2看看二阶条件如何. 问题中 f ( x ) = x 1 + x 2 , c 1 ( x ) = 2 − x 1 2 − x 2 2 , E = ∅ , I = { 1 } f(x)=x_1+x_2,c_1(x)=2-x_1^2-x_2^2,\mathcal{E}=\empty,\mathcal{I}=\{1\} f(x)=x1+x2,c1(x)=2−x12−x22,E=∅,I={1}. 此时Lagrange函数为 L ( x , λ ) = ( x 1 + x 2 ) − λ 1 ( 2 − x 1 2 − x 2 2 ) , \mathcal{L}(x,\lambda)=(x_1+x_2)-\lambda_1(2-x_1^2-x_2^2), L(x,λ)=(x1+x2)−λ1(2−x12−x22),可以验证在 x ∗ = ( − 1 , − 1 ) T x^*=(-1,-1)^T x∗=(−1,−1)T满足KKT条件, 乘子 λ 1 ∗ = 1 2 \lambda_1^*=\frac{1}{2} λ1∗=21. Lagrange函数在此点处的Hessian阵为 ∇ x x 2 L ( x ∗ , λ ∗ ) = [ 2 λ 1 ∗ 0 0 2 λ 1 ∗ ] = [ 1 0 0 1 ] . \nabla^2_{xx}\mathcal{L}(x^*,\lambda^*)=\begin{bmatrix}2\lambda_1^* & 0\\0 & 2\lambda_1^*\end{bmatrix}=\begin{bmatrix}1 & 0\\0 & 1\end{bmatrix}. ∇xx2L(x∗,λ∗)=[2λ1∗002λ1∗]=[1001].此阵正定, 从而必定满足定理7的条件. 于是我们得出 x ∗ = ( − 1 , − 1 ) T x^*=(-1,-1)^T x∗=(−1,−1)T为严格局部解的结论(事实上由于原问题为凸规划, 所以 x ∗ x^* x∗也是全局解).
例9 下面来看一个更加复杂的例子. 考虑 min   − 0.1 ( x 1 − 4 ) 2 + x 2 2 s . t .   x 1 2 + x 2 2 − 1 ≥ 0 , \min\,-0.1(x_1-4)^2+x_2^2\quad\mathrm{s.t.\,}x_1^2+x_2^2-1\ge0, min−0.1(x1−4)2+x22s.t.x12+x22−1≥0,即在一个单位圆盘的外部极小化一个非凸函数. 显然, 目标函数在可行域上是无下界的, 从而不存在全局解. 但我们仍可能在约束的边界找到严格的局部解. 我们的工具是一阶KKT条件和二阶充分性条件.
与之前一样我们定义Lagrange函数. 易验证 ∇ x L ( x , λ ) = [ − 0.2 ( x 1 − 4 ) − 2 λ 1 x 1 2 x 2 − 2 λ 1 x 2 ] , ∇ x x 2 L ( x , λ ) = [ − 0.2 − 2 λ 1 0 0 2 − 2 λ 1 ] . \nabla_x\mathcal{L}(x,\lambda)=\begin{bmatrix}-0.2(x_1-4)-2\lambda_1x_1\\2x_2-2\lambda_1x_2\end{bmatrix},\\\nabla^2_{xx}\mathcal{L}(x,\lambda)=\begin{bmatrix}-0.2-2\lambda_1 & 0\\0 & 2-2\lambda_1\end{bmatrix}. ∇xL(x,λ)=[−0.2(x1−4)−2λ1x12x2−2λ1x2],∇xx2L(x,λ)=[−0.2−2λ1002−2λ1].点 x ∗ = ( 1 , 0 ) T x^*=(1,0)^T x∗=(1,0)T满足 λ 1 ∗ = 0.3 \lambda_1^*=0.3 λ1∗=0.3的KKT条件, 积极集为 A ( x ∗ ) = { 1 } \mathcal{A}(x^*)=\{1\} A(x∗)={1}. 下面验证二阶条件. 由于 ∇ c 1 ( x ∗ ) = [ 2 0 ] , \nabla c_1(x^*)=\begin{bmatrix}2\\0\end{bmatrix}, ∇c1(x∗)=[20],所以临界锥 C ( x ∗ , λ ∗ ) = { ( 0 , w 2 ) T ∣ w 2 ∈ R } . \mathcal{C}(x^*,\lambda^*)=\{(0,w_2)^T\mid w_2\in\mathbb{R}\}. C(x∗,λ∗)={(0,w2)T∣w2∈R}.因此对 ∀ w ∈ C ( x ∗ , λ ∗ ) : w ≠ 0 \forall w\in\mathcal{C}(x^*,\lambda^*):w\ne0 ∀w∈C(x∗,λ∗):w̸=0, w T ∇ x x 2 L ( x ∗ , λ ∗ ) w = [ 0 w 2 ] T [ − 0.4 0 0 1.4 ] [ 0 w 2 ] = 1.4 w 2 2 > 0. w^T\nabla^2_{xx}\mathcal{L}(x^*,\lambda^*)w=\begin{bmatrix}0\\w_2\end{bmatrix}^T\begin{bmatrix}-0.4 & 0 \\ 0 & 1.4\end{bmatrix}\begin{bmatrix}0\\ w_2\end{bmatrix}=1.4w_2^2>0. wT∇xx2L(x∗,λ∗)w=[0w2]T[−0.4001.4][0w2]=1.4w22>0.因此由二阶充分性条件可得 ( 1 , 0 ) T (1,0)^T (1,0)T为严格局部解.
5.3 二阶条件与投影Hessian矩阵
我们在使用二阶条件时有时会偏向于一种更加弱化但更加实用的形式. 这一形式利用了Lagrange函数的Hessian矩阵 ∇ x x 2 L ( x ∗ , λ ∗ ) \nabla^2_{xx}\mathcal{L}(x^*,\lambda^*) ∇xx2L(x∗,λ∗), 将其双边投影到与 C ( x ∗ , λ ∗ ) \mathcal{C}(x^*,\lambda^*) C(x∗,λ∗)相关的子空间上.
最简单的情形是当满足KKT条件的乘子 λ ∗ \lambda^* λ∗唯一(例如满足LICQ条件)且成立严格互补松弛条件时. 此时 C ( x ∗ , λ ∗ ) \mathcal{C}(x^*,\lambda^*) C(x∗,λ∗)的定义简化为 C ( x ∗ , λ ∗ ) = ker [ ∇ c i ( x ∗ ) T ] i ∈ A ( x ∗ ) = ker A ( x ∗ ) . \mathcal{C}(x^*,\lambda^*)=\ker[\nabla c_i(x^*)^T]_{i\in\mathcal{A}(x^*)}=\ker A(x^*). C(x∗,λ∗)=ker[∇ci(x∗)T]i∈A(x∗)=kerA(x∗).换句话说, C ( x ∗ , λ ∗ ) \mathcal{C}(x^*,\lambda^*) C(x∗,λ∗)就是 A ( x ∗ ) A(x^*) A(x∗)的核空间. 与证明一阶条件时相同, 我们可以定义列满秩矩阵 Z Z Z使得 C ( x ∗ , λ ∗ ) = { Z u ∣ u ∈ R ∣ A ( x ∗ ) ∣ } , \mathcal{C}(x^*,\lambda^*)=\{Zu\mid u\in\mathbb{R}^{|\mathcal{A}(x^*)|}\}, C(x∗,λ∗)={Zu∣u∈R∣A(x∗)∣},即 Z Z Z的列向量组张成临界锥. 因此二阶必要性条件可重述为 u T Z T ∇ x x 2 L ( x ∗ , λ ∗ ) Z u ≥ 0 , ∀ u , u^TZ^T\nabla^2_{xx}\mathcal{L}(x^*,\lambda^*)Zu\ge0,\quad \forall u, uTZT∇xx2L(x∗,λ∗)Zu≥0,∀u,或者更简洁地, Z T ∇ x x 2 L ( x ∗ , λ ∗ ) Z 半 正 定 . Z^T\nabla^2_{xx}\mathcal{L}(x^*,\lambda^*)Z半正定. ZT∇xx2L(x∗,λ∗)Z半正定.类似地有二阶充分性条件的表述, 即将半正定性改成正定性. 下面我们说明, Z Z Z是可以数值计算出来的, 从而(半)正定性可通过计算矩阵特征值检验.
一种计算 Z Z Z的方式是利用 A ( x ∗ ) A(x^*) A(x∗)转置的QR分解. 在以上的最简情形下, 我们有 A ( x ∗ ) T = Q [ R O ] = [ Q 1 Q 2 ] [ R O ] = Q 1 R , A(x^*)^T=Q\begin{bmatrix}R\\O\end{bmatrix}=\begin{bmatrix}Q_1 & Q_2\end{bmatrix}\begin{bmatrix}R\\O\end{bmatrix}=Q_1R, A(x∗)T=Q[RO]=[Q1Q2][RO]=Q1R,其中 R R R为上三角阵, Q Q Q为 n × n n\times n n×n正交阵. 若 R R R非奇异, 我们可设 Z = Q 2 Z=Q_2 Z=Q2. 否则(说明LICQ不成立), 可在QR分解中加入列选主元的程序.
6. 其它的约束规范
我们现在再来考虑约束规范的问题. 在之前的论述中我们知道, 约束规范可保证线性近似把握 x ∗ x^* x∗附近邻域可行集的关键几何特征. 一种线性化可行方向集 F ( x ∗ ) \mathcal{F}(x^*) F(x∗)显然是实际可行集的适当表示的情形是, 所有的起作用约束均为线性, 即 c i ( x ) = a i T x + b i , c_i(x)=a_i^Tx+b_i, ci(x)=aiTx+bi,其中 a i ∈ R n , b i ∈ R a_i\in\mathbb{R}^n,b_i\in\mathbb{R} ai∈Rn,bi∈R. 我们依然可对此给出类似引理2般的引理.
引理8 设在某个 x ∗ ∈ Ω x^*\in\Omega x∗∈Ω, 所有的起作用约束 c i ( ⋅ ) , i ∈ A ( x ∗ ) c_i(\cdot),i\in\mathcal{A}(x^*) ci(⋅),i∈A(x∗)均为线性函数. 则有 F ( x ∗ ) = T Ω ( x ∗ ) \mathcal{F}(x^*)=T_{\Omega}(x^*) F(x∗)=TΩ(x∗).
证明: 根据引理2的第1条, 我们有 T Ω ( x ∗ ) ⊂ F ( x ∗ ) T_{\Omega}(x^*)\subset\mathcal{F}(x^*) TΩ(x∗)⊂F(x∗). 为证明 F ( x ∗ ) ⊂ T Ω ( x ∗ ) \mathcal{F}(x^*)\subset T_{\Omega}(x^*) F(x∗)⊂TΩ(x∗), 对 ∀ w ∈ F ( x ∗ ) \forall w\in\mathcal{F}(x^*) ∀w∈F(x∗), 我们要证 w ∈ T Ω ( x ∗ ) w\in T_{\Omega}(x^*) w∈TΩ(x∗), 也就需要构造可行序列. 由定义可知 F ( x ∗ ) = { d ∣ a i T d = 0 , i ∈ E , a i T d ≥ 0 , i ∈ A ( x ∗ ) ∩ I } . \mathcal{F}(x^*)=\left\{d\mid\begin{array}{ll}a_i^Td=0, & i\in\mathcal{E},\\a_i^Td\ge0, & i\in\mathcal{A}(x^*)\cap\mathcal{I}\end{array}\right\}. F(x∗)={d∣aiTd=0,aiTd≥0,i∈E,i∈A(x∗)∩I}.首先注意, 存在正数 t ˉ \bar{t} tˉ使得在 x ∗ + t w , ∀ t ∈ [ 0 , t ˉ ] x^*+tw,\forall t\in[0,\bar{t}] x∗+tw,∀t∈[0,tˉ]原本在 x ∗ x^* x∗不起作用的约束仍然不起作用, 即 c i ( x ∗ + t w ) > 0 , i ∈ I ∖ A ( x ∗ ) , ∀ t ∈ [ 0 , t ˉ ] . c_i(x^*+tw)>0,\quad i\in\mathcal{I}\setminus\mathcal{A}(x^*),\forall t\in[0,\bar{t}]. ci(x∗+tw)>0,i∈I∖A(x∗),∀t∈[0,tˉ].先定义序列 z k z_k zk为 z k = x ∗ + ( t ˉ / k ) w , k = 1 , 2 , … . z_k=x^*+(\bar{t}/k)w,\quad k=1,2,\ldots. zk=x∗+(tˉ/k)w,k=1,2,….由于 a i T w ≥ 0 , i ∈ I ∩ A ( x ∗ ) a_i^Tw\ge0,i\in\mathcal{I}\cap\mathcal{A}(x^*) aiTw≥0,i∈I∩A(x∗), 我们有 c i ( z k ) = c i ( z k ) − c i ( x ∗ ) = a i T ( z k − x ∗ ) = t ˉ k a i T w ≥ 0 , i ∈ I ∩ A ( x ∗ ) , c_i(z_k)=c_i(z_k)-c_i(x^*)=a_i^T(z_k-x^*)=\frac{\bar{t}}{k}a_i^Tw\ge0,\quad i\in\mathcal{I}\cap\mathcal{A}(x^*), ci(zk)=ci(zk)−ci(x∗)=aiT(zk−x∗)=ktˉaiTw≥0,i∈I∩A(x∗),从而 z k z_k zk对于在 x ∗ x^* x∗处起作用的不等式约束是可行的. 由 t ˉ \bar{t} tˉ的选取方式, 我们知道 z k z_k zk对于在 x ∗ x^* x∗处不起作用的不等式约束也可行, 且易验证 c i ( z k ) = 0 , i ∈ E c_i(z_k)=0,i\in\mathcal{E} ci(zk)=0,i∈E. 因此 z k , k = 1 , 2 , … z_k,k=1,2,\ldots zk,k=1,2,…可行. 另外, z k − x ∗ ( t ˉ / k ) = w , \frac{z_k-x^*}{(\bar{t}/k)}=w, (tˉ/k)zk−x∗=w,从而 w w w为 { z k } \{z_k\} {zk}的极限方向. 因此 w ∈ T Ω ( x ∗ ) w\in T_{\Omega}(x^*) w∈TΩ(x∗), 证毕.
我们由此得出结论: 所有起作用约束均为线性为另一个可行的约束规范. 它比之LICQ既不弱也不强, 即存在使得二者中只有一个成立而另一个不满足的情形(例子很好举).
LICQ有一种有用的推广形式: Mangasarian-Fromovitz约束规范(MFCQ).
定义6 (MFCQ) 我们称Mangasarian-Fromovitz约束规范(MFCQ)成立, 若存在向量 w ∈ R n w\in\mathbb{R}^n w∈Rn使得 ∇ c i ( x ∗ ) T w > 0 , i ∈ A ( x ∗ ) ∩ I , ∇ c i ( x ∗ ) T w = 0 , ∈ E , \begin{aligned}\nabla c_i(x^*)^Tw&>0,\quad i\in\mathcal{A}(x^*)\cap\mathcal{I},\\\nabla c_i(x^*)^Tw&=0,\quad \in\mathcal{E},\end{aligned} ∇ci(x∗)Tw∇ci(x∗)Tw>0,i∈A(x∗)∩I,=0,∈E,且等式约束的梯度集 { ∇ c i ( x ∗ ) , i ∈ E } \{\nabla c_i(x^*),i\in\mathcal{E}\} {∇ci(x∗),i∈E}线性无关.
注意: 与起作用不等式约束相关的是严格不等式条件.
MFCQ是比LICQ更弱的条件. 若LICQ成立, 则等式系统 ∇ c i ( x ∗ ) T w = 1 , i ∈ A ( x ∗ ) ∩ I , ∇ c i ( x ∗ ) T w = 0 , i ∈ E , \begin{aligned}\nabla c_i(x^*)^Tw&=1, \quad i\in\mathcal{A}(x^*)\cap\mathcal{I},\\\nabla c_i(x^*)^Tw&=0, \quad i\in\mathcal{E},\end{aligned} ∇ci(x∗)Tw∇ci(x∗)Tw=1,i∈A(x∗)∩I,=0,i∈E,有解 w w w. 因此可选定义6中的向量就是 w w w. 另一方面, 易构造MFCQ成立但LICQ不成立的例子. 如可行域定义为 ( x 1 − 1 ) 2 + ( x 2 − 1 ) 2 ≤ 2 , ( x 1 − 1 ) 2 + ( x 2 + 1 ) 2 ≤ 2 , x 1 ≥ 0. \begin{aligned}(x_1-1)^2+(x_2-1)^2&\le2,\\(x_1-1)^2+(x_2+1)^2&\le2,\\x_1&\ge0.\end{aligned} (x1−1)2+(x2−1)2(x1−1)2+(x2+1)2x1≤2,≤2,≥0.易验证在 x ∗ = ( 0 , 0 ) T x^*=(0,0)^T x∗=(0,0)T处MFCQ成立但LICQ不成立.
我们可以对MFCQ证明类似于定理1的一阶必要性条件. MFCQ具有良好的性质: 它等价于使KKT条件成立的Lagrange乘子 λ ∗ \lambda^* λ∗构成集合的有界性. (在LICQ成立的情形, 此集仅有一个元素, 必有界.)
切记约束规范只是线性近似的充分条件, 不是必要条件. 例如, 考虑集合 { x 2 ≥ − x 1 2 , x 2 ≤ x 1 2 } \{x_2\ge-x_1^2,x_2\le x_1^2\} {x2≥−x12,x2≤x12}以及可行点 x ∗ = ( 0 , 0 ) T x^*=(0,0)^T x∗=(0,0)T. 以上我们讨论过的所有约束规范在此点均不成立, 但线性近似 F ( x ∗ ) = { ( w 1 , 0 ) T ∣ w 1 ∈ R } \mathcal{F}(x^*)=\{(w_1,0)^T\mid w_1\in\mathbb{R}\} F(x∗)={(w1,0)T∣w1∈R}的的确确反映了可行集在 x ∗ x^* x∗附近的几何特性.
有关其他约束规范的介绍, 可见Regularity conditions.
7. 几何角度
最后, 我们再仅从可行集
Ω
\Omega
Ω的几何特性上给出一种替代的一阶最优性条件. 此条件不再依赖约束的代数表征. 一般, 约束问题可写作
min
f
(
x
)
s
.
t
.
 
x
∈
Ω
,
\min f(x)\quad \mathrm{s.t.\,}x\in\Omega,
minf(x)s.t.x∈Ω,其中
Ω
\Omega
Ω为可行集.
为给出"几何"的一阶条件, 我们需要定义
Ω
\Omega
Ω在可行点
x
x
x的法锥(normal cone).
定义7 集合 Ω \Omega Ω在 x ∈ Ω x\in\Omega x∈Ω处的法锥定义为 N Ω ( x ) = { v ∣ v T w ≤ 0 , ∀ w ∈ T Ω ( x ) } . N_{\Omega}(x)=\{v\mid v^Tw\le0,\forall w\in T_{\Omega}(x)\}. NΩ(x)={v∣vTw≤0,∀w∈TΩ(x)}.对每个 v ∈ N Ω ( x ) v\in N_{\Omega}(x) v∈NΩ(x), 我们称之为法向量(normal vector).
几何上, 任意法向量均与每个切向成至少 π / 2 \pi/2 π/2的角度. 下面给出几何一阶条件. 它的形式是相当简单的.
定理9 设 x ∗ x^* x∗为 f f f在 Ω \Omega Ω的局部极小点. 则 − ∇ f ( x ∗ ) ∈ N Ω ( x ∗ ) . -\nabla f(x^*)\in N_{\Omega}(x^*). −∇f(x∗)∈NΩ(x∗).证明: 给定任意 d ∈ T Ω ( x ∗ ) d\in T_{\Omega}(x^*) d∈TΩ(x∗), 我们有序列 { t k } , { z k } \{t_k\},\{z_k\} {tk},{zk}使得 z k ∈ Ω , z k = x ∗ + t k d + o ( t k ) , ∀ k . z_k\in\Omega,\quad z_k=x^*+t_kd+o(t_k),\forall k. zk∈Ω,zk=x∗+tkd+o(tk),∀k.由于 x ∗ x^* x∗为局部解, 所以必有 f ( z k ) ≥ f ( x ∗ ) , k 充 分 大 . f(z_k)\ge f(x^*), k充分大. f(zk)≥f(x∗),k充分大.因此, 由于 f f f连续可微, 由Taylor定理可知 f ( z k ) − f ( x ∗ ) = t k ∇ f ( x ∗ ) T d + o ( t k ) ≥ 0. f(z_k)-f(x^*)=t_k\nabla f(x^*)^Td+o(t_k)\ge0. f(zk)−f(x∗)=tk∇f(x∗)Td+o(tk)≥0.两边同除 t k t_k tk并令 k → ∞ k\to\infty k→∞, 得到 ∇ f ( x ∗ ) T d ≥ 0. \nabla f(x^*)^Td\ge0. ∇f(x∗)Td≥0.因 d d d是任取的, 所以 − ∇ f ( x ∗ ) T d ≤ 0 , ∀ d ∈ T Ω ( x ∗ ) -\nabla f(x^*)^Td\le0,\forall d\in T_{\Omega}(x^*) −∇f(x∗)Td≤0,∀d∈TΩ(x∗). 因此 − ∇ f ( x ∗ ) ∈ N Ω ( x ∗ ) -\nabla f(x^*)\in N_{\Omega}(x^*) −∇f(x∗)∈NΩ(x∗).
这一结论暗示了 N Ω ( x ∗ ) N_{\Omega}(x^*) NΩ(x∗)和由起作用约束的梯度锥组合而成的 N = { ∑ i ∈ A ( x ∗ ) λ i ∇ c i ( x ∗ ) , λ i ≥ 0 , i ∈ A ( x ∗ ) ∩ I } N=\left\{\sum_{i\in\mathcal{A}(x^*)}\lambda_i\nabla c_i(x^*),\quad \lambda_i\ge0,i\in\mathcal{A}(x^*)\cap\mathcal{I}\right\} N=⎩⎨⎧i∈A(x∗)∑λi∇ci(x∗),λi≥0,i∈A(x∗)∩I⎭⎬⎫之间的紧密联系. 特别地, 当LICQ成立, 这二者在相差一个符号时是相同的.
引理10 设LICQ在
x
∗
x^*
x∗成立. 于是法锥
N
Ω
(
x
∗
)
N_{\Omega}(x^*)
NΩ(x∗)就是
−
N
-N
−N.
证明: 由Farkas引理, 我们有
g
∈
N
⇒
g
T
d
≥
0
,
∀
d
∈
F
(
x
∗
)
.
g\in N\Rightarrow g^Td\ge0,\quad \forall d\in\mathcal{F}(x^*).
g∈N⇒gTd≥0,∀d∈F(x∗).因为
F
(
x
∗
)
=
T
Ω
(
x
∗
)
\mathcal{F}(x^*)=T_{\Omega}(x^*)
F(x∗)=TΩ(x∗), 所以
g
∈
−
N
⇒
g
T
d
≤
0
,
∀
d
∈
T
Ω
(
x
∗
)
.
g\in-N\Rightarrow g^Td\le0,\quad\forall d\in T_{\Omega}(x^*).
g∈−N⇒gTd≤0,∀d∈TΩ(x∗).由定义,
N
Ω
(
x
∗
)
=
−
N
N_{\Omega}(x^*)=-N
NΩ(x∗)=−N.
二者的关系可以这么理解: 由于 x ∗ x^* x∗为局部极小, 因此局部上(若负梯度不是0)沿着负梯度 − ∇ f ( x ∗ ) -\nabla f(x^*) −∇f(x∗)走可能会降低可行性. 尽管函数值是降低了, 但迭代点却变得不可行了.
8. Lagrange乘子和灵敏度分析
在最优性理论中Lagrange乘子的重要性不言而喻, 但它们还有什么直观上的意义呢? 本节我们将说明每个Lagrange乘子 λ i ∗ \lambda_i^* λi∗均告诉我们最优目标值 f ( x ∗ ) f(x^*) f(x∗)对于约束 c i c_i ci的灵敏度sensitivity如何. 或者说, λ i ∗ \lambda_i^* λi∗表示 f f f在约束 c i c_i ci下可改变解 x ∗ x^* x∗的程度.
我们仅作粗略分析.
- 对于不起作用的约束指标 i ̸ ∈ A ( x ∗ ) : c i ( x ∗ ) > 0 i\not\in\mathcal{A}(x^*):c_i(x^*)>0 i̸∈A(x∗):ci(x∗)>0, 解 x ∗ x^* x∗和函数值 f ( x ∗ ) f(x^*) f(x∗)对于此约束存在与否并不关心. 若我们稍微改变一点点 c i c_i ci(存在性也好, 参数也好), 它仍然是非积极的, x ∗ x^* x∗还是优化问题的局部解. 从互补松弛条件可知 λ i ∗ = 0 \lambda_i^*=0 λi∗=0, 因此Lagrange乘子明确地表示了第 i i i个约束并不重要.
- 对于起作用的约束指标 i i i, 稍稍改变此约束的右端, 比如将 c i ( x ) ≥ 0 c_i(x)\ge0 ci(x)≥0改成 c i ( x ) ≥ − ϵ ∥ ∇ c i ( x ∗ ) ∥ c_i(x)\ge-\epsilon\Vert\nabla c_i(x^*)\Vert ci(x)≥−ϵ∥∇ci(x∗)∥. 设 ϵ \epsilon ϵ充分小使得 x ∗ ( ϵ ) x^*(\epsilon) x∗(ϵ)仍具有相同的起作用约束集, 且Lagrange乘子并不为扰动所影响.(这些条件可用严格互补条件和二阶条件严格化.) 于是有 − ϵ ∥ ∇ c i ( x ∗ ) ∥ = c i ( x ∗ ( ϵ ) ) − c i ( x ∗ ) ≈ ( x ∗ ( ϵ ) − x ∗ ) T ∇ c i ( x ∗ ) , 0 = c j ( x ∗ ( ϵ ) ) − c j ( x ∗ ) ≈ ( x ∗ ( ϵ ) − x ∗ ) T ∇ c j ( x ∗ ) , ∀ j ∈ A ( x ∗ ) : j ≠ i . \begin{aligned}-\epsilon\Vert\nabla c_i(x^*)\Vert&=c_i(x^*(\epsilon))-c_i(x^*)\approx(x^*(\epsilon)-x^*)^T\nabla c_i(x^*),\\0&=c_j(x^*(\epsilon))-c_j(x^*)\approx(x^*(\epsilon)-x^*)^T\nabla c_j(x^*),\forall j\in\mathcal{A}(x^*):j\ne i.\end{aligned} −ϵ∥∇ci(x∗)∥0=ci(x∗(ϵ))−ci(x∗)≈(x∗(ϵ)−x∗)T∇ci(x∗),=cj(x∗(ϵ))−cj(x∗)≈(x∗(ϵ)−x∗)T∇cj(x∗),∀j∈A(x∗):j̸=i. f ( x ∗ ( ϵ ) ) f(x^*(\epsilon)) f(x∗(ϵ))亦可用一阶条件估计: f ( x ∗ ( ϵ ) ) − f ( x ∗ ) ≈ ( x ∗ ( ϵ ) − x ∗ ) T ∇ f ( x ∗ ) = ∑ j ∈ A ( x ∗ ) λ j ∗ ( x ∗ ( ϵ ) − x ∗ ) T ∇ c j ( x ∗ ) ≈ − ϵ ∥ ∇ c i ( x ∗ ) ∥ λ i ∗ . \begin{aligned}f(x^*(\epsilon))-f(x^*)&\approx(x^*(\epsilon)-x^*)^T\nabla f(x^*)\\&=\sum_{j\in\mathcal{A}(x^*)}\lambda_j^*(x^*(\epsilon)-x^*)^T\nabla c_j(x^*)\\&\approx-\epsilon\Vert\nabla c_i(x^*)\Vert\lambda_i^*.\end{aligned} f(x∗(ϵ))−f(x∗)≈(x∗(ϵ)−x∗)T∇f(x∗)=j∈A(x∗)∑λj∗(x∗(ϵ)−x∗)T∇cj(x∗)≈−ϵ∥∇ci(x∗)∥λi∗.取极限, 可知 d f ( x ∗ ( ϵ ) ) d ϵ = − λ i ∗ ∥ ∇ c i ( x ∗ ) ∥ . \frac{\mathrm{d}f(x^*(\epsilon))}{\mathrm{d}\epsilon}=-\lambda_i^*\Vert\nabla c_i(x^*)\Vert. dϵdf(x∗(ϵ))=−λi∗∥∇ci(x∗)∥.因此当 λ i ∗ ∥ ∇ c i ( x ∗ ) ∥ \lambda_i^*\Vert\nabla c_i(x^*)\Vert λi∗∥∇ci(x∗)∥越大, 最优值就对第 i i i个约束越敏感; 当此值很小, 就说明一阶上依赖性不高(这与对不起作用约束的分析是相容的).
关于灵敏度的分析催生了如下的定义, 它将根据乘子是否为0区分约束.
定义8 令 x ∗ x^* x∗为约束问题的解, 设KKT条件成立. 我们称 c i c_i ci强起作用(strongly active), 若 i ∈ A ( x ∗ ) i\in\mathcal{A}(x^*) i∈A(x∗)且 λ i ∗ > 0 , ∃ λ ∗ \lambda_i^*>0, \exists\lambda^* λi∗>0,∃λ∗满足KKT条件; 称 c i c_i ci弱起作用(weakly active), 若 i ∈ A ( x ∗ ) i\in\mathcal{A}(x^*) i∈A(x∗)且 λ i ∗ = 0 , ∀ λ ∗ \lambda_i^*=0,\forall\lambda^* λi∗=0,∀λ∗满足KKT条件.
注意上述分析不受单个约束的尺度影响. 例如, 我们可以改变问题中的第
i
i
i个约束的系数, 将
c
i
c_i
ci变成
10
c
i
10c_i
10ci. 此时问题是等价的, 但相应的最优乘子
λ
i
∗
\lambda_i^*
λi∗将变成
λ
i
∗
/
10
\lambda_i^*/10
λi∗/10. 同时
∥
∇
c
i
(
x
∗
)
∥
\Vert\nabla c_i(x^*)\Vert
∥∇ci(x∗)∥变成
10
∥
∇
c
i
(
x
∗
)
∥
10\Vert\nabla c_i(x^*)\Vert
10∥∇ci(x∗)∥, 这样乘积
λ
i
∗
∥
∇
c
i
(
x
∗
)
∥
\lambda_i^*\Vert\nabla c_i(x^*)\Vert
λi∗∥∇ci(x∗)∥不变.
若是改变目标函数的尺度, 例如将
f
f
f代为
10
f
10f
10f, 这样所有的
λ
i
∗
\lambda_i^*
λi∗均成
10
λ
i
∗
10\lambda_i^*
10λi∗. 此时
f
f
f对扰动的敏感程度增大为原来的10倍.
9. 对偶性
本节中, 我们介绍非线性优化对偶理论duality theory的一些基本知识. 此理论被用于发展一些重要的算法, 包括后面要讲到的增广Lagrange乘子算法(augmented Lagrangian algorithms). 事实上, 对偶理论不仅在非线性优化中存在, 它在非光滑的凸优化甚至是离散优化中也具有重要作用. 它在线性规划中的特殊性更是使它成为了该领域的核心.
对偶理论表明, 我们可以从定义原问题的函数和数据中构造替代的问题. 这一替代的"对偶dual"问题与原始primal问题紧密相关.
- 一些情况下, 对偶问题要比原始问题好计算好求解.
- 另有一些情况下, 对偶问题可用来获取原始问题目标函数的一个下界.
综上, 对偶问题也用于设计求解原始问题的算法中.
本节中的结论大多限制于特殊情形: 无等式约束, 目标 f f f和负的不等式约束 − c i -c_i −ci均为凸函数. 为简单起见, 我们假设有 m m m个不等式约束, 问题为 min x ∈ R n f ( x ) s . t .   c i ( x ) ≥ 0 , i = 1 , 2 , … , m . \min_{x\in\mathbb{R}^n}f(x)\quad\mathrm{s.t.\,}c_i(x)\ge0,i=1,2,\ldots,m. x∈Rnminf(x)s.t.ci(x)≥0,i=1,2,…,m.将约束组装进向量函数 c ( x ) = d e f ( c 1 ( x ) , c 2 ( x ) , … , c m ( x ) ) T , c(x)\xlongequal{def}(c_1(x),c_2(x),\ldots,c_m(x))^T, c(x)def(c1(x),c2(x),…,cm(x))T,我们可将问题写作 min x ∈ R n f ( x ) s . t .   c ( x ) ≥ 0 , \min_{x\in\mathbb{R}^n}f(x)\quad\mathrm{s.t.\,}c(x)\ge0, x∈Rnminf(x)s.t.c(x)≥0,此时Lagrange函数为 L ( x , λ ) = f ( x ) − λ T c ( x ) , \mathcal{L}(x,\lambda)=f(x)-\lambda^Tc(x), L(x,λ)=f(x)−λTc(x),其中 λ ∈ R m \lambda\in\mathbb{R}^m λ∈Rm. 我们定义对偶目标函数(dual objective function) q : R n → R q:\mathbb{R}^n\to\mathbb{R} q:Rn→R为 q ( λ ) = d e f inf x L ( x , λ ) . q(\lambda)\xlongequal{def}\inf_x\mathcal{L}(x,\lambda). q(λ)defxinfL(x,λ).许多问题中, 对于某些 λ \lambda λ的取值, 这一下确界为 − ∞ -\infty −∞. 我们可定义 q q q的定义域为使 q q q取有限数的 λ \lambda λ: D = d e f { λ ∣ q ( λ ) > − ∞ } . \mathcal{D}\xlongequal{def}\{\lambda\mid q(\lambda)>-\infty\}. Ddef{λ∣q(λ)>−∞}.注意计算下确界需要求得对于给定 λ \lambda λ函数 L ( ⋅ , λ ) \mathcal{L}(\cdot,\lambda) L(⋅,λ)的全局极小点. 这在实际操作中是很难做到的. 但当 f , − c i f,-c_i f,−ci均为凸函数且 λ ≥ 0 \lambda\ge0 λ≥0(我们最关注的区域)时, L ( ⋅ , λ ) \mathcal{L}(\cdot,\lambda) L(⋅,λ)也是凸的. 此时所有的局部极小点均是全局极小点, 从而 q ( λ ) q(\lambda) q(λ)的计算也变得可以想象.
对偶问题定义为 max λ ∈ R n q ( λ ) s . t .   λ ≥ 0. \max_{\lambda\in\mathbb{R}^n}q(\lambda)\quad\mathrm{s.t.\,}\lambda\ge0. λ∈Rnmaxq(λ)s.t.λ≥0.
例10 考虑问题 min ( x 1 , x 2 ) 0.5 ( x 1 2 + x 2 2 ) s . t .   x 1 − 1 ≥ 0. \min_{(x_1,x_2)}0.5(x_1^2+x_2^2)\quad\mathrm{s.t.\,}x_1-1\ge0. (x1,x2)min0.5(x12+x22)s.t.x1−1≥0.其对应的Lagrange函数为 L ( x 1 , x 2 , λ 1 ) = 0.5 ( x 1 2 + x 2 2 ) − λ 1 ( x 1 − 1 ) . \mathcal{L}(x_1,x_2,\lambda_1)=0.5(x_1^2+x_2^2)-\lambda_1(x_1-1). L(x1,x2,λ1)=0.5(x12+x22)−λ1(x1−1).若固定 λ 1 \lambda_1 λ1, 这就是 ( x 1 , x 2 ) T (x_1,x_2)^T (x1,x2)T的一个凸函数. 因此下确界在偏导为0时取得, 即 x 1 − λ 1 = 0 , x 2 = 0. x_1-\lambda_1=0,\quad x_2=0. x1−λ1=0,x2=0.代入可得 q ( λ 1 ) = − 0.5 λ 1 2 + λ 1 . q(\lambda_1)=-0.5\lambda_1^2+\lambda_1. q(λ1)=−0.5λ12+λ1.因此对偶问题为 max λ 1 ≥ 0 − 0.5 λ 1 2 + λ 1 , \max_{\lambda_1\ge0}-0.5\lambda_1^2+\lambda_1, λ1≥0max−0.5λ12+λ1,显然对偶问题的解是 λ 1 = 1 \lambda_1=1 λ1=1.
下面我们将展示对偶问题是如何与原问题相关联的. 我们的第一个结果是 q q q的凹性.
定理11 函数
q
q
q为凹函数且其定义域
D
\mathcal{D}
D是凸集.
证明: 对任意
λ
0
,
λ
1
∈
R
m
\lambda^0,\lambda^1\in\mathbb{R}^m
λ0,λ1∈Rm,
∀
x
∈
R
n
\forall x\in\mathbb{R}^n
∀x∈Rn,
∀
α
∈
[
0
,
1
]
\forall\alpha\in[0,1]
∀α∈[0,1], 我们有
L
(
x
,
(
1
−
α
)
λ
0
+
α
λ
1
)
=
(
1
−
α
)
L
(
x
,
λ
0
)
+
α
L
(
x
,
λ
1
)
.
\mathcal{L}(x,(1-\alpha)\lambda^0+\alpha\lambda^1)=(1-\alpha)\mathcal{L}(x,\lambda^0)+\alpha\mathcal{L}(x,\lambda^1).
L(x,(1−α)λ0+αλ1)=(1−α)L(x,λ0)+αL(x,λ1).两边取下确界并利用下确界的性质可得
q
(
(
1
−
α
)
λ
0
+
α
λ
1
)
≥
(
1
−
α
)
q
(
λ
0
)
+
α
q
(
λ
1
)
,
q((1-\alpha)\lambda^0+\alpha\lambda^1)\ge(1-\alpha)q(\lambda^0)+\alpha q(\lambda^1),
q((1−α)λ0+αλ1)≥(1−α)q(λ0)+αq(λ1),这就证明了
q
q
q的凹性. 若
λ
0
,
λ
1
∈
D
\lambda^0,\lambda^1\in\mathcal{D}
λ0,λ1∈D, 则此不等式就表明
q
(
(
1
−
α
)
λ
0
+
α
λ
1
)
>
−
∞
q((1-\alpha)\lambda^0+\alpha\lambda^1)>-\infty
q((1−α)λ0+αλ1)>−∞, 这样
(
1
−
α
)
λ
0
+
α
λ
1
∈
D
(1-\alpha)\lambda^0+\alpha\lambda^1\in\mathcal{D}
(1−α)λ0+αλ1∈D, 证明了
D
\mathcal{D}
D的凸性.
定理12 (弱对偶性, weak duality) 对于原始问题的任意可行
x
ˉ
\bar{x}
xˉ和任意
λ
ˉ
≥
0
\bar{\lambda}\ge0
λˉ≥0, 我们有
q
(
λ
ˉ
)
≤
f
(
x
ˉ
)
q(\bar{\lambda})\le f(\bar{x})
q(λˉ)≤f(xˉ).
证明:
q
(
λ
ˉ
)
=
inf
x
f
(
x
)
−
λ
ˉ
T
c
(
x
)
≤
f
(
x
ˉ
)
−
λ
ˉ
T
c
(
x
ˉ
)
≤
f
(
x
ˉ
)
,
q(\bar{\lambda})=\inf_xf(x)-\bar{\lambda}^Tc(x)\le f(\bar{x})-\bar{\lambda}^Tc(\bar{x})\le f(\bar{x}),
q(λˉ)=xinff(x)−λˉTc(x)≤f(xˉ)−λˉTc(xˉ)≤f(xˉ),最后的不等式是因为
λ
ˉ
≥
0
,
c
(
x
ˉ
)
≥
0
\bar{\lambda}\ge0,c(\bar{x})\ge0
λˉ≥0,c(xˉ)≥0.
之后我们将KKT条件写成
∇
f
(
x
ˉ
)
−
∇
c
(
x
ˉ
)
λ
ˉ
=
0
,
c
(
x
ˉ
)
≥
0
,
λ
ˉ
≥
0
,
λ
ˉ
i
c
i
(
x
ˉ
)
=
0
,
i
=
1
,
2
,
…
,
m
,
\begin{aligned}\nabla f(\bar{x})-\nabla c(\bar{x})\bar{\lambda}&=0,\\c(\bar{x})&\ge0,\\\bar{\lambda}&\ge0,\\\bar{\lambda}_ic_i(\bar{x})&=0,\quad i=1,2,\ldots,m,\end{aligned}
∇f(xˉ)−∇c(xˉ)λˉc(xˉ)λˉλˉici(xˉ)=0,≥0,≥0,=0,i=1,2,…,m,其中
∇
c
(
x
)
\nabla c(x)
∇c(x)为
n
×
m
n\times m
n×m矩阵:
∇
c
(
x
)
=
[
∇
c
1
(
x
)
,
∇
c
2
(
x
)
,
…
,
∇
c
m
(
x
)
]
\nabla c(x)=[\nabla c_1(x),\nabla c_2(x),\ldots,\nabla c_m(x)]
∇c(x)=[∇c1(x),∇c2(x),…,∇cm(x)].
下面的定理表明原始问题的最优Lagrange乘子在一定条件下就是对偶问题的解.
定理13 设 x ˉ \bar{x} xˉ为原始问题的解, 且 f , − c i , i = 1 , 2 , … , m f,-c_i,i=1,2,\ldots,m f,−ci,i=1,2,…,m均为 R n \mathbb{R}^n Rn上的凸函数. 它们在 x ˉ \bar{x} xˉ处可微. 则对任一满足KKT条件的 ( x ˉ , λ ˉ ) (\bar{x},\bar{\lambda}) (xˉ,λˉ), 其中的 λ ˉ \bar{\lambda} λˉ为对偶问题的解.
证明: 设 ( x ˉ , λ ˉ ) (\bar{x},\bar{\lambda}) (xˉ,λˉ)满足KKT条件. 由 λ ˉ ≥ 0 \bar{\lambda}\ge0 λˉ≥0得 L ( ⋅ , λ ˉ ) \mathcal{L}(\cdot,\bar{\lambda}) L(⋅,λˉ)为可微的凸函数. 因此对任意 x x x, 我们有 L ( x , λ ˉ ) ≥ L ( x ˉ , λ ˉ ) + ∇ x L ( x ˉ , λ ˉ ) T ( x − x ˉ ) = L ( x ˉ , λ ˉ ) . \mathcal{L}(x,\bar{\lambda})\ge\mathcal{L}(\bar{x},\bar{\lambda})+\nabla_x\mathcal{L}(\bar{x},\bar{\lambda})^T(x-\bar{x})=\mathcal{L}(\bar{x},\bar{\lambda}). L(x,λˉ)≥L(xˉ,λˉ)+∇xL(xˉ,λˉ)T(x−xˉ)=L(xˉ,λˉ).因此就有 q ( λ ˉ ) = inf x L ( x , λ ˉ ) = L ( x ˉ , λ ˉ ) = f ( x ˉ ) − λ ˉ T c ( x ˉ ) = f ( x ˉ ) , q(\bar{\lambda})=\inf_x\mathcal{L}(x,\bar{\lambda})=\mathcal{L}(\bar{x},\bar{\lambda})=f(\bar{x})-\bar{\lambda}^Tc(\bar{x})=f(\bar{x}), q(λˉ)=xinfL(x,λˉ)=L(xˉ,λˉ)=f(xˉ)−λˉTc(xˉ)=f(xˉ),其中最后一个等号来自于互补松弛条件. 由定理12, 我们知道 q ( λ ) ≤ f ( x ˉ ) , ∀ λ ≥ 0 q(\lambda)\le f(\bar{x}),\forall\lambda\ge0 q(λ)≤f(xˉ),∀λ≥0. 于是从 q ( λ ˉ ) = f ( x ˉ ) q(\bar{\lambda})=f(\bar{x}) q(λˉ)=f(xˉ)立刻就知道 λ ˉ \bar{\lambda} λˉ为对偶问题的解.
注意若在 x ˉ \bar{x} xˉ处函数(目标、约束)均可微且有一约束规范成立, 则由定理1即知必存在最优的Lagrange乘子.
在例10中, 我们知道 λ 1 = 1 \lambda_1=1 λ1=1为既是原始问题的最优Lagrange乘子也是对偶问题的解. 并且两个问题的最优值均为0.5. 这与定理13的结论相符.
下面我们证明定理13的一个部分逆命题: 对偶问题的解有时候能用来推出原始问题的解. 这其中最关键的条件是对于某个特定的 λ ^ \hat{\lambda} λ^, L ( ⋅ , λ ^ ) \mathcal{L}(\cdot,\hat{\lambda}) L(⋅,λ^)是严格凸函数. 这在 f , − c i f,-c_i f,−ci均为凸的前提下, f f f严格凸(例10)或者对于某个 λ ^ i > 0 \hat{\lambda}_i>0 λ^i>0约束 − c i -c_i −ci严格凸时是成立的.
定理14 设
f
,
−
c
i
,
i
=
1
,
2
,
…
,
m
f,-c_i,i=1,2,\ldots,m
f,−ci,i=1,2,…,m在
R
n
\mathbb{R}^n
Rn上为凸函数且连续可微. 设
x
ˉ
\bar{x}
xˉ为原始问题的解且在
x
ˉ
\bar{x}
xˉ处LICQ成立. 设
λ
^
\hat{\lambda}
λ^为对偶问题的解且
inf
x
L
(
x
,
λ
^
)
\inf_x\mathcal{L}(x,\hat{\lambda})
infxL(x,λ^)在
x
^
\hat{x}
x^处达到. 进一步,
L
(
⋅
,
λ
^
)
\mathcal{L}(\cdot,\hat{\lambda})
L(⋅,λ^)为一严格凸函数. 于是
x
ˉ
=
x
^
\bar{x}=\hat{x}
xˉ=x^, 即
x
^
\hat{x}
x^为原始问题的唯一解, 且
f
(
x
ˉ
)
=
L
(
x
^
,
λ
^
)
f(\bar{x})=\mathcal{L}(\hat{x},\hat{\lambda})
f(xˉ)=L(x^,λ^).
证明: 反证, 假设
x
ˉ
≠
x
^
\bar{x}\ne\hat{x}
xˉ̸=x^. 于是从定理1可知, 因LICQ成立, 存在满足KKT条件的
λ
ˉ
\bar{\lambda}
λˉ. 从定理13知,
λ
ˉ
\bar{\lambda}
λˉ同样是对偶问题的解, 因此
L
(
x
ˉ
,
λ
ˉ
)
=
q
(
λ
)
=
q
(
λ
^
)
=
L
(
x
^
,
λ
^
)
.
\mathcal{L}(\bar{x},\bar{\lambda})=q(\lambda)=q(\hat{\lambda})=\mathcal{L}(\hat{x},\hat{\lambda}).
L(xˉ,λˉ)=q(λ)=q(λ^)=L(x^,λ^).因为
x
^
=
arg
min
x
L
(
x
,
λ
^
)
\hat{x}=\arg\min_x\mathcal{L}(x,\hat{\lambda})
x^=argminxL(x,λ^), 因此
∇
x
L
(
x
^
,
λ
^
)
=
0
\nabla_x\mathcal{L}(\hat{x},\hat{\lambda})=0
∇xL(x^,λ^)=0. 进一步由
L
(
⋅
,
λ
^
)
\mathcal{L}(\cdot,\hat{\lambda})
L(⋅,λ^)的严格凸性, 我们有
L
(
x
ˉ
,
λ
^
)
−
L
(
x
^
,
λ
^
)
>
∇
x
L
(
x
^
,
λ
^
)
T
(
x
ˉ
−
x
^
)
=
0.
\mathcal{L}(\bar{x},\hat{\lambda})-\mathcal{L}(\hat{x},\hat{\lambda})>\nabla_x\mathcal{L}(\hat{x},\hat{\lambda})^T(\bar{x}-\hat{x})=0.
L(xˉ,λ^)−L(x^,λ^)>∇xL(x^,λ^)T(xˉ−x^)=0.因此
L
(
x
ˉ
,
λ
^
)
>
L
(
x
^
,
λ
^
)
=
L
(
x
ˉ
,
λ
ˉ
)
,
\mathcal{L}(\bar{x},\hat{\lambda})>\mathcal{L}(\hat{x},\hat{\lambda})=\mathcal{L}(\bar{x},\bar{\lambda}),
L(xˉ,λ^)>L(x^,λ^)=L(xˉ,λˉ),特别地,
−
λ
^
T
c
(
x
ˉ
)
>
−
λ
ˉ
T
c
(
x
ˉ
)
=
0.
-\hat{\lambda}^Tc(\bar{x})>-\bar{\lambda}^Tc(\bar{x})=0.
−λ^Tc(xˉ)>−λˉTc(xˉ)=0.这与
λ
^
≥
0
,
c
(
x
ˉ
)
≥
0
\hat{\lambda}\ge0,c(\bar{x})\ge0
λ^≥0,c(xˉ)≥0矛盾. 因此
x
^
=
x
ˉ
\hat{x}=\bar{x}
x^=xˉ. 证毕.
在例10中, 在对偶解 λ 1 = 1 \lambda_1=1 λ1=1处, L ( x 1 , x 2 , λ 1 ) \mathcal{L}(x_1,x_2,\lambda_1) L(x1,x2,λ1)的下确界在 ( x 1 , x 2 ) = ( 1 , 0 ) (x_1,x_2)=(1,0) (x1,x2)=(1,0)取到, 而这即是原始问题的解.
一种稍微不同的、便于计算的对偶形式——Wolfe对偶——如下: max x , λ L ( x , λ ) s u b j e c t   t o   ∇ x L ( x , λ ) = 0 , λ ≥ 0. \begin{array}{ll}\max_{x,\lambda} & \mathcal{L}(x,\lambda)\\\mathrm{subject\,to\,}&\nabla_x\mathcal{L}(x,\lambda)=0,\quad\lambda\ge0.\end{array} maxx,λsubjecttoL(x,λ)∇xL(x,λ)=0,λ≥0.下面的定理阐述了Wolfe对偶与原始问题的关系.
定理15 设 f , − c i , i = 1 , 2 , … , m f,-c_i,i=1,2,\ldots,m f,−ci,i=1,2,…,m为 R n \mathbb{R}^n Rn上连续可微的凸函数. 设 ( x ˉ , λ ˉ ) (\bar{x},\bar{\lambda}) (xˉ,λˉ)为原始问题的解对, 且LICQ成立. 则 ( x ˉ , λ ˉ ) (\bar{x},\bar{\lambda}) (xˉ,λˉ)亦为Wolfe对偶问题的解.
证明: 由KKT条件我们知道 ( x ˉ , λ ˉ ) (\bar{x},\bar{\lambda}) (xˉ,λˉ)满足Wolfe对偶问题的约束条件, 且 L ( x ˉ , λ ˉ ) = f ( x ˉ ) \mathcal{L}(\bar{x},\bar{\lambda})=f(\bar{x}) L(xˉ,λˉ)=f(xˉ). 因此对于任意满足约束的 ( x , λ ) (x,\lambda) (x,λ), 我们有 L ( x ˉ , λ ˉ ) = f ( x ˉ ) ≥ f ( x ˉ ) − λ T c ( x ˉ ) = L ( x ˉ , λ ) ≥ L ( x , λ ) + ∇ x L ( x , λ ) T ( x ˉ − x ) = L ( x , λ ) . \begin{aligned}\mathcal{L}(\bar{x},\bar{\lambda})&=f(\bar{x})\\&\ge f(\bar{x})-\lambda^Tc(\bar{x})\\&=\mathcal{L}(\bar{x},\lambda)\\&\ge\mathcal{L}(x,\lambda)+\nabla_x\mathcal{L}(x,\lambda)^T(\bar{x}-x)\\&=\mathcal{L}(x,\lambda).\end{aligned} L(xˉ,λˉ)=f(xˉ)≥f(xˉ)−λTc(xˉ)=L(xˉ,λ)≥L(x,λ)+∇xL(x,λ)T(xˉ−x)=L(x,λ).证毕.
例11 (线性规划) 约束问题的一种重要特例就是线性规划问题 min c T x s . t .   A x − b ≥ 0 , \min c^Tx\quad\mathrm{s.t.\,}Ax-b\ge0, mincTxs.t.Ax−b≥0,这样对偶目标函数为 q ( λ ) = inf x [ c T x − λ T ( A x − b ) ] = inf x [ ( c − A T λ ) T x + b T λ ] . q(\lambda)=\inf_x\left[c^Tx-\lambda^T(Ax-b)\right]=\inf_x\left[(c-A^T\lambda)^Tx+b^T\lambda\right]. q(λ)=xinf[cTx−λT(Ax−b)]=xinf[(c−ATλ)Tx+bTλ].若 c − A T λ ≠ 0 c-A^T\lambda\ne0 c−ATλ̸=0, 则此下确界显然为 − ∞ -\infty −∞. 当 c − A T λ = 0 c-A^T\lambda=0 c−ATλ=0时, q ( λ ) = b T λ q(\lambda)=b^T\lambda q(λ)=bTλ. 为极大化 q q q, 我们需要排除掉 c − A T λ ≠ 0 c-A^T\lambda\ne0 c−ATλ̸=0的 λ \lambda λ. 因此可将对偶问题写作 max λ b T λ s . t .   A T λ = c , λ ≥ 0. \max_{\lambda}b^T\lambda\quad\mathrm{s.t.\,}A^T\lambda=c,\lambda\ge0. λmaxbTλs.t.ATλ=c,λ≥0.而Wolfe对偶问题可写作 max λ c T x − λ T ( A x − b ) s . t .   A T λ = c , λ ≥ 0 , \max_{\lambda}c^Tx-\lambda^T(Ax-b)\quad\mathrm{s.t.\,}A^T\lambda=c,\lambda\ge0, λmaxcTx−λT(Ax−b)s.t.ATλ=c,λ≥0,事实上将 A T λ = c A^T\lambda=c ATλ=c代入即得最初的对偶问题. 对于某些矩阵 A A A, 对偶问题要比原始问题更加易于计算. 我们将之放在下一章中讨论.
例12 (凸二次规划) 考虑 min 1 2 x T G x + c T x s . t .   A x − b ≥ 0 , \min\frac{1}{2}x^TGx+c^Tx\quad\mathrm{s.t.\,}Ax-b\ge0, min21xTGx+cTxs.t.Ax−b≥0,其中 G G G为对称正定矩阵. 此问题的对偶目标函数为 q ( λ ) = inf x L ( x , λ ) = inf x 1 2 x T G x + c T x − λ T ( A x − b ) . q(\lambda)=\inf_x\mathcal{L}(x,\lambda)=\inf_x\frac{1}{2}x^TGx+c^Tx-\lambda^T(Ax-b). q(λ)=xinfL(x,λ)=xinf21xTGx+cTx−λT(Ax−b).因为 G G G正定, 因此 L ( ⋅ , λ ) \mathcal{L}(\cdot,\lambda) L(⋅,λ)为严格凸二次函数, 下确界在 ∇ x L ( x , λ ) = 0 \nabla_x\mathcal{L}(x,\lambda)=0 ∇xL(x,λ)=0处取得, 即 G x + c − A T λ = 0. Gx+c-A^T\lambda=0. Gx+c−ATλ=0.利用此式将 x x x消去, 得到对偶目标函数为 q ( λ ) = − 1 2 ( A T λ − c ) T G − 1 ( A T λ − c ) T + b T λ . q(\lambda)=-\frac{1}{2}(A^T\lambda-c)^TG^{-1}(A^T\lambda-c)^T+b^T\lambda. q(λ)=−21(ATλ−c)TG−1(ATλ−c)T+bTλ.另外, Wolfe对偶问题为 max ( λ , x ) 1 2 x T G x + c T x − λ T ( A x − b ) s u b j e c t   t o   G x + c − A T λ = 0 , λ ≥ 0. \begin{array}{ll}\max_{(\lambda,x)} & \frac{1}{2}x^TGx+c^Tx-\lambda^T(Ax-b)\\\mathrm{subject\,to\,} & Gx+c-A^T\lambda=0,\quad\lambda\ge0.\end{array} max(λ,x)subjectto21xTGx+cTx−λT(Ax−b)Gx+c−ATλ=0,λ≥0.由约束可得 ( c − A T λ ) T x = − x T G x (c-A^T\lambda)^Tx=-x^TGx (c−ATλ)Tx=−xTGx, 于是上述等价于 − max ( λ , x ) − 1 2 x T G x + λ T b , s . t .   G x + c − A T λ = 0 , λ ≥ 0. -\max_{(\lambda,x)}-\frac{1}{2}x^TGx+\lambda^Tb,\quad\mathrm{s.t.\,}Gx+c-A^T\lambda=0,\lambda\ge0. −(λ,x)max−21xTGx+λTb,s.t.Gx+c−ATλ=0,λ≥0.从这可看出, 目标函数是凹的. 事实上, 在二次规划中, Wolfe对偶仅需 G G G的半正定性.