Chapter 4 Convex optimization problems
《Convex Optimization》一书一直到第4章才算正式处理凸优化问题,第2章和第3章分别介绍了凸集和凸函数的一些知识,而凸优化问题的组成要素就是凸集和凸函数,重点是面对自己专业领域的一个优化问题,如何想办法将其转换为凸优化问题。
4.1 Optimization problems
优化问题的一般描述如下:
m
i
n
i
m
i
z
e
f
0
(
x
)
s
u
b
j
e
c
t
t
o
f
i
(
x
)
≤
0
,
i
=
1
,
…
,
m
h
i
(
x
)
=
0
,
i
=
1
,
…
,
p
\begin{aligned} \mathrm{minimize}\quad &f_0(x)\\ \mathrm{subject\;to}\;\;\;&f_i(x)\leq 0,\quad i=1,\ldots,m\\ &h_i(x)=0,\quad i=1,\ldots,p \end{aligned}
minimizesubjecttof0(x)fi(x)≤0,i=1,…,mhi(x)=0,i=1,…,p
- 相关定义:
- x ∈ R n x\in\mathbb{R}^n x∈Rn: optimization variable
- f 0 : R n → R f_0:\mathbb{R}^n\rightarrow\mathbb{R} f0:Rn→R: objective function/cost function
- f i ( x ) ≤ 0 f_i(x)\leq 0 fi(x)≤0: inequality constraints; f i ( x ) : R n → R f_i(x):\mathbb{R}^n\rightarrow\mathbb{R} fi(x):Rn→R: inequality constraint functions
- h i ( x ) = 0 h_i(x)=0 hi(x)=0: equality constraints; h i ( x ) : R n → R h_i(x):\mathbb{R}^n\rightarrow\mathbb{R} hi(x):Rn→R: equality constraint functions
- D = ⋂ i = 0 m d o m f i ∩ ⋂ i = 1 p d o m h i \mathcal{D}=\displaystyle{\bigcap_{i=0}^m}\mathbf{dom}f_i\cap\displaystyle{\bigcap_{i=1}^p}\mathbf{dom}h_i D=i=0⋂mdomfi∩i=1⋂pdomhi: domain of the optimization problem
- x ∈ D x\in\mathcal{D} x∈D, f i ( x ) ≤ 0 , i = 1 , … , m f_i(x)\leq 0,i=1,\ldots,m fi(x)≤0,i=1,…,m, h i ( x ) = 0 , i = 1 , … , p h_i(x)=0,i=1,\ldots,p hi(x)=0,i=1,…,p: feasible point; the set of all feasible points: feasible set/constrained set
- p ∗ = inf { f 0 ( x ) ∣ f i ( x ) ≤ 0 , i = 1 , … , m , h i ( x ) = 0 , i = 1 , … , p } p^*=\inf\{f_0(x)\vert f_i(x)\leq 0,i=1,\ldots,m,h_i(x)=0, i=1,\ldots,p\} p∗=inf{f0(x)∣fi(x)≤0,i=1,…,m,hi(x)=0,i=1,…,p}: optimal value
- x ∗ x^* x∗ is feasible and f 0 ( x ∗ ) = p ∗ f_0(x^*)=p^* f0(x∗)=p∗: optimal point; X o p t = { x ∣ f i ( x ) ≤ 0 , i = 1 , … , m , h i ( x ) = 0 , i = 1 , … , p , f 0 ( x ) = p ∗ } X_\mathrm{opt}=\{x\vert f_i(x)\leq 0,i=1,\ldots,m,h_i(x)=0,i=1,\ldots,p,f_0(x)=p^*\} Xopt={x∣fi(x)≤0,i=1,…,m,hi(x)=0,i=1,…,p,f0(x)=p∗}: optimal set
- x x x is feasible with f 0 ( x ) ≤ p ∗ + ϵ f_0(x)\leq p^*+\epsilon f0(x)≤p∗+ϵ, ϵ > 0 \epsilon>0 ϵ>0: ϵ \epsilon ϵ-suboptimal; the set of all ϵ \epsilon ϵ-suboptimal points: ϵ \epsilon ϵ-suboptimal set
- x x x is feasible, R > 0 R>0 R>0, f 0 ( x ) = inf { f 0 ( z ) ∣ f i ( z ) ≤ 0 , i = 1 , … , m , h i ( z ) = 0 , i = 1 , … , p , ∥ z − x ∥ ≤ R } f_0(x)=\inf\{f_0(z)\vert f_i(z)\leq 0,i=1,\ldots,m,h_i(z)=0,i=1,\ldots,p,\Vert z-x\Vert\leq R\} f0(x)=inf{f0(z)∣fi(z)≤0,i=1,…,m,hi(z)=0,i=1,…,p,∥z−x∥≤R}: locally optimal
4.2 Convex optimization
凸优化问题的一般描述如下:
m
i
n
i
m
i
z
e
f
0
(
x
)
s
u
b
j
e
c
t
t
o
f
i
(
x
)
≤
0
,
i
=
1
,
…
,
m
a
i
T
x
=
b
i
,
i
=
1
,
…
,
p
\begin{aligned} \mathrm{minimize}\quad &f_0(x)\\ \mathrm{subject\;to}\;\;\;&f_i(x)\leq 0,\quad i=1,\ldots,m\\ &a_i^\mathrm{T}x=b_i,\quad i=1,\ldots,p \end{aligned}
minimizesubjecttof0(x)fi(x)≤0,i=1,…,maiTx=bi,i=1,…,p
其中, f 0 , … , f m f_0,\ldots,f_m f0,…,fm为凸函数,
- any locally point is also globally optimal
- if f 0 f_0 f0 is differentiable, X X X denotes the feasible set, then x x x is optimal ⇔ \Leftrightarrow ⇔ x ∈ X x\in X x∈X, ∇ f 0 T ( x ) ( y − x ) ≥ 0 \nabla f_0^\mathrm{T}(x)(y-x)\geq 0 ∇f0T(x)(y−x)≥0 for all y ∈ X y\in X y∈X; if m = p = 0 m=p=0 m=p=0, then ∇ f 0 ( x ) = 0 \nabla f_0(x)=0 ∇f0(x)=0
- 拟凸优化:
f
0
f_0
f0 is quasiconvex
- if f 0 f_0 f0 is differentiable, x ∈ X x\in X x∈X, ∇ f 0 T ( x ) ( y − x ) > 0 \nabla f_0^\mathrm{T}(x)(y-x)>0 ∇f0T(x)(y−x)>0 for all y ∈ X \ { x } ⇒ y\in X\backslash\{x\}\Rightarrow y∈X\{x}⇒ x x x is optimal
- 利用 f 0 ( x ) ⇔ ϕ t ( x ) ≤ 0 f_0(x)\Leftrightarrow\phi_t(x)\leq 0 f0(x)⇔ϕt(x)≤0转为convex feasibility problem
4.3 Linear optimization problems
general form
m
i
n
i
m
i
z
e
c
T
x
+
d
s
u
b
j
e
c
t
t
o
G
x
⪯
h
A
x
=
b
\begin{aligned} \mathrm{minimize}\quad &c^\mathrm{T}x+d\\ \mathrm{subject\;to}\;\;\;&Gx\preceq h\\ &Ax=b \end{aligned}
minimizesubjecttocTx+dGx⪯hAx=b
其中, G ∈ R m × n G\in\mathbb{R}^{m\times n} G∈Rm×n, A ∈ R p × n A\in\mathbb{R}^{p\times n} A∈Rp×n。
standard form
m
i
n
i
m
i
z
e
c
T
x
s
u
b
j
e
c
t
t
o
A
x
=
b
x
⪰
0
\begin{aligned} \mathrm{minimize}\quad &c^\mathrm{T}x\\ \mathrm{subject\;to}\;\;\;&Ax=b\\ &x\succeq 0 \end{aligned}
minimizesubjecttocTxAx=bx⪰0
从general form到standard form
-
introduce slack variables s i s_i si:
m i n i m i z e c T x + d s u b j e c t t o G x + s = h A x = b s ⪰ 0 \begin{aligned} \mathrm{minimize}\quad &c^\mathrm{T}x+d\\ \mathrm{subject\;to}\;\;\;&Gx+s= h\\ &Ax=b\\ &s\succeq 0 \end{aligned} minimizesubjecttocTx+dGx+s=hAx=bs⪰0 -
x = x + − x − x=x^+-x^- x=x+−x−, x + , x − ⪰ 0 x^+,x^-\succeq 0 x+,x−⪰0:
minimize c T x + − c T x − + d subject to G x + − G x − + s = h A x + − A x − = b x + ⪰ 0 , x − ⪰ 0 , s ⪰ 0 \begin{aligned} \text{minimize}\quad &c^\mathrm{T}x^+-c^\mathrm{T}x^-+d\\ \text{subject to}\;\;\;&Gx^+-Gx^-+s= h\\ &Ax^+-Ax^-=b\\ &x^+\succeq 0,\ x^-\succeq 0,\ s\succeq 0 \end{aligned} minimizesubject tocTx+−cTx−+dGx+−Gx−+s=hAx+−Ax−=bx+⪰0, x−⪰0, s⪰0
4.4 Quadratic optimization problems
quadratic program (QP)
minimize
1
2
x
T
P
x
+
q
T
x
+
r
subject to
G
x
⪯
h
A
x
=
b
\begin{aligned} \text{minimize}\quad &\frac{1}{2}x^\mathrm{T}Px+q^\mathrm{T}x+r\\ \text{subject to}\;\;\;&Gx\preceq h\\ &Ax=b \end{aligned}
minimizesubject to21xTPx+qTx+rGx⪯hAx=b
其中, P ∈ S + n P\in\mathbb{S}_+^n P∈S+n。
quadratically constrained quadratic program (QCQP)
minimize
1
2
x
T
P
0
x
+
q
0
T
x
+
r
0
subject to
1
2
x
T
P
i
x
+
q
i
T
x
+
r
i
≤
0
,
i
=
1
,
…
,
m
A
x
=
b
\begin{aligned} \text{minimize}\quad &\frac{1}{2}x^\mathrm{T}P_0x+q_0^\mathrm{T}x+r_0\\ \text{subject to}\;\;\;&\frac{1}{2}x^\mathrm{T}P_ix+q_i^\mathrm{T}x+r_i\leq 0,\quad i=1,\ldots,m\\ &Ax=b \end{aligned}
minimizesubject to21xTP0x+q0Tx+r021xTPix+qiTx+ri≤0,i=1,…,mAx=b
其中, P i ∈ S + n P_i\in\mathbb{S}_+^n Pi∈S+n, i = 0 , 1 , … , m i=0,1,\ldots,m i=0,1,…,m。
second-order cone program (SOCP)
minimize
f
T
x
subject to
∥
A
i
x
+
b
i
∥
2
≤
c
i
T
x
+
d
i
,
i
=
1
,
…
,
m
F
x
=
g
\begin{aligned} \text{minimize}\quad &f^\mathrm{T}x\\ \text{subject to}\;\;\;&\Vert A_ix+b_i\Vert_2\leq c_i^\mathrm{T}x+d_i,\quad i=1,\ldots,m\\ &Fx=g \end{aligned}
minimizesubject tofTx∥Aix+bi∥2≤ciTx+di,i=1,…,mFx=g
4.5 Geometric programming
-
monomial function: f ( x ) = c x 1 a 1 x 2 a 2 ⋯ x n a n f(x)=cx_1^{a_1}x_2^{a_2}\cdots x_n^{a_n} f(x)=cx1a1x2a2⋯xnan, c > 0 c>0 c>0, a i ∈ R a_i\in\mathbb{R} ai∈R, dom f = R + + n \textbf{dom}f=\mathbb{R}_{++}^n domf=R++n
-
posynomial function: f ( x ) = ∑ k = 1 K c k x 1 a 1 k x 2 a 2 k ⋯ x n a n k f(x)=\displaystyle\sum_{k=1}^Kc_kx_1^{a_{1k}}x_2^{a_{2k}}\cdots x_n^{a_{nk}} f(x)=k=1∑Kckx1a1kx2a2k⋯xnank, c k > 0 c_k>0 ck>0
-
geometric program (GP)
minimize f 0 ( x ) subject to f i ( x ) ≤ 1 , i = 1 , … , m h i ( x ) = 1 , i = 1 , … , p \begin{aligned} \text{minimize}\quad &f_0(x)\\ \text{subject to}\;\;\;&f_i(x)\leq 1,\quad i=1,\ldots,m\\ &h_i(x)=1,\quad i=1,\ldots,p \end{aligned} minimizesubject tof0(x)fi(x)≤1,i=1,…,mhi(x)=1,i=1,…,p
其中, f 0 , … , f m f_0,\ldots,f_m f0,…,fm为posynomials, h 1 , … , h p h_1,\ldots,h_p h1,…,hp为monomials。通过取对数和变量替换可转换为凸优化问题。
4.6节介绍的Generalized inequality constraints和4.7节介绍的Vector optimization等需要用到的时候再详细研究。