拟凸函数一阶条件的证明

  1. 首先来看看拟凸函数的定义:函数 f : R n → R f:R^n\to R f:RnR称为拟凸函数(或称单峰函数),如果其定义域及所有下水平集 S α = { x ∈ d o m f ∣ f ( x ) ⩽ α } S_\alpha=\left\{ {x \in domf\left| {f\left( x \right) \leqslant \alpha } \right.} \right\} Sα={xdomff(x)α} α ∈ R \alpha \in R αR都是凸集。从该定义可知,凸函数一定是拟凸函数,但拟凸函数不一定是凸函数(如函数 f ( x ) = − e x f\left(x\right)=-e^x f(x)=ex)。
  2. 基本性质:函数 f f f是拟凸函数的充要条件是, d o m f domf domf是凸集,且对任意 x , y ∈ d o m f x,y\in domf x,ydomf 0 ⩽ θ ⩽ 1 0\leqslant\theta\leqslant1 0θ1,有 f ( θ x + ( 1 − θ ) y ) ⩽ m a x { f ( x ) , f ( y ) } (1) f\left(\theta x+\left(1-\theta\right)y\right)\leqslant max\left\{f\left(x\right),f\left(y\right)\right\} \tag1 f(θx+(1θ)y)max{f(x),f(y)}(1)
  3. 拟凸函数的一阶条件:设函数 f : R n → R f:R^n\to R f:RnR可微,则函数 f f f是拟凸的充要条件是: d o m f domf domf是凸集,且对任意 x , y ∈ d o m f x,y\in domf x,ydomf f ( y ) ⩽ f ( x ) ⇒ ∇ f ( x ) T ( y − x ) ⩽ 0 (2) f\left(y\right)\leqslant f\left(x\right)\Rightarrow\nabla f{\left(x\right)^T}\left(y-x\right)\leqslant0 \tag2 f(y)f(x)f(x)T(yx)0(2)
  4. 一阶条件的证明:
    (1)必要性:设函数 f : R n → R f:R^n\to R f:RnR可微,且 d o m f domf domf是凸集,对 x , y ∈ d o m f x,y\in domf x,ydomf f ( y ) ⩽ f ( x ) f\left(y\right)\leqslant f\left(x\right) f(y)f(x),根据上面拟凸函数的基本性质有 f ( θ x + ( 1 − θ ) y ) ⩽ m a x { f ( x ) , f ( y ) } f\left(\theta x+\left(1-\theta\right)y\right)\leqslant max\left\{f\left(x\right),f\left(y\right)\right\} f(θx+(1θ)y)max{f(x),f(y)},综合得: f ( θ x + ( 1 − θ ) y ) ⩽ f ( x ) (3) f\left(\theta x+\left(1-\theta\right)y\right)\leqslant f\left(x\right) \tag3 f(θx+(1θ)y)f(x)(3),将 f ( x ) f\left(x\right) f(x)拆分为 f ( θ x + ( 1 − θ ) x ) f\left(\theta x+\left(1-\theta\right)x\right) f(θx+(1θ)x),则(3)式变为 f ( θ x + ( 1 − θ ) y ) ⩽ f ( θ x + ( 1 − θ ) x ) (4) f\left(\theta x+\left(1-\theta\right)y\right)\leqslant f\left(\theta x+\left(1-\theta\right)x\right) \tag4 f(θx+(1θ)y)f(θx+(1θ)x)(4)
    f ( θ x + ( 1 − θ ) y ) − f ( θ x + ( 1 − θ ) x ) ⩽ 0 (5) f\left(\theta x+\left(1-\theta\right)y\right)-f\left(\theta x+\left(1-\theta\right)x\right)\leqslant0 \tag5 f(θx+(1θ)y)f(θx+(1θ)x)0(5)
    将(5)式变为(6)式:
    f ( θ x + ( 1 − θ ) x + ( 1 − θ ) ( y − x ) ) − f ( θ x + ( 1 − θ ) x ) ⩽ 0 (6) f\left(\theta x+(1-\theta)x+\left(1-\theta\right)(y-x)\right)-f\left(\theta x+\left(1-\theta\right)x\right)\leqslant0 \tag6 f(θx+(1θ)x+(1θ)(yx))f(θx+(1θ)x)0(6)
    再将(6)式变成(7)式:
    f ( θ x + ( 1 − θ ) x + ( 1 − θ ) ( y − x ) ) − f ( θ x + ( 1 − θ ) x ) ( 1 − θ ) ( y − x ) ( 1 − θ ) ( y − x ) ⩽ 0 (7) \frac{{f\left( {\theta x +(1-\theta)x+ \left( {1 - \theta } \right)(y-x)} \right) - f\left( {\theta x + \left( {1 - \theta } \right)x}\right)}}{{\left( {1 - \theta } \right)\left( {y - x} \right)}}\left( {1 - \theta } \right)\left( {y - x} \right) \leqslant 0 \tag7 (1θ)(yx)f(θx+(1θ)x+(1θ)(yx))f(θx+(1θ)x)(1θ)(yx)0(7)

对(7)式的第一项取极限 θ → 1 \theta \to1 θ1得: lim ⁡ θ → 1 f ( θ x + ( 1 − θ ) x + ( 1 − θ ) ( y − x ) ) − f ( θ x + ( 1 − θ ) x ) ( 1 − θ ) ( y − x ) ( 1 − θ ) ( y − x ) = ∇ f ( x ) T ( y − x ) ⩽ 0 \mathop {\lim }\limits_{\theta \to 1}\frac{{f\left( {\theta x +(1-\theta)x+ \left( {1 - \theta } \right)(y-x)} \right) - f\left( {\theta x + \left( {1 - \theta } \right)x}\right)}}{{\left( {1 - \theta } \right)\left( {y - x} \right)}}\left( {1 - \theta } \right)\left( {y - x} \right)=\nabla f{\left(x\right)^T}\left(y-x\right)\leqslant0 θ1lim(1θ)(yx)f(θx+(1θ)x+(1θ)(yx))f(θx+(1θ)x)(1θ)(yx)=f(x)T(yx)0.
(2)充分性:对任意的 x , y ∈ d o m f x,y\in domf x,ydomf,以及 θ ∈ [ 0 , 1 ] \theta \in \left[0,1\right] θ[0,1],假设 f ( y ) ⩽ f ( x ) f\left(y\right)\leqslant f\left(x\right) f(y)f(x),且 ∇ f ( x ) T ( y − x ) ⩽ 0 \nabla f{\left(x\right)^T}\left(y-x\right)\leqslant0 f(x)T(yx)0。我们将证明: f ( θ x + ( 1 − θ ) y ) − m a x { f ( x ) , f ( y ) } ⩽ 0 (8) f\left(\theta x+\left(1-\theta\right)y\right)-max\left\{f\left(x\right),f\left(y\right)\right\}\leqslant0 \tag8 f(θx+(1θ)y)max{f(x),f(y)}0(8)如果(8)成立,则表示该函数是拟凸函数(注意前面拟凸函数的基本性质)。
首先我们证明 θ = 0 或 θ = 1 \theta=0或\theta=1 θ=0θ=1的情况,当 θ = 0 \theta=0 θ=0时, f ( θ x + ( 1 − θ ) y ) = f ( y ) f\left(\theta x+\left(1-\theta\right)y\right)=f\left(y\right) f(θx+(1θ)y)=f(y),(8)式显然成立;当 θ = 1 \theta=1 θ=1时, f ( θ x + ( 1 − θ ) y ) = f ( x ) f\left(\theta x+\left(1-\theta\right)y\right)=f\left(x\right) f(θx+(1θ)y)=f(x),(8)式同样成立;
接下来我们证明 θ ∈ ( 0 , 1 ) \theta \in \left(0,1\right) θ(0,1)的情况,我们假设 x ≠ y x\ne y x=y(若 x = y x=y x=y,(8)式是显然成立的),我们令 z = θ x + ( 1 − θ ) y z=\theta x+\left(1-\theta\right)y z=θx+(1θ)y,则我们要证明的(8)式变成 f ( z ) ⩽ f ( x ) f\left(z\right) \leqslant f\left(x\right) f(z)f(x),我们用反证法来证明:
假设 f ( z ) > f ( x ) f\left(z\right) > f\left(x\right) f(z)>f(x)(此时 f ( z ) > f ( y ) f\left(z\right) > f\left(y\right) f(z)>f(y)),根据前面的命题假设,我们有 ∇ f ( z ) T ( z − x ) ⩽ 0 \nabla f{\left(z\right)^T}\left(z-x\right)\leqslant0 f(z)T(zx)0 ∇ f ( z ) T ( z − y ) ⩽ 0 \nabla f{\left(z\right)^T}\left(z-y\right)\leqslant0 f(z)T(zy)0 z = θ x + ( 1 − θ ) y z=\theta x+\left(1-\theta\right)y z=θx+(1θ)y代入上面两个式子中得: ( 1 − θ ) ∇ f ( z ) T ( y − x ) ⩽ 0 (9) \left(1-\theta\right)\nabla f{\left(z\right)^T}\left(y-x\right)\leqslant0 \tag9 (1θ)f(z)T(yx)0(9) θ ∇ f ( z ) T ( x − y ) ⩽ 0 (10) \theta\nabla f{\left(z\right)^T}\left(x-y\right)\leqslant0 \tag{10} θf(z)T(xy)0(10)由于 θ ∈ ( 0 , 1 ) \theta \in \left(0,1\right) θ(0,1),故由(9)、(10)式可得 ∇ f ( z ) = 0 \nabla f\left(z\right)=0 f(z)=0
我们知道 z ∈ ( x , y ) z\in \left(x,y\right) z(x,y), f ( z ) > f ( x ) f\left(z\right)>f\left(x\right) f(z)>f(x),由于该函数是连续的,那么我们肯定可以找到一点 z 1 ∈ ( z , x ) z_1 \in \left(z,x\right) z1(z,x)使得 f ( z 1 ) > f ( x ) f\left(z_1\right)>f\left(x\right) f(z1)>f(x),然后再次利用假设中的条件得到类似(9)、(10)式的结果,即 ∇ f ( z 1 ) = 0 \nabla f\left(z_1\right)=0 f(z1)=0,一直重复上述步骤,我们将最终得到在 ( z , x ) \left(z,x\right) (z,x)之间的点的一阶导数都为0,这说明 f ( z ) = f ( x ) f\left(z\right)=f\left(x\right) f(z)=f(x),所以假设 f ( z ) > f ( x ) f\left(z\right) > f\left(x\right) f(z)>f(x)不成立,则(8)式满足,所以命题得证。
————————————————————————————————
总结:拟凸函数一阶条件证明的关键在于构造出 ∇ f ( x ) T \nabla f{\left(x\right)^T} f(x)T,而这点我们可以根据导数的基本定义出发去构造。

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
凸优化是指在给定的约束条件下,寻找一个凸函数的全局最小值的问题。一阶泰勒展开是一种常用的优化方法,它通过使用函数在某一点的一阶导数来近似函数的局部行为。 在Matlab中,可以使用优化工具箱来进行凸优化问题的求解。具体步骤如下: 1. 定义目标函数和约束条件。首先,需要定义一个目标函数和一组约束条件。目标函数是需要最小化的凸函数,约束条件可以是等式约束或不等式约束。 2. 创建优化问题对象。使用`optimproblem`函数创建一个优化问题对象,并将目标函数和约束条件添加到该对象中。 3. 求解优化问题。使用`solve`函数求解优化问题。可以选择不同的求解器和选项来获得最佳的求解结果。 4. 获取最优解。使用`x = result.x`来获取最优解。其中,`result`是求解结果的结构体,`x`是最优解的向量。 下面是一个示例代码,演示了如何在Matlab中进行凸优化问题的一阶泰勒展开: ```matlab % 定义目标函数和约束条件 f = @(x) x(1)^2 + x(2)^2; % 目标函数 g = @(x) x(1) + x(2) - 1; % 约束条件 % 创建优化问题对象 problem = optimproblem; x = optimvar('x', 2); % 定义优化变量 problem.Objective = f(x); % 设置目标函数 problem.Constraints.cons1 = g(x) <= 0; % 添加约束条件 % 求解优化问题 solver = 'fmincon'; % 使用fmincon求解器 options = optimoptions(solver, 'Display', 'iter'); % 设置求解选项 [result, fval] = solve(problem, 'Solver', solver, 'Options', options); % 获取最优解 x_opt = result.x; % 输出结果 disp('最优解:'); disp(x_opt); disp('最优目标函数值:'); disp(fval); ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值