使用 Lagrange Multiplier解决带有一个条件限制的最优解问题

1 前言

感谢Wiki百科以及“Lagrange multiplier”编辑者们的帮助,
我感觉Wiki百科比百度百科好太多了,
Wiki百科“Lagrange multiplier”词条链接如下:
https://en.wikipedia.org/wiki/Lagrange_multiplier

2 问题描述

今天CV作业的问题是:已知一个游泳者要渡过多个平行的河流,每个河流的流速分别为: v 1 , v 2 , ⋯   , v n v_1,v_2,\cdots,v_n v1,v2,,vn,为了简化问题,我们认为河流的流速都是竖直方向的;游泳者相对于水流的速度为 v v v,速度 v \boldsymbol{v} v与水平方向的夹角为 a 1 , a 2 , ⋯   , a n a_1,a_2,\cdots,a_n a1,a2,,an;游泳者横渡所有河流的总时间为T,且游泳者必须度过这些河流。
通过归纳问题,我们可以得到以下数学模型,即:
t i t_i ti为游泳者横渡第i条河所用的时间, t i ∈ N + t_i \in N^+ tiN+
则有, t 1 + t 2 + ⋯ + t n = T t_1+t_2+\cdots+t_n=T t1+t2++tn=T
t i = s i v ⋅ cos a i t_i=\frac{s_i}{v \cdot \text{cos}a_i} ti=vcosaisi
∴总共行进的竖直距离为
y = ∑ i = 0 n ( v i + v ⋅ sin a i ) t i y=\sum_{i=0}^{n}\left ( v_i+v\cdot \text{sin}a_i \right )t_i y=i=0n(vi+vsinai)ti
可以看到,这是一个求取在限制条件“T”下求取y最大值的最优解问题。那么如何使用 Lagrange Multiplier方法来求解呢?

3 使用 Lagrange Multiplier方法解决带有一个条件限制的最优解问题

我们可以使用 Lagrange Multiplier方法来求取y的最优解,使用 Lagrange Multiplier方法,我们首先需要明确的是限制条件的模型到底是什么;
这里我们看到“ t 1 + t 2 + ⋯ + t n = T t_1+t_2+\cdots+t_n=T t1+t2++tn=T是唯一的限制条件,但是其实这个限制条件从本质上来说,实际是关于 a 1 , a 2 , ⋯   , a n a_1,a_2,\cdots,a_n a1,a2,,an这n个变量的多元函数,具体的推导过程如下:
t i t_i ti带入T的方程中,
则有, ∑ i = 0 n s i v ⋅ cos a i = T \sum_{i=0}^{n}\frac{s_i}{v \cdot \text{cos}a_i}=T i=0nvcosaisi=T
∴限制条件可以归纳为一个多元函数,即:
g ( a 1 , a 2 , ⋯   , a n ) = ∑ i = 0 n s i v ⋅ cos a i − T = 0 g\left ( a_1,a_2,\cdots,a_n \right )=\sum_{i=0}^{n}\frac{s_i}{v \cdot \text{cos}a_i}-T=0 g(a1,a2,,an)=i=0nvcosaisiT=0

你可能感兴趣的:(计算机视觉)