本文主要参考变分法及其应用.
在诸多优化问题中,优化的变量是一个函数,也就是说需要找到一个函数,使得某个特定的目标最小。
固体力学中的最小势能原理
处于平衡状态的弹性体,真实位移场使得系统总势能取最小值。
基于势能原理,也发展出了固体力学中的变分解法,也就是求出使得总势能最小的位移场,该位移就是真实的位移解答。
同样变分法也可以用于最优控制中,求取控制律,使得系统系统的性能指标最优,而控制律通常是时间的函数。
泛函其实是挺难理解的概念,首先看微积分中函数的概念。
定义在实数域 R R R上的一元函数 y = f ( x ) y=f(x) y=f(x),值域也是实数集 R R R,实际上是定义了一种映射关系 f f f, f : R → R f:~R \to R f: R→R。
而泛函的定义域并不是数集,而是函数集。
假设函数集合 C C C, ∀ y ∈ C \forall y \in C ∀y∈C, y y y的定义域为 [ x 0 , x 1 ] [x_0,x_1] [x0,x1], y y y都为可微函数,且
(1) y ( x 0 ) = y 0 , y ( x 1 ) = y 1 y(x_0)=y_0,~y(x_1)=y_1\tag{1} y(x0)=y0, y(x1)=y1(1)
也就是说函数几何 C C C中的元素均为平面上从点 A ( x 0 , y 0 ) A(x_0,~y_0) A(x0, y0)到点 B ( x 1 , y 1 ) ~B(x_1,~y_1) B(x1, y1)的光滑曲线。
这里讨论泛函 J ( y ) J(y) J(y)的定义域就是函数集合 C C C,其值域是实数集 R R R。泛函 J ( y ) J(y) J(y)同样定义了一种映射关系 J : C → R J:~C \to R J: C→R。一般泛函可以用积分式表示:
(2) J [ y ( x ) ] = ∫ a b F ( x , y , y ′ ) d x J[y(x)]=\int_{a}^{b}F(x,~y,~y')\text{d}x\tag{2} J[y(x)]=∫abF(x, y, y′)dx(2)
函数 y = f ( x ) y=f(x) y=f(x)的微分 d y dy dy指的是由于自变量 x → x + d x x \to x+dx x→x+dx所引起的因变量 y y y的变化量 d y = f ( x + d x ) − f ( x ) dy=f(x+dx)-f(x) dy=f(x+dx)−f(x)。
而泛函 J [ y ( x ) ] J[y(x)] J[y(x)]的变分 δ J \delta J δJ指的是由于自变量 y → y + δ y y \to y+\delta y y→y+δy所引起的因变量 J J J的变化 δ J = J [ y + δ y ] − J [ y ] \delta J=J[y+\delta y]-J[y] δJ=J[y+δy]−J[y]。
当 y → y + δ y y \to y+\delta y y→y+δy时,利用多元函数的一阶Taylor展开
(3) F ( x , y + δ y , y ′ + δ y ′ ) = F ( x , y , y ′ ) + ∂ F ∂ y δ y + ∂ F ∂ y ′ δ y ′ F(x,~y+\delta y,~y'+\delta y')=F(x,~y,~y')+\frac{\partial F}{\partial y}\delta y+\frac{\partial F}{\partial y'}\delta y'\tag{3} F(x, y+δy, y′+δy′)=F(x, y, y′)+∂y∂Fδy+∂y′∂Fδy′(3)
因此,泛函 δ J \delta J δJ可以表为
(4) δ J = ∫ a b [ ∂ F ∂ y δ y + ∂ F ∂ y ′ δ y ′ ] d x \delta J=\int_{a}^{b} \left[ \frac{\partial F}{\partial y}\delta y+\frac{\partial F}{\partial y'}\delta y' \right]\text{d}x\tag{4} δJ=∫ab[∂y∂Fδy+∂y′∂Fδy′]dx(4)
函数 y = f ( x ) y=f(x) y=f(x)取在 x = x 0 x=x_0 x=x0处取极值的必要条件是
d y d x ∣ x = x 0 = 0 \frac{dy}{dx}\Big|_{x=x_0}=0 dxdy∣∣∣x=x0=0
泛函 J [ y ( x ) ] J[y(x)] J[y(x)]取极值的必要条件是
(5) δ J = 0 \delta J = 0\tag{5} δJ=0(5)
(6) ∂ F ∂ y − d d x ( ∂ F ∂ y ′ ) = 0 \frac{\partial F}{\partial y}-\frac{\text{d}}{\text{d}x}\left(\frac{\partial F}{\partial y'}\right)=0\tag{6} ∂y∂F−dxd(∂y′∂F)=0(6)
下面证明上述必要条件,证明过程很长,并且有点不严谨。
理论上 δ y \delta y δy是任意小的函数,可以取 δ y = ε φ ( x ) \delta y=\varepsilon \varphi(x) δy=εφ(x), ε \varepsilon ε是任意小的实数, φ ( x ) \varphi(x) φ(x)为可微函数,并满足
(7) φ ( a ) = 0 , φ ( b ) = 0 \varphi(a)=0,~\varphi(b)=0\tag{7} φ(a)=0, φ(b)=0(7)
这样函数 J [ y ( x ) + ε φ ( x ) ] J[y(x)+\varepsilon\varphi(x)] J[y(x)+εφ(x)]是 ε \varepsilon ε的函数,在 ε = 0 \varepsilon=0 ε=0处取得极值。因此有
(8) d d ε ( J [ y ( x ) + ε φ ( x ) ] ) ∣ ε = 0 = 0 \frac{\text{d}}{\text{d}\varepsilon}\left(J[y(x)+\varepsilon\varphi(x)]\right)\Big|_{\varepsilon=0}=0\tag{8} dεd(J[y(x)+εφ(x)])∣∣∣ε=0=0(8)
参考式(3)有
(9) J [ y ( x ) + ε φ ( x ) ] = J [ y ( x ) ] + ∫ a b [ ∂ F ∂ y ε φ ( x ) + ∂ F ∂ y ′ ε φ ′ ( x ) ] d x J[y(x)+\varepsilon\varphi(x)]=J[y(x)]+\int_{a}^{b}\left[\frac{\partial F}{\partial y}\varepsilon\varphi(x)+\frac{\partial F}{\partial y'}\varepsilon\varphi'(x)\right]\text{d}x\tag{9} J[y(x)+εφ(x)]=J[y(x)]+∫ab[∂y∂Fεφ(x)+∂y′∂Fεφ′(x)]dx(9)
将式(9)带入式(8)中,
(10) d d ε ( J [ y ( x ) + ε φ ( x ) ] ) ∣ ε = 0 = ∫ a b [ ∂ F ∂ y φ ( x ) + ∂ F ∂ y ′ φ ′ ( x ) ] d x = 0 \frac{\text{d}}{\text{d}\varepsilon}\left(J[y(x)+\varepsilon\varphi(x)]\right)\Big|_{\varepsilon=0}=\int_{a}^{b}\left[\frac{\partial F}{\partial y}\varphi(x)+\frac{\partial F}{\partial y'}\varphi'(x)\right]\text{d}x=0\tag{10} dεd(J[y(x)+εφ(x)])∣∣∣ε=0=∫ab[∂y∂Fφ(x)+∂y′∂Fφ′(x)]dx=0(10)
再以 ε \varepsilon ε乘以上式有
(11) ∫ a b [ ∂ F ∂ y ε φ ( x ) + ∂ F ∂ y ′ ε φ ′ ( x ) ] d x = 0 = ∫ a b [ ∂ F ∂ y δ y + ∂ F ∂ y ′ δ y ′ ] d x = δ J = 0 \int_{a}^{b}\left[\frac{\partial F}{\partial y}\varepsilon\varphi(x)+\frac{\partial F}{\partial y'}\varepsilon\varphi'(x)\right]\text{d}x=0=\int_{a}^{b} \left[ \frac{\partial F}{\partial y}\delta y+\frac{\partial F}{\partial y'}\delta y' \right]\text{d}x=\delta J=0\tag{11} ∫ab[∂y∂Fεφ(x)+∂y′∂Fεφ′(x)]dx=0=∫ab[∂y∂Fδy+∂y′∂Fδy′]dx=δJ=0(11)
这就证明了泛函取极值的必要条件是其变分为零,下面再证另一个条件。
对式(10)应用分部积分
(12) 0 = ∫ a b [ ∂ F ∂ y φ ( x ) + ∂ F ∂ y ′ φ ′ ( x ) ] d x = ∫ a b ∂ F ∂ y φ ( x ) d x + ∫ a b ∂ F ∂ y ′ d φ ( x ) = ∫ a b ∂ F ∂ y φ ( x ) d x + ∂ F ∂ y ′ φ ( x ) ∣ x = a x = b − ∫ a b φ ( x ) d ( ∂ F ∂ y ′ ) 0=\int_{a}^{b}\left[\frac{\partial F}{\partial y}\varphi(x)+\frac{\partial F}{\partial y'}\varphi'(x)\right]\text{d}x \\ =\int_{a}^{b}\frac{\partial F}{\partial y}\varphi(x)\text{d}x+\int_{a}^{b}\frac{\partial F}{\partial y'}\text{d}\varphi(x) \\ =\int_{a}^{b}\frac{\partial F}{\partial y}\varphi(x)\text{d}x+\frac{\partial F}{\partial y'}\varphi(x)\Big|_{x=a}^{x=b}-\int_{a}^{b}\varphi(x)\text{d}\left(\frac{\partial F}{\partial y'}\right) \tag{12} 0=∫ab[∂y∂Fφ(x)+∂y′∂Fφ′(x)]dx=∫ab∂y∂Fφ(x)dx+∫ab∂y′∂Fdφ(x)=∫ab∂y∂Fφ(x)dx+∂y′∂Fφ(x)∣∣∣x=ax=b−∫abφ(x)d(∂y′∂F)(12)
考虑到式(7),上式可以进一步简化为
(13) ∫ a b ∂ F ∂ y φ ( x ) d x − ∫ a b φ ( x ) d d x ( ∂ F ∂ y ′ ) d x = 0 ∫ a b φ ( x ) [ ∂ F ∂ y − d d x ( ∂ F ∂ y ′ ) ] d x = 0 \int_{a}^{b}\frac{\partial F}{\partial y}\varphi(x)\text{d}x-\int_{a}^{b}\varphi(x)\frac{\text{d}}{\text{d}x}\left(\frac{\partial F}{\partial y'}\right)\text{d}x=0 \\ \int_{a}^{b}\varphi(x)\left[\frac{\partial F}{\partial y}-\frac{\text{d}}{\text{d}x}\left(\frac{\partial F}{\partial y'}\right)\right]\text{d}x=0 \tag{13} ∫ab∂y∂Fφ(x)dx−∫abφ(x)dxd(∂y′∂F)dx=0∫abφ(x)[∂y∂F−dxd(∂y′∂F)]dx=0(13)
考虑到 φ ( x ) \varphi(x) φ(x)的任意性
(14) ∂ F ∂ y − d d x ( ∂ F ∂ y ′ ) = 0 \frac{\partial F}{\partial y}-\frac{\text{d}}{\text{d}x}\left(\frac{\partial F}{\partial y'}\right)=0 \tag{14} ∂y∂F−dxd(∂y′∂F)=0(14)
即证明泛函极值的第二个必要条件,上式又被称为欧拉-拉格朗日条件(E-L条件)。
如下图所示,最速降线问题指的是平面上两点 A ( 0 , 0 ) , B ( p , q ) A(0,~0),B(p,~q) A(0, 0),B(p, q),一个质点 m m m沿着那条曲线无摩擦的下降时,时间最短。y轴正方向向下。
无摩擦,重力势能全部转化为动能
(15) 1 2 m v 2 = m g y v = 2 g y \frac{1}{2}mv^2=mgy \\ v = \sqrt{2gy} \tag{15} 21mv2=mgyv=2gy(15)
弧长微元 d s \text{d}s ds与时间微元 d t \text{d}t dt存在关系
(16) v = d s d t v = \frac{\text{d}s}{\text{d}t} \tag{16} v=dtds(16)
弧长微元 d s \text{d}s ds可以表为
(17) d s = 1 + y ′ 2 d x \text ds=\sqrt{1+y'~^2}\text dx \tag{17} ds=1+y′ 2dx(17)
综合式(14)(15)(16)时间微元可以表为
(18) d t = d s v = 1 + y ′ 2 2 g y d x dt=\frac{\text{d}s}{v} =\sqrt{\frac{1+y'~^2}{2gy}}\text dx \tag{18} dt=vds=2gy1+y′ 2dx(18)
从点A到点B的下降时间 t t t可以积分得到
(19) t = ∫ 0 p d t = ∫ 0 p 1 + y ′ 2 2 g y d x t=\int_{0}^{p}dt=\int_{0}^{p}\sqrt{\frac{1+y'~^2}{2gy}}\text dx \tag{19} t=∫0pdt=∫0p2gy1+y′ 2dx(19)
下降时间 t t t是曲线 y = y ( x ) y=y(x) y=y(x)的泛函,最速降线就是 t ( y ) t(y) t(y)的极值。因此最速降线必然满足泛函极值的必要条件。
此处 F ( y , y ′ ) = 1 + y ′ 2 2 g y F(y,y')=\sqrt{\frac{1+y'~^2}{2gy}} F(y,y′)=2gy1+y′ 2,须满足E-L条件即式(13)。
又
(20) d d x ( F ( y , y ′ ) − y ′ ∂ F ∂ y ′ ) = ∂ F ∂ y y ′ + ∂ F ∂ y ′ y ′ ′ − y ′ ′ ∂ F ∂ y ′ − y ′ d d x ∂ F ∂ y ′ = y ′ [ ∂ F ∂ y − d d x ( ∂ F ∂ y ′ ) ] = 0 \frac{\text{d}}{\text dx}\left(F(y,y')-y'\frac{\partial F}{\partial y'}\right) \\ =\frac{\partial F}{\partial y}y'+\frac{\partial F}{\partial y'}y''-y''\frac{\partial F}{\partial y'}-y'\frac{\text{d}}{\text dx}\frac{\partial F}{\partial y'} \\ =y'\left[\frac{\partial F}{\partial y}-\frac{\text{d}}{\text{d}x}\left(\frac{\partial F}{\partial y'}\right)\right]=0 \tag{20} dxd(F(y,y′)−y′∂y′∂F)=∂y∂Fy′+∂y′∂Fy′′−y′′∂y′∂F−y′dxd∂y′∂F=y′[∂y∂F−dxd(∂y′∂F)]=0(20)
因此,
(21) F ( y , y ′ ) − y ′ ∂ F ∂ y ′ = C F(y,y')-y'\frac{\partial F}{\partial y'}=C \tag{21} F(y,y′)−y′∂y′∂F=C(21)
将 F ( y , y ′ ) F(y,y') F(y,y′)代入上式
(22) 1 + y ′ 2 2 g y − y ′ y ′ 2 g y 1 + y ′ 2 = C 1 2 g y 1 + y ′ 2 = C y ( 1 + y ′ 2 ) = 1 2 g C 2 \sqrt{\frac{1+y'~^2}{2gy}}-y'\frac{y'}{\sqrt{2gy}\sqrt{1+y'~^2}}=C \\ \frac{1}{\sqrt{2gy}\sqrt{1+y'~^2}}=C \\ y(1+y'~^2)=\frac{1}{2gC^2} \tag{22} 2gy1+y′ 2−y′2gy1+y′ 2y′=C2gy1+y′ 21=Cy(1+y′ 2)=2gC21(22)
令 2 g C 2 = 2 r 2gC^2=2r 2gC2=2r,
(23) y ( 1 + y ′ 2 ) = 2 r y(1+y'~^2)=2r \tag{23} y(1+y′ 2)=2r(23)
为了解出 y = y ( x ) y=y(x) y=y(x),再引入参数代换。令
(24) y ′ = cot θ 2 y'=\cot\frac{\theta}{2} \tag{24} y′=cot2θ(24)
因为
(25) 1 1 + cot 2 θ = 1 1 + c o s 2 θ s i n 2 θ = s i n 2 θ s i n 2 θ + cos 2 θ = s i n 2 θ \frac{1}{1+\cot^2\theta}=\frac{1}{1+\frac{cos^2\theta}{sin^2\theta}}=\frac{sin^2\theta}{sin^2\theta+\cos^2\theta}=sin^2\theta \tag{25} 1+cot2θ1=1+sin2θcos2θ1=sin2θ+cos2θsin2θ=sin2θ(25)
所以
(26) y = 2 r s i n 2 θ 2 = r ( 1 − c o s θ ) y=2rsin^2\frac{\theta}{2}=r(1-cos\theta) \tag{26} y=2rsin22θ=r(1−cosθ)(26)
为了解出 x = x ( θ ) x=x(\theta) x=x(θ),将上式对 θ \theta θ求导数
(27) y ′ d x d θ = r sin θ y'\frac{\text dx}{\text d\theta}=r\sin\theta \tag{27} y′dθdx=rsinθ(27)
即
(28) c o t θ 2 d x d θ = r sin θ d x d θ = r sin θ c o t θ 2 = r sin θ s i n θ 2 c o s θ 2 = r 2 sin θ 2 cos θ 2 s i n θ 2 c o s θ 2 = 2 r sin 2 θ 2 = r ( 1 − c o s θ ) cot\frac{\theta}{2}\frac{\text dx}{\text d\theta}=r\sin\theta \\ \frac{\text dx}{\text d\theta} = r\frac{\sin\theta}{cot\frac{\theta}{2}}=r\frac{\sin\theta{sin\frac{\theta}{2}}}{cos\frac{\theta}{2}}=r\frac{2\sin\frac{\theta}{2}\cos\frac{\theta}{2}{sin\frac{\theta}{2}}}{cos\frac{\theta}{2}}\\ =2r\sin^2\frac{\theta}{2}=r(1-cos\theta) \tag{28} cot2θdθdx=rsinθdθdx=rcot2θsinθ=rcos2θsinθsin2θ=rcos2θ2sin2θcos2θsin2θ=2rsin22θ=r(1−cosθ)(28)
积分之有
(29) x = r ( θ − sin θ ) + C 0 x=r(\theta-\sin\theta)+C_0 \tag{29} x=r(θ−sinθ)+C0(29)
将边界条件代入式(29)中,可以确定出常数 C 0 = 0 , r C_{0}=0,~r C0=0, r,综上
(30) { x = r ( θ − sin θ ) y = r ( 1 − c o s θ ) \begin{cases} x = r(\theta-\sin\theta) \\ y = r(1-cos\theta) \end{cases} \tag{30} {x=r(θ−sinθ)y=r(1−cosθ)(30)
最速降线不是一段圆弧,而是一段圆周运动产生的摆线。据传牛顿用动力学的方法巧妙地得出了最速降线。