最优化:建模、算法与理论(最优性理论

news2024/11/24 19:36:23

第五章 最优性理论

在实际中最优化问题的形式多种多样,给定一类具体的优化问题,我们首先需要分析其解的存在性。如果优化问题的解存在,再考虑如何设计算法求出最优解,一般的非凸优化问题可能存在很多局部极小解,但其往往也能够满足实际问题的要求。对于这些局部(全局)极小解的求解,最优性理论是至关重要的。

5.1 最优化问题解的存在性

考虑优化问题
min ⁡ x ∈ R n f ( x ) s . t . x ∈ χ (5.1.1) \min_{x{\in}R^n}f(x)\\ s.t.{\quad}x{\in}\chi\tag{5.1.1} xRnminf(x)s.t.xχ(5.1.1)
其中 χ ∈ R n \chi{\in}R^n χRn为可行域,对于问题5.1.1,首先是要考虑最优解。在数学分析课程中,我们学习过 W e i e r s t r a s s Weierstrass Weierstrass定理,即定义在紧集上的连续函数一定存在最大(最小)点。而在许多实际问题中,定义域可能不是紧的,目标函数也不一定连续,因此需要将此定理推广来保证最优化问题解的存在性。

紧集:紧集的定义还比较简洁:若A的任意开覆盖,都存在有限子覆盖,那么A为紧集。
所谓开覆盖S,就是能“盖住”A的一组开集。所谓子覆盖S‘,就是S里挑几个开集出来。
若能挑出有限个开集把A“盖住”,那么称S存在有限开覆盖。
如果A的每一个开覆盖,都像S一样拥有有限开覆盖,那么A为紧集。
说简单点,若一个集合它不仅是闭集还是有界的,则该集合被称作紧集

定理5.1( W e i e r s t r a s s Weierstrass Weierstrass定理):考虑一个适当且闭的函数 f : χ → ( − ∞ , + ∞ ] f:\chi{\rightarrow}(-\infty,+\infty] f:χ(,+],假设下面三个条件中任意一个成立:
(1) d o m f = { x ∈ χ : f ( x ) < + ∞ } 是有界的 domf=\{x{\in}\chi:f(x)<+\infty\}是有界的 domf={xχ:f(x)<+}是有界的
(2)存在一个常数 γ ˉ \bar{\gamma} γˉ使得下水平集
C γ ˉ = { x ∈ χ : f ( x ) ≤ γ ˉ } C_{\bar{\gamma}}=\{x{\in}{\chi}:f(x){\le}\bar{\gamma}\} Cγˉ={xχ:f(x)γˉ}
是非空且有界的
(3) f f f是强制的,即对于任意满足 ∣ ∣ x k ∣ ∣ → + ∞ ||x^k||{\rightarrow}+\infty ∣∣xk∣∣+的点列 { x k } ⊂ χ \{x^k\}{\subset}\chi {xk}χ,都有
lim ⁡ k → ∞ f ( x k ) = + ∞ \lim_{k{\rightarrow}\infty}f(x^k)=+\infty klimf(xk)=+
那么,问题5.1.1的最小值点集 { x ∈ χ ∣ f ( x ) ≤ f ( y ) , ∀ y ∈ χ } \{x{\in}\chi|f(x){\le}f(y),\forall{y}{\in}\chi\} {xχf(x)f(y),yχ}是非空且紧的
这三个条件可以相互转换推出

定理5.1的三个条件本质上都是保证 f ( x ) f(x) f(x)的最小值不能在无穷远处取到,因此我们可以仅在一个有界的下水平集中考虑 f ( x ) f(x) f(x)的最小值。同时要求 f ( x ) f(x) f(x)为适当且闭的函数,并不需要考虑 f ( x ) f(x) f(x)的连续性,定理5.1比数学分析中的 W e i e r s t r a s s Weierstrass Weierstrass定理应用范围更广。
当定义域不是有界闭集(紧集)时,比如 f ( x ) = x 2 , x ∈ R f(x)=x^2,x{\in}R f(x)=x2,xR满足条件,其全局最优解存在,但对于适当且闭的函数 f ( x ) = e − x , x ∈ R f(x)=e^{-x},x{\in}R f(x)=ex,xR,它不满足5.1三个条件中任意一个,因此我们不能断言其全局极小值存在。

定理5.1给出了最优解的存在性条件,但其对应的解可能不止一个,最优化问题的解的唯一性在理论分析和算法中扮演着重要角色。比如,假设存在唯一解,那么我们可以比较不同算法收敛到最优解的收敛速度来判断算法的好坏,如果存在多个最优值点,不同的算法收敛到的最优值点可能不同,那么这些算法的收敛速度就失去了参考价值。但是如果不同最优值点对应的目标函数值相同,我们可以比较不同算法对应的函数值收敛速度。

关于解的存在唯一性,我们这里考虑 f f f是强拟凸的情况
定义(5.1)(强拟凸函数)给定凸集 χ \chi χ和函数 f : χ → ( − ∞ , + ∞ ] f:{\chi}{\rightarrow}(-\infty,+\infty] f:χ(,+]。如果对任意的 x ≠ y x{\not=}y x=y λ ∈ ( 0 , 1 ) \lambda{\in}(0,1) λ(0,1),都有
f ( λ x + ( 1 − λ ) y ) < m a x { f ( x ) , f ( y ) } f(\lambda{x}+(1-\lambda)y)<max\{f(x),f(y)\} f(λx+(1λ)y)<max{f(x),f(y)}
那么我们称函数 f f f是强拟凸的
在这里插入图片描述
强拟凸函数的几何意义是定义域内两点之间的线段上的函数值不会大于两个端点处函数的最大值,一般来说,强拟凸函数不一定是凸函数,但其任意一个下水平集都是凸集。并可以包含一部分性质较好的非凸函数。

定理5.2(唯一性定理)对于问题(5.1.1),设 χ \chi χ R n R^n Rn的一个非空、紧且凸的子集,如果 f : χ → ( − ∞ , + ∞ ] f:\chi{\rightarrow}(-\infty,+\infty] f:χ(,+]是适当、闭且强拟凸函数,那么存在唯一的 x ∗ x^* x满足
f ( x ∗ ) < f ( x ) , ∀ x ∈ χ u n l e s s x ∗ f(x^*)<f(x),\forall{x}{\in}\chi{\quad}{unless}{\quad}x^* f(x)<f(x),xχunlessx

这个证明好证,由 W e i e r s t r a s s Weierstrass Weierstrass定理可知,问题5.1.1至少存在一个全局极小解 x ∗ x^* x,假设还有另外一个全局极小解 y ∗ y^* y,那么 f ( x ∗ ) = f ( y ∗ ) f(x^*)=f(y^*) f(x)=f(y),根据强拟凸函数的定义,对任意的 λ \lambda λ,有
f ( λ x ∗ + ( 1 − λ ) y ∗ ) < m a x { f ( x ∗ ) , f ( y ∗ ) } = f ( x ∗ ) f(\lambda{x^*}+(1-\lambda)y^*)<max\{f(x^*),f(y^*)\}=f(x^*) f(λx+(1λ)y)<max{f(x),f(y)}=f(x)
这与 x ∗ x^* x的全局最优性矛盾

从强拟凸函数的定义可知,任意强凸函数均为强拟凸的,但凸函数并不一定是强拟凸的。

5.2 无约束可微问题的最优性利用

无约束可微优化问题通常表示为如下形式
min ⁡ x ∈ R n f ( x ) (5.2.1) \min_{x{\in}R^n}f(x)\tag{5.2.1} xRnminf(x)(5.2.1)
其中假设 f f f是连续可微函数。给定一个点 x ˉ \bar{x} xˉ,我们想要知道这个点是否是函数 f f f的一个局部极小解或者全局极小解。如果从定义出发,需要对其领域内的所有点进行判断,这是不可行的。因此,需要一个更简单的方式来验证一个点是否为极小值点。我们称其为最优性条件,它主要包含一阶最优性条件和二阶最优性条件。

5.2.1 一阶最优性条件

一阶最优性条件是利用梯度(一阶)信息来判断给定点的最优性。这里是考虑目标函数可微的情形,并给出下降方向的定义
定义5.2(下降方向)对于可微函数 f f f和点 x ∈ R n x{\in}R^n xRn,如果存在向量 d d d满足
∇ f ( x ) T d < 0 \nabla{f(x)^T}d<0 f(x)Td<0
那么称 d d d f f f x x x处的一个下降方向
由下降方向的定义,容易验证:如果 f f f在点 x x x处存在一个下降方向 d d d,那么对于任意的 T > 0 T>0 T>0,存在 t ∈ ( 0 , T ] t{\in}(0,T] t(0,T],使得
f ( x + t d ) < f ( x ) f(x+td)<f(x) f(x+td)<f(x)
因此,在局部最优点处不能有下降方向,我们有如下一阶必要条件

定理5.3(一阶必要条件)假设 f f f在全空间 R n R^n Rn可微,如果 x ∗ x^* x是一个局部极小点,那么
∇ f ( x ∗ ) = 0 \nabla{f(x^*)}=0 f(x)=0

注意,这只是一个必要条件,满足 ∇ f ( x ) = 0 \nabla{f(x)=0} f(x)=0的点为 f f f的稳定点,除了一阶必要条件,还需要对函数加一些额外的限制条件,才能保证最优解的充分性。

5.2.2 二阶最优性条件

在没有额外假设时,如果一阶必要条件满足,我们仍不能确定当前点是否是一个局部极小点,这里考虑使用二阶信息来进一步判断给定点的最优性。
假设 f f f在点 x x x的一个开邻域是二阶连接可微的,类似于一阶必要条件的推导(刚刚证明没写),可以借助当前点处的二阶泰勒展开来逼近该函数在该点附近的取值情况,从而来判断最优性,具体地,在点 x x x处我们考虑泰勒展开
f ( x + d ) = f ( x ) + ∇ f ( x ) T d + 1 2 d T ∇ 2 f ( x ) d + o ( ∣ ∣ d ∣ ∣ 2 ) f(x+d)=f(x)+\nabla{f(x)}^Td+\frac{1}{2}d^T{\nabla^2}f(x)d+o(||d||^2) f(x+d)=f(x)+f(x)Td+21dT2f(x)d+o(∣∣d2)
因此,我们有如下二阶最优性条件
定理5.4:假设 f f f在点 x ∗ x^* x的一个开邻域内是二阶连续可微的,则以下最优性条件成立
二阶必要条件如果 x ∗ x^* x f f f的一个局部极小点,那么
∇ f ( x ∗ ) = 0 , ∇ 2 f ( x ∗ ) ⪰ 0 \nabla{f(x^*)}=0,\nabla^2f(x^*){\succeq}0 f(x)=0,2f(x)0
二阶充分条件如果在点 x ∗ x^* x处有
∇ f ( x ∗ ) = 0 , ∇ 2 f ( x ∗ ) ≻ 0 \nabla{f(x^*)}=0,\nabla^2f(x^*){\succ}0 f(x)=0,2f(x)0
成立,那么 x ∗ x^* x f f f的一个局部极小点

由定理5.4有如下结论,设点 x ˉ \bar{x} xˉ满足一阶最优性条件,且该点处的海瑟矩阵 ∇ 2 f ( x ˉ ) \nabla^2f(\bar{x}) 2f(xˉ)不是半正定的,那么 x ˉ \bar{x} xˉ不是一个局部极小点。进一步的,如果海瑟矩阵 ∇ 2 f ( x ˉ ) \nabla^2f(\bar{x}) 2f(xˉ)既有正特征值也有负特征值,我们称稳定点 x ˉ \bar{x} xˉ为一个鞍点。
注意,给出的是关于局部最优性的判断,全局最优性还需要额外加条件。

5.3 无约束不可微问题的最优性

本节仍考虑问题5.2.1
min ⁡ x ∈ R n f ( x ) \min_{x{\in}R^n}f(x) xRnminf(x)
其中 f ( x ) f(x) f(x)为不可微函数,很多实际问题的目标函数不是光滑的,例如 f ( x ) = ∣ ∣ x ∣ ∣ 1 f(x)=||x||_1 f(x)=∣∣x1,对于此类问题,由于目标函数可能不存在梯度和海瑟矩阵,此时我们必须用其他最优性条件来判断不可微问题的最优点。

5.3.1 凸优化问题一阶充要条件

对于目标函数是凸函数的情形,我们已经引入了次梯度的概念并给出了其计算法则。一个自然的问题是:可以利用次梯度代替梯度来构造最优性条件吗,答案是肯定是,实际上有如下定理:
定理5.5 假设 f f f是适当且凸的函数,则 x ∗ x^* x为问题5.2.1的一个全局极小点当且仅当
0 ∈ ∂ f ( x ∗ ) 0{\in}\partial{f(x^*)} 0f(x)
这个结论比5.3要强,原因是凸问题有非常好的性质(5.3只考虑了可微,没有考虑凸),它的稳定点不存在鞍点,因此,可以通过计算凸函数的次梯度集合来求解其对应的全局极小点。

5.3.2 复合优化问题的一阶必要条件

在实际问题中,目标函数不一定是凸函数,但它可以写成一个光滑函数和非光滑凸函数的和。例如4.3节介绍的复合优化问题就具有这样的形式。其中目标函数的光滑项可能是凸的。比如LASSO问题,图像去噪问题和盲反卷积问题;也可能是非凸的,例如字典学习问题和神经网络的损失函数。因此研究此类问题的最优性条件十分必要。这里,我们考虑一般复合优化问题
min ⁡ x ∈ R n ψ ( x ) = f ( x ) + h ( x ) (5.3.1) \min_{x{\in}R^n}\psi(x)=f(x)+h(x)\tag{5.3.1} xRnminψ(x)=f(x)+h(x)(5.3.1)
其中 f f f为光滑函数(可能非凸), h h h为凸函数(可能非光滑)对于其任何局部最优解,我们给出如下一阶必要条件
定理5.6(复合优化问题一阶必要条件)令 x ∗ x^* x为问题5.3.1的一个局部极小点,那么
− ∇ f ( x ∗ ) ∈ ∂ h ( x ∗ ) -\nabla{f(x^*)}{\in}\partial{h(x^*)} f(x)h(x)
其中 ∂ h ( x ∗ ) \partial{h(x^*)} h(x)为凸函数 h h h x ∗ x^* x处的次梯度集合
f f f一定是光滑的,所以有导数
定理5.6在之后我们推导复合优化问题算法性质的时候非常重要,它给出了当目标函数一部分是非光滑凸函数时的一阶必要条件。
但是要注意,由于目标函数可能是整体非凸的,因此一般没有充分条件。

5.3.3 非光滑非凸问题的最优性条件

当函数 f f f不可微且非凸时,其梯度和通常意义的次梯度都可能不存在,所以这本书对次梯度和次微分概念进行了某种推广,对适当下半联系函数依然可以定义次微分。
(中间就说了一些定义,我这里略过)
定理5.7(一阶必要条件)设 f f f是适当下半连续函数,若 x ∗ x^* x f ( x ) f(x) f(x)的一个局部极小点,则有
0 ∈ ∂ f ( x ∗ ) 0{\in}\partial{f(x^*)} 0f(x)

5.3.4 实例

我们以 l 1 l_1 l1范数优化问题为例,给出其最优解的最优性条件,其一般形式可以写成
min ⁡ x ∈ R n ψ ( x ) = f ( x ) + μ ∣ ∣ x ∣ ∣ 1 \min_{x{\in}R^n}\psi(x)=f(x)+\mu||x||_1 xRnminψ(x)=f(x)+μ∣∣x1
其中 f ( x ) : R n → R f(x):R^n{\rightarrow}R f(x):RnR为光滑函数,正则系数 μ > 0 \mu >0 μ>0调节解的稀疏度,尽管 ∣ ∣ x ∣ ∣ 1 ||x||_1 ∣∣x1是不可微的,但我们可以计算其次微分(我怎么感觉跟次梯度一样)
∂ i ∣ ∣ x ∣ ∣ 1 = { 1 , x i > 0 [ − 1 , 1 ] , x i = 0 − 1 , x i < 0 \partial_i||x||_1=\left\{ \begin{matrix} {1},x_i>0 \\ [-1,1],x_i= 0\\ {-1},x_i<0 \end{matrix} \right. i∣∣x1= 1,xi>0[1,1],xi=01,xi<0
因此,如果 x ∗ x^* x是问题5.3.2的一个局部最优解,那么其满足
− ∇ f ( x ∗ ) ∈ μ ∂ ∣ ∣ x ∗ ∣ ∣ 1 -\nabla{f(x^*)}{\in}\mu\partial||x^*||_1 f(x)μ∣∣x1

∇ i f ( x ∗ ) = { − μ , x i ∗ > 0 [ − μ , μ ] , x i ∗ = 0 μ , x i ∗ < 0 \nabla_if(x^*)=\left\{ \begin{matrix} {-\mu},x^*_i>0 \\ [-\mu,\mu],x^*_i= 0\\ {\mu},x^*_i<0 \end{matrix} \right. if(x)= μ,xi>0[μ,μ],xi=0μ,xi<0
进一步的,如果 f ( x ) f(x) f(x)是凸的(比如LASSO问题),那么满足上式的 x ∗ x^* x就是问题5.3.2的全局最优解

5.4 对偶理论

这一节以及本章之后的章节考虑一般的约束优化问题
min ⁡ x ∈ R n f ( x ) s . t . c i ( x ) ≤ 0 , i ∈ I c i ( x ) = 0 , i ∈ ε (5.4.1) \min_{x{\in}R^n}f(x)\\ s.t.{\quad}c_i(x){\le}0,i{\in}\mathcal{I}\\ c_i(x)=0,i{\in}\mathcal{\varepsilon}\tag{5.4.1} xRnminf(x)s.t.ci(x)0,iIci(x)=0,iε(5.4.1)
其中 c i c_i ci为定义在 R n R^n Rn或其子集上的实值函数。 I \mathcal{I} I ε \varepsilon ε分别表示不等式约束和等式约束对应的下标集合且各下标互不相同,这个问题的可行域定义为
χ = { x ∈ R n ∣ c i ( x ) ≤ 0 , i ∈ I 且 c i ( x ) = 0 , i ∈ ε } \chi=\{x{\in}R^n|c_i(x){\le}0,i{\in}{\mathcal{I}}且c_i(x)=0,i{\in}\varepsilon\} χ={xRnci(x)0,iIci(x)=0,iε}
我们可以通过将 χ \chi χ的示性函数加到目标函数中得到无约束优化问题,但是转化后问题的目标函数是不连续的、不可微的以及不是有限的,这导致我们难以分析其理论性质以及设计有效的算法,对于约束优化问题,可行性问题是应该最先考虑的。

5.4.1 拉格朗日函数与对偶问题

研究问题(5.4.1)的重要工具之一是拉格朗日函数,它的基本思想是给该问题的每一个约束指定一个拉格朗日乘子,以乘子为加权系数将约束增加到目标函数中,令 λ i \lambda_i λi为对应于第 i i i个不等式约束的拉格朗日乘子, v i v_i vi为对应于第 i i i个等式约束的拉格朗日乘子,为了构造合适的对偶问题,基本原则是对拉格朗日乘子添加合适的约束条件,使得 f ( x ) f(x) f(x)在问题(5.4.1)的任意可行点 x x x处大于或等于相应的拉格朗日函数值,(因为不等式约束我们都转化成 ≤ \le 0了)。根据这个原则,我们要求 λ ≥ 0 \lambda{\ge}0 λ0,记 m = ∣ I ∣ , p = ∣ ε ∣ m=|\mathcal{I}|,p=|\varepsilon| m=I,p=ε,则拉格朗日函数的具体形式
L ( x , λ , v ) = f ( x ) + ∑ i ∈ I λ i c i ( x ) + ∑ i ∈ ε v i c i ( x ) (5.4.2) L(x,\lambda,v)=f(x)+{\sum_{i{\in}{\mathcal{I}}}}\lambda_ic_i(x)+\sum_{i{\in}\varepsilon}v_ic_i(x)\tag{5.4.2} L(x,λ,v)=f(x)+iIλici(x)+iεvici(x)(5.4.2)
5.4.2中的加号也可以修改为减号,同时调整相应乘子的约束条件使得上述下界原则满足即可

对拉格朗日函数 L ( x , λ , v ) L(x,\lambda,v) L(x,λ,v)中的 x x x取下确界可定义拉格朗日对偶函数,这一函数将在对偶理论中起关键作用
定义5.4:拉格朗日对偶函数 g : R + m × R p → [ − ∞ , + ∞ ) g:R^m_+ \times R^p{\rightarrow}[-\infty,+\infty) g:R+m×Rp[,+)是拉格朗日函数 L ( x , λ , v ) L(x,\lambda,v) L(x,λ,v)对于 λ ∈ R + m , v ∈ R p \lambda{\in}R^m_+,v{\in}R^p λR+m,vRp关于 x x x取的下确界
g ( λ , v ) = inf ⁡ x ∈ R n L ( x , λ , v ) (5.4.3) g(\lambda,v)=\inf_{x{\in}R^n}L(x,\lambda,v)\tag{5.4.3} g(λ,v)=xRninfL(x,λ,v)(5.4.3)
固定 ( λ , v ) (\lambda,v) (λ,v),如果拉格朗日函数关于 x x x无界,那么对偶函数在 ( λ , v ) (\lambda,v) (λ,v)取值为 − ∞ -\infty ,因为拉格朗日对偶函数是逐点定义的一族关于 ( λ , v ) (\lambda,v) (λ,v)的仿射函数的下确界,根据定理2.13的(5)可知其为凹函数(这里我没懂他是怎么直接利用定理去证的,在网上找到一个证明的方式)
在这里插入图片描述
噢。。好像利用那个,仿射函数是既凸又凹的(仿射函数的定义域是凸集那么仿射函数就是凸的),可以直接利用定理去证。

对每一对满足 λ ≥ 0 \lambda{\ge}0 λ0的乘子对 ( λ , v ) (\lambda,v) (λ,v),拉格朗日函数给原优化问题的最优值 p ∗ p^* p提供了下界,且该下界依赖于 λ \lambda λ v v v的选取

引理5.1(弱对偶原理)对于任意的 λ ≥ 0 \lambda{\ge}0 λ0 v v v,拉格朗日对偶函数给出了优化问题(5.4.1)最优值的一个下界,即
g ( λ , v ) ≤ p ∗ , λ ≥ 0 (5.4.4) g(\lambda,v){\le}p^*,{\quad}{\lambda}{\ge}0\tag{5.4.4} g(λ,v)p,λ0(5.4.4)

那么一个自然的问题是,从拉格朗日对偶函数获得的下界中,哪个是最优的呢?为了求解该最优的下界,便有如下拉格朗日对偶问题
max ⁡ λ ≥ 0 , v g ( λ , v ) = max ⁡ λ ≥ 0 , v inf ⁡ x ∈ R n L ( x , λ , v ) (5.4.8) \max_{{\lambda{\ge}0,v}}g(\lambda,v)=\max_{\lambda{\ge}0,v}\inf_{x{\in}R^n}L(x,\lambda,v)\tag{5.4.8} λ0,vmaxg(λ,v)=λ0,vmaxxRninfL(x,λ,v)(5.4.8)
向量 λ \lambda λ v v v也称为问题(5.4.1)的对偶变量或者拉格朗日乘子向量,由于其目标函数的凹性和约束集合的凸性,拉格朗日对偶问题是一个凸优化问题。
g ( λ , v ) = − ∞ g(\lambda,v)=-\infty g(λ,v)=时,对偶函数提供的 p ∗ p^* p的下界变得没有实际意义。只有当 g ( λ , v ) > − ∞ g(\lambda,v)>-\infty g(λ,v)>时,对偶函数生成的关于原始问题最优解 p ∗ p^* p的下界才是非平凡的,因此我们规定拉格朗日对偶函数的定义域
d o m g = { ( λ , v ) ∣ λ ≥ 0 , g ( λ , v ) > − ∞ } dom g=\{(\lambda,v)|\lambda{\ge}0,g(\lambda,v)>-\infty\} domg={(λ,v)λ0,g(λ,v)>}
( λ , v ) ∈ d o m g (\lambda,v){\in}domg (λ,v)domg时,称其为对偶可行解。记对偶问题的最优值为 q ∗ q^* q,称 p ∗ − q ∗ p^*-q^* pq为对偶间隙,如果对偶间隙为0,称强对偶原理成立
假设 ( λ ∗ , v ∗ ) (\lambda^*,v^*) (λ,v)是使得对偶问题取得最优值的解,称其为对偶最优解或者最优拉格朗日乘子
拉格朗日对偶问题的写法并不唯一,如果问题(5.4.1)中有些约束,则可以不把这些约束松弛到拉格朗日函数里。

5.4.2 带广义不等式约束优化问题的对偶

问题(5.4.1)中的不等式约束 c i ( x ) , i ∈ I c_i(x),i{\in}\mathcal{I} ci(x),iI都是实值函数的形式,在许多实际应用中,我们还会遇到大量带广义不等式约束的优化问题,例如自变量 x x x可能取值于半正定矩阵空间中,对于这类约束我们不易将其化为 c i ( x ) ≤ 0 c_i(x)\le{0} ci(x)0的形式,那么此时该如何做呢?

1.适当锥和广义不等式

定义广义不等式需要利用适当锥的概念
定义5.5(适当锥)称满足如下条件的锥K为适当锥
(1)K是凸锥
(2)K是闭集
(3)K是实心的,即 i n t K ≠ ∅ int K\not=∅ intK=
(4)K是尖的,即对任意非零向量 x x x,若 x ∈ K x{\in}K xK,则 − x ∉ K -x{\notin}K x/K,也即K无法容纳直线
在这里插入图片描述

2.对偶锥

在构造拉格朗日对偶函数时,针对不等式约束 c i ( x ) ≤ 0 c_i(x){\le}0 ci(x)0我们引入拉格朗日乘子 λ i ≥ 0 \lambda_i{\ge}0 λi0,之后将 λ i c i ( x ) ( ≤ 0 ) \lambda_ic_i(x)({\le0}) λici(x)(0)作为拉格朗日函数中的一项,那么对于广义不等式,应该如何对拉格朗日乘子提出限制呢?此时需要借助对偶锥的概念
定义5.6(对偶锥)令 K K K为全空间 Ω \Omega Ω的子集,称集合
K ∗ = y ∈ Ω ∣ < x , y > ≥ 0 , ∀ x ∈ K K^*={y{\in}\Omega|<x,y>{\ge}0,\forall{x}{\in}K} K=yΩ∣<x,y>0,xK
为其对偶锥

正如定义所说,对偶锥是一个锥(哪怕K不是锥) K ∗ K^* K中的向量和 K K K中所有向量夹角均为锐角或直角
在这里插入图片描述
半正定锥的对偶锥仍为半正定锥,此时满足 K = K ∗ K=K^* K=K的锥K为自对偶锥,因此非负锥和半正定锥都是自对偶锥

直观来说,对偶锥 K ∗ K^* K中的向量和原锥K向量的内积恒非负,这一性质可以用来构造拉格朗日对偶函数。

3.广义不等式约束优化问题拉格朗日函数的构造

如果将不等式约束函数换成向量函数,并且推广定义相应的广义不等式约束,我们可以得到如下形式的优化问题
min ⁡ x ∈ R n f ( x ) s . t . c i ( x ) ⪯ K , 0 , i ∈ I c i ( x ) = 0 , i ∈ ε (5.4.11) \min_{x{\in}R^n}f(x)\\ s.t.{\quad}c_i(x){\preceq}_K,0,i{\in}\mathcal{I} \\ c_i(x)=0,i{\in}\varepsilon\tag{5.4.11} xRnminf(x)s.t.ci(x)K,0,iIci(x)=0,iε(5.4.11)
其中 f ; R n → R , c i : R n → R , i ∈ ε , 为实值函数, c i : R n → R k , k i ∈ N + , i ∈ I f;R^n{\rightarrow}R,c_i:R^n{\rightarrow}R,i{\in}\varepsilon,为实值函数,c_i:R^n{\rightarrow}R^k,k_i{\in}N_+,i{\in}\mathcal{I} f;RnR,ci:RnR,iε,为实值函数,ci:RnRk,kiN+,iI为向量值函数, K i K_i Ki为某种适当锥且 ⪯ K \preceq_K K表示由锥 K i K_i Ki定义的广义不等式,因此,问题5.4.1是问题5.4.11中取 k i = 1 , K i = R + , ∀ i ∈ I k_i=1,K_i=R_+,\forall{i}{\in}\mathcal{I} ki=1Ki=R+,iI时的特殊情形
根据 K i , i ∈ I K_i,i{\in}\mathcal{I} Ki,iI的对偶锥 K i ∗ K_i^* Ki,我们对广义不等式约束分别引入乘子 λ i ∈ K i ∗ , i ∈ I \lambda_i{\in}K_i^*,i{\in}\mathcal{I} λiKi,iI,对等式约束引入乘子 v i ∈ R , i ∈ ε v_i{\in}R,i{\in}\varepsilon viR,iε,构造如下拉格朗日函数
L ( x , λ , v ) = f ( x ) + ∑ i ∈ I < c i ( x ) , λ i > + ∑ i ∈ ε v i c i ( x ) , λ i ∈ K i ∗ , v i ∈ R L(x,\lambda,v)=f(x)+\sum_{i{\in}\mathcal{I}}<c_i(x),\lambda_i>+\sum_{i{\in}\varepsilon}v_ic_i(x),\lambda_i{\in}K_i^*,v_i{\in}R L(x,λ,v)=f(x)+iI<ci(x),λi>+iεvici(x),λiKi,viR
容易验证 L ( x , λ , v ) ≤ f ( x ) , ∀ x ∈ χ , λ i ∈ K i ∗ , v i ∈ R L(x,\lambda,v){\le}f(x),\forall{x}{\in}\chi,\lambda_i{\in}K_i^*,v_i{\in}R L(x,λ,v)f(x),xχ,λiKi,viR,我们可以定义拉格朗日对偶函数
g ( λ , v ) = inf ⁡ x ∈ R n L ( x , λ , v ) g(\lambda,v)=\inf_{x{\in}R^n}L(x,\lambda,v) g(λ,v)=xRninfL(x,λ,v)
因此,对偶问题为
max ⁡ λ i ∈ K i ∗ , v i ∈ R g ( λ , v ) \max_{\lambda_i{\in}K_i^*,v_{i}{\in}R}g(\lambda,v) λiKi,viRmaxg(λ,v)

每个优化问题都对应一个对偶问题,相比原始问题,对偶问题总是凸的,其最优值给出了原始问题(极小化问题)一个下界,如果原始问题满足一定的条件,我们可以从理论上证明原始问题和对偶问题的最优值是相等的,当原始问题的约束个数比决策变量维度更小时,对偶问题的决策变量维数会比原始问题小,从而可能在相对较小的决策空间中求解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1053977.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用WPS自动化转换办公文档: 将Word, PowerPoint和Excel文件转换为PDF

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

IDEA-2023-jdk8 HelloWorld的实现

目录 1 新建Project - Class 2 编写代码 3 运行 1 新建Project - Class 选择"New Project"&#xff1a; 指名工程名、使用的JDK版本等信息。如下所示&#xff1a; 接着创建Java类&#xff1a; 2 编写代码 public class HelloWorld {public static void main(S…

桂院校园导航 | 云上高校导航 云开发项目 二次开发教程 1.2

Gitee代码仓库&#xff1a;桂院校园导航小程序 GitHub代码仓库&#xff1a;GLU-Campus-Guide 演示视频 【2023广西赛区 | 三等奖】中国大学生计算机设计大赛 云上高校导航 先 假装 大伙都成功安装了云开发项目&#xff0c;并能在 微信开发者工具 和 手机 上正确运行。 接着就…

【生物信息学】使用HSIC LASSO方法进行特征选择

目录 一、实验介绍 二、实验环境 1. 配置虚拟环境 2. 库版本介绍 3. IDE 三、实验内容 0. 导入必要的工具 1. 读取数据 2. 划分训练集和测试集 3. 进行HSIC LASSO特征选择 4. 特征提取 5. 使用随机森林进行分类&#xff08;使用所有特征&#xff09; 6. 使用随机森…

【面试经典150 | 矩阵】有效的数独

文章目录 写在前面Tag题目来源题目解读解题思路方法一&#xff1a;一次遍历数组 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主&#xff0c;并附带一些对于本题涉及到的数据结…

电脑通过串口助手和51单片机串口通讯

今天有时间把电脑和51单片机之间的串口通讯搞定了&#xff0c;电脑发送的串口数据&#xff0c;单片机能够正常接收并显示到oled屏幕上&#xff0c;特此记录一下&#xff0c;防止后面自己忘记了怎么搞得了。 先来两个图片看看结果吧&#xff01; 下面是串口3.c的文件全部内容&a…

python爬取百度图片

1.查询数据 打开网页。 https://cn.bing.com/images/search?q%E7%99%BE%E5%BA%A6%E5%9B%BE%E7%89%87&formHDRSC2&first1&cw1585&ch924 我们右键查看网页源代码,发现能找到我们需要的img衔接,但是这是一个动态网页。我们每次向下滑动网页&#xff0c;会发现图…

基于Java的医院预约挂号系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

uboot启动流程-涉及lowlevel_init汇编函数

一. uboot启动流程涉及函数 之前文章简单分析了 uboot启动流程的开始&#xff0c;从链接脚本文件 u-boot.lds 中&#xff0c;我们已经知道了入口点是 arch/arm/lib/vectors.S 文件中的 _start函数。 _start函数&#xff1a;调用了 reset 函数&#xff0c;reset 函数内部&…

【小沐学前端】Node.js实现基于Protobuf协议的UDP通信(UDP/TCP/WebSocket)

文章目录 1、简介1.1 node1.2 Protobuf 2、下载和安装2.1 node2.2 Protobuf2.2.1 安装2.2.2 工具 3、node 代码示例3.1 HTTP3.2 UDP单播3.4 UDP广播 4、Protobuf 代码示例4.1 例子: awesome.proto4.1.1 加载.proto文件方式4.1.2 加载.json文件方式4.1.3 加载.js文件方式 4.2 例…

An attempt was made to call the method xxx but it does not exist

场景 在公司项目中做配置迁移的时候&#xff0c;服务启动时报错 报错信息 Description:An attempt was made to call the method redis.clients.jedis.Jedis.<init>(Ljava/lang/String;IIIZLjavax/net/ssl/SSLSocketFactory;Ljavax/net/ssl/SSLParameters;Ljavax/net/…

编程每日一练(多语言实现)基础篇:求总数问题

文章目录 一、实例描述二、技术要点三、代码实现3.1 C 语言实现3.2 Python 语言实现3.3 Java 语言实现3.4 JavaScript 语言实现 一、实例描述 集邮爱好者把所有的邮票存放在三个集邮册中&#xff0c;在A册内存放全部的十分之二&#xff0c;在B册内存放不知道是全部的七分之几&…

xPortPendSVHandler任务切换流程

__asm void xPortPendSVHandler( void ) { extern uxCriticalNesting; extern pxCurrentTCB; extern vTaskSwitchContext; PRESERVE8 mrs r0, psp isb//指令同步命令&#xff0c; ldr r3, pxCurrentTCB /* Get the location of the current TCB. */ ldr r2, [r3]//r2保存…

Ghostscript 在 Linux 和 Windows 系统的应用与问题解决

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

分享10个必备的VS Code技巧和窍门,提高你的开发效率

目录 前言 1. 时间线视图&#xff1a;本地源代码控制 2. 自动保存&#xff1a;不再需要按Ctrl S 3. 使用命令面板进行任何操作 4、快速转到文件 5. 快速跳转指定行 6. 快速删除该行 7. 享受使用流畅的光标进行打字 8. 快速格式化代码 9. 使用多光标编辑功能节省时间…

redis5.0配置一主两从三哨兵

基础配置 systemctl stop firewalld && systemctl disable firewalld setenforce 0 sed -i s/SELINUXenforcing/SELINUXdisabled/ /etc/selinux/configvi /etc/hosts ip1 node1 ip2 node2 ip3 node3redis 配置一主两从 yum -y install autoconf automake bison byac…

leetCode 309.买卖股票的最佳时机含冷冻期 动态规划 + 滚动数组

309. 买卖股票的最佳时机含冷冻期 - 力扣&#xff08;LeetCode&#xff09; 给定一个整数数组prices&#xff0c;其中第 prices[i] 表示第 i 天的股票价格 。​设计一个算法计算出最大利润。在满足以下约束条件下&#xff0c;你可以尽可能地完成更多的交易&#xff08;多次买…

排序篇(四)----归并排序

排序篇(四)----归并排序 1.归并(递归) 基本思想&#xff1a; 归并排序&#xff08;MERGE-SORT&#xff09;是建立在归并操作上的一种有效的排序算法,该算法是采用分治法&#xff08;Divide andConquer&#xff09;的一个非常典型的应用。将已有序的子序列合并&#xff0c;得到…

【Linux】UDP的服务端 + 客户端

文章目录 &#x1f4d6; 前言1. TCP和UDP2. 网络字节序2.1 大小端字节序&#xff1a;2.2 转换接口&#xff1a; 3. socket接口3.1 sockaddr结构&#xff1a;3.2 配置sockaddr_in&#xff1a;3.3 inet_addr&#xff1a;3.4 inet_ntoa&#xff1a;3.5 bind绑定&#xff1a; 4. 服…

【VR】【unity】如何在VR中实现远程投屏功能?

【背景】 目前主流的VD应用,用于娱乐很棒,但是用于工作还是无法效率地操作键鼠。用虚拟键盘工作则显然是不现实的。为了让自己的头显能够起到小面积代替多显示屏的作用,自己动手开发投屏VR应用。 【思路】 先实现C#的投屏应用。研究如何将C#投屏应用用Unity 3D项目转写。…