系列文章目錄
凸優化理論學習一|最優化及凸集的基本概念
凸優化理論學習二|凸函數及其相關概念
文章目錄
- 系列文章目錄
- 一、優化問題
- (一)標準形式的優化問題
- (二)可行點和最優點
- (三)局部最優點
- (四)隱式和顯式約束
- (五)可行性問題
- 二、凸優化問題
- (一)標準形式的凸優化問題
- (二)局部最優與全局最優
- (三)一些標準凸問題
- 1、線性規劃 (LP)
- 2、二次規劃 (QP)
- 3、二次約束二次規劃 (QCQP)
- 4、二階錐規劃(SOCP)
- 4、凸椎形式問題
- 5、半定規劃 (SDP)
- 6、LP、SOCP與SDP
一、優化問題
(一)標準形式的優化問題
- 優化目標:minimize f 0 ( x ) f_0(x) f0?(x)
- 約束條件:
- 非等式約束: f i ( x ) ≤ 0 , i = 1 , . . . , m f_i(x)\leq0,i=1,...,m fi?(x)≤0,i=1,...,m
- 等式約束: h i ( x ) = 0 , i = 1 , . . . , p h_i(x)=0,i=1,...,p hi?(x)=0,i=1,...,p
(二)可行點和最優點
- 如果 x ∈ d o m f 0 x ∈ dom f_0 x∈domf0? 并且滿足約束條件,則 x ∈ R n x ∈ R_n x∈Rn? 是可行的
- 最優值 p ? = i n f { f 0 ( x ) ∣ f i ( x ) ≤ 0 , i = 1 , . . . , m , h i ( x ) = 0 , i = 1 , . . . , p } p^{*}=inf\{f_0(x)|f_i(x)\leq 0,i=1,...,m,h_i(x)=0,i=1,...,p\} p?=inf{f0?(x)∣fi?(x)≤0,i=1,...,m,hi?(x)=0,i=1,...,p}
- 如果問題不可行,則 p ? = ∞ p^{*}=∞ p?=∞
- 如果問題無下界,則 p ? = ? ∞ p^{*}=-∞ p?=?∞
- 如果 f 0 ( x ) = p ? f_0(x)=p^{*} f0?(x)=p?,則可行點 x x x是最優點
- X o p t X_{opt} Xopt?是最優點的集合
(三)局部最優點
如果存在 R > 0 R > 0 R>0 使得 x 在以下情況下是最優的:
- m i n i m i z e ( o v e r z ) f 0 ( z ) minimize\ (over\ z)\ \ f_0(z) minimize?(over?z)??f0?(z)
- s u b j e c t t o subject\ to subject?to
- f i ( z ) ≤ 0 , i = 1 , . . . , m f_i(z)\leq 0,i=1,...,m fi?(z)≤0,i=1,...,m
- h i ( z ) = 0 , i = 1 , . . . , p h_i(z)=0,i=1,...,p hi?(z)=0,i=1,...,p
- ∣ ∣ z ? x ∣ ∣ 2 ≤ R ||z-x||_2\leq R ∣∣z?x∣∣2?≤R
那么 x x x即為局部最優點。
(四)隱式和顯式約束
- 顯式約束:
- 非等式約束: f i ( x ) ≤ 0 , i = 1 , . . . , m f_i(x)\leq0,i=1,...,m fi?(x)≤0,i=1,...,m
- 等式約束: h i ( x ) = 0 , i = 1 , . . . , p h_i(x)=0,i=1,...,p hi?(x)=0,i=1,...,p
- 如果 m = p = 0 m=p=0 m=p=0,即沒有約束,此時問題為無約束問題
- 標準形式優化問題具有隱式約束
x ∈ D = ? i = 0 m d o m f i ∩ ? i = 1 p d o m h i x\in D=?^m_{i=0}domf_i∩?^p_{i=1}domh_i x∈D=i=0?m?domfi?∩i=1?p?domhi?
(五)可行性問題
如果目標函數恒等于零,那么其最優解要么是零(如果可行集非空),要么是∞(如果可行集是空集)。我們稱其為可行性問題:
- 目標:0
- 約束條件:
- f i ( x ) ≤ 0 , i = 1 , . . . , m f_i(x)\leq 0,i=1,...,m fi?(x)≤0,i=1,...,m
- h i ( x ) = 0 , i = 1 , . . . , p h_i(x)=0,i=1,...,p hi?(x)=0,i=1,...,p
二、凸優化問題
(一)標準形式的凸優化問題
- 目標:最小化 f 0 ( x ) f_0(x) f0?(x)
- 約束條件:
- f i ( x ) ≤ 0 , i = 1 , . . . , m f_i(x)\leq 0,i=1,...,m fi?(x)≤0,i=1,...,m
- a i T x = b i , i = 1 , . . . , p a_i^Tx=b_i,i=1,...,p aiT?x=bi?,i=1,...,p
其中:目標和不等式約束 f 0 , f 1 , . . . , f m f_0, f_1, ..., f_m f0?,f1?,...,fm?是凸的;等式約束是仿射的,通常寫為 A x = b Ax = b Ax=b;凸優化問題的可行集和最優集是凸的;如果 f 0 f_0 f0? 是擬凸的, f 1 , . . . , f m f_1, ..., f_m f1?,...,fm? 是凸的, h 1 , . . . , h p h_1, ..., h_p h1?,...,hp? 是仿射的,則問題是擬凸的。
考慮一個標準形式問題的例子:
- 目標:最小化 f 0 ( x ) = x 1 2 + x 2 2 f_0(x)=x_1^2+x_2^2 f0?(x)=x12?+x22?
- 約束條件:
- f 1 ( x ) = x 1 ( 1 + x 2 2 ) ≤ 0 f_1(x)=\frac{x_1}{(1+x_2^2)}\leq 0 f1?(x)=(1+x22?)x1??≤0
- h 1 ( x ) = ( x 1 + x 2 ) 2 = 0 h_1(x)=(x_1+x_2)^2=0 h1?(x)=(x1?+x2?)2=0
易知目標函數 f 0 f_0 f0?是凸的,并且可行集 { ( x 1 , x 2 ) ∣ x 1 = ? x 2 ≤ 0 } \{(x_1,x_2)|x_1=-x_2\leq0\} {(x1?,x2?)∣x1?=?x2?≤0}也是凸的;但是約束條件 f 1 f_1 f1?不是凸的, h 1 h_1 h1?不是仿射的,因此它不是一個凸問題。這個問題可以等價為以下凸問題:
- 目標:最小化 x 1 2 + x 2 2 x_1^2+x_2^2 x12?+x22?
- 約束條件:
- x 1 ≤ 0 x_1\leq 0 x1?≤0
- x 1 + x 2 = 0 x_1+x_2=0 x1?+x2?=0
(二)局部最優與全局最優
凸問題的任何局部最優點都是(全局)最優的
可微分 f 0 f_0 f0? 的最優性準則:
對于凸問題,點 x x x是最優解的一個充分必要條件:
- 點 x x x是可行解,即 x x x屬于可行集合 X X X
- 對于任何可行點 y y y,都滿足梯度條件: ? 2 f 0 ( x ) T ( y ? x ) ≥ 0 ?^2f_0(x)^T(y-x)\geq 0 ?2f0?(x)T(y?x)≥0
這個條件表明,如果 x x x 是最優解,那么任何與之可行的點 y y y 的方向上的梯度內積都是非負的。這實際上是凸問題最優解的一個重要性質,稱為一階條件。這種條件確保了最優解的局部性質,即在最優解附近,目標函數不會在可行方向上下降。另一方面,如果 x x x 滿足這個條件,那么根據凸優化的性質,它意味著 x x x 是最優解。這個條件表明,如果梯度與任何可行方向的變化都是非負的,那么該點是全局最優解的候選者。
如果梯度 ? f 0 ( x ) ?f_0(x) ?f0?(x) 在點 x x x 處非零,則它確實定義了可行集 X X X 在點 x x x 處的一個支撐超平面。
應用舉例:
- 無約束問題: x x x 最小化 f 0 ( x ) f_0 (x) f0?(x) 當且僅當 ? f 0 ( x ) = 0 ?f_0 (x) = 0 ?f0?(x)=0
- 等式約束問題: x x x 最小化 f 0 ( x ) f_0 (x) f0?(x) 且滿足 A x = b Ax = b Ax=b 當且僅當存在 v v v使得:
A x = b , ? f 0 ( x ) + A T v = 0 Ax=b,\ ?f_0 (x)+A^Tv=0 Ax=b,??f0?(x)+ATv=0 - 非負正交坐標系上的的最小化問題: x x x 最小化 R + n R^n_+ R+n? 上的 f 0 ( x ) f_0 (x) f0?(x) 當且僅當:
- x x x的所有分量非負: x ≥ 0 x\geq 0 x≥0
- 對于所有的分量 i i i,如果 x i = 0 x_i=0 xi?=0,則其對應的梯度分量 ? f 0 ( x ) i ?f_0 (x)_i ?f0?(x)i?非負
- 對于所有的分量 i i i,如果 x i > 0 x_i>0 xi?>0,則其對應的梯度分量 ? f 0 ( x ) i ?f_0 (x)_i ?f0?(x)i?等于0
(三)一些標準凸問題
1、線性規劃 (LP)
線性規劃(LP)是一種特殊形式的凸優化問題,其目標函數和約束函數都是仿射的,可行集是多面體(即由線性不等式和等式構成的凸多面體)。這使得線性規劃問題具有一些特殊的性質和解決方法。
- 目標函數:最小化 c T x + d c^Tx+d cTx+d
- 約束條件: G x ≤ h Gx\leq h Gx≤h, A x = b Ax=b Ax=b
飲食問題:
分段線性最小化問題可以轉化為線性規劃(LP)問題
>等價的線性規劃問題即為:
- 目標函數:最小化t
- 約束條件: a i T x + b i ≤ t , i = 1 , . . . , m a^T_ix+b_i\leq t,i=1,...,m aiT?x+bi?≤t,i=1,...,m, x ∈ R n , t ∈ R x\in R^n,t\in R x∈Rn,t∈R
這個線性規劃問題的變量包括 x x x 和 t t t,約束條件描述了函數 f 0 ( x ) f_0 (x) f0?(x) 的上確界(epigraph)。通過將凸分段線性函數轉化為等價的線性規劃問題,我們可以使用線性規劃算法來求解原始的凸分段線性函數最小化問題。
多面體的切比雪夫中心:
Chebyshev center x c h e b x_{cheb} xcheb?是多面體 P P P 的中心,即它是一個點,使得對于多面體 P P P 中的每個點 x x x,從 x c h e b x_{ cheb} xcheb??到 x x x 的歐幾里得距離小于或等于到 P P P 的邊界的最大距離。這等價于說,Chebyshev center 是可以包容在 P P P 內的最大球的中心。中心 x c h e b x_{ cheb} xcheb?和球的半徑 r r r可以通過以下方式找到:
- 對于每個約束 a i T x ≤ b i a_i^Tx\leq b_i aiT?x≤bi?,要求在球 B B B內部找到與約束最靠近的點,即對于每個 i i i,找到最大化 a i T ( x c h e b + u ) a_i^T(x_{cheb}+u) aiT?(xcheb?+u)的 u u u,其中 ∣ ∣ u ∣ ∣ 2 ≤ r ||u||_2\leq r ∣∣u∣∣2?≤r,這相當于在球內找到一個與約束最接近的邊界點
- 找到這些最近的點的最小值,即最大化 r r r,同時滿足所有約束。這等價于最大化球的半徑,使得球包含在多面體P中。
用線性規劃表示為:
- 最大化 r r r
- 約束條件: a i T x c h e b + r ∣ ∣ a i ∣ ∣ 2 ≤ b i , i = 1 , . . . , m a_i^Tx_{cheb}+r||a_i||_2\leq b_i,i=1,...,m aiT?xcheb?+r∣∣ai?∣∣2?≤bi?,i=1,...,m
2、二次規劃 (QP)
二次規劃(Quadratic Programming,簡稱QP)是一種優化問題,其目標是最小化或最大化一個二次型目標函數,其變量受到一組線性等式和不等式約束的限制。通常的形式如下:
- 目標函數:最小化 ( 1 / 2 ) x T P x + q T x + r (1/2)x^TPx+q^Tx+r (1/2)xTPx+qTx+r
- 約束條件: G x ≤ h Gx\leq h Gx≤h, A x = b Ax=b Ax=b
其中, P P P是對稱正定矩陣
最小二乘法:
- 目標函數:最小化 ‖ A x ? b ‖ 2 ‖Ax ? b‖_2 ‖Ax?b‖2?
- 解析解: x ? = A ? b x^* = A?b x?=A?b ( A ? A? A? 是偽逆)
- 可以添加線性約束,例如:
- x > 0 x> 0 x>0(非負最小二乘法)
- x 1 ≤ x 2 ≤ . . . ≤ x n x_1\leq x_2\leq ... \leq x_n x1?≤x2?≤...≤xn?(等滲回歸)
具有隨機成本的線性規劃:
- 目標函數:最小化 c ˉ T x + γ x T Σ x \bar{c}^Tx+\gamma x^T\Sigma x cˉTx+γxTΣx
- 約束條件: G x ≤ h , A x = b Gx\leq h,Ax=b Gx≤h,Ax=b
其中, c c c是隨機成本, γ > 0 \gamma > 0 γ>0 為風險厭惡參數,控制預期成本和方差(風險)之間的權衡
3、二次約束二次規劃 (QCQP)
二次約束二次規劃(Quadratically Constrained Quadratic Programming,QCQP)問題是在二次目標函數下,滿足一組二次不等式約束條件。通常的形式如下:
- 目標函數:最小化 ( 1 / 2 ) x T P 0 x + q 0 T x + r 0 (1/2)x^TP_0x+q_0^Tx+r_0 (1/2)xTP0?x+q0T?x+r0?
- 約束條件: ( 1 / 2 ) x T P i x + q i T x + r i , i = 1 , . . . , m (1/2)x^TP_ix+q_i^Tx+r_i,i=1,...,m (1/2)xTPi?x+qiT?x+ri?,i=1,...,m, A x = b Ax=b Ax=b
其中, P P P是對稱正定矩陣,目標和約束是凸二次的;如果 P 1 , . . . , P m ∈ S n + + P_1,..., P_m ∈ S_n^++ P1?,...,Pm?∈Sn+?+,可行域是 m 個橢球與仿射集的交集。
4、二階錐規劃(SOCP)
Second-Order Cone Programming (SOCP)是一類凸優化問題,它涉及到二階錐約束,通常具有以下形式:
- 目標函數:最小化 f T x f^Tx fTx
- 約束條件: ∣ ∣ A i x + b i ∣ ∣ 2 ≤ c i T x + d i , i = 1 , . . . , m ||A_ix+b_i||_2\leq c_i^Tx+d_i,i=1,...,m ∣∣Ai?x+bi?∣∣2?≤ciT?x+di?,i=1,...,m, F x = g Fx=g Fx=g
其中,不等式約束又叫二階錐約束(SOC): ( A i x + b i , c i T x + d i ) ∈ s e c o n d ? o r d e r c o n e i n R n i + 1 (A_ix+b_i,c_i^Tx+d_i)\in second-order\ cone\ in\ R^{n_i+1} (Ai?x+bi?,ciT?x+di?)∈second?order?cone?in?Rni?+1。如果 n i = 0 n_i=0 ni?=0,二階錐規劃就會退為線性規劃,如果 c i = 0 c_i=0 ci?=0,二階錐規劃退為二次約束二次規劃 (QCQP)。
魯棒線性規劃問題: 假設約束向量 a i a_i ai?是不確定的情況,也就是說魯棒線性規劃(Robust Linear Programming)涉及到在不確定條件下尋找最優解。
- 目標函數:最小化 c T x c^Tx cTx
- 約束條件: a i T x ≤ b i , i = 1 , . . . , m a_i^Tx\leq b_i,i=1,...,m aiT?x≤bi?,i=1,...,m
對于這種不確定性,常見的處理方式有確定性最壞情況方法和隨機方法兩種。
確定性最壞情況方法:約束必須適用于所有 a i ∈ E i a_i ∈ E_i ai?∈Ei?(不確定性橢球)
- 確定性最壞情況方法的基本形式:
- 目標函數:最小化 c T x c^Tx cTx
- 約束條件: a i T x ≤ b i f o r a l l a i ∈ E i , i = 1 , . . . , m a_i^Tx\leq b_i\ for\ all\ a_i\in E_i,i=1,...,m aiT?x≤bi??for?all?ai?∈Ei?,i=1,...,m
- 確定性最壞情況方法的原理:不確定性橢球形式為 E i = { a ˉ i + P i u ∣ ∣ ∣ u ∣ ∣ 2 ≤ 1 } E_i=\{\bar{a}_i+P_iu|\ ||u||_2\leq 1\} Ei?={aˉi?+Pi?u∣?∣∣u∣∣2?≤1},其中 a ˉ i ∈ R \bar{a}_i\in R aˉi?∈R是中心, P i ∈ R n × n P_i\in R^{n\times n} Pi?∈Rn×n是決定半軸的奇異值/奇異向量。最終可以等價于以下形式的二階錐規劃問題:
- 目標函數:最小化 c T x c^Tx cTx
- 約束條件: a ˉ i T x + ∣ ∣ P T i x ∣ ∣ 2 2 ≤ b i , i = 1 , . . . , m \bar{a}_i^Tx+||PT_ix||^2_2\leq b_i,i=1,...,m aˉiT?x+∣∣PTi?x∣∣22?≤bi?,i=1,...,m
隨機方法:把 a i a_i ai?看成一個隨機變量,約束必須以一定的概率 η \eta η成立
- 隨機方法的基本形式
- 目標函數:最小化 c T x c^Tx cTx
- 約束條件: p r o b ( a i T x ≤ b i ) ≥ η , i = 1 , . . . , m prob(a_i^Tx\leq b_i)\geq \eta,i=1,...,m prob(aiT?x≤bi?)≥η,i=1,...,m
- 隨機方法的基本原理:假設 a i ~ N ( a ˉ i , Σ i ) a_i\sim N(\bar{a}_i,\Sigma_i) ai?~N(aˉi?,Σi?),所以 a i T x ~ N ( a ˉ i T x , x T Σ i x ) a_i^Tx\sim N(\bar{a}_i^Tx,x^T\Sigma_ix) aiT?x~N(aˉiT?x,xTΣi?x), p r o b ( a i T x ≤ b i ) = Φ ( b i ? a ˉ i T x ∣ ∣ Σ i 1 / 2 x ∣ ∣ 2 ) prob(a_i^Tx\leq b_i)=\Phi(\frac{b_i-\bar{a}_i^Tx}{||\Sigma_i^{1/2}x||_2}) prob(aiT?x≤bi?)=Φ(∣∣Σi1/2?x∣∣2?bi??aˉiT?x?), p r o b ( a i T x ≤ b i ) ≥ η prob(a_i^Tx\leq b_i)\geq \eta prob(aiT?x≤bi?)≥η可以被表示 a ˉ i T x + Φ ? 1 ( η ) ∣ ∣ Σ i 1 / 2 x ∣ ∣ 2 ≤ b i \bar{a}_i^Tx+\Phi^{-1}(\eta)||\Sigma_i^{1/2}x||_2\leq b_i aˉiT?x+Φ?1(η)∣∣Σi1/2?x∣∣2?≤bi?。當 η > 1 / 2 \eta > 1/2 η>1/2時,可以等價于以下形式的二階錐規劃問題:
- 目標函數:最小化 c T x c^Tx cTx
- 約束條件: a ˉ i T x + Φ ? 1 ( η ) ∣ ∣ Σ i 1 / 2 x ∣ ∣ 2 ≤ b i , i = 1 , . . . , m \bar{a}_i^Tx+\Phi^{-1}(\eta)||\Sigma^{1/2}_ix||_2\leq b_i,i=1,...,m aˉiT?x+Φ?1(η)∣∣Σi1/2?x∣∣2?≤bi?,i=1,...,m
4、凸椎形式問題
在凸優化中,凸錐形式的問題是一種重要的形式,涉及到優化目標函數以及約束條件均為凸錐函數或凸錐集。具體而言,考慮以下凸錐形式的問題:
- 目標函數: 最小化 最小化 最小化c^Tx$
- 約束條件: F x + g ≤ K 0 Fx+g\leq_K 0 Fx+g≤K?0, A x = b Ax=b Ax=b
其中, K K K表示一個凸椎,通常是一個封閉的凸椎
5、半定規劃 (SDP)
半定規劃(Semidefinite Programming,SDP)是一類重要的凸優化問題,它涉及到優化一個線性函數,其變量是對稱半正定矩陣。半定規劃的一般形式如下:
- 目標函數:最小化 c T x c^Tx cTx
- 約束條件: x 1 F 1 + x 2 F 2 + . . . + x n F n + G ≤ 0 x_1F_1+x_2F_2+...+x_nF_n+G\leq 0 x1?F1?+x2?F2?+...+xn?Fn?+G≤0, A x = b Ax=b Ax=b
其中, F F F和 G G G為對稱矩陣( F i , G ∈ S k F_i,G\in S^k Fi?,G∈Sk),不等式約束稱為線性矩陣不等式(LMI)。
示例:矩陣范數最小化
6、LP、SOCP與SDP
LP 和等效的 SDP:
SOCP 和等效的 SDP: