本文主要參考卡耐基梅隆大學(CMU)的Ryan Tibshirani教授在Convex Optimization(Course 10-725/36-725)課上(課程網站連結:Convex Optimization)的Lecture Notes。以及參考了現任職牛津大學的Dr。 Paul Goulart,以前在ETH任教時Convex Optimization課的Lecture Notes。如有錯誤疏漏,煩請指出。
如需付費轉載,請聯絡筆者
。
我們在凸最佳化筆記(2)幾類標準問題以及Linear Programming簡介中講到:
凸最佳化的標準問題有四類:
1。 Linear Programming(LP)
2。 Quadratic Programming(QP)
3。 Semi-Definite Programming(SDP)
4。 Cone Programming(CP)
今天我們繼續第三類問題——Semidefinite Programming(SDP),它的形式如下:
其中
,
是對稱矩陣,
。以上形式可以換寫成
SDP的standard form
:
其中
(Frobenius inner product),
是對稱矩陣,
。
這時大家可能會有疑惑,以上兩個form怎麼等價的?
首先在SDP的standard form中,要尋找本最佳化問題的decision variable即對稱矩陣
,本質上其實還是尋找矩陣
裡的
個元素
,由於
是對稱的,所以其實是尋找X裡面上三角的
個元素。而
就是這
個元素
的線性方程,所以目標函式是convex的,standard form跟第一個SDP的formulation是等價的。
那可行域也是convex的嗎?首先同理
的展開,
是
的affine函式。而且,
代表的區域也是convex的,為什麼?舉個例子,我們不妨看看
為2x2對稱矩陣時
所代表的區域,也就是
的區域,如下圖中曲面所包裹整個內部區域(圖中
是
軸,
為
軸,
為
軸),即
區域:
我們可以看到,上圖的區域是convex的。
SDP跟LP和QP之間的關係
我們在凸最佳化筆記(2)幾類標準問題以及Linear Programming簡介提到:
LP是QP的一種特殊情況,QP又是SDP的一種特殊情況
SDP又是跟LP和QP怎麼聯絡的?LP問題是SDP的特殊情況,相當於以上SDP的standard form中的C矩陣為不僅僅是對稱的,還是對角的。矩陣
同樣,即:
QP又為什麼會是SDP問題?我們可以引入一個新的variable
,把凸最佳化筆記(3)Quadratic Programming簡介與SVM中的QP的standard form寫成:
進一步,Q可以分解成
(Cholesky factorization),於是
就等價於
(Schur補引理)。所以QP是SDP的特殊情況。控制理論求解的Linear matrix inequality(LMI)就是SDP問題。用類似的方法可以推出QCQP(Quadratic Constrained Quadratic Programming)與SOCP(Second Order Conic Programing)是SDP的一種特殊情況,這裡暫時不細講(
)。
為什麼要研究SDP問題呢?
SDP覆蓋的問題比LP和QP更為廣泛,但依然是一個凸最佳化問題
面對非凸的問題,可以利用SDP更方便地做relaxation