凸优化第四章凸优化问题 4.2 凸优化

4.2 凸优化

  1. 标准形式的凸优化问题
  2. 局部最优解与全局最优解
  3. 可微函数f_0的最优性准则
  4. 等价的凸问题
  5. 拟凸优化

4.2.1 标准形式的凸优化问题

凸优化问题

\begin{array}{ll} \operatorname{minimize} & f_{0}(x) \\ \text { subject to } & f_{i}(x) \leqslant 0, \quad i=1, \cdots, m \\ & a_{i}^{T} x=b_{i}, \quad i=1, \cdots, p \end{array}

f_0,f_1,f_2\cdots ,f_m是凸函数,等式约束是仿射函数,则此优化问题是凸优化问题。

也可以写成:

\begin{array}{ll} \operatorname{minimize} & f_{0}(x) \\ \text { subject to } & f_{i}(x) \leqslant 0, \quad i=1, \cdots, m \\ & A x=b \end{array}

重要性质:凸优化问题的可行集也是凸集(凸函数定义域——凸集的交集)。

证明:可行集是满足不等式约束和等式约束的点的集合,首先不等式约束函数f_i是凸函数,满足不等式约束f_i(x)\leq 0的x,相当于是f_i的0-下水平集,凸函数的下水平集是凸集,所以满足每个不等式约束的x均是凸集,同时满足这些不等式约束的x是这些凸集的交集仍为凸集。对于等式约束,满足每个仿射函数的x是凸集,同时满足多个仿射函数的x是凸集的交集也是凸集。同时考虑不等式约束和等式约束,可知凸优化问题的可行集也是凸集。

凹最大化问题

稍微改变符号,我们也称:

\begin{array}{ll} \operatorname{maximize} & f_{0}(x) \\ \text { subject to } & f_{i}(x) \leqslant 0, \quad i=1, \cdots, m \\ & a_{i}^{T} x=b_{i}, \quad i=1, \cdots, p \end{array}

为凸优化问题,如果目标函数f_0是凹的而不等式约束函数f_1,\cdots ,f_m是凸的。这个凹最大化问题可以简单地通过极小化凸目标函数-f_0得以求解。对于极小化问题的所有结果、结论及算法都可以简单地转换用于解决最大化问题。

凸优化问题的抽象形式

考虑x \in R^2的一个例子:

\begin{array}{ll} \operatorname{minimize} & f_{0}(x)=x_{1}^{2}+x_{2}^{2} \\ \text { subject to } & f_{1}(x)=x_{1} /\left(1+x_{2}^{2}\right) \leqslant 0 \\ & h_{1}(x)=\left(x_{1}+x_{2}\right)^{2}=0 \end{array}

首先判断可行集,由两个约束函数可推出x_1+x_2=0,x_1\leq 0,可知可行集是凸集。

f_0是凸函数。但是这不是一个凸优化问题,因为其不等式约束函数不是凸函数,等式约束函数也不是仿射函数。

但可以得到其等价的凸优化问题:

\begin{array}{ll} \operatorname{minimize} & f_{0}(x)=x_{1}^{2}+x_{2}^{2} \\ \text { subject to } & \tilde{f}_{1}(x)=x_{1} \leqslant 0 \\ & \tilde{h}_{1}(x)=x_{1}+x_{2}=0 \end{array}

4.2.2 局部最优解与全局最优解

凸优化问题的基础性质:其任意局部最优解也是全局最优解。

证明:假设x是局部最优解,且存在一个可行点y,f_0(y)\leq f_0(x)

因为x是局部最优解,故存在一些R,

R>0,f_0(x)=inf\left \{ f_0(z)|z\, is \, feasible,\begin{Vmatrix} z-x \end{Vmatrix}_2\leq R\right \}

因为凸优化问题的可行集是凸集,故取\forall \theta \in[0,1],z=\theta y+(1-\theta)x都属于可行集。

因为f_0(y)\leq f_0(x),故\begin{Vmatrix} y-x \end{Vmatrix}_2> R

此时令\theta =\frac{R}{2\begin{Vmatrix} y-x \end{Vmatrix}_2},可知\theta \in(0,1/2)此时

\begin{Vmatrix} z-x \end{Vmatrix}_2= \begin{Vmatrix} -\theta x+\theta y \end{Vmatrix}_2 =\begin{Vmatrix} \theta(y-x) \end{Vmatrix}_2

= \begin{Vmatrix} \frac{R}{2\begin{Vmatrix}y-x \end{Vmatrix}_2}(y-x) \end{Vmatrix}_2= \frac{R}{2\begin{Vmatrix}y-x \end{Vmatrix}_2}\begin{Vmatrix} (y-x) \end{Vmatrix}_2=R/2< R

\Rightarrow f_0(z)\geq f_0(x)

而根据凸函数性质:

f_0(z)=f_0(\theta y+(1-\theta)x)\leq \theta f_0(y)+(1-\theta)f_0(x)< f_0(x)

与上式矛盾。故凸优化问题中局部最优解就是全局最优解。

4.2.3 可微函数f_0的最优性准则

f_0是可微凸函数时,根据凸函数一阶条件,可知\forall x,y\in dom(f_0),f_0(y)\geq f_0(x)+\bigtriangledown ^Tf_0(x)(y-x)

如果x是最优解,对任意的y属于可行集,首先满足f_0(y)\geq f_0(x)+\bigtriangledown ^Tf_0(x)(y-x),同时满足f_0(y)\geq f_0(x)(下确界)。所以x是最优解的充要条件就是对任意的y属于可行集,\bigtriangledown ^Tf_0(x)(y-x)\geq 0

\bigtriangledown ^Tf_0(x)(y-x)\geq 0等价于-\bigtriangledown ^Tf_0(x)(y-x)\leq 0,故几何上如果\bigtriangledown ^Tf_0(x)\neq 0-\bigtriangledown ^Tf_0(x)在可行集上定义了一个支撑超平面。

无约束问题:

可行集就是f_0的定义域,所以x是最优解的充要条件就是\bigtriangledown f_0(x)=0

证明:因为f_0可微,所以其定义域是开的,因此与x足够近的点都可行,取y=x-t\bigtriangledown f_0(x),t\in R,t为很小正数时,y可行,于是

\bigtriangledown ^Tf_0(x)(y-x)= -t\bigtriangledown ^Tf_0(x) \bigtriangledown f_0(x)=-t\begin{Vmatrix}\bigtriangledown f_0(x) \end{Vmatrix}_2,要想满足\bigtriangledown ^Tf_0(x)(y-x)\geq 0,只能\bigtriangledown f_0(x)=0

只有等式约束的问题:

\begin{array}{ll} \operatorname{minimize} & f_{0}(x) \\ \text { subject to } & A x=b \end{array}

可行解的最优性条件:对任意的y属于可行集,即\forall \left \{ y|Ay=b \right \}\bigtriangledown ^Tf_0(x)(y-x)\geq 0,因为x、y都是可行解,令$\nabla f_{0}(x)^{T} v \geqslant 0, \forall v \in \mathcal{N}(A)$,其中\mathcal{N}(A)表示矩阵A的化零空间,v\in \mathcal{N}(A)\Leftrightarrow Av=0

将x、y代入最优条件:\bigtriangledown ^Tf_0(x)v\geq 0,\forall v\in N(A),即线性函数非负,故\bigtriangledown ^Tf_0(x)v=0,\forall v\in N(A)

\bigtriangledown f_0(x)\perp \mathcal{N}(A)

又因为\mathcal{N}(A)^{\perp }=R(A^T)

\Rightarrow \bigtriangledown f_0(x)\in R(A^T)\Rightarrow \exists v\in R^p,A^Tv=\bigtriangledown f_0(x)\\\Leftrightarrow \exists v\in R^p,A^Tv+\bigtriangledown f_0(x)=0

上述最优性条件也可以拉格朗日乘子法得到,令L=f_0(x)+\lambda (Ax-b)

\frac{\partial L}{\partial x}=\bigtriangledown f_0(x)+A^T\lambda,令其为0,得到最优性条件。

非负象限的极小化问题:

\begin{array}{ll} \operatorname{minimize} & f_{0}(x) \\ \text { subject to } & x \succeq 0 \end{array}

当x为最优解时,最优性条件:\forall y \succeq 0,\bigtriangledown ^Tf_0(x)(y-x)\geq 0

\bigtriangledown ^Tf_0(x)(y-x)\geq 0是y的线性函数,在y\geq 0时,如果\bigtriangledown ^Tf_0(x)< 0时,函数无下界,即最优条件不可能恒成立,故\bigtriangledown ^Tf_0(x)\geq 0

将最优条件写成:

\forall y \succeq 0,\bigtriangledown ^Tf_0(x)y+(-\bigtriangledown ^Tf_0(x)x)\geq 0

所以要使上式恒成立要求-\bigtriangledown ^Tf_0(x)x\geq 0,而\bigtriangledown ^Tf_0(x)\geq 0x\geq 0,所以只能是\bigtriangledown ^Tf_0(x)x=0

\sum _{i=1}^n(\bigtriangledown f_0(x))_ix_i=0

4.2.4 等价的凸问题

保持问题凸性的转换有:消除等式约束、引入等式约束、引入松弛变量、上境图问题形式、极小化部分变量

消除等式约束

\begin{array}{ll} \operatorname{minimize} & f_{0}(x) \\ \text { subject to } & f_{i}(x) \leqslant 0, \quad i=1, \cdots, m \\ & A x=b \end{array}

等价于:

\begin{array}{ll} \operatorname{minimize} & f_{0}\left(F z+x_{0}\right) \\ \text { subject to } & f_{i}\left(F z+x_{0}\right) \leqslant 0, \quad i=1, \cdots, m \end{array}

x_0是Ax=b的特解,F的列可以长成A的化零空间。

引入等式约束

\begin{array}{ll} \operatorname{minimize} & f_{0}\left(A_{0} x+b_{0}\right) \\ \text { subject to } & f_{i}\left(A_{i} x+b_{i}\right) \leqslant 0, \quad i=1, \cdots, m \end{array}

等价于:

\begin{array}{ll} \operatorname{minimize} & f_{0}\left(y_{0}\right) \\ \text { subject to } & f_{i}\left(y_{i}\right) \leqslant 0, \quad i=1, \cdots, m \\ & y_{i}=A_{i} x+b_{i}, \quad i=0, \cdots, m\end{array}

引入松弛变量

$$ f_{i}(x) \leqslant 0 $$等价为$$ \exists s_{i} \geqslant 0\Rightarrow f_{i}(x)+s_{i}=0 $$

那么问题变为:

$$ \begin{array}{ll} \operatorname{minimize} & f_{0}(x) \\ \text { subject to } & s_{i} \geqslant 0, \quad i=1, \cdots, m \\ & f_{i}(x)+s_{i}=0, \quad i=1, \cdots, m \\ & A x=b\end{array} $$

上境图形式

凸优化问题的上境图形式:

\begin{array}{ll} \operatorname{minimize} & t \\ \text { subject to } & f_{0}(x)-t \leqslant 0 \\ & f_{i}(x) \leqslant 0, \quad i=1, \cdots, m \\ & a_{i}^{T} x=b_{i}, \quad i=1, \cdots, p \end{array}

 

极小化部分变量

极小化凸函数的部分变量将保持凸性不变,

\begin{array}{ll} \operatorname{minimize} & f_{0}\left(x_{1}, x_{2}\right) \\ \text { subject to } & f_{i}\left(x_{1}\right) \leqslant 0, \quad i=1, \cdots, m_{1} \\ & \tilde{f}_{i}\left(x_{2}\right) \leqslant 0, \quad i=1, \cdots, m_{2} \end{array}

等价于

\begin{array}{ll} \operatorname{minimize} & \tilde{f}_{0}\left(x_{1}\right) \\ \text { subject to } & f_{i}\left(x_{1}\right) \leqslant 0, \quad i=1, \cdots, m_{1} \end{array}

其中:\tilde{f}_{0}\left(x_{1}\right)=\inf \left\{f_{0}\left(x_{1}, z\right) \mid \tilde{f}_{i}(z) \leqslant 0, i=1, \cdots, m_{2}\right\}

4.2.5 拟凸优化

拟凸优化的标准形式

\begin{array}{ll} \operatorname{minimize} & f_{0}(x) \\ \text { subject to } & f_{i}(x) \leqslant 0, \quad i=1, \cdots, m \\ & A x=b \end{array}

 

f_1,f_2,\cdots ,f_m是凸函数,等式约束是仿射函数,f_0是拟凸函数,则此优化问题是拟凸优化问题。

凸优化与拟凸优化问题最重要的不同在于拟凸优化问题的局部最优解不一定是全局最优解。

如上图(x,f_0(x))是局部最优解但是不是全局最优解。

如果x \in X, \nabla f_{0}(x)^{T}(y-x)>0, \forall y \in X \backslash\{x\},那么x是最优的(从拟凸性的一阶条件可得)。

要注意的是,此条件仅仅是最优性的充分条件,而凸问题的可行性准则是充要条件。

通过可行性问题求解拟凸优化问题

3.4.5节中我们知道可以用一族凸函数不等式表示拟凸函数的下水平集,这是解决拟凸优化问题的一般方法。

选择一族凸函数\phi _t:R^n\rightarrow R,t \in R,t是凸函数的编号,这些函数满足:f(x)\leq t\Leftrightarrow \phi _t(x)\leq 0,并且对任意s \geqslant t总有\phi_{s}(x) \leqslant \phi_{t}(x)

注意:t固定时,每个\phi _t(x)是x的凸函数。

用p*表示拟凸优化问题的最优值。如果可行性问题:

\begin{array}{ll} \text { find } & x \\ \text { subject to } & \phi_{t}(x) \leqslant 0 \\ & f_{i}(x) \leqslant 0, \quad i=1, \cdots, m \\ & A x=b \end{array}

是可行的,我们有p*\leqslant t,反之p*\geqslant t。上述可行性问题是一个凸的可行性问题,因为所有不等式约束函数都是凸的,而等式约束都是线性的。

因此,我们可以通过求解凸可行性问题来判断拟凸优化问题的最优值p*大于或小于给定值t。如果凸可行性问题是可行的,则有p*\leqslant t,并且任意可行解x也是拟凸问题的可行解并满足f_0(x) \leqslant t。如果凸可行性问题不可行,那么我们知道p*\geqslant t

求解拟凸优化的二分法

上面的想法可以用来构造解决拟凸优化问题的一个简单算法:使用二分法并在每步中求解凸可行性问题。
算法思想:有一个区间,包含最优解,取区间的中点,判断最优解在上半区间还是下半区间,然后更新区间,不断将区间缩小为原来的一般直到找到足够小的区间。

算法:

给定l\leq p^*,u\geq p^*,容忍度\varepsilon >0

重复以下步骤:

  1. t=(l+u)/2

  2. 求解凸可行性问题

  3. 如果问题可行,u=t,否则l=t

直至u-l< \varepsilon

 

参考:https://blog.csdn.net/wangchy29/article/details/86577267

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

使君杭千秋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值