【学习笔记】拉格朗日乘数法&KKT
拉格朗日乘数法&KKT 学习笔记
前置芝士:导数,解方程组,加减乘除。
偏导
对一个多元函数中的某一个变量求偏导,实际上就是将其他变量视为系数,对此变量求导。
例:
解:
对
对
拉格朗日乘数法
介绍
拉格朗日乘数法是求一个多元函数在受到一些奇奇怪怪的约束(等式约束)的情况下的最值(max/min)。
内容
设一多元函数
构造拉格朗日函数
接着,分别求
令
最后,解方程组,得到
注意:
例:已知
解:
设二元函数
构造拉格朗日函数
对
令以上三者均为
解得
将
所以
KKT
介绍
事实上这玩意有点复杂,涉及到向量啊超平面啊等乱七八糟的东西。在这里我们只讨论求解最大最小值的基本方法。
我们回过头看拉乘,发现他只能解决等式约束的极值。那么对于不等式约束,我们要如何求解极值?
KKT闪亮登场!
内容
设一函数
构造拉格朗日函数
对
注意,
当然,KKT也可以解决多元函数的问题,只是在后面多添几个未知数而已。为了简便我们这里只写一元函数。
不难看出,KKT本质是拉乘的推广。
例:求
解:将约束转化为 KKT 的标准形式
并构造拉格朗日函数
令
下面就是根据上面的两个联立方程组对
- 若
且 ,则有
解得
可得
- 若
且 ,则有
解得
- 若
且 ,则有
解得
- 若
且 ,显然假设可以成立,则有
解得
综上所述,
总结
在解决条件极值问题时,遇到难以下手的可以尝试使用拉乘和KKT解决,但计算量偏大。
update on 2023.1.23
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?