拉格朗日对偶性

拉格朗日法、KKT条件



拉格朗日对偶性(Lagrange  duality)将原始问题转换为对偶问题。例如:最大熵模型支持向量机



一、原始问题

假设目标函数f(x)、不等式约束 ci(x)、等式约束 hj(x) 是定义在 RRnn 维)上的连续可微函数。约束最优化问题描述如下:

(1)minxRn    f(x)(2)s.t.    ci(x)0,    i=1,2,...,k(3)hj(x)=0,    j=1,2,...,l

称此问题为原始最优化问题或原始问题。

首先,引入广义拉格朗日函数(generalized  Lagrange  function

(4)L(x,α,β)=f(x)+i=1kαici(x)+j=1lβjhj(x)

这里,x=(x(1),x(2),...,x(n))TRRnαi, βj 是拉格朗日乘子,αi0。考虑 x 的函数:

(5)θP(x)=maxα,β:αi0L(x,α,β)

下标 P 表示原始问题,但 θP(x)(1)(3) 不等价。


如果 x 违反约束条件,即存在某个 i 使得 ci(x)>0 或存在某个 j 使得 hj(x)0

那么就有

(6)θP(x)=maxα,β:αi0[f(x)+i=1kαici(x)+j=1lβjhj(x)]=+

因为若某个 i 使约束 ci(x)>0,则可令 αi+

若某个 j 使得 hj(x)0,则可令 βjhj(x)+

而将剩余 αi, βj 均取为 0。

如果 x 满足约束条件,由式 (5)(4) 可知,θP(x)=f(x)


因此,

(7)θP(x)={f(x),x 满足原始问题约束+,其他

所以考虑极小化问题

(8)minxθP(x)=minx maxα,β:αi0 L(x,α,θ)

在对 θp(x) 求极小值,会自动舍弃掉不满足约束条件的值,所以它是与原始最优化问题(1)(3) 等价的,即有相同的解。问题 minxθP(x)=minxmaxα,β:αi0 L(x,α,θ) 称为广义拉格朗日函数的极小极大问题。这样就把原始最优化问题表示为广义拉格朗日函数的极小极大问题。为了方便,定义原始问题的最优值

(9)p=minxθP(x)

称为原始问题的值。



二、对偶问题

定义

(10)θD(α,β)=minxL(x,α,β)

极大化式 (10),即

(11)maxα,β:αi0 θD(α,β)=maxα,β:αi0 minxL(x,α,β)

问题 maxα,β:αi0 minxL(x,α,β) 称为广义拉格朗日函数的极大极小问题。

将广义拉格朗日函数的极大极小问题表示为约束最优化问题:

(12)maxα,β θD(α,β)=maxα,β minxL(x,α,β)

(13)s.t.    αi0,    i=1,2,...,k

称为原始问题的对偶问题。定义对偶问题的最优值

(14)d=maxα,β:αi0 θD(α,β)

称为对偶问题的值。



三、原始问题与对偶问题的关系

定理 1原始问题和对偶问题都有最优解,则对偶问题的值小于等于原始问题的值。即

d=maxα,β:αi0 minx L(x,α,β)minxmaxα,β:αi0 L(x,α,θ)=p

证明:对任意 α,β,x

θD(α,β)=minxL(x,α,β)L(x,α,β)maxα,β:αi0L(x,α,β)=θp(x)

即下面不等式恒成立

θD(α,β)θp(x)

因为对偶问题、原始问题都有最优值,所以

maxα,β:αi0 θD(α,β)minx θp(x)

d=maxα,β:αi0 minx L(x,α,β)minxmaxα,β:αi0 L(x,α,θ)=p


推论1xαβ 分别是原始问题(1)(3)和对偶问题(12)(13)的可行解,并且 d=p,则 xαβ 分别是原始问题和对偶问题的最优解。


定理 2假设函数 f(x)ci(x) 是凸函数,hj(x) 是仿射函数,

并且假设不等式约束 ci(x) 是严格可行的,即存在 x,对所有 ici(x)<0

则存在 xαβ,使 x 是原始问题的解,αβ 是对偶问题的解,

并且

(15)p=d=L(x,α,β)


定理 3假设函数 f(x)ci(x) 是凸函数,hj(x) 是仿射函数,

并且假设不等式约束 ci(x) 是严格可行的,

xαβ 分别是原始问题和对偶问题的解的充分必要条件是 xαβ 满足下面条件:

(16)xL(x,α,β)=0

(17)αici(x)=0,    i=1,2,...,k

(18)ci(x)0,    i=1,2,...,k

(19)ai0,    i=1,2,...,k

(20)hj(x)=0,    i=1,2,...,k

(16) 表示可微;特别指出,式 (17) 称为 KKT 的对偶互补条件。由此条件可知:若 αi>0,则 ci(x)=0



posted @   做梦当财神  阅读(590)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示