原始问题
假设f(x),ci(x),hj(x)是定义在Rn上的连续可微函数,考虑约束最优化问题
minx∈Rn f(x)s.t. ci(x)≤0,i=1,2,⋯,khj(x)=0,j=1,2,⋯,l
称此约束最优化问题为原始最优化问题或原始问题,首先引入广义拉格朗日函数:
L(x,α,β)=f(x)+k∑i=1αici(x)+l∑j=1βjhj(x)
这里,x=(x(1),x(2),⋯,x(n))T∈Rn,αi,βj是拉格朗日乘子,αi≥0,考虑x的函数:
θP(x)=maxα,β,αi≥0L(x,α,β)
这里的下标P表示原始问题,因为ci(x)≤0,αi≥0,所以∑ki=1αici(x)≤0,类似的∑lj=1βjhj(x)=0,故可以得到以下结论:
θP(x)={f(x)x满足原始约束条件+∞otherwise
考虑极小化问题:
minxθP(x)=minxmaxα,β,αi≥0L(x,α,β)
上式和原始的最优化问题是等价的,也就是和原问题有相同的解,minxmaxα,β,αi≥0L(x,α,β)称为广义拉格朗日函数的极小极大问题,为了方便,定义原始问题的最优值p∗=minxθP(x)称为原始问题的值
对偶问题
定义
θD(α,β)=minxL(x,α,β)
再考虑极大化θD(α,β)=minxL(x,α,β),即:
maxα,β;αi≥0θD(α,β)=maxα,β;αi≥0minxL(x,α,β)
问题maxα,β;αi≥0minxL(x,α,β)称为广义拉格朗日函数的极大极小问题,可以将极大极小问题表示为约束最优化问题:
maxα,β θD(α,β)=maxα,βminxL(x,α,β)s.t. αi≥0,i=1,2,⋯,k
对偶问题的最优值d∗=maxα,β;αi≥0 θD(α,β)
原始问题和对偶问题的关系
定理1
若原始问题和对偶问题都有最优值,则:
d∗=maxα,β;αi≥0minxL(x,α,β)≤minxmaxα,β,αi≥0L(x,α,β)=p∗
证明如下:
对任意的α,β,x有
θD(α,β)=minxL(x,α,β)≤L(x,α,β)≤maxα,β,αi≥0L(x,α,β)=θP(x)
所以:
θD(α,β)≤θP(x)
由于原始问题和对偶问题均有最优值,所以:
maxα,β;αi≥0θD(α,β)≤minxθP(x)
得证。
定理2
考虑原始问题和对偶问题,假设函数f(x)和ci(x)是凸函数,hj(x)是仿射函数,假设不等式约束ci(x)是严格可行的,及存在x对所有的i有ci(x)<0,则存在x∗,α∗,β∗,使得x∗是原问题的解,α∗,β∗是对偶问题的解,并且有:
p∗=d∗=L(x∗,α∗,β∗)
定理3
假设函数f(x)和ci(x)是凸函数,hj(x)是仿射函数,不等式约束ci(x)是严格可行的,那么有x∗是原问题的解,α∗,β∗是对偶问题的解的充分必要条件是x∗,α∗,β∗满足下面的KKT条件(Karush-Kuhn-Tucker):
∇xL(x∗,α∗,β∗)=0α∗ici(x∗)=0,i=1,2,⋯,kci(x∗)≤0,i=1,2,⋯,kα∗i≥0,i=1,2,⋯,khj(x∗)=0,j=1,2,⋯,l
α∗ici(x∗)=0,i=1,2,⋯,k称为KKT的对偶互补条件,由此条件可知:若α∗i>0,则ci(x∗)=0.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通