本文的閱讀等級:中級
凸優化 (convex optimization) 是最佳化理論的一個分支。顧名思義,凸優化探討定義於一個凸集的凸函數最小化問題[1]。令 為凸集且 為凸函數。我們的目標要找出一個點 ,使得每一 滿足 。在最佳化理論中, 稱為可行域 (feasible set), 稱為目標函數, 稱為全域最佳解[2]。任一凸優化問題皆可表示為下列標準型:
其中 是凸函數, 是仿射函數,即 ,,。最小平方法與線性規劃是兩種常見的凸優化問題。令 為一個 階實矩陣, 為 維實向量, 為 維實向量。最小平方法是一個無約束 (unconstrained) 最佳化問題:
。
線性規劃標準型問題具有下列形式 (見“線性規劃 (一):標準型問題”):
本文介紹凸優化的一個重要性質:任一局部最佳解 (亦稱相對最佳解) 即為全域最佳解。所謂局部最佳解 是指存在 使得集合 中每一點 滿足 。
定理一:若 是定義於凸集 的凸函數,則最佳解所形成的集合為一個凸集,且任一局部最佳解皆為全域最佳解。
如果目標函數 不存在局部最佳解,譬如 ,我們默認定理成立。下面考慮最佳解存在的情況,設 。所有最佳解組成的集合可表示為 ,稱為下水平集 (sublevel set)。因為 是凸集合, 必為凸集 (見“凸函數”,定理四)。令 是 的一個局部最佳解。假設存在另一點 滿足 。令 ,其中 。使用凸函數定義,可得
。
當 , 非常靠近 ,上式與 是一個局部最佳解的假設相矛盾,故證明局部最佳解 滿足 。
定理一說明兩件事:如果存在一個局部最佳解,則該解為全域最佳解;所有的 (全域) 最佳解構成一個凸集。如果目標函數 連續可導,我們還可以得到全域最佳解的充分條件,見下面定理。
定理二:令 為凸集, 為凸函數,且 。若存在一點 使得所有 ,,則 是 在 的全域最佳解。
證明使用此性質 (見“凸函數”,定理五):若 是凸函數,則對於任意 ,
。
以 取代 ,可得
。
近代常用的凸優化算法包括次梯度法 (subgradient method) 和內點法 (interior-point method)。有興趣深入了解的讀者請參閱維基百科介紹[3]或查詢非線性規劃 (nonlinear programming) 專門書籍。
註解:
[1] 一個向量集 稱為凸集 (見“凸組合、凸包與凸集”),若給定任兩點 和 ,點 屬於 。一個函數 稱為凸函數 (見“凸函數”),若給定任兩點 和 ,
。
傳統上,凸優化設定為凸函數的最小化問題。若凸函數 定義於一個有界閉凸集 ,從直觀可推斷使 最大化的最佳解發生於 的端點。
[2] 這裡 代表最佳解,請勿與共軛轉置 相混淆。
[3] 維基百科:次梯度法,內點法。
若待解問題不凸或不夠凸要怎麼凸化?
如果可能的話,使用變數變換將問題轉成凸函數。
請問老師, 那線性矩陣不等式(LMI)也算是凸優化的問題嗎?
應該說linear matrix inequality是經常見於控制凸優化的約束條件,
Click to access lmibook.pdf