
本文共 6778 字,大约阅读时间需要 22 分钟。
凸优化问题
凸优化问题
此处为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,反之同理。基于该功能,我们可以用二分法来框定拟凸问题的最优值以及最优解,算法流程如下: