当前位置: 首页 > news >正文

凸优化学习:PART3凸优化问题(持续更新)

凸优化问题

凸优化问题的广义定义

  • 目标函数为凸函数
  • 约束集合为凸集

一、优化问题

基本用语

一般优化问题的描述:
minimize⁡f0(x)subject to fi(x)⩽0,i=1,⋯,mhi(x)=0,i=1,⋯,p(1)\begin{array}{ll} \operatorname{minimize} & f_0(x) \\ \text { subject to } & f_i(x) \leqslant 0, \quad i=1, \cdots, m \\ & h_i(x)=0, \quad i=1, \cdots, p \end{array}\tag{1} minimize subject to f0(x)fi(x)0,i=1,,mhi(x)=0,i=1,,p(1)
相关定义:

x∈Rnx\in \R^nxRn:优化变量,optimization variable

f0:Rn→Rf_0:\R^n\rightarrow Rf0:RnR:目标函数/损失函数,objective function/cost function

若是一个极大化问题,那么称为 效用函数 utility function

fi(x)≤0:Rn→Rf_i(x)\leq 0:\R^n\rightarrow \Rfi(x)0:RnR:不等式约束,inequality constraint

hi(x)=0h_i(x)=0hi(x)=0:等式约束 equality constraint

m=p=0m=p=0m=p=0:无约束 unconstraited

优化问题的域:domain;所有函数定义域的交集
D=⋂i=0mdom⁡fi∩⋂i=1pdom⁡hi\mathcal{D}=\bigcap_{i=0}^m \operatorname{dom} f_i \cap \bigcap_{i=1}^p \operatorname{dom} h_i D=i=0mdomfii=1pdomhi
可行解集:feasible set,使得问题约束满足的解的集合

注意,还需要在目标函数的定义域内

最优点与局部最优点

最优点与局部最优点:若可行解集合不是空集那么总是能在集合中找到一个X,使得目标函数最优,这个值称为最优值。
P∗=inf⁡{f0(x)∣X∈Xf}P^*=\inf \{f_0(x)|X\in X_f\} P=inf{f0(x)XXf}
XfX_fXf为空集,那么P∗=∞P^*=\inftyP=

最优解:若X∗X^*X可行,且f0(X∗)=P∗f_0(X^*)=P^*f0(X)=P

最优解集:最优解的集合
Xopt={X∣X∈Xf,f0(X)=P∗}X_{opt}=\{X|X\in X_f,f_0(X)=P^*\} Xopt={XXXf,f0(X)=P}
ϵ−\epsilon-ϵ次优解集:satisficing solution

image-20230206142211939

约束一般要满足,目标函数值不一定要达到最优值,可以离最优值小一定的距离ϵ\epsilonϵ
Xϵ={X∈Xf,f0(X)≤P∗+ϵ}X_{\epsilon}=\{X\in X_f,f_0(X)\leq P^*+\epsilon\} Xϵ={XXf,f0(X)P+ϵ}
image-20230206142603420

局部最优解:

image-20230206142823051

域、可行解集、全局最优解、局部最优解,ϵ\epsilonϵ解集之间的关系:

image-20230210182428835

x∈Xf,fi(x)=0x\in X_f,f_i(x)=0xXf,fi(x)=0,则fi(x)≤0f_i(x)\leq 0fi(x)0为活动约束;fi(x)<0f_i(x)<0fi(x)<0为不活动约束。

排除临界点的方法:

image-20230210192835869

可行性优化问题

可行性优化问题一般可以写成下面的形式:
find xsubject to fi(x)⩽0,i=1,⋯,mhi(x)=0,i=1,⋯,p.\begin{array}{ll} \text { find } & x \\ \text { subject to } & f_i(x) \leqslant 0, \quad i=1, \cdots, m \\ & h_i(x)=0, \quad i=1, \cdots, p . \end{array}  find  subject to xfi(x)0,i=1,,mhi(x)=0,i=1,,p.
如何写成标准的形式?写成最优化一个常数。

问题的标准表示

框约束 Box Constraints

minimizef0(x)subject tol1≤xi≤ui,i=1,...,n\begin{array}{ll} \text{minimize}& f_0(x)\\ \text{subject to}& l_1\leq x_i\leq u_i,i=1,...,n \end{array} minimizesubject tof0(x)l1xiui,i=1,...,n

即每个变量都有一个上界和下界,那么可以转换为下面的标准形式:
minimizef0(x)subject toli−xi≤0,i=1,...,nxi−ui≤0,i=1,...,n\begin{array}{ll} \text{minimize}& f_0(x)\\ \text{subject to}& l_i-x_i\leq 0,i=1,...,n\\ & x_i-u_i\leq 0,i=1,...,n \end{array} minimizesubject tof0(x)lixi0,i=1,...,nxiui0,i=1,...,n

等价问题

如果从一个问题的解,很容易得到另一个问题的解,并且反之亦然,那么我们称两个问题是等价的。作为一个简单的例子,考虑:
minimize⁡f~(x)=α0f0(x)subject to f~i(x)=αifi(x)⩽0,i=1,⋯,mh~i(x)=βihi(x)=0,i=1,⋯,p(2)\begin{array}{ll} \operatorname{minimize} & \tilde{f}(x)=\alpha_0 f_0(x) \\ \text { subject to } & \tilde{f}_i(x)=\alpha_i f_i(x) \leqslant 0, \quad i=1, \cdots, m \\ & \tilde{h}_i(x)=\beta_i h_i(x)=0, \quad i=1, \cdots, p \end{array}\tag{2} minimize subject to f~(x)=α0f0(x)f~i(x)=αifi(x)0,i=1,,mh~i(x)=βihi(x)=0,i=1,,p(2)
很多时候约束的量级不同,量级过大导致约束的权重变化。通过等价转换,可以将问题的约束进行标准化。

目标函数和约束函数的变换

设:ψ0:R→R\psi_0:\R\rightarrow \Rψ0:RR单增;ψ1,...,ψm:R→R\psi_1,...,\psi_m:\R\rightarrow \Rψ1,...,ψm:RR满足:当且仅当u≤0u\leq 0u0ψi(u)≤0;ψm+1,...,ψm+p:R→R\psi_i(u)\leq 0;\psi_{m+1},...,\psi_{m+p}:\R\rightarrow \Rψi(u)0;ψm+1,...,ψm+p:RR满足:当且仅当u=0u=0u=0ψi(u)=0\psi_i(u)=0ψi(u)=0。我们定义函数f~i\tilde f_if~ih~i\tilde h_ih~i为复合函数:
f~i(x)=ψ(fi(x)),i=0,...,mh~i(x)=ψm+i(hi(x)),i=1,...,p\tilde f_i(x)=\psi(f_i(x)),i=0,...,m\qquad \tilde{h}_i(x)=\psi_{m+i}(h_i(x)),i=1,...,p f~i(x)=ψ(fi(x)),i=0,...,mh~i(x)=ψm+i(hi(x)),i=1,...,p
显然,问题

image-20230211122732445

与标准形式式1等价且同解。并且式2是ψ\psiψ为线性函数的一种特例。


例:最小函数和最小范数平方问题
min⁡∣∣AX−b∣∣2\min ||AX-b||_2 min∣∣AXb2
上述问题是一个无约束的优化问题,等价于最小化二范数的平方。
min⁡∣∣AX−b∣∣22\min ||AX-b||_2^2 min∣∣AXb22
原因是原函数在实数域内单调递增。


松弛变量

fi(x)≤0f_i(x)\leq 0fi(x)0等价于∃si≥0,fi(x)+si(x)=0\exist s_i\geq 0,f_i(x)+s_i(x)=0si0,fi(x)+si(x)=0,将问题进行转换,得到:

image-20230211190159902

引入sis_isi后,问题就不仅是关于x的优化问题了。对于问题的凸性,需要对变量x和s同时验证。

进行松弛后,将变量的维数和约束都增加了。但有些时候,会通过松弛变量,将问题的结构转换为更加通用的结构。

等式约束的消除

例:等式约束的消除

对于优化问题而言,约束的数目越多,优化越复杂,所以消除等式约束是降低优化问题难度的一个重要方法。

{hi(x)=0,i=1,...,p}(3)\{h_i(x)=0,i=1,...,p\}\tag{3} {hi(x)=0,i=1,...,p}(3)

是一组方程。假设我们能够得到这组方程的解,那么用一组参数z∈Rkz\in \R^kzRk来显式地参数化等式约束。设函数ϕ:Rk→Rn\phi:\R^k\rightarrow \R^nϕ:RkRn是这样的函数:xxx满足式(3)等价于存在一些z∈Rkz\in\R^kzRk,使得
x=ϕ(z)x=\phi(z) x=ϕ(z)
那么优化问题

image-20230211150554910

与原问题式1等价。求解出zzz后,可由x=ϕ(z)x=\phi(z)x=ϕ(z)得出最优解xxx

相当于用变量z去表示x,然后代入原目标函数和约束中。

等式定义了一组超平面,可以表示为特解+一组基的形式


例:消除线性等式约束AX−b=0AX-b=0AXb=0

A∈Rp×nA\in \R^{p\times n}ARp×n,是否能找到一组zzz表示X呢?

分情况讨论:

  • AX−b=0AX-b=0AXb=0无解,那么原问题无可行解
  • 反之,令x0x_0x0为等式约束的任意可行解,那么通解可以表示为Fz+x0Fz+x_0Fz+x0。即ϕ(z)=Fz+x0\phi (z)=Fz+x_0ϕ(z)=Fz+x0

二、凸优化

标准形式的凸优化问题

凸优化问题是形如:
minimize⁡f0(x)subject to fi(x)⩽0,i=1,⋯,maix=bi,i=1,⋯,p(4)\begin{array}{ll} \operatorname{minimize} & f_0(x) \\ \text { subject to } & f_i(x) \leqslant 0, \quad i=1, \cdots, m \\ & a_i^x=b_i, \quad i=1, \cdots, p \end{array}\tag{4} minimize subject to f0(x)fi(x)0,i=1,,maix=bi,i=1,,p(4)
从广义上来说,如果目标函数是一个凸函数,约束的集合为凸集,那么问题就是凸问题。

狭义上的凸问题:

  • 目标函数是凸函数
  • 不等式约束的函数也是凸函数
  • 等式约束函数是仿射函数
image-20230211163029357

在这样的定义下,凸优化问题的可行域一定是凸的,因为他是问题定义域
D=⋂i=0mdomfi\mathcal{D}=\bigcap_{i=0}^m\bold{dom}f_i D=i=0mdomfi
(凸集),m个下水平集,以及p个超平面的交集。因此,在凸优化问题中,我们是在一个凸集上极小化一个凸的函数。

若目标函数变为拟凸函数,那么该问题成为拟凸优化问题。但如果目标函数是凹函数,或者其他函数,那么我们统一称之为非凸优化问题。


例:
min⁡f0(x)=x12+x22s.t.{f1(x):x11+x22≤0h1(x):(x1+x2)2=0\min f_0(x)=x_1^2+x_2^2\\ \text{s.t.}\begin{cases}f_1(x):\frac{x_1}{1+x_2^2}\leq 0\\ h_1(x):(x_1+x_2)^2=0\end{cases} minf0(x)=x12+x22s.t.{f1(x):1+x22x10h1(x):(x1+x2)2=0
表面上看不是狭义的凸问题,可以转换为下面的形式:

image-20230211184952212

如果等式约束是一个放射约束,那么可利用等式约束对问题进行降维:

image-20230211185125786

一般来说,不对问题进行降维,有必要的情况才会进行降维。

凹最大化问题

约束不变,若目标是最大化一个凹函数,那么等价于最小化一个凸函数,即,该情况下仍是凸优化问题
max⁡f0(x)⇔min⁡−f0(x)\max f_0(x)\Leftrightarrow \min -f_0(x) maxf0(x)minf0(x)
同理,如果f0(x)f_0(x)f0(x)是拟凹的,那么最大化该问题被称为拟凹的。

局部最优解与全局最优解

对于凸问题来说,局部最优解一定是全局最优解。

局部最优:∃R>0,f0(x)=inf⁡{f0(z)∣z可行,x可行,∣∣x−z∣∣≤R}\exist R>0,f_0(x)=\inf \{f_0(z)|z可行,x可行,||x-z||\leq R\}R>0,f0(x)=inf{f0(z)z可行,x可行,∣∣xz∣∣R}

证明:

xxx不是全局最优解,即∃y\exists yy可行,f0(y)<f0(x)f_0(y)< f_0(x)f0(y)<f0(x)

又因为xxx是局部最优的,那么∣∣y−x∣∣2>R||y-x||_2> R∣∣yx2>R,那么可以构造出一个新的解:z=(1−θ)x+θy,θ=R2∣∣y−x∣∣2∈[0,12]z=(1-\theta)x+\theta y,\theta=\frac{R}{2||y-x||_2}\in[0,\frac{1}{2}]z=(1θ)x+θy,θ=2∣∣yx2R[0,21],所以z是x和y的凸组合。又因为可行解集一定是个凸集,所以z一定在可行解集内,即zzz可行。

又因为f0(x)f_0(x)f0(x)是凸函数,故
f0(z)≤θf0(x)+(1−θ)f0(y)∣∣z−x∣∣2=θ∣∣x−y∣∣2=R2(2.2)f_0(z)\leq \theta f_0(x)+(1-\theta)f_0(y)\\ ||z-x||_2=\theta ||x-y||_2=\frac{R}{2}\tag{2.2} f0(z)θf0(x)+(1θ)f0(y)∣∣zx2=θ∣∣xy2=2R(2.2)
zzz在x的邻域内。因为x是局部最优解,故f0(x)<f0(z)f_0(x)<f_0(z)f0(x)<f0(z)

即,综上所述,需要满足下面的条件:
f0(y)<f0(x)f0(x)<f0(z)f_0(y)<f_0(x)\\ f_0(x)<f_0(z) f0(y)<f0(x)f0(x)<f0(z)
即f
f0(y)<f0(x)<f0(z)f_0(y)<f_0(x)<f_0(z) f0(y)<f0(x)<f0(z)
与式2.2矛盾。故x一定是全局最优解。

图形表示:

image-20230211195015858

可微函数f0f_0f0的最优性准则

可微凸问题目标函数的一阶条件:
f0(y)≥f0(x)+∇f0T(x)⋅(y−x)∀x,y∈domff_0(y)\geq f_0(x)+\nabla f_0^T(x)\cdot (y-x)\qquad \forall x,y\in \bold{dom}f f0(y)f0(x)+f0T(x)(yx)x,ydomf
问题的可行域:
Xf={x∣fi(x)≤0,i=1,...,m;hi(x)=0,i=1,...,p}X_f=\{x|f_i(x)\leq 0,i=1,...,m;h_i(x)=0,i=1,...,p\} Xf={xfi(x)0,i=1,...,m;hi(x)=0,i=1,...,p}
那么X∗∈XfX^*\in X_fXXf最优等价于
∇f0T(X∗)(y−X∗)≥0(2.3)\nabla f_0^T(X^*)(y-X^*)\geq 0\tag{2.3} f0T(X)(yX)0(2.3)
image-20230212135001157


约束仅为等式约束

min⁡f0(x)domf0=Rns.t.AX=b\min f_0(x)\\ \bold{dom}f_0=\R^n\\ s.t. AX=b minf0(x)domf0=Rns.t.AX=b

∃x,AX=b\exist x,AX=bx,AX=b,那么X最优等价于∀y,Ay=b,∇f0T(x)(y−x)≥0\forall y,Ay=b,\nabla f_0^T(x)(y-x)\geq 0y,Ay=b,f0T(x)(yx)0成立。

又因为AX=b,Ay=bAX=b,Ay=bAX=bAy=b,那么y=X+v,v∈N(A)y=X+v,v\in \mathcal{N}(A)y=X+v,vN(A),即A的化零空间中的一个向量。

y是方程组的解,等于通解v加上特解X

因此,最优性条件可表示为
∇f0(x)v≥0,∀v∈N(A)\nabla f_0(x)v\geq 0,\forall v\in \mathcal N(A) f0(x)v0,vN(A)
那么只有两种情况:

  • 子空间退化为零点:那么y==Xy==Xy==X,即方程只有一个解,矩阵A是可逆的。

  • ∇f0(x)\nabla f_0(x)f0(x)正交于子空间:

    image-20230212153709387

约束仅为非负约束:互补条件

min⁡f0(x)s.t.x≥0\min f_0(x)\\ s.t.x\geq 0 minf0(x)s.t.x0

∃x≥0\exist x\geq 0x0xxx最优等价于∀y≥0\forall y\geq 0y0
∇f0T(x)(y−x)≥0即∇f0T(x)y−∇f0T(x)x≥0\nabla f_0^T(x)(y-x)\geq 0\\ 即\nabla f_0^T(x)y-\nabla f_0^T(x)x\geq 0 f0T(x)(yx)0f0T(x)yf0T(x)x0

  • ①:若∇f0T(x)≤0\nabla f_0^T(x)\leq 0f0T(x)0,则∇f0T(x)y\nabla f_0^T(x)yf0T(x)y必可以取无穷小,则必有∇f0(x)≥0\nabla f_0(x)\geq 0f0(x)0
  • ∀y\forall yy均有∇f0(x)T(y−x)≥0\nabla f_0(x)^T(y-x)\geq 0f0(x)T(yx)0,当y=0时,∇f0T(x)x≤0\nabla f_0^T(x)x\leq 0f0T(x)x0
  • ∇f0T(x)≥0,x≥0,\nabla f_0^T(x)\geq 0,x\geq 0,f0T(x)0,x0∇f0T(x)x≥0\nabla f_0^T(x)x\geq 0f0T(x)x0

由②和③可知,f0T(x)x=0f_0^T(x)x=0f0T(x)x=0

结论:如果x是最优解,那么一定满足下面的条件
{x≥0∇f0(x)≥0(∇f0(x))ixi=0\begin{cases}x\geq 0\\ \nabla f_0(x)\geq 0\\ (\nabla f_0(x))_ix_i=0\end{cases} x0f0(x)0(f0(x))ixi=0
该条件称为互补条件

几何解释:

image-20230212161059060
http://www.lryc.cn/news/4038.html

相关文章:

  • [ue4] 着色器绑定(Shader Binding)
  • Rust语言之迭代器
  • TreeSet 与 TreeMap And HashSet 与 HashMap
  • Java围棋游戏的设计与实现
  • 第七十三章 使用 irisstat 实用程序监控 IRIS - 使用选项运行 irisstat
  • 【博客619】PromQL如何实现Left joins以及不同metrics之间的复杂联合查询
  • Win11自定义电脑右下角时间显示格式
  • TrueNas篇-trueNas Scale安装
  • element表单搜索框与表格高度自适应
  • MySQL使用技巧整理
  • 七大设计原则之里氏替换原则应用
  • 1行Python代码去除图片水印,网友:一干二净
  • Connext DDS属性配置参考大全(2)
  • 一起Talk Android吧(第四百九十二回:精简版动画)
  • seata源码-全局事务回滚服务端源码
  • 【Vue3源码】第一章 effect和reactive
  • C函数指针
  • 2023同等学力申请硕士计算机综合国考
  • 英语基础-并列句概述
  • 大数据框架之Hadoop:HDFS(一)HDFS概述
  • 20230210组会论文总结
  • Python - 数据容器dict(字典)
  • 傻白探索Chiplet,文献阅读笔记汇总(十二)
  • #电子电气架构——Vector工具常见问题解决三板斧
  • 文本三剑客之grep
  • pwn手记录题1
  • 自动驾驶规划 - Apollo Lattice Planner算法【1】
  • 以太坊数据开发-Web3.py-安装连接以太坊数据
  • 【触摸屏功能测试】MQTT_STD本地调试说明-测试记录
  • 六十分之十三——黎明前