非线性规划的拉格朗日乘子法的手工数学推导,考虑有约束情况的python代码

一、拉格朗日乘子法和KKT的介绍

拉格朗日乘子法 拉格朗日乘子λ代表当约束条件变动时,目标函数极值的变化。是一种经典的求解条件极值的解析方法,求函数f(x1,x2,…)在约束条件g(x1,x2,…)=0下的极值的方法。这种引进待定乘子,将有等式约束的寻优问题转化为无约束的寻优问题的做法,称为拉格朗日乘子法,又叫升维法。
  • 等式约束条件
    设目标函数为f(x),约束条件为hk(x),形如
    在这里插入图片描述
    s.t. 表示subject to ,“受限于”的意思,l表示有l个约束条件。
    定义拉格朗日函数F(x)
    在这里插入图片描述
    其中λk是各个约束条件的待定系数
    然后解变量的偏导方程:
    在这里插入图片描述
    如果有n个约束条件,就应该有n+1个方程;求出的方程组的解就是最优化值,将结果带回原方程验证就可得到解。
KKT条件 KKT条件在约束条件下求解非线性规划问题很有用,是确
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值