用实例并可视化去理解拉格朗日对偶函数的凹性质

考虑约束最优化问题:

minf(x)s.t.ci(x)0,i=1,2,...,l,hi(x)=0,i=l+1,l+2,...,n

拉格朗日化后为:

ΔL(x,λ)=ΔL(x,λ1,λ2,,λn)=Δ(f(x,y)+i=1lλici(x)+i=l+1nλihi(x))=0,s.t.i{1,2,...,l},λi0

该拉格朗日函数为:

L(x,λ)=f(x)+i=1lλici(x)+i=l+1nλihi(x),i{1,2,...,l},λi0

因为i{1,2,,l},ci(x)0,λi0;i{l+1,l+2,,n},hi(x)=0,所以:

L(x,λ)=f(x)+i=1lλici(x)+i=l+1nλihi(x)f(x)

就是说:对任意的x

拉格朗日函数都不大于原函数

那么,
拉格朗日函数的最小值肯定不大于原函数的最小值

则有:

min(L(x,λ))min(f(x))

于是,我们把拉格朗日的对偶函数定义为:

g(λ)=min(L(x,λ))=min(f(x)+i=1lλici(x)+i=l+1nλihi(x)) 函数g的意义为:
对于每一个λ,找到一个x,使得函数L(x,λ)最小

现在,让我们看看拉格朗日对偶函数的凹性质:

函数g(λ)可以写成如下形式: g(λ)=min(f(x)+i=1lλici(x)+i=l+1nλihi(x))=min(f(x)+[c1(x)c2(x)cl(x)hl+1(x)hl+2(x)hn(x)]·[λ1λ2λn]) 其中, f(x)R,i{1,2,,l},ci(x)R,i{l+1,l+2,,n},hi(x)=0 就是说,k(λ)=[c(x);h(x)]·λ是一个超平面(类似于2·x,前面的‘;’表示拼接两个向量),[c(x);h(x)]就是一个超平面的系数。那么说明:
对于任意的x[c(x);h(x)]·λ对应一个不同的超平面。
让我们来看二维平面中的几个'超平面':(在下图中,[c(x);h(x)]分别对应‘超平面’的系数,λ为点(x,y)

三维空间中的几个‘超平面’

左图在点(-5-5)处往上掰看的视图

从图中可以看到,不同的超平面相交后,如果我们对于一个λ,取,使函数k(λ),最小的值,那么可以看到:

最终的取值面接近一个倒扣着的碗
也就是说:
min([c(x);h(x)]·λ)是凹的。
从而: g(λ)=min(f(x)+i=1lλici(x)+i=l+1nλihi(x))=min(f(x)+[c1(x)c2(x)cl(x)hl+1(x)hl+2(x)hn(x)]·[λ1λ2λn])是凹的。 以下是上述图形的matlab代码:
x = linspace(-5,5,100);
y = linspace(-5,5,100);
[x,y]=meshgrid(x,y);

z1 = x.*2+y.*3;
z2 = x.*4+y.*2;
z3 = x.*(-2)+y.*6;
z4 = x.*(-3)+y.*(-3);
surf(x,y,z1);hold on;surf(x,y,z2);hold on;surf(x,y,z3);surf(x,y,z4);
hold on; legend('z=2x+3y','z=4x+2y','z=-2x+6y','z=-3x-3y');

参考文献:

如何理解拉格朗日对偶函数_PandaRELEASE的博客(上图的工作源自此文章的对对偶函数的解释)
凸优化中的对偶问题与共轭函数(对对偶函数的定义来自此文)

posted @   Hisi  阅读(199)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示