拉格朗日乘子法

拉格朗日乘子法 (Lagrange multipliers)是⼀种寻找多元函数在⼀组约束下的极值的⽅法。

通过引⼊拉格朗⽇乘⼦,可将有 d 个变量与 k 个约束条件的最优化问题转化为具有 d + k 个变量的⽆约束优化问题求解。

本⽂希望通过⼀个直观简单的例⼦尽⼒解释拉格朗⽇乘⼦法和KKT条件的原理。以包含⼀个变量⼀个约束的简单优化问题为例。如图所示,我们的⽬标函数是f(x) = x + 4x − 1,讨论两种约束条件g(x):

  1. 在满⾜x≤−1 约束条件下求⽬标函数的最⼩值;
  2. 在满⾜ x≥−1约束条件g(x)下求⽬标函数的最⼩值。

在这里插入图片描述

我们可以直观的从图中得到,
对于约束 1) 使⽬标值f(x)最⼩的最优解是x=−2;
对于约束 2) 使⽬标值f(x)最⼩的最优解是x=−1。

下⾯我们⽤拉格朗⽇乘⼦来求解这个最优解。

当没有约束的时候,我们可以直接令⽬标函数的导数为0,求最优值。
可现在有约束,那怎么边考虑约束边求⽬标函数最优值呢?

最直观的办法是把约束放进⽬标函数⾥,由于本例中只有⼀个约束,所以引入⼀个朗格朗⽇乘⼦λ,构造⼀个新的函数,拉格朗⽇函数h(x),h(x) = f(x) + λg(x)。

该拉格朗⽇函数h(x)最优解可能在g(x)<0区域中,或者在边界g(x)=0上,下⾯具体分析这两种情况,当g(x)<0时,也就是最优解在g(x)<0区域中, 对应约束1) x≤−1的情况。此时约束对求⽬标函数最⼩值不起作⽤,等价于λ=0,直接通过条件∇ॖ(१∗)=0,得拉格朗⽇函数h(x)最优解x=−2。当g(x)=0时,也就是最优解在边界g(x)=0上,对应约束1) x≥−1的情况。此时不等式约束转换为等式约束,也就是在λ>0、约束起作⽤的情况下,通过求∇ॖ(१∗)+௯∇ॗ(१∗)=0,得拉格朗⽇函数h(x)最优解x=−1。

所以整合这两种情况,必须满⾜λg(x)=0
因此约束g(x)最⼩化f(x)的优化问题,可通过引⼊拉格朗⽇因⼦转化为在如下约束下,最⼩化拉格朗⽇函数h(x),
在这里插入图片描述

上述约束条件称为KKT条件。
该KKT条件可扩展到多个等式约束和不等式约束的优化问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/347284.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[精品]CSAPP Bomb Lab 解题报告(四)

接上篇[精品]CSAPP Bomb Lab 解题报告(三) gdb常用指令 设置Intel代码格式:set disassembly-flavor intel 查看反汇编代码:disas phase_1 查看字符串:(gdb) x/s 0x402800 0x402800: "Gunston"4. Phase 4: recursive calls and the stack discipline 4.1 本关…

使用Java Stream摘要统计

基本类型的流&#xff08; IntStream等&#xff09;提供了summaryStatistics( &#xff09;方法&#xff0c;该方法可用于获取流的多个统计属性&#xff08;最小值&#xff0c;平均值等&#xff09;。 假设我们有一个人的名单。 我们的目标是使用信息流获取列表中人员的最小和…

双闭环直流调速系统matlab/simulink仿真

前些天发现了十分不错的人工智能学习电子书&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;没有广告&#xff0c;分享给大家&#xff0c;大家可以自行看看。&#xff08;点击跳转人工智能学习资料&#xff09; 微信公众号&#xff1a;创享日记&#xff08;或csds992022&…

[精品]CSAPP Bomb Lab 解题报告(五)

接上篇[精品]CSAPP Bomb Lab 解题报告(四) gdb常用指令 设置Intel代码格式:set disassembly-flavor intel 查看反汇编代码:disas phase_1 查看字符串:(gdb) x/s 0x402800 0x402800: "Gunston"5. Phase 5: pointers 5.1 本关密码 9ON567(不唯一)5.2 解题过…

采样与保持仿真实验(计控实验一simulink)

一、实验目的与要求 1、了解数/模转换器的零阶保持器作用。 2、验证零阶保持器在控制系统中的作用。 3、验证采样周期对系统稳定性的影响。 4、学习控制系统计算机辅助设计软件MATLAB及其仿真环境SIMULINK的使用。 二、仿真软硬件环境 PC机&#xff0c;MATLAB R2012b。 三、…

[精品]CSAPP Bomb Lab 解题报告(六)

接上篇[精品]CSAPP Bomb Lab 解题报告(五) gdb常用指令 设置Intel代码格式:set disassembly-flavor intel 查看反汇编代码:disas phase_1 查看字符串:(gdb) x/s 0x402800 0x402800: "Gunston"6. Phase 6: linked lists / pointers / structs 6.1 本关密码 …

微分与平滑仿真实验(计控实验二simulink)

一、实验目的与要求 1、了解微分对采样噪音的灵敏响应。 2、了解平滑算法抑制噪音的作用。 3、进一步学习MATLAB及其仿真环境SIMULINK的使用。 二、仿真软硬件环境 PC机&#xff0c;MATLAB R2012b。 三、实验原理 如图微分加在正反馈输入端&#xff0c;计算机用D(Z)式进行…

无效方法为行为黑洞

如果“认为有害”的文章本身不被认为是有害的&#xff0c;则本帖标题为“认为有害的作废方法”。 哦&#xff0c;好了 无效方法在大多数面向对象的代码库中无处不在。 在运行时中某个地方发生可变状态或I / O的直接后果是&#xff0c;您可以包装功能编程狂热者称为impure的任何…

[精品]CSAPP Bomb Lab 解题报告(七)——隐藏关卡

接上篇[精品]CSAPP Bomb Lab 解题报告(六) gdb常用指令 设置Intel代码格式:set disassembly-flavor intel 查看反汇编代码:disas phase_1 查看字符串:(gdb) x/s 0x402800 0x402800: "Gunston"7. 结束了吗 在 bomb.c 文件的最后,留下了这样一句耐人寻味的话…

积分分离PID控制仿真实验(计控实验三simulink)

一、实验目的与要求 1、学会PID三个系数的选取。 2、了解积分分离值的模拟实验选取。 3、掌握SIMULINK的仿真方法。 二、仿真软硬件环境 PC机&#xff0c;MATLAB R2012b。 三、实验原理 如图&#xff0c;R为输入&#xff0c;C为输出。计算机不断采入误差E&#xff0c;进行…

数电实验三-点亮四个数码管(Multisim和Basys3)

特别说明&#xff1a;该系列内容均是本人实验记录&#xff0c;无盗取侵权之嫌&#xff0c;仅供参考&#xff0c;请多动手实践。 一、实验目的 详见报告 二、实验仪器 详见报告 三、实验内容详解 以16位拨码开关和3个按钮为输入&#xff0c;四个七段式数码管为输出&#xff0…

α稳定分布噪声基本原理及基于Chambers Mallows Stuck算法生成噪声并对信号加噪

Alpha稳定分布噪声的概念 Alpha稳定分布通常由其特征函数表征[7]: ϕ ( u ) = exp ⁡ ( j a u − γ ∣ u ∣ α [ 1 +

wso2 esb_使用WSO2 ESB构建制造服务总线(MSB)

wso2 esb在进入本主题之前&#xff0c;我想介绍一些制造业中常用的术语。 制造执行系统&#xff08;MES&#xff09;一词是AMR Research在1990年提出的&#xff0c;从先进的制造计算机信息系统的发展到现在&#xff0c;MES概念已经发展了近三十年。 以下是制造执行系统协会&am…

数电实验四-触发器(Multisim和Basys3)

特别说明&#xff1a;该系列内容均是本人实验记录&#xff0c;无盗取侵权之嫌&#xff0c;仅供参考&#xff0c;请多动手实践&#xff01; 一、实验目的 详见报告 二、实验仪器 1.数字电路实验箱 2.器材 三、实验内容详解 1.基本RS触发器逻辑功能的测试 基本RS触发器由两个与…

基于MATLAB的简易音乐数字均衡器设计(不采用MATLAB内置函数实现)

音乐数字均衡器 MATLAB GUI界面 不同MP3播放器的均衡器设置不尽相同,以两个韩系高端品牌iRiver和iAUDIO为例,两者的EQ均衡器同分为5个频段,但是频段的划分并不一样。iRiver的产品EQ分为五段:50Hz档、200Hz档、1KHz档、3KHz档和14KHz档,每段可以进行10级调节:-15dB、-12d…

线程方法destroy()和stop(Throwable)在JDK 11中删除

DrDeprecator &#xff08;Stuart Marks&#xff09;在core-libs-dev OpenJDK邮件列表上的消息“ RFR&#xff08;s&#xff09;&#xff1a;8204243&#xff1a;remove Thread.destroy&#xff08;&#xff09;和Thread.stop&#xff08;Throwable&#xff09; ”是对以下文档…

微信小程序消息推送通知模板id生成获取

前些天发现了十分不错的人工智能学习电子书&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;没有广告&#xff0c;分享给大家&#xff0c;大家可以自行看看。&#xff08;点击跳转人工智能学习资料&#xff09; 1、首先在微信公众平台登录对应的微信小程序。然后点击功能…

Windows10+VS2017下GSL1.8_x86和sundials2.5.0配置及GITHUB项目schneider_et_al_2016_animaldiversity编译运行

一、GSL库下载 GSL简介及下载地址:GSL - GNU Scientific Library GSL FTP下载地址:GSL FTP GSL for Windows地址:Gsl for Windows 文件主要有: 以上链接中关于GSL1.8版本的所有文件,均已下载好且打包如下,可直接下载,本文主要分享编译链接过程中遇到的问题,避免看到这…

数电实验五-秒表初步(Multisim和Basys3)

特别说明&#xff1a;该系列内容均是本人实验记录&#xff0c;无盗取侵权之嫌&#xff0c;仅供参考&#xff0c;请多动手实践。 一、实验目的 详见报告 二、实验环境 详见报告 三、实验内容详解 基础要求&#xff1a;以Basys3板载的100MHz时钟为输入&#xff0c;4位7段式数码…

C语言实用算法系列之冒泡排序、sizeof与strlen的区别

直接看代码 #include <stdio.h> #include<string.h> int main() {//char s[10] { 98,68,55,-,x,y }; // sizeof10 strlen 6//char s[10] "abc%78"; // 从常量区拷贝赋值&#xff0c;sizeof10 strlen 6//char s[] { a,b,c,\0 }; // sizeof4 strlen3//…