凸优化学习之SDP

凸优化学习之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,...mxR+n
其中 x x x是长度为 n n n的向量, c 。 x c。x cx是内积
将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=1myi.bis.t.  i=1myi.ai+s=c    sR+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.xi=1myibi=(ci=1myiai).x=s.x0从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   X0
其中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=x11x21x31x12x22x32x13x23x330
半定规划是线性规划的一种推广,它是在满足约束“对称矩阵的仿射组合半正定”的条件下使线性函数极大(极小)化的问题。这个约束是非线性、非光滑并且是凸的,因而半定规划是一个非光滑凸优化问题。

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=1myi.bis.t.  i=1myi.Ai+S=C    S0
将上一个例子进行对偶化
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.y1101037175+y2028260804+S=123290307S0

定理

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.Xi=1myibi=(Ci=1myiAi).X=S.X0如果能有 C . X − ∑ i = 1 m y i b i = 0 C.X-\sum_{i=1}^my_ib_i=0 C.Xi=1myibi=0则SDP的最优解 X X X和SDD的最优解 ( y . S ) (y.S) (y.S)互相为对方的最优解。

明天继续…

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值