王树尧老师运筹学课程笔记 03 KKT定理

第3讲 KKT定理

KKT定理求解过程

  1. 化为标准型,得到新的约束条件
    1. 把强约束条件(等号)化为弱约束条件 g = 0 ⇔ g ≤ 0 且 g ≥ 0 g=0\Leftrightarrow g\leq0且g\ge0 g=0g0g0
    2. ≥ \ge 两边同乘 − 1 -1 1,换成 ≤ \leq (也可以都换成 ≥ \ge ,但为了和Lag乘数法统一,推荐换成 ≤ \le
  2. 有几个约束条件就引入几个广义Lag乘子 λ i ∗ \lambda_i^* λi,并且要求 λ i ∗ ≥ 0 \lambda_i^*\ge0 λi0,即所有乘子都非负
  3. 构造一个Lag函数 F = f + ∑ i λ i ∗ g i F=f+\sum_{i}\lambda_i^*g_i F=f+iλigi,其中 f f f是目标函数, g i g_i gi是约束条件。
  4. 对目标函数的自变量求偏导数,都令其等于0,并令广义Lag乘子 ∗ * 约束条件=0,即 λ i ∗ ∗ g i = 0 \lambda_i^**g_i=0 λigi=0。(Lag乘数法中是直接令约束条件=0)。
  5. 然后解方程组(注意需要仔细讨论解的情况),得到若干组解。比较这些解的函数值,其对应的函数值中最大的就是最大值,最小的就是最小值。

(注意比较Lag乘数法和KKT定理求解过程的不同之处。)

注:KKT定理需要要求函数有连续的一阶偏导,但这个前提条件不需要刻意关心,一般都是可以满足的。

KKT定理的思考

当使用KKT定理求出一个解时,如果其对应的某个 λ i ∗ > 0 \lambda_i^*>0 λi>0,则由 λ i ∗ ∗ g i = 0 \lambda_i^**g_i=0 λigi=0可得 g i = 0 g_i=0 gi=0,即 g i g_i gi退化为了强约束条件,说明该解对应的点恰好落在曲线 g i = 0 g_i=0 gi=0上。

Lag乘数法和KKT定理的局限性

Lag乘数法和KKT定理虽然是可以解决非线性规划问题的通用方法,但是其难点在于求解方程组中对解的讨论,解方程本身十分困难,对于有限的解讨论方程组的解可能十分繁琐,甚至可能会解出来无限多个解。

因此针对线性规划问题我们可以用一些更为特殊、更有针对性的方法进行求解。

总结

KKT定理是Lag乘数法的一种推广,其求解过程在形式上与Lag乘数法是非常相似的。需要特别注意的是KKT定理中的广义Lag乘子必须要 ≥ 0 \geq0 0

  • 12
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值