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^+
ti∈N+,
则有,
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=v⋅cosaisi,
∴总共行进的竖直距离为
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+v⋅sinai)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=0nv⋅cosaisi=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=0nv⋅cosaisi−T=0