1 Introduction
在4.1节,我们回顾了对偶的原理、如何构建、作用,在4.2继续应用对偶条件,尤其是强对偶条件,帮助我们分析和解决优化问题。
2 Certificate of suboptimality
对于标准的优化问题:
{
m
i
n
f
0
(
x
)
,
x
∈
R
n
s
u
b
f
i
(
x
)
≤
0
,
i
=
1
,
.
.
.
m
h
i
(
x
)
=
0
,
i
=
1
,
.
.
.
,
p
\left \{ \begin{aligned} & min \quad & f_0(x), x \in R^n \\ & sub \quad & f_i(x) \leq 0, i=1,...m \\ & \quad & h_i(x) =0,i=1,...,p \end{aligned} \right.
⎩⎪⎨⎪⎧minsubf0(x),x∈Rnfi(x)≤0,i=1,...mhi(x)=0,i=1,...,p
拉格朗日方程
L
(
x
,
λ
,
ν
)
=
f
0
(
x
)
+
∑
i
m
λ
i
f
i
(
x
)
+
∑
i
p
ν
i
h
i
(
x
)
L(x, \lambda, \nu)=f_0(x)+\sum \limits_i^{m} \lambda_if_i(x)+ \sum \limits_i^p\nu_ih_i(x)
L(x,λ,ν)=f0(x)+i∑mλifi(x)+i∑pνihi(x)
对偶形式方程
g
(
λ
,
ν
)
=
i
n
f
x
L
(
x
,
λ
,
ν
)
g(\lambda, \nu)=\mathop{inf} \limits_x L(x, \lambda, \nu)
g(λ,ν)=xinfL(x,λ,ν)
假定
x
∗
是
最
优
解
,
p
∗
=
f
0
(
x
∗
)
x^*是最优解,p^*=f_0(x^*)
x∗是最优解,p∗=f0(x∗); 而
x
^
∗
、
λ
^
∗
、
ν
^
∗
\hat{x}^*、\hat{\lambda}^*、\hat{\nu}^*
x^∗、λ^∗、ν^∗是通过迭代计算的估计值,有下面的关系
f
0
(
x
)
−
p
∗
≤
f
0
(
x
)
−
g
(
λ
^
∗
,
ν
^
∗
)
∣
f
0
(
x
^
∗
)
−
p
∗
∣
≤
∣
f
0
(
x
^
∗
)
−
g
(
λ
^
∗
,
ν
^
∗
)
∣
≤
ε
\begin{aligned} f_0(x)-p^* & \leq f_0(x)-g(\hat{\lambda}^*, \hat{\nu}^*) \\ |f_0(\hat{x}^*)-p^*| & \leq |f_0(\hat{x}^*)-g(\hat{\lambda}^*, \hat{\nu}^*)| \leq \varepsilon \end{aligned}
f0(x)−p∗∣f0(x^∗)−p∗∣≤f0(x)−g(λ^∗,ν^∗)≤∣f0(x^∗)−g(λ^∗,ν^∗)∣≤ε
当迭代的时候,误差小于限制时,认为结束。但如果并不是强对偶,
ε
\varepsilon
ε并不容易确定到底是多少。
用
这
种
方
法
进
行
评
估
预
测
值
的
误
差
,
一
般
也
是
应
用
在
强
对
偶
条
件
下
。
\color{red}{用这种方法进行评估预测值的误差,一般也是应用在强对偶条件下。}
用这种方法进行评估预测值的误差,一般也是应用在强对偶条件下。
3 complementary slackness
3.1 定义
原问题转换成对偶问题后,很自然会对两个问题中的最优解
x
∗
→
(
λ
∗
,
ν
∗
)
x^* \to (\lambda^*, \nu^*)
x∗→(λ∗,ν∗)之间的联系产生兴趣。
f
0
(
x
∗
)
≥
g
(
λ
∗
,
ν
∗
)
≥
i
n
f
x
(
L
(
x
,
λ
∗
,
ν
∗
)
)
≥
i
n
f
x
(
f
0
(
x
)
+
∑
i
m
λ
i
∗
f
i
(
x
)
+
∑
i
p
ν
i
∗
h
i
(
x
)
)
≥
f
0
(
x
∗
)
+
i
n
f
x
(
∑
i
m
λ
i
∗
f
i
(
x
)
)
\begin{aligned} f_0(x^*) &\geq g(\lambda^*, \nu^*) \\ &\geq \mathop{inf} \limits_x(L(x, \lambda^*, \nu^*)) \\ & \geq \mathop{inf} \limits_x (f_0(x)+\sum \limits_i^{m} \lambda_i^*f_i(x)+ \sum \limits_i^p\nu_i^*h_i(x)) \\ & \geq f_0(x^*)+\mathop{inf} \limits_x(\sum \limits_i^{m} \lambda_i^*f_i(x)) \end{aligned}
f0(x∗)≥g(λ∗,ν∗)≥xinf(L(x,λ∗,ν∗))≥xinf(f0(x)+i∑mλi∗fi(x)+i∑pνi∗hi(x))≥f0(x∗)+xinf(i∑mλi∗fi(x))
此时,显而易见如果问题满足强对偶条件,则下列条件成立
λ
1
∗
f
1
(
x
)
=
.
.
.
=
λ
m
∗
f
m
(
x
)
=
0
i
n
f
x
(
L
(
x
,
λ
∗
,
ν
∗
)
)
=
L
(
x
∗
,
λ
∗
,
ν
∗
)
\begin{aligned} \lambda_1^*f_1(x)=...=\lambda_m^*f_m(x)=0 \\ \mathop{inf} \limits_{x}(L(x,\lambda^*, \nu^*))=L(x^*,\lambda^*, \nu^*) \end{aligned}
λ1∗f1(x)=...=λm∗fm(x)=0xinf(L(x,λ∗,ν∗))=L(x∗,λ∗,ν∗)
这其实就是KKT条件,其中一个条件1就是complementary slackness.
指
的
是
如
果
优
化
问
题
满
足
强
对
偶
条
件
,
则
λ
1
∗
f
1
(
x
)
=
.
.
.
=
λ
m
∗
f
m
(
x
)
=
0
\color{red}指的是如果优化问题满足强对偶条件,则\lambda_1^*f_1(x)=...=\lambda_m^*f_m(x)=0
指的是如果优化问题满足强对偶条件,则λ1∗f1(x)=...=λm∗fm(x)=0
3.2 应用
p
)
{
m
i
n
c
T
x
s
u
b
A
x
≤
b
x
≥
0
→
d
)
{
m
i
n
b
T
λ
s
u
b
A
T
λ
≥
c
λ
≥
0
p) \left \{ \begin{aligned} & min \quad & c^Tx \\ & sub \quad & Ax \leq b \\ & \quad & x \geq 0 \end{aligned} \right. \quad \to \quad d) \left \{ \begin{aligned} & min \quad & b^T\lambda \\ & sub \quad & A^T\lambda\geq c \\ & \quad & \lambda \geq 0 \end{aligned} \right.
p)⎩⎪⎨⎪⎧minsubcTxAx≤bx≥0→d)⎩⎪⎨⎪⎧minsubbTλATλ≥cλ≥0
给具体的数值
c
=
[
1
−
2
3
]
A
=
[
1
1
−
2
2
−
1
−
3
1
1
5
]
b
=
[
1
4
2
]
c= \begin{bmatrix} 1 \\ -2 \\ 3 \end{bmatrix} \quad A= \begin{bmatrix} 1 & 1 & -2 \\ 2 & -1 & -3 \\ 1 & 1 & 5 \end{bmatrix} \quad b= \begin{bmatrix} 1 \\ 4 \\ 2 \end{bmatrix}
c=⎣⎡1−23⎦⎤A=⎣⎡1211−11−2−35⎦⎤b=⎣⎡142⎦⎤
对于线性规划,有一个非常重要的性质[4],
即
对
偶
问
题
的
对
偶
问
题
是
原
问
题
。
\color{red}即对偶问题的对偶问题是原问题。
即对偶问题的对偶问题是原问题。
加上这个性质之后,complementary slackness,可以拓展成
λ
1
∗
f
1
(
x
)
=
.
.
.
=
λ
m
∗
f
m
(
x
)
=
0
x
1
∗
f
ˉ
1
(
x
)
=
.
.
.
=
x
m
∗
f
ˉ
m
(
x
)
=
0
\begin{aligned} \lambda_1^*f_1(x)=...=\lambda_m^*f_m(x)=0 \\ x_1^*\bar{f}_1(x)=...=x_m^*\bar{f}_m(x)=0 \end{aligned}
λ1∗f1(x)=...=λm∗fm(x)=0x1∗fˉ1(x)=...=xm∗fˉm(x)=0
代入具体的数值之后,上面的问题变成
p
)
{
m
i
n
x
1
−
2
x
2
+
3
x
3
s
u
b
x
1
+
2
x
2
−
2
x
3
≤
1
2
x
1
−
x
2
−
3
x
3
≤
4
x
1
+
x
2
+
5
x
3
≤
2
x
1
≥
0
,
x
2
≥
0
,
x
3
≥
0
→
d
)
{
m
i
n
λ
1
+
4
λ
2
+
2
λ
3
s
u
b
λ
1
+
2
λ
2
+
λ
3
≥
1
λ
1
−
λ
2
+
λ
3
≥
1
−
2
λ
1
−
3
λ
2
+
5
λ
3
≥
3
λ
1
≥
0
,
λ
2
≥
0
,
λ
3
≥
0
p) \left \{ \begin{aligned} & min \quad & x_1-2x_2+3x_3 \\ & sub \quad & x_1+2x_2-2x_3 \leq 1 \\ & \quad & 2x_1-x_2-3x_3 \leq 4 \\ & \quad & x_1+x_2+5x_3 \leq 2 \\ & \quad & x_1 \geq0, x_2 \geq0, x_3 \geq0 \end{aligned} \right. \quad \to \quad d) \left \{ \begin{aligned} & min \quad & \lambda_1+4 \lambda_2+2 \lambda_3 \\ & sub \quad & \lambda_1+2 \lambda_2+ \lambda_3 \geq 1 \\ & \quad & \lambda_1- \lambda_2+ \lambda_3 \geq 1 \\ & \quad & -2 \lambda_1-3 \lambda_2+5 \lambda_3 \geq 3 \\ & \quad & \lambda_1 \geq0, \lambda_2 \geq0, \lambda_3 \geq0 \end{aligned} \right.
p)⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧minsubx1−2x2+3x3x1+2x2−2x3≤12x1−x2−3x3≤4x1+x2+5x3≤2x1≥0,x2≥0,x3≥0→d)⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧minsubλ1+4λ2+2λ3λ1+2λ2+λ3≥1λ1−λ2+λ3≥1−2λ1−3λ2+5λ3≥3λ1≥0,λ2≥0,λ3≥0
假设找到一个最优解
{
x
1
∗
=
9
7
x
2
∗
=
0
,
x
3
∗
=
1
7
,
→
{
f
1
(
x
∗
)
=
0
,
f
ˉ
1
(
λ
)
=
0
f
2
(
x
∗
)
<
0
,
λ
2
=
0
f
3
(
x
∗
)
=
0
,
f
ˉ
3
(
λ
)
=
0
\left \{ \begin{aligned} x_1^*&= \frac{9}{7} \\ x_2^*&= 0, \\ x_3^*&= \frac{1}{7}, \end{aligned} \right. \quad \to \quad \left \{ \begin{aligned} f_1(x^*)&= 0,\bar{f}_1(\lambda)=0 \\ f_2(x^*)&< 0, \lambda_2=0\\ f_3(x^*)&= 0,\bar{f}_3(\lambda)=0 \end{aligned} \right.
⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧x1∗x2∗x3∗=79=0,=71,→⎩⎪⎨⎪⎧f1(x∗)f2(x∗)f3(x∗)=0,fˉ1(λ)=0<0,λ2=0=0,fˉ3(λ)=0
得到了根据推导出来的关系,代入对偶问题中进行验证,查看是否符合。
4 KKT condition
4.1 定义
slater条件是证明强对偶的充分条件,KKT条件则是证明强对偶的充分必要条件。
4.2 应用
在凸优化这门课上,我们能解决的问题主要是那几类,普遍都是凸优化问题。用KKT证明强对偶很少,反而利用强对偶这个前提,利用KKT条件,求解最优解。
{
m
i
n
1
2
x
T
p
x
+
q
T
x
+
r
,
p
∈
s
+
n
s
u
b
A
x
=
b
\left \{ \begin{aligned} & min \quad & \frac{1}{2}x^Tpx+q^Tx+r, p \in s_+^n \\ & sub \quad & Ax=b \end{aligned} \right.
⎩⎨⎧minsub21xTpx+qTx+r,p∈s+nAx=b
根据条件4,
L
(
x
,
ν
)
=
1
2
x
T
p
x
+
q
T
x
+
r
+
ν
T
(
A
x
−
b
)
L(x,\nu)=\frac{1}{2}x^Tpx+q^Tx+r+\nu^T(Ax-b)
L(x,ν)=21xTpx+qTx+r+νT(Ax−b)
d
L
d
x
=
p
x
∗
+
q
+
A
T
ν
=
0
A
x
∗
=
b
\begin{aligned} \frac{dL}{dx}=px^*+q+A^T\nu=0 \\ Ax^*=b \end{aligned}
dxdL=px∗+q+ATν=0Ax∗=b
得到了一个重要的条件,方便后面的计算。
5 Perturbation and sensitivity analysis
5.1 定义
很多时候,约束需要调试才能合理的给出,这时扰动和敏感性分析就非常重要。
c
)
{
m
i
n
f
0
(
x
)
s
u
b
f
i
(
x
)
≤
0
,
i
=
1
,
.
.
.
,
n
h
i
(
x
)
=
0
,
i
=
1
,
.
.
.
,
p
→
p
)
{
m
i
n
f
0
(
x
)
s
u
b
f
i
(
x
)
≤
u
i
,
i
=
1
,
.
.
.
,
n
h
i
(
x
)
=
v
i
,
i
=
1
,
.
.
.
,
p
c) \left \{ \begin{aligned} & min \quad & f_0(x) \\ & sub \quad & f_i(x)\leq 0, i=1,...,n \\ & \quad & h_i(x)=0,i=1,...,p \end{aligned} \right. \quad \to \quad p) \left \{ \begin{aligned} & min \quad & f_0(x) \\ & sub \quad & f_i(x)\leq u_i, i=1,...,n \\ & \quad & h_i(x)=v_i,i=1,...,p \end{aligned} \right.
c)⎩⎪⎨⎪⎧minsubf0(x)fi(x)≤0,i=1,...,nhi(x)=0,i=1,...,p→p)⎩⎪⎨⎪⎧minsubf0(x)fi(x)≤ui,i=1,...,nhi(x)=vi,i=1,...,p
在
进
一
步
深
入
讨
论
之
前
,
需
要
搞
清
楚
,
引
入
p
e
r
t
u
b
a
t
i
o
n
之
后
,
改
变
的
到
底
是
什
么
?
\color{red}在进一步深入讨论之前,需要搞清楚,引入pertubation之后,改变的到底是什么?
在进一步深入讨论之前,需要搞清楚,引入pertubation之后,改变的到底是什么?
放
宽
了
限
制
条
件
,
直
接
改
变
了
x
存
在
的
区
域
\color{blue}放宽了限制条件,直接改变了x存在的区域
放宽了限制条件,直接改变了x存在的区域
对于原问题
p
∗
p^*
p∗是最优解,
p
∗
(
u
,
v
)
=
i
n
f
x
{
f
0
(
x
)
∣
∃
x
∈
D
,
f
i
(
x
)
≤
u
i
,
h
i
(
x
)
=
v
i
}
p^*(u,v)=\mathop{inf} \limits_x \{ f_0(x) | \exists x \in D, f_i(x)\leq u_i, h_i(x)=v_i \}
p∗(u,v)=xinf{f0(x)∣∃x∈D,fi(x)≤ui,hi(x)=vi}
如果原问题是凸问题,则
p
∗
(
u
,
v
)
是
关
于
u
,
v
的
凸
函
数
p^*(u, v)是关于u,v的凸函数
p∗(u,v)是关于u,v的凸函数。
从上境图很容易理解,集合A是
f
i
,
h
i
,
f
0
f_i, h_i, f_0
fi,hi,f0对应凸集的交集,所以仍然是凸集。
A
=
{
(
u
,
v
,
t
)
∣
∃
x
∈
D
,
f
i
(
x
)
≤
u
i
,
h
i
(
x
)
=
v
i
,
f
0
(
x
)
≤
t
}
A=\{ (u,v,t) | \exists x \in D, f_i(x)\leq u_i, h_i(x)=v_i, f_0(x)\leq t \}
A={(u,v,t)∣∃x∈D,fi(x)≤ui,hi(x)=vi,f0(x)≤t}
5.2 global pertubation
引入了扰动量之后,当然很关心,扰动量对问题最小值的影响,即
p
∗
(
0
,
0
)
和
p
∗
(
u
,
v
)
的
关
系
。
p^*(0,0)和p^*(u,v)的关系。
p∗(0,0)和p∗(u,v)的关系。
对于一般问题,他们之间的联系太多复杂,先从强对偶条件入手。
用
D
(
0
,
0
)
表
示
未
加
扰
动
前
的
定
义
域
d
o
m
x
,
D
(
u
,
v
)
表
示
添
加
扰
动
后
的
定
义
域
d
o
m
x
。
D(0,0)表示未加扰动前的定义域dom{x},D(u,v)表示添加扰动后的定义域domx。
D(0,0)表示未加扰动前的定义域domx,D(u,v)表示添加扰动后的定义域domx。
p
∗
(
0
,
0
)
=
g
(
λ
∗
,
ν
∗
)
≤
f
0
(
x
)
+
∑
i
m
λ
i
∗
f
i
(
x
)
+
∑
i
p
ν
i
∗
h
i
(
x
)
,
x
∈
D
(
0
,
0
)
≤
f
0
(
x
)
+
λ
T
u
+
ν
T
v
,
x
∈
D
(
u
,
v
)
\begin{aligned} p^*(0,0) & =g(\lambda^*, \nu^*) \\ & \leq f_0(x)+\sum \limits_i^{m} \lambda_i^*f_i(x)+ \sum \limits_i^p\nu_i^*h_i(x),x\in D(0,0) \\ & \leq f_0(x)+\lambda^Tu+ \nu^Tv,x\in D(u,v) \\ \end{aligned}
p∗(0,0)=g(λ∗,ν∗)≤f0(x)+i∑mλi∗fi(x)+i∑pνi∗hi(x),x∈D(0,0)≤f0(x)+λTu+νTv,x∈D(u,v)
搞
不
懂
从
x
∈
D
(
0
,
0
)
→
x
∈
D
(
u
,
v
)
上
面
的
式
子
为
何
还
会
继
续
成
立
?
\color{red}搞不懂从x \in D(0,0) \to x \in D(u,v)上面的式子为何还会继续成立?
搞不懂从x∈D(0,0)→x∈D(u,v)上面的式子为何还会继续成立?
总之,根据上面的式子很容易得到
p
∗
(
u
,
v
)
≥
p
∗
(
0
,
0
)
−
λ
T
u
+
ν
T
v
,
x
∈
D
(
u
,
v
)
p^*(u,v) \geq p^*(0,0)-\lambda^Tu+ \nu^Tv, x \in D(u,v)
p∗(u,v)≥p∗(0,0)−λTu+νTv,x∈D(u,v)
p
∗
(
u
,
v
)
和
p
∗
(
0
,
0
)
的
关
系
可
以
用
下
面
的
图
表
示
:
p^*(u,v) 和 p^*(0,0)的关系可以用下面的图表示:
p∗(u,v)和p∗(0,0)的关系可以用下面的图表示:
关
于
为
何
直
线
和
凸
函
数
P
∗
(
u
,
v
)
相
切
?
凸
函
数
和
直
线
有
且
只
有
一
个
交
点
,
那
必
然
只
能
是
相
切
。
\color{red}关于为何直线和凸函数P^*(u,v)相切?凸函数和直线有且只有一个交点,那必然只能是相切。
关于为何直线和凸函数P∗(u,v)相切?凸函数和直线有且只有一个交点,那必然只能是相切。
−
λ
是
凸
函
数
p
∗
(
u
,
v
)
在
点
(
0
,
0
)
处
的
导
数
。
\color{red}-\lambda 是凸函数p^*(u,v)在点(0,0)处的导数。
−λ是凸函数p∗(u,v)在点(0,0)处的导数。
得到了global pertubation关系之后,对如何调节约束,有了一个大致的指导。
根据这个不等式,可以定性的得到,调节对最小值的影响。
5.3 local pertubation
在5.2,我们用几何图像说明了为何
凸
函
数
g
(
u
.
v
)
在
(
0
,
0
)
点
处
的
关
于
u
的
偏
导
是
−
λ
凸函数g(u.v)在(0,0)点处的关于u的偏导是-\lambda
凸函数g(u.v)在(0,0)点处的关于u的偏导是−λ.
用代数证明的过程,这里进行省略。主要是结论
∂
p
∗
(
u
,
v
)
∂
u
i
∣
(
u
,
v
)
=
(
0
,
0
)
=
−
λ
i
∂
p
∗
(
u
,
v
)
∂
v
i
∣
(
u
,
v
)
=
(
0
,
0
)
=
−
ν
i
\begin{aligned} \frac{\partial p^*(u,v)}{\partial u_i}|_{(u,v)=(0,0)} & =-\lambda_i \\ \frac{\partial p^*(u,v)}{\partial v_i}|_{(u,v)=(0,0)} & =-\nu_i \end{aligned}
∂ui∂p∗(u,v)∣(u,v)=(0,0)∂vi∂p∗(u,v)∣(u,v)=(0,0)=−λi=−νi
这个时候,如果在
p
∗
(
0
,
0
)
p^*(0,0)
p∗(0,0)进行细微的调节,就可以利用泰勒展开,定量的得到细微调整的影响。
6 Alternatives
在研究优化问题,首先要关注的事情是限制是否可行。weak alternatives和strong alternatives通过对偶转换,考虑限制是否可行。
6.1 weak alternatives
{
m
i
n
0
s
u
b
f
i
(
x
)
≤
0
,
i
=
1
,
.
.
.
m
h
i
(
x
)
=
0
,
i
=
1
,
.
.
.
,
p
\left \{ \begin{aligned} & min \quad & 0 \\ & sub \quad & f_i(x) \leq 0, i=1,...m \\ & \quad & h_i(x) =0,i=1,...,p \end{aligned} \right.
⎩⎪⎨⎪⎧minsub0fi(x)≤0,i=1,...mhi(x)=0,i=1,...,p
根据定义,问题可行和最小值
p
∗
p^*
p∗存在下来关系
p
∗
=
{
0
,
i
f
x
i
s
f
e
a
s
i
b
l
e
∞
,
e
l
s
e
(
空
集
的
下
确
界
是
∞
)
p^*= \left \{ \begin{aligned} &0, \quad if \ x \ is \ feasible \\ &\infty, \quad else(空集的下确界是\infty) \end{aligned} \right.
p∗={0,if x is feasible∞,else(空集的下确界是∞)
采用对偶变换
g
(
λ
,
ν
)
=
i
n
f
x
∈
D
{
L
(
x
,
λ
,
ν
)
}
=
i
n
f
x
∈
D
{
∑
i
m
λ
i
f
i
(
x
)
+
∑
i
p
ν
i
h
i
(
x
)
}
\begin{aligned} g(\lambda, \nu) & = \mathop{inf} \limits_{x \in D} \{ L(x, \lambda, \nu) \} \\ & = \mathop{inf} \limits_{x \in D} \{ \sum \limits_i^m \lambda_i f_i(x) + \sum \limits_i^p \nu_ih_i(x) \} \end{aligned}
g(λ,ν)=x∈Dinf{L(x,λ,ν)}=x∈Dinf{i∑mλifi(x)+i∑pνihi(x)}
转换而成的对偶问题
{
m
a
x
λ
,
ν
g
(
λ
,
ν
)
s
u
b
λ
≥
0
\left \{ \begin{aligned} & \mathop{max} \limits_{\lambda, \nu} \quad & g(\lambda, \nu) \\ & sub \quad & \lambda \geq 0 \end{aligned} \right.
⎩⎨⎧λ,νmaxsubg(λ,ν)λ≥0
注意
g
(
λ
,
ν
)
g(\lambda, \nu)
g(λ,ν)是一个线性函数,对偶问题的最优解d*有
d
∗
=
{
0
,
∀
i
n
f
x
∈
D
{
f
i
(
x
)
}
≤
0
(
通
过
取
对
应
的
λ
i
为
0
)
∞
,
∃
i
n
f
x
∈
D
{
f
i
(
x
)
}
>
0
(
通
过
取
对
应
的
λ
i
为
∞
)
d^*= \left \{ \begin{aligned} &0, \quad \forall \mathop{inf}\limits_{x \in D}\{ f_i(x) \}\leq0(通过取对应的\lambda_i为0) \\ &\infty, \quad \exists\mathop{inf}\limits_{x \in D}\{ f_i(x) \} > 0(通过取对应的\lambda_i为\infty) \end{aligned} \right.
d∗=⎩⎪⎨⎪⎧0,∀x∈Dinf{fi(x)}≤0(通过取对应的λi为0)∞,∃x∈Dinf{fi(x)}>0(通过取对应的λi为∞)
用集合的方式表示
∃
i
n
f
x
∈
D
{
f
i
(
x
)
}
>
0
→
T
:
{
(
λ
≥
0
,
g
(
λ
,
ν
)
>
0
)
}
\exists\mathop{inf}\limits_{x \in D}\{ f_i(x) \} > 0 \quad \to \quad T:\{(\lambda \geq 0, g(\lambda, \nu)>0) \}
∃x∈Dinf{fi(x)}>0→T:{(λ≥0,g(λ,ν)>0)}
重新写上面的形式:
d
∗
=
{
0
,
T
i
s
i
n
f
e
a
s
i
b
l
e
∞
,
T
i
s
f
e
a
s
i
b
l
e
d^*= \left \{ \begin{aligned} &0, \quad T \ is \ infeasible \\ &\infty, \quad T \ is \ feasible \end{aligned} \right.
d∗={0,T is infeasible∞,T is feasible
设原问题的解集为
S
:
{
f
i
(
x
)
≤
0
,
h
i
(
x
)
=
0
}
S:\{ f_i(x) \leq 0, h_i(x)=0 \}
S:{fi(x)≤0,hi(x)=0},集合S和集合T有下面的关系
T
i
s
f
e
a
s
i
b
l
e
→
S
i
s
i
n
f
e
a
s
i
b
l
e
S
i
s
f
e
a
s
i
b
l
e
→
T
i
s
i
n
f
e
a
s
i
b
l
e
\begin{aligned} T \ is \ feasible \quad \to \quad S \ is \ infeasible \\ S \ is \ feasible \quad \to \quad T \ is \ infeasible \end{aligned}
T is feasible→S is infeasibleS is feasible→T is infeasible
6.2 strong alternatives
考虑原问题满足强对偶条件,weak alternatives是否有加强的情况。
设原问题的解集为
S
:
{
f
i
(
x
)
≤
0
,
A
x
=
b
}
S:\{ f_i(x) \leq 0, Ax=b \}
S:{fi(x)≤0,Ax=b},集合
T
:
{
(
λ
≥
0
,
g
(
λ
,
ν
)
>
0
)
}
T:\{(\lambda \geq 0, g(\lambda, \nu)>0) \}
T:{(λ≥0,g(λ,ν)>0)}有下面的关系
T
i
s
f
e
a
s
i
b
l
e
↔
S
i
s
i
n
f
e
a
s
i
b
l
e
S
i
s
f
e
a
s
i
b
l
e
↔
T
i
s
i
n
f
e
a
s
i
b
l
e
\begin{aligned} T \ is \ feasible \quad \leftrightarrow \quad S \ is \ infeasible \\ S \ is \ feasible \quad \leftrightarrow \quad T \ is \ infeasible \end{aligned}
T is feasible↔S is infeasibleS is feasible↔T is infeasible
条
件
得
到
了
加
强
,
现
在
根
据
S
、
T
是
i
n
f
e
a
s
i
b
l
e
就
可
以
反
向
说
明
T
、
S
是
f
e
a
s
i
b
l
e
\color{red}{条件得到了加强,现在根据S、T是infeasible就可以反向说明T、S是feasible}
条件得到了加强,现在根据S、T是infeasible就可以反向说明T、S是feasible
设原问题的解集为
S
:
{
f
i
(
x
)
<
0
,
A
x
=
b
}
S:\{ f_i(x) < 0, Ax=b \}
S:{fi(x)<0,Ax=b},集合
T
:
{
(
λ
≥
0
,
λ
≠
0
,
g
(
λ
,
ν
)
>
0
)
}
T:\{(\lambda \geq 0, \lambda \neq 0, g(\lambda, \nu)>0) \}
T:{(λ≥0,λ=0,g(λ,ν)>0)}有下面的关系
T
i
s
f
e
a
s
i
b
l
e
↔
S
i
s
i
n
f
e
a
s
i
b
l
e
S
i
s
f
e
a
s
i
b
l
e
↔
T
i
s
i
n
f
e
a
s
i
b
l
e
\begin{aligned} T \ is \ feasible \quad \leftrightarrow \quad S \ is \ infeasible \\ S \ is \ feasible \quad \leftrightarrow \quad T \ is \ infeasible \end{aligned}
T is feasible↔S is infeasibleS is feasible↔T is infeasible
6.3 应用
- Linear inequality
对于 S : { A x ≤ b } S:\{ Ax \leq b \} S:{Ax≤b}, 根据线性规划的对偶问题,可知 T : { λ ≥ 0 , A T λ = 0 , b T λ < 0 } T:\{ \lambda \geq 0, A^T\lambda=0, b^T\lambda<0\} T:{λ≥0,ATλ=0,bTλ<0}
也可以采用定义去推导:
g ( λ ) = i n f x ∈ D { L ( x , λ ) } = i n f x ∈ D { λ T A x − λ T b } = { − λ T b , i f A T λ = 0 − ∞ , e l s e \begin{aligned} g(\lambda) & = \mathop{inf} \limits_{x \in D} \{ L(x, \lambda) \} \\ & = \mathop{inf} \limits_{x \in D} \{ \lambda^TAx-\lambda^Tb \} \\ & = \left \{ \begin{aligned} & -\lambda^Tb, \quad if \ A^T\lambda=0 \\ & - \infty, \quad else \end{aligned} \right. \end{aligned} g(λ)=x∈Dinf{L(x,λ)}=x∈Dinf{λTAx−λTb}={−λTb,if ATλ=0−∞,else
重 点 关 注 , 如 何 根 据 S 如 果 i n f e s i b l e 这 个 条 件 , 推 出 T \color{red}重点关注,如何根据S 如果infesible这个条件,推出T 重点关注,如何根据S如果infesible这个条件,推出T
对于 S : { A x < b } S:\{ Ax < b \} S:{Ax<b},如果值域 { y = b − A x ∣ x ∈ R n } \{ y=b-Ax| x \in R^n \} {y=b−Ax∣x∈Rn} 和 { y > 0 } \{ y>0 \} {y>0}不相交,则S是infesible。
从超平面分离的角度来看,
∃ λ ∈ R m a n d α ∈ R , 使 得 λ T y ≤ α , y ∈ d o m { C } ; λ T y ≥ α , y ∈ d o m { D } . \begin{aligned} \exists \lambda \in R^m \ and \ \alpha \in R, 使得 & \lambda ^Ty \leq \alpha , y \in dom \{ C \}; \\ & \lambda ^Ty \geq \alpha , y \in dom \{ D \}. \end{aligned} ∃λ∈Rm and α∈R,使得λTy≤α,y∈dom{C};λTy≥α,y∈dom{D}.
根据这个具体的问题
m a x x ∈ R n λ T ( b − A x ) ≤ α → λ T b ≤ α , λ T A = 0 m i n y > 0 λ T y ≥ α → α ≤ 0 λ ≥ 0 , λ ≠ 0 \begin{aligned} & \mathop{max} \limits_{x \in R^n} \lambda ^T(b-Ax) \leq \alpha \to \lambda ^Tb \leq \alpha, \lambda^TA = 0 \\ & \mathop{min} \limits_{y>0} \lambda ^Ty \geq \alpha \to \alpha \leq 0 \\ & \lambda \geq 0, \lambda \neq 0 \end{aligned} x∈RnmaxλT(b−Ax)≤α→λTb≤α,λTA=0y>0minλTy≥α→α≤0λ≥0,λ=0
整理出 T : { λ T b ≤ 0 ; λ ≥ 0 , λ ≠ 0 , λ T A = 0 } T: \{ \lambda ^Tb \leq 0; \lambda \geq 0, \lambda \neq 0 ,\lambda^TA = 0 \} T:{λTb≤0;λ≥0,λ=0,λTA=0}
- intersection ellipsoid
E i = { x ∣ f i ( x ) ≤ 0 , f i ( x ) = x T A i x + 2 b i T x + c i ; A i ∈ s + + n } S = { E 1 ⋂ E 2 ⋂ . . . ⋂ E n } \begin{aligned} E_i &= \{ x | f_i(x) \leq0, f_i(x)=x^TA_ix+2b_i^Tx+c_i;A_i \in s_{++}^n \} \\ S & =\{ E_1 \bigcap E_2 \bigcap ... \bigcap E_n \} \end{aligned} EiS={x∣fi(x)≤0,fi(x)=xTAix+2biTx+ci;Ai∈s++n}={E1⋂E2⋂...⋂En}
通过定义计算T:
g ( λ ) = i n f x ∈ D { L ( x , λ ) } = i n f x ∈ D { ∑ i m λ i x T A i x + 2 λ i b i T x + λ i c i ; A i ∈ s + + n } = i n f x ∈ D { x T ( ∑ i m λ i A i ) x + 2 ( ∑ i m λ i b i T ) x + ( ∑ i m λ i c i ) ; A i ∈ s + + n } = i n f x ∈ D { x T A ( λ ) x + 2 B ( λ ) x + C ( λ ) ; A i ∈ s + + n } , A ( λ ) = ( ∑ i m λ i A i ) , B ( λ ) = ( ∑ i m λ i b i T ) , C ( λ ) = ( ∑ i m λ i c i ) = − B T ( λ ) A − 1 ( λ ) B ( λ ) + C ( λ ) , A ( λ ) > 0 , B ∈ R ( A ( λ ) ) \begin{aligned} g(\lambda) & = \mathop{inf} \limits_{x \in D} \{ L(x, \lambda) \} \\ & = \mathop{inf} \limits_{x \in D} \{ \sum \limits_i^m \lambda_ix^TA_ix+2\lambda_ib_i^Tx+\lambda_ic_i;A_i \in s_{++}^n \} \\ & = \mathop{inf} \limits_{x \in D} \{ x^T (\sum \limits_i^m \lambda_iA_i)x+2(\sum \limits_i^m\lambda_ib_i^T)x+(\sum \limits_i^m\lambda_ic_i) ;A_i \in s_{++}^n \} \\ & = \mathop{inf} \limits_{x \in D} \{ x^TA(\lambda)x+2B(\lambda)x+C(\lambda) ;A_i \in s_{++}^n \},\\ & \quad A(\lambda)= (\sum \limits_i^m \lambda_iA_i),B(\lambda) = (\sum \limits_i^m\lambda_ib_i^T), C(\lambda)=(\sum \limits_i^m\lambda_ic_i) \\ &= -B^T(\lambda)A^{-1}(\lambda)B(\lambda)+C(\lambda), A(\lambda) >0, B\in R(A(\lambda)) \end{aligned} g(λ)=x∈Dinf{L(x,λ)}=x∈Dinf{i∑mλixTAix+2λibiTx+λici;Ai∈s++n}=x∈Dinf{xT(i∑mλiAi)x+2(i∑mλibiT)x+(i∑mλici);Ai∈s++n}=x∈Dinf{xTA(λ)x+2B(λ)x+C(λ);Ai∈s++n},A(λ)=(i∑mλiAi),B(λ)=(i∑mλibiT),C(λ)=(i∑mλici)=−BT(λ)A−1(λ)B(λ)+C(λ),A(λ)>0,B∈R(A(λ))
对 L ( x , λ ) 进 行 求 导 L(x,\lambda)进行求导 L(x,λ)进行求导
d L d x = ∑ 2 A ( λ ) x + 2 B ( λ ) = 0 → x = − A ( λ ) − 1 B ( λ ) \begin{aligned} \frac{dL}{dx} & = \sum2A(\lambda)x+2B(\lambda)=0 \to x=-A(\lambda)^{-1}B(\lambda) \end{aligned} dxdL=∑2A(λ)x+2B(λ)=0→x=−A(λ)−1B(λ)
利用strong alternative的结论,T
T : { λ ≥ 0 , − B T ( λ ) A − 1 ( λ ) B ( λ ) + C ( λ ) , A ( λ ) > 0 , A ( λ ) > 0 , B ∈ R ( A ( λ ) ) } T:\{ \lambda \geq 0, -B^T(\lambda)A^{-1}(\lambda)B(\lambda)+C(\lambda), A(\lambda) >0, A(\lambda) >0, B\in R(A(\lambda)) \} T:{λ≥0,−BT(λ)A−1(λ)B(λ)+C(λ),A(λ)>0,A(λ)>0,B∈R(A(λ))}
7 Equivalent refomulation
7.1 引入新变量
7.1.1 定义
P
1
)
{
m
i
n
f
0
(
A
x
+
b
)
→
D
1
)
{
m
a
x
p
∗
P_1) \left \{ \begin{aligned} & min \quad & f_0(Ax+b) \end{aligned} \right. \quad \to \quad D_1) \left \{ \begin{aligned} & max \quad & p^* \end{aligned} \right.
P1){minf0(Ax+b)→D1){maxp∗
替换之后的形式为,中间推导过程繁琐,并且也很简单,省略。
P
2
)
{
m
i
n
x
,
y
f
0
(
x
)
s
u
b
y
=
A
x
+
b
→
D
2
)
{
m
a
x
ν
−
f
0
∗
(
ν
)
+
ν
T
b
s
u
b
ν
T
A
=
0
P_2) \left \{ \begin{aligned} & \mathop{min} \limits_{x,y} \quad & f_0(x) \\ & sub \quad & y = Ax+b \end{aligned} \right. \quad \to \quad D_2) \left \{ \begin{aligned} & \mathop{max} \limits_{\nu} \quad & -f_0^*(\nu)+\nu^Tb \\ & sub \quad & \nu^TA=0 \end{aligned} \right.
P2)⎩⎨⎧x,yminsubf0(x)y=Ax+b→D2)⎩⎨⎧νmaxsub−f0∗(ν)+νTbνTA=0
7.1.2 应用
- log-sum exponential cost
P 1 ) { m i n l o g ( ∑ i = 1 m e x p ( a i T x + b i ) ) → D 1 ) { m a x p ∗ P_1) \left \{ \begin{aligned} & min \quad & log(\sum \limits_{i=1}^mexp(a_i^Tx+b_i)) \end{aligned} \right. \quad \to \quad D_1) \left \{ \begin{aligned} & max \quad & p^* \end{aligned} \right. P1){minlog(i=1∑mexp(aiTx+bi))→D1){maxp∗
同样的进行替换
P 2 ) { m i n x , y l o g ( ∑ i = 1 m e x p ( y ) s u b y = A x + b → D 2 ) { m a x ν − f 0 ∗ ( ν ) + ν T b s u b ν T A = 0 P_2) \left \{ \begin{aligned} & \mathop{min} \limits_{x,y} \quad & log(\sum \limits_{i=1}^mexp(y)\\ & sub \quad & y = Ax+b \end{aligned} \right. \quad \to \quad D_2) \left \{ \begin{aligned} & \mathop{max} \limits_{\nu} \quad & -f_0^*(\nu)+\nu^Tb \\ & sub \quad & \nu^TA=0 \end{aligned} \right. P2)⎩⎪⎪⎨⎪⎪⎧x,yminsublog(i=1∑mexp(y)y=Ax+b→D2)⎩⎨⎧νmaxsub−f0∗(ν)+νTbνTA=0
问题的关键变成了求共轭函数 f 0 ∗ ( ν ) f_0^*(\nu) f0∗(ν)。
7.2 引入新约束
P
1
)
{
m
i
n
f
0
(
A
x
+
b
)
f
i
(
A
x
+
b
)
≤
0
P_1) \left \{ \begin{aligned} & min \quad & f_0(Ax+b) \\ & \quad & f_i(Ax+b) \leq 0 \end{aligned} \right.
P1){minf0(Ax+b)fi(Ax+b)≤0
替换之后的形式为,中间推导过程繁琐,并且也很简单,省略。
P
2
)
{
m
i
n
x
,
y
f
0
(
y
0
)
s
u
b
f
i
(
y
i
)
≤
0
A
x
+
b
=
y
→
D
2
)
{
m
a
x
ν
−
f
0
∗
(
ν
)
−
∑
i
=
1
m
λ
i
f
i
∗
(
ν
i
/
λ
i
)
+
ν
T
b
s
u
b
ν
T
A
=
0
λ
≥
0
P_2) \left \{ \begin{aligned} & \mathop{min} \limits_{x,y} \quad & f_0(y_0) \\ & sub \quad & f_i(y_i) \leq 0 \\ & \quad & Ax+b=y \end{aligned} \right. \quad \to \quad D_2) \left \{ \begin{aligned} & \mathop{max} \limits_{\nu} \quad & -f_0^*(\nu)- \sum \limits_{i=1}^m \lambda_if_i^*(\nu_i/\lambda_i)+\nu^Tb \\ & sub \quad & \nu^TA=0 \\ & \quad & \lambda \geq 0 \end{aligned} \right.
P2)⎩⎪⎪⎨⎪⎪⎧x,yminsubf0(y0)fi(yi)≤0Ax+b=y→D2)⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧νmaxsub−f0∗(ν)−i=1∑mλifi∗(νi/λi)+νTbνTA=0λ≥0
7.3 implicit constraints
P
2
)
{
m
i
n
x
,
y
c
T
x
s
u
b
A
x
=
b
l
≤
x
≤
u
→
D
2
)
{
m
a
x
ν
−
ν
T
b
−
λ
1
T
u
+
λ
2
T
l
s
u
b
c
+
A
T
ν
+
λ
1
−
λ
2
=
0
λ
1
≥
0
,
λ
2
≥
0
P_2) \left \{ \begin{aligned} & \mathop{min} \limits_{x,y} \quad & c^Tx \\ & sub \quad & Ax=b \\ & \quad & l \leq x \leq u \end{aligned} \right. \quad \to \quad D_2) \left \{ \begin{aligned} & \mathop{max} \limits_{\nu} \quad & -\nu^Tb-\lambda_1^Tu+\lambda_2^Tl \\ & sub \quad & c+A^T\nu +\lambda_1-\lambda_2 = 0 \\ & \quad & \lambda_1 \geq 0, \lambda_2 \geq 0 \end{aligned} \right.
P2)⎩⎪⎪⎨⎪⎪⎧x,yminsubcTxAx=bl≤x≤u→D2)⎩⎪⎪⎨⎪⎪⎧νmaxsub−νTb−λ1Tu+λ2Tlc+ATν+λ1−λ2=0λ1≥0,λ2≥0
进行转换之后
P
2
)
{
m
i
n
x
,
y
f
0
(
x
)
=
{
c
T
x
,
l
≤
x
≤
u
∞
,
e
l
s
e
s
u
b
A
x
=
b
P_2) \left \{ \begin{aligned} & \mathop{min} \limits_{x,y} \quad & f_0(x) = \left \{ \begin{aligned} & c^Tx, \quad l \leq x \leq u \\ & \infty, \quad else \end{aligned} \right. \\ & sub \quad & Ax=b \end{aligned} \right.
P2)⎩⎪⎪⎨⎪⎪⎧x,yminsubf0(x)={cTx,l≤x≤u∞,elseAx=b
通过定义去计算对偶问题
g
(
ν
)
=
i
n
f
l
≤
x
≤
u
{
c
T
x
+
ν
T
(
A
x
−
b
)
}
=
−
ν
T
b
+
i
n
f
l
≤
x
≤
u
{
(
c
+
A
T
ν
)
T
x
}
=
{
−
ν
T
b
+
(
c
+
A
T
ν
)
T
u
,
c
+
A
T
ν
≥
0
−
ν
T
b
+
(
c
+
A
T
ν
)
T
l
,
e
l
s
e
\begin{aligned} g(\nu) &= \mathop{inf} \limits_{l \leq x \leq u} \{ c^Tx+\nu^T(Ax-b) \} \\ & = -\nu^Tb+\mathop{inf} \limits_{l \leq x \leq u} \{ (c+A^T\nu)^Tx \} \\ & = \left \{ \begin{aligned} & -\nu^Tb+(c+A^T\nu)^Tu, \quad c+A^T\nu \geq 0 \\ & -\nu^Tb+(c+A^T\nu)^Tl, \quad else \end{aligned} \right. \end{aligned}
g(ν)=l≤x≤uinf{cTx+νT(Ax−b)}=−νTb+l≤x≤uinf{(c+ATν)Tx}={−νTb+(c+ATν)Tu,c+ATν≥0−νTb+(c+ATν)Tl,else
References
[1] https://www.youtube.com/watch?v=_muH67CqTME&list=PL-DDW8QIRjNOVxrU2efygBw0xADVOgpmw&index=17
[2] https://www.youtube.com/watch?v=tFWjzEQMq2g&list=PL-DDW8QIRjNOVxrU2efygBw0xADVOgpmw&index=18
[3] https://www.youtube.com/watch?v=JFbC2uoN7e4&list=PL-DDW8QIRjNOVxrU2efygBw0xADVOgpmw&index=20
[4] https://www.youtube.com/watch?v=COQtsv1SohQ&list=PL-DDW8QIRjNOVxrU2efygBw0xADVOgpmw&index=21
[5] https://zhuanlan.zhihu.com/p/259516554