使用 Lagrange Multiplier解决带有一个条件限制的最优解问题
1 前言
感谢Wiki百科以及“Lagrange multiplier”编辑者们的帮助,
我感觉Wiki百科比百度百科好太多了,
Wiki百科“Lagrange multiplier”词条链接如下:
https://en.wikipedia.org/wiki/Lagrange_multiplier
2 问题描述
今天CV作业的问题是:已知一个游泳者要渡过多个平行的河流,每个河流的流速分别为:v1,v2,⋯ ,vnv_1,v_2,\cdots,v_nv1,v2,⋯,vn,为了简化问题,我们认为河流的流速都是竖直方向的;游泳者相对于水流的速度为vvv,速度v\boldsymbol{v}v与水平方向的夹角为a1,a2,⋯ ,ana_1,a_2,\cdots,a_na1,a2,⋯,an;游泳者横渡所有河流的总时间为T,且游泳者必须度过这些河流。
通过归纳问题,我们可以得到以下数学模型,即:
设tit_iti为游泳者横渡第i条河所用的时间,ti∈N+t_i \in N^+ti∈N+,
则有,t1+t2+⋯+tn=Tt_1+t_2+\cdots+t_n=Tt1+t2+⋯+tn=T,
且ti=siv⋅cosait_i=\frac{s_i}{v \cdot \text{cos}a_i}ti=v⋅cosaisi,
∴总共行进的竖直距离为
y=∑i=0n(vi+v⋅sinai)tiy=\sum_{i=0}^{n}\left ( v_i+v\cdot \text{sin}a_i \right )t_iy=∑i=0n(vi+v⋅sinai)ti
可以看到,这是一个求取在限制条件“T”下求取y最大值的最优解问题。那么如何使用 Lagrange Multiplier方法来求解呢?
3 使用 Lagrange Multiplier方法解决带有一个条件限制的最优解问题
我们可以使用 Lagrange Multiplier方法来求取y的最优解,使用 Lagrange Multiplier方法,我们首先需要明确的是限制条件的模型到底是什么;
这里我们看到“t1+t2+⋯+tn=Tt_1+t_2+\cdots+t_n=Tt1+t2+⋯+tn=T是唯一的限制条件,但是其实这个限制条件从本质上来说,实际是关于a1,a2,⋯ ,ana_1,a_2,\cdots,a_na1,a2,⋯,an这n个变量的多元函数,具体的推导过程如下:
tit_iti带入T的方程中,
则有,∑i=0nsiv⋅cosai=T\sum_{i=0}^{n}\frac{s_i}{v \cdot \text{cos}a_i}=T∑i=0nv⋅cosaisi=T,
∴限制条件可以归纳为一个多元函数,即:
g(a1,a2,⋯ ,an)=∑i=0nsiv⋅cosai−T=0g\left ( a_1,a_2,\cdots,a_n \right )=\sum_{i=0}^{n}\frac{s_i}{v \cdot \text{cos}a_i}-T=0g(a1,a2,⋯,an)=∑i=0nv⋅cosaisi−T=0
使用 Lagrange Multiplier解决带有一个条件限制的最优解问题相关推荐
- 拉格朗日乘子法(Lagrange Multiplier)和KKT条件
拉格朗日乘子法(Lagrange Multiplier)和KKT条件 一:前言 如果我们现实生活中的多元值求最优化的问题,我们会遇到一下三种场景: 无条件约束的优化问题 有等式约束的优化问题 有不等式 ...
- 深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件
在求解最优化问题中,拉格朗日乘子法(Lagrange Multiplier)和KKT(Karush Kuhn Tucker)条件是两种最常用的方法.在有等式约束时使用拉格朗日乘子法,在有不等约束时使用 ...
- 求解最优化问题的方法:拉格朗日乘子法(Lagrange Multiplier) 和KKT条件
在求解最优化问题中,拉格朗日乘子法(Lagrange Multiplier)和KKT(Karush Kuhn Tucker)条件是两种最常用的方法.在有等式约束时使用拉格朗日乘子法,在有不等约束时使用 ...
- 【数学】拉格朗日乘子法(Lagrange Multiplier) 和KKT条件理解
转载 目录 动机 简介 一. 拉格朗日乘子法(Lagrange Multiplier) 和KKT条件 (a) 拉格朗日乘子法(Lagrange Multiplier) (b) KKT条件 二. 为什么 ...
- 拉格朗日乘子法(Lagrange Multiplier) 和KKT条件
在求取有约束条件的优化问题时,拉格朗日乘子法(Lagrange Multiplier) 和KKT条件是非常重要的两个求取方法,对于等式约束的优化问题,可以应用拉格朗日乘子法去求取最优值:如果含有不等式 ...
- SVM-支持向量机理解(拉格朗日乘子法(Lagrange multiplier))
关于支持向量机里的拉格朗日乘子法有很多文章,作为学习笔记这里就不详细描述了,只记录一些一般文章里跳过的难以理解部分 Support Vector Machine wiki : https://en.w ...
- nsa构架_我如何使用NSA的Ghidra解决了一个简单的CrackMe挑战
nsa构架 by Denis Nuțiu 丹尼斯·努尤(Denis Nuțiu) 我如何使用NSA的Ghidra解决了一个简单的CrackMe挑战 (How I solved a simple Cra ...
- 数学基础知识总结 —— 9. 什么是拉格朗日乘数法(Lagrange Multiplier,有约束条件的多元函数求极值)
文章目录 定义 理解「拉格朗日乘数法」 一些例题 定义 拉格朗日乘数法(Lagrange multiplier,以数学家约瑟夫·拉格朗日命名),在数学中的最优化问题中,是一种寻找多元函数在其变量受到一 ...
- 拉格朗日乘数法(Lagrange multiplier)
先摆公式,再说推导. 求二元函数z=f(x,y)z=f(x,y)z=f(x,y)在条件φ(x,y)=0\varphi(x,y)=0φ(x,y)=0下的极值. (1)作Lagrange函数 F(x,y, ...
最新文章
- PVD与CVD性能比较
- 2019年汽车AI计算技术及市场趋势
- Node.js可能是最适合写简易小爬虫的语言,速度极快、代码极少
- SAS (Serial Attached SCSI) 技术详解
- BZOJ1444: [Jsoi2009]有趣的游戏(Trie图,矩乘)
- 深度学习之卷积神经网络(8)BatchNorm层
- react学习系列之states与props
- python batch_size_python 實現動態 batch size,多張圖片如何堆疊轉成指針
- 你还不知道怎么退出 Vim?
- GPT语言模型:通过生成式预训练改善语言理解 OpenAI 2018
- sql创建表主键gui_在SQL Server中使用主数据服务快速创建最终用户可以维护的GUI
- 阿里在美申请区块链专利;Win10 最新漏洞被发现;MongoDB 4.2 发布​ | 极客头条...
- linux中找到最耗CPU的那段Java代码
- 架构之美第十三章-美丽的架构
- vue中打印多一页空白页
- 化学分子溶解度预测模型(python-Rdkit构建)
- ArGIS Engine专题(6)之利用GP水文分析工具实现基于DEM的山脊线提取
- 如何一步步设计前端架构?
- 中间件系列——EMQX 的集群搭建
- word打开wps文件乱码_Word打开WPS文档成乱码怎么办
热门文章
- 【转】ASP.net MVC自定义错误处理页面的方法
- php jmail 乱码,ASP实例:解决Jmail发送邮件标题出现乱码
- java swing container_Java Swing GUI学习(一)
- c# 上传图片到一个外链相册服务器
- 第五周博客作业西北师范大学|李晓婷
- 选股方法-陶博士-月线反方法的思路来源
- 0108--/** * 根据最大尺寸和字体计算文字的实际尺寸 */
- (转)AS3 面相对象 高级话题
- 如何用ssh工具连接自己的“小米手机”——雷总看了直呼内行!!!
- python pymysql模块 链接mysql 遍历查询结果的方法 详解