凸优化问题
凸优化问题
此处为Boyd凸优化教材中对于凸优化问题特征的基本描述
什么是凸优化问题(凸优化问题的基本描述)
标准形式:
minimize f 0 ( x ) subject to f i ( x ) ≤ 0 , i = 1 , … , m h i ( x ) = 0 , i = 1 , … , p \begin{array}{ll} \operatorname{minimize} & f_{0}(x) \\ \text { subject to } & f_{i}(x) \leq 0, \quad i=1, \ldots, m \\ & h_{i}(x)=0, \quad i=1, \ldots, p \end{array} minimize subject to f0(x)fi(x)≤0,i=1,…,mhi(x)=0,i=1,…,p
如何判断一个优化问题是不是凸优化问题?三点要求:
1.目标函数为凸
2.不等式约束为凸
3.等式约束是仿射的
问题的定义域为:
D
=
⋂
i
=
0
m
dom
f
i
∩
⋂
i
=
1
p
dom
h
i
\mathcal{D}=\bigcap_{i=0}^{m} \operatorname{dom} f_{i} \cap \bigcap_{i=1}^{p} \operatorname{dom} h_{i}
D=i=0⋂mdomfi∩i=1⋂pdomhi
凸优化问题的本质,即是在一个凸集上极小化一个凸的目标函数。
凸问题与拟凸问题之间的关系
而如果目标函数是拟凸的,则优化问题扩展为拟凸优化问题。拟凸优化问题和凸优化问题的关系为:**凸优化问题为最优集最多包含一个点的拟凸优化问题。**由于拟凸函数和凸函数下水平集都是凸集,次优集(或最优集)都是凸的,如果目标函数严格凸,则最优集至多一个点。
局部最优与全局最优(凸优化问题的特殊之处;为什么都要研究凸优化问题)
对于凸优化问题,局部最优解即全局最优解(对于拟凸问题不满足)
可微函数 f 0 f_{0} f0的最优性准则(凸优化问题的最优解怎么解)
设凸优化问题的目标函数
f
0
f_{0}
f0可微,对于所有的
x
,
y
∈
dom
f
0
x, y \in \operatorname{dom} f_{0}
x,y∈domf0,有:
f
0
(
y
)
≥
f
0
(
x
)
+
∇
f
0
(
x
)
T
(
y
−
x
)
f_{0}(y) \geq f_{0}(x)+\nabla f_{0}(x)^{T}(y-x)
f0(y)≥f0(x)+∇f0(x)T(y−x)
以上为凸函数的一阶判定条件,用
X
X
X表示可行集,则
x
x
x是最优解,当且仅当
x
∈
X
x \in X
x∈X且
∇
f
0
(
x
)
T
(
y
−
x
)
≥
0
for all
y
∈
X
\nabla f_{0}(x)^{T}(y-x) \geq 0 \text { for all } y \in X
∇f0(x)T(y−x)≥0 for all y∈X
其物理意义是:
−
∇
f
0
(
x
)
-\nabla f_{0}(x)
−∇f0(x)在
x
x
x处定义了可行集的一个支撑超平面。
以下讨论集中特殊凸优化问题的最优性准则:
无约束问题
无约束问题,可行域是
dom
f
0
\operatorname{dom} f_{0}
domf0的全空间,此时最优解充要条件是:
∇
f
0
(
x
)
=
0
\nabla f_{0}(x)=0
∇f0(x)=0
这是一种之前见过的较传统情况,高中数学求函数极值点的重要准则就是找导数为0的点。根据上式解的数量,有几种可能的情况,下面是一个例子:
无约束二次规划:最小化目标函数
f 0 ( x ) = ( 1 / 2 ) x T P x + q T x + r f_{0}(x)=(1 / 2) x^{T} P x+q^{T} x+r f0(x)=(1/2)xTPx+qTx+r
其中 P P P为半正定阵,则有最优解条件可得:
∇ f 0 ( x ) = P x + q = 0 \nabla f_{0}(x)=P x+q=0 ∇f0(x)=Px+q=0
最优解为方程组 P x = − q Px=-q Px=−q的解,则有如下几种情况:
1. q q q不在 P P P的列空间中,则无解,此时 f 0 f_{0} f0无下界。
2.如果 P ≻ 0 P \succ 0 P≻0, f 0 f_{0} f0严格凸,有唯一最小解 x ∗ = − P − 1 q x^{*}=-P^{-1}q x∗=−P−1q。
3.如果 P P P奇异而 − q -q −q在其列空间中,则有多个最优解,最优解集合为 X o p t = − P † q + N ( P ) X_{\mathrm{opt}}=-P^{\dagger} q+\mathcal{N}(P) Xopt=−P†q+N(P)。
只含等式约束
问题形式:
minimize
f
0
(
x
)
subject to
A
x
=
b
\begin{array}{ll} \operatorname{minimize} & f_{0}(x) \\ \text { subject to } & A x=b \end{array}
minimize subject to f0(x)Ax=b
最优性条件:
∇
f
0
(
x
)
∈
R
(
A
T
)
\nabla f_{0}(x)\in\mathcal{R}(A^{\mathrm{T}})
∇f0(x)∈R(AT),或:
∇
f
0
(
x
)
\nabla f_{0}(x)
∇f0(x)在
N
(
A
)
\mathcal{N}(A)
N(A)的正交补中。
证明:
可行集是一个仿射集,最优性条件为:对任意
A
y
=
b
Ay=b
Ay=b的
y
y
y
∇
f
0
(
x
)
T
(
y
−
x
)
≥
0
\nabla f_{0}(x)^{\mathrm{T}}(y-x) \geq0
∇f0(x)T(y−x)≥0
每一个
y
y
y都有
y
=
x
+
v
y=x+v
y=x+v的形式,其中
v
∈
N
(
A
)
v \in \mathcal{N}(A)
v∈N(A),最优性条件为:
∇
f
0
(
x
)
T
v
≥
0
,
for all
v
∈
N
(
A
)
\nabla f_{0}(x)^{\mathrm{T}}v \geq0, \text{for all } v \in \mathcal{N}(A)
∇f0(x)Tv≥0,for all v∈N(A)
如果一个线性函数在子空间中非负,则它在子空间上必恒等于0。故而
∇
f
0
(
x
)
T
v
=
0
\nabla f_{0}(x)^{\mathrm{T}}v=0
∇f0(x)Tv=0,即
∇
f
0
(
x
)
\nabla f_{0}(x)
∇f0(x)在
N
(
A
)
\mathcal{N}(A)
N(A)的正交补中。所以只含等式约束的凸优化问题最优性条件为:
∇
f
0
(
x
)
∈
R
(
A
T
)
\nabla f_{0}(x)\in\mathcal{R}(A^{\mathrm{T}})
∇f0(x)∈R(AT),即:
N
(
A
)
+
A
T
v
=
0
\mathcal{N}(A)+A^\mathrm{T}v=0
N(A)+ATv=0
这是经典的Lagrange乘子最优条件。
非负象限中的极小化
问题形式:
minimize
f
0
(
x
)
subject to
x
⪰
0
\begin{array}{ll} \operatorname{minimize} & f_{0}(x) \\ \text { subject to } & x \succeq 0 \end{array}
minimize subject to f0(x)x⪰0
最优性条件:
x
⪰
0
,
∇
f
0
(
x
)
⪰
0
,
x
i
(
∇
f
0
(
x
)
)
i
=
0
,
i
=
1
,
…
,
n
x \succeq 0, \quad \nabla f_{0}(x) \succeq 0, \quad x_{i}\left(\nabla f_{0}(x)\right)_{i}=0, \quad i=1, \ldots, n
x⪰0,∇f0(x)⪰0,xi(∇f0(x))i=0,i=1,…,n
证明:
由可微
f
0
(
x
)
f_{0}(x)
f0(x)的最优性条件可知:
x
⪰
0
,
∇
f
0
(
x
)
T
(
y
−
x
)
≥
0
for all
y
⪰
0
x \succeq 0, \quad \nabla f_{0}(x)^{T}(y-x) \geq 0 \text { for all } y \succeq 0
x⪰0,∇f0(x)T(y−x)≥0 for all y⪰0
其中
∇
f
0
(
x
)
T
y
\nabla f_{0}(x)^{T} y
∇f0(x)Ty是
y
y
y的线性函数且在
y
⪰
0
y \succeq 0
y⪰0上无下界。于是最优条件简化为
−
∇
f
0
(
x
)
T
x
≥
0
-\nabla f_{0}(x)^{T} x\geq0
−∇f0(x)Tx≥0,而
x
⪰
0
x \succeq 0
x⪰0且
∇
f
0
(
x
)
⪰
0
\nabla f_{0}(x)\succeq 0
∇f0(x)⪰0,所以有
∇
f
0
(
x
)
=
0
\nabla f_{0}(x)=0
∇f0(x)=0,即:
∑
i
=
1
n
(
∇
f
0
(
x
)
)
i
x
i
=
0
\sum_{i=1}^{n}(\nabla f_{0}(x))_{i}x_{i}=0
i=1∑n(∇f0(x))ixi=0
这是
n
n
n个非负项乘积之和,故而每一项乘积都是0,得证。
x
i
(
∇
f
0
(
x
)
)
i
=
0
\quad x_{i}\left(\nabla f_{0}(x)\right)_{i}=0
xi(∇f0(x))i=0该项称为互补性,表明
x
x
x和
∇
f
0
(
x
)
\nabla f_{0}(x)
∇f0(x)的稀疏模式互补,也是KKT条件中的重要内容。
等价凸问题(如何将一般问题转化为凸问题)
消除等式约束
minimize
f
0
(
F
z
+
x
0
)
subject to
f
i
(
F
z
+
x
0
)
≤
0
,
i
=
1
,
…
,
m
\begin{array}{ll} \operatorname{minimize} & f_{0}\left(F z+x_{0}\right) \\ \text { subject to } & f_{i}\left(F z+x_{0}\right) \leq 0, \quad i=1, \ldots, m \end{array}
minimize subject to f0(Fz+x0)fi(Fz+x0)≤0,i=1,…,m
其中
F
F
F的值域为
A
A
A的零空间,
A
x
0
=
b
Ax_{0}=b
Ax0=b,则等式约束有:
A
(
F
z
+
x
0
)
=
A
F
z
+
A
x
0
=
A
x
0
=
b
,
for all
z
A(Fz+x_{0})=AFz+Ax_{0}=Ax_{0}=b, \text{for all }z
A(Fz+x0)=AFz+Ax0=Ax0=b,for all z
引入等式约束
若问题中有这种形式: f i ( A i x + b i ) f_{i}\left(A_{i} x+b_{i}\right) fi(Aix+bi),则用 y i = A i x + b i y_{i}=A_{i}x+b_{i} yi=Aix+bi代替。
松弛变量
将不等式约束
f
i
(
x
)
≤
0
f_{i}(x)\leq0
fi(x)≤0引入松弛变量
s
i
s_{i}
si,变不等式约束为等式约束:
f
i
(
x
)
+
s
i
=
0
f_{i}(x)+s_{i}=0
fi(x)+si=0
上境图问题
传统问题可转化为:
minimize
t
subject to
f
0
(
x
)
−
t
≤
0
f
i
(
x
)
≤
0
,
i
=
1
,
…
,
m
a
i
T
x
=
b
i
,
i
=
1
,
…
,
p
\begin{array}{ll} \operatorname{minimize} & t \\ \text { subject to } & f_{0}(x)-t \leq 0 \\ & f_{i}(x) \leq 0, \quad i=1, \ldots, m \\ & a_{i}^{T} x=b_{i}, \quad i=1, \ldots, p \end{array}
minimize subject to tf0(x)−t≤0fi(x)≤0,i=1,…,maiTx=bi,i=1,…,p
因为任何凸优化问题都可以转化为具有线性目标函数的问题,所以称线性目标函数对凸优化问题是普适的。
极小化部分变量
拟凸优化
问题描述
传统凸优化问题的目标函数拓展为拟凸函数。(这里要说明,凸约束函数没必要拓展到拟凸,因为约束函数有用的仅是下水平集,而凸函数与拟凸函数的下水平集都是凸集)
最优性条件(最优解怎么取)
x ∈ X , ∇ f 0 ( x ) T ( y − x ) > 0 for all y ∈ X \ { x } x \in X, \quad \nabla f_{0}(x)^{T}(y-x)>0 \text { for all } y \in X \backslash\{x\} x∈X,∇f0(x)T(y−x)>0 for all y∈X\{x}
拟凸问题最优解条件与凸问题不同:
1.对拟凸问题,该条件为充分条件;而凸问题是充要条件。拟凸问题中最优解可以不满足该条件。
2.拟凸问题要求 f 0 f_{0} f0的梯度非0,凸问题则不需要
用凸可行性问题求解拟凸优化问题(拟凸问题怎么解)
思路:用一族凸不等式来表示拟凸函数的下水平集
令
ϕ
t
:
R
n
→
R
,
t
∈
R
\phi_{t}: \mathbf{R}^{n} \rightarrow \mathbf{R}, t \in \mathbf{R}
ϕt:Rn→R,t∈R为满足
f
0
(
x
)
≤
t
⟺
ϕ
t
(
x
)
≤
0
f_{0}(x) \leq t \Longleftrightarrow \phi_{t}(x) \leq 0
f0(x)≤t⟺ϕt(x)≤0
的一族凸函数,且对每一个
x
x
x,
ϕ
t
(
x
)
\phi_{t}(x)
ϕt(x)关于
t
t
t非增(由于用
ϕ
t
(
x
)
\phi_{t}(x)
ϕt(x)的下水平集表示原拟凸函数的下水平集,原函数当
t
t
t变大时,在该原集合中的
x
x
x仍然在新的下水平集中,这一限定既是为了满足该特点)。
用
p
⋆
p^{\star}
p⋆表示拟凸优化问题的最优值,可以构造如下凸的可行性问题:
find
x
subject to
ϕ
t
(
x
)
≤
0
f
i
(
x
)
≤
0
,
i
=
1
,
…
,
m
A
x
=
b
\begin{array}{ll} \text { find } & x \\ \text { subject to } & \phi_{t}(x) \leq 0 \\ & f_{i}(x) \leq 0, \quad i=1, \ldots, m \\ & A x=b \end{array}
find subject to xϕt(x)≤0fi(x)≤0,i=1,…,mAx=b
该可行性问题可用来判断最优值与给定
t
t
t之间的关系:如果对于给定
t
t
t,上述有解,则说明
p
⋆
≤
t
p^{\star}\leq t
p⋆≤t,反之同理。基于该功能,我们可以用二分法来框定拟凸问题的最优值以及最优解,算法流程如下: