凸优化学习之SDP
常见的凸优化问题包括:线性规划(LP,Linear Program),二次规划(QP,Quadratic Program),二次约束的二次规划(QCCP,Quadratically Contrained Quadratic Program),半正定规划(SDP,Semidefinite Program)
LP
LP标准格式 如下
L
P
:
m
i
n
c
.
x
s
.
t
.
a
i
.
x
=
b
i
,
i
=
1
,
.
.
.
m
x
∈
R
+
n
\begin{aligned} LP: & min\qquad c.x \\ & s.t.\qquad \; a_i.x=b_i,\quad i=1,...m \\ &\qquad \qquad x\in R_+^n \end{aligned}
LP:minc.xs.t.ai.x=bi,i=1,...mx∈R+n
其中
x
x
x是长度为
n
n
n的向量,
c
。
x
c。x
c。x是内积
将LP改写为对偶性形式:
L
D
:
m
a
x
∑
i
=
1
m
y
i
.
b
i
s
.
t
.
∑
i
=
1
m
y
i
.
a
i
+
s
=
c
s
∈
R
+
n
\begin{aligned} LD: & max\qquad \sum_{i=1}^my_i.b_i \\ & s.t.\qquad \ \ \sum_{i=1}^my_i.a_i+s=c\\ &\qquad \quad \ \ \ \ s\in R_+^n \end{aligned}
LD:maxi=1∑myi.bis.t. i=1∑myi.ai+s=c s∈R+n
duality gap:
c
.
x
−
∑
i
=
1
m
y
i
b
i
=
(
c
−
∑
i
=
1
m
y
i
a
i
)
.
x
=
s
.
x
≥
0
c.x-\sum_{i=1}^my_ib_i=(c-\sum_{i=1}^my_ia_i).x=s.x\ge0
c.x−∑i=1myibi=(c−∑i=1myiai).x=s.x≥0从LP对偶理论中我们知道,只要原始问题LP是可行的并且已经限制了最佳目标值,那么原始和对偶都达到了带有虚假间隙的最优值。
duality gap和optimality gap的定义不一样,opt gap说的是当下的值距离最优值的界的差距,是一个分析优化算法收敛速度的重要指标,通常在分析的时候用带n的不等式给bound住,然后给个速率,但是很显然,optimal point在算法中肯定无法知道,所以opt gap就是一个数学分析的目标。而duality gap则是当下对偶问题值(dual value)和主问题值(primal value)的差距,一般的在最优解处这个差距是0,所以duality gap也可以作为分析算法的一个目标(虽然分析还是喜欢考虑opt gap作为目标),而且duality gap可以在算法中当作停止条件(当duality gap足够小的时候停止)。总结一下:optimality gap是一个数学概念,主要作为分析算法速率的目标。Duality gap也是一个最优目标,但是更好的是duality gap是能够给设计算法做指导的。
SDP
SDP常见格式
S
D
P
:
m
i
n
C
.
X
s
.
t
.
A
i
.
X
=
b
i
,
i
=
1
,
.
.
.
m
X
⪰
0
\begin{aligned} SDP: & min\qquad C.X \\ & s.t.\qquad \; A_i.X=b_i,\quad i=1,...m \\ &\qquad \quad \ \ \ X\succeq 0 \end{aligned}
SDP:minC.Xs.t.Ai.X=bi,i=1,...m X⪰0
其中SDP的这个
X
X
X是一个矩阵,但是把它当作一个
n
2
n^2
n2的序列或者一个属于
S
n
S^n
Sn的一个向量
SDP的表达式中
X
X
X是一个半正定对称矩阵,
C
C
C和
A
i
A_i
Ai是对称矩阵,
SDP例子
$
A1=\left(\begin{array}{ccc}
1&0&1\
0&3&7\
1&7&5
\end{array}
\right)
$
,
$
A2=\left(\begin{array}{ccc}
0&2&8\
2&6&0\
8&0&4
\end{array}
\right)
$.
$
C=\left(\begin{array}{ccc}
1&2&3\
2&9&0\
3&0&7
\end{array}
\right)
$
b
1
=
11
b1=11
b1=11,
b
2
=
19
b2=19
b2=19
$
X=\left(\begin{array}{ccc}
x_{11}&x_{12}&x_{13}\
x_{21}&x_{22}&x_{23}\
x_{31}&x_{32}&x_{33}
\end{array}
\right)
$
C
.
X
=
x
11
+
2
x
12
+
3
x
13
+
2
x
21
+
9
x
22
+
0
x
23
+
3
x
31
+
0
x
32
+
7
x
33
=
x
11
+
4
x
12
+
6
x
13
+
9
x
22
+
0
x
23
+
7
x
33
C.X = x_{11} +2x_{12} +3x_{13} +2x_{21} +9x_{22} +0x_{23}+3x_{31} +0x_{32} +7x_{33} = x_{11} +4x_{12} +6x_{13} +9x_{22} +0x_{23} +7x_{33}
C.X=x11+2x12+3x13+2x21+9x22+0x23+3x31+0x32+7x33=x11+4x12+6x13+9x22+0x23+7x33
最后的的SDP格式写为
S
D
P
:
m
i
n
.
x
11
+
4
x
12
+
6
x
13
+
9
x
22
+
0
x
23
+
7
x
33
s
.
t
.
x
11
+
0
x
12
+
2
x
13
+
3
x
22
+
14
x
23
+
5
x
33
=
11
0
x
11
+
4
x
12
+
16
x
13
+
6
x
22
+
0
x
23
+
4
x
33
=
19
X
=
(
x
11
x
12
x
13
x
21
x
22
x
23
x
31
x
32
x
33
)
⪰
0
\begin{aligned} SDP: & min.\qquad x_{11} +4x_{12} +6x_{13} +9x_{22} +0x_{23} +7x_{33} \\ & s.t.\qquad \; x_{11} +0x_{12} +2x_{13} +3x_{22} +14x_{23} +5x_{33}=11\\ &\qquad \quad \ \ \ 0x_{11} +4x_{12} +16x_{13} +6x_{22} +0x_{23} +4x_{33}=19\\ &\qquad \qquad \ X=\left(\begin{array}{ccc} x_{11}&x_{12}&x_{13}\\ x_{21}&x_{22}&x_{23}\\ x_{31}&x_{32}&x_{33} \end{array} \right)\succeq 0 \end{aligned}
SDP:min.x11+4x12+6x13+9x22+0x23+7x33s.t.x11+0x12+2x13+3x22+14x23+5x33=11 0x11+4x12+16x13+6x22+0x23+4x33=19 X=⎝⎛x11x21x31x12x22x32x13x23x33⎠⎞⪰0
半定规划是线性规划的一种推广,它是在满足约束“对称矩阵的仿射组合半正定”的条件下使线性函数极大(极小)化的问题。这个约束是非线性、非光滑并且是凸的,因而半定规划是一个非光滑凸优化问题。
SDD
SDD是SDP的对偶
S
D
D
:
m
a
x
∑
i
=
1
m
y
i
.
b
i
s
.
t
.
∑
i
=
1
m
y
i
.
A
i
+
S
=
C
S
⪰
0
\begin{aligned} SDD: & max\qquad \sum_{i=1}^my_i.b_i \\ & s.t.\qquad \ \ \sum_{i=1}^my_i.A_i+S=C\\ &\qquad \quad \ \ \ \ S\succeq 0 \end{aligned}
SDD:maxi=1∑myi.bis.t. i=1∑myi.Ai+S=C S⪰0
将上一个例子进行对偶化
S
D
D
:
m
a
x
11
y
1
+
19
y
2
s
.
t
.
y
1
(
1
0
1
0
3
7
1
7
5
)
+
y
2
(
0
2
8
2
6
0
8
0
4
)
+
S
=
(
1
2
3
2
9
0
3
0
7
)
S
⪰
0
\begin{aligned} SDD: & max \qquad 11y_1+19y_2 \\ & s.t.\qquad \; y_1\left(\begin{array}{ccc} 1&0&1\\ 0&3&7\\ 1&7&5 \end{array} \right)+ y_2\left(\begin{array}{ccc} 0&2&8\\ 2&6&0\\ 8&0&4 \end{array} \right)+S=\left(\begin{array}{ccc} 1&2&3\\ 2&9&0\\ 3&0&7 \end{array} \right)\\& \qquad \qquad S\succeq 0 \end{aligned}
SDD:max11y1+19y2s.t.y1⎝⎛101037175⎠⎞+y2⎝⎛028260804⎠⎞+S=⎝⎛123290307⎠⎞S⪰0
定理
duality gap: C . X − ∑ i = 1 m y i b i = ( C − ∑ i = 1 m y i A i ) . X = S . X ≥ 0 C.X-\sum_{i=1}^my_ib_i=(C-\sum_{i=1}^my_iA_i).X=S.X\ge0 C.X−∑i=1myibi=(C−∑i=1myiAi).X=S.X≥0如果能有 C . X − ∑ i = 1 m y i b i = 0 C.X-\sum_{i=1}^my_ib_i=0 C.X−∑i=1myibi=0则SDP的最优解 X X X和SDD的最优解 ( y . S ) (y.S) (y.S)互相为对方的最优解。
明天继续…