5.5 动态优化

5.5.1 Euler-Lagrange方程

在静态优化问题中,我们研究的是目标函数在可行域中的最值问题,其中自变量是可行域中的点。在动态优化问题中,我们研究的仍然是最值问题,但是自变量不再是点、而是函数,亦即在某个函数空间中找到使得目标“函数”取最大值的函数。这种将函数映射为实数的映射称为泛函,动态优化问题也称为泛函优化问题。

定义 5.5.1 (泛函) 设Ω⊆Rn,F={f:Ω→R}为某个函数空间,称映射J:F→R为泛函。

为了将函数映射为实数,泛函通常以积分的形式呈现。我们首先给出最常见的动态优化问题的定义:

定义 5.5.2 (动态优化) 动态优化问题是指求解(1)maxx∈FJ[x]s.t.x(a)=xa, x(b)=xb 其中(2)J[x]:=∫abL(t,x(t),x˙(t))dt 为目标泛函,x(a),x(b)为边界条件。

解决该类问题的基本方法是变分法,其核心思想是:假设x∗为最优解,考虑在x∗附近的函数x=x∗+εh,其中ε为足够小的正数,h为任意满足边界条件的扰动函数,即(3)h∈H:={h=x~−x∣x,x~∈F} 对于本例而言,实际上有H:={h∈F∣h(a)=h(b)=0}。考虑扰动后的目标泛函(4)F(ε):=J[x∗+εh]=∫abL(t,x∗(t)+εh(t),x˙∗(t)+εh˙(t))dt 对ε求导可得(5)dFdε=∫ab[∂L∂xh(t)+∂L∂x˙h˙(t)]dt

为了消除h˙,我们对上式中的第二项进行分部积分,结合边界条件h(a)=h(b)=0可得(6)∫ab∂L∂x˙h˙(t)dt=∂L∂x˙h(t)|ab−∫abddt(∂L∂x˙)h(t)dt=−∫abddt(∂L∂x˙)h(t)dt 代入原式可得(7)dFdε=∫ab[∂L∂x−ddt(∂L∂x˙)]x=x∗+εhh(t)dt

令ε=0可得(8)dFdε|ε=0=∫ab[∂L∂x−ddt(∂L∂x˙)]x=x∗h(t)dt 由于x∗为最优解,故J[x+εh]在ε=0处取得极大值,亦即F在ε=0处取得极大值,由此可得(9)∫ab[∂L∂x−ddt(∂L∂x˙)]x=x∗h(t)dt=0,∀h∈H 结合h的任意性,可得著名的Euler-Lagrange方程,即动态优化问题的一阶必要条件:

定理 5.5.3 (Euler-Lagrange方程) 设x∗为动态优化问题的最优解,则x∗满足Euler-Lagrange方程 (10)[∂L∂x−ddt(∂L∂x˙)]x=x∗=0

5.5.2 变分法

为了更好地解决动态优化问题,我们引入变分的概念,即满足边界条件的函数值的微小变化(扰动函数),定义为

定义 5.5.4 (变分) 设函数x,x~∈F均满足某边界条件,称δx(t):=x~(t)−x(t)∈H为x(t)的变分。

在上例中,δx(t)=h(t)即为x(t)的变分,满足δx(a)=δx(b)=0。类似微分(11)dJ(x,dx)=J′(x)dx=limΔx→0J(x+Δx)−J(x)Δxdx=Δx=εdxlimε→0J(x+εdx)−J(x)ε 泛函J[x]的变分定义为

定义 5.5.5 设J:F→R为泛函,x∈F的变分为δx∈H,称 (12)δJ[x,δx]:=limε→0J[x+εδx]−J[x]ε=ddεJ[x+εδx]|ε=0=∂J∂x[x]δx 为J[x]的变分。在不引起歧义的情况下,通常可以省略[x,δx]。

对于多元泛函而言,容易证明(13)δJ[x1,⋯,xn,δx1,⋯,δxn]=∑i=1n∂J∂xi[x1,⋯,xn]δxi 需要特别注意的是,δx和δx˙通常视作两个独立的变分。

类似方向导数形式的多元一阶Taylor展开式:(14)J(x+Δx)=J(x)+∂J∂Δx(x)⏟=dJ(x)(Δx)=∇J(x)⋅Δx+o(Δx) 泛函J[x]的变分也可以表示为(15)J[x+δx]=J[x]+δJ[x,δx]+o(δx) 因此,函数x的变分δx的几何意义类似于方向Δx,表示“沿着δx方向移动的函数自变量”;而泛函J[x]的变分δJ[x,δx]的几何意义类似于方向导数∂J∂Δx(x)的值,表示“沿着δx方向移动的泛函值变化率”。

可以证明,变分具有以下性质:

定理 5.5.6 (变分的性质)

(1)

δc=0,其中c为常数。

(2)

∀α,β∈R,δ(αJ1+βJ2)=αδJ1+βδJ2。

(3)

δ(J1J2)=J1δJ2+J2δJ1。

(4)

δ(J1J2)=J2δJ1−J1δJ2J22,其中J2≠0。

(5)

变分与微分可交换,即δ(dJ)=d(δJ),由此可得(16)δ(dxdt)=d(δx)dt 上式常用于变分法的分部积分中。

(6)

变分与(定限)积分可交换,即(17)δ(∫abJ[x(t)]dt)=∫abδJ[x(t)]dt

对于上例中的动态优化问题,我们可以用变分重新推导Euler-Lagrange方程:(18)δJ[x,δx]=δ∫abL(t,x(t),x˙(t))dt=∫abδL(t,x(t),x˙(t))dt=∫ab[∂L∂xδx(t)+∂L∂x˙δx˙(t)]dt=∫ab[∂L∂xδx(t)+∂L∂x˙d(δx(t))dt]dt=∫ab∂L∂xδx(t)dt+∂L∂x˙δx(t)|ab−∫abddt(∂L∂x˙)δx(t)dt=∫ab[∂L∂x−ddt(∂L∂x˙)]δx(t)dt 当x∗为J的极大(小)值时,在x∗的邻域内应成立δJ[x∗,δx]≤0 (≥0),其中δx为满足边界条件的任意变分。不妨设x∗为J的极大值点(否则考虑−J),设ε>0,取特殊的δx可得(19)δx=ε[∂L∂x−ddt(∂L∂x˙)]x=x∗⟹δJ[x∗,δx]=ε∫ab‖∂L∂x−ddt(∂L∂x˙)‖x=x∗2dt≤0 因此(20)[∂L∂x−ddt(∂L∂x˙)]x=x∗=0

5.5.3 变分法的应用

我们介绍两个经典的例子。

例 5.5.7 (两点之间线段最短) 设平面上两点A(xa,ya), B(xb,yb),求连接A,B的线段中长度最短的C1曲线。

解 设曲线方程为y=y(x),则曲线长度为(21)S[y]=∫xaxb1+(dydx)2dx=:∫xaxbL(y,y′)dx 由Euler-Lagrange方程可得(22)∂L∂y−ddx(∂L∂y′)=0⟹−ddx(y′1+y′2)=0 故y′1+y′2=C,其中C为常数。解得y′=k,其中k为常数,故最短曲线为直线段。 ◻

例 5.5.8 (最速降线) 设平面上两点A(l,h), B(0,0),求连接A,B的曲线,使得质点在重力作用下沿该曲线从A到B所需时间最短。

解 设曲线方程为y=y(x),则质点在曲线上的速度为(23)v=2gy=dsdt=1+y′2dtdx⟹dtdx=1+y′22gy 故质点从A到B所需时间为(24)T[y]=∫0l1+y′22gydx=:∫0lL(y,y′)dx 由于L不显含x,由Euler-Lagrange方程可得(25)∂L∂y−ddx(∂L∂y′)=∂L∂y−dydx∂∂y(∂L∂y′)=∂∂y(L−y′∂L∂y′)=0 故有(26)L−y′∂L∂y′=1+y′22gy−y′⋅y′2gy(1+y′2)=12gy(1+y′2)=C 其中C为常数,解得(27)y(1+y′2)=k,k=12gC2⟹dydx=±ky−1⟹x=±∫yk−ydy 作变量代换y=ksin2⁡θ2,则有(28)x=±k∫sin2⁡θ2dθ=±k(θ2−sin⁡θ2)+C1y=ksin2⁡θ2=k2(1−cos⁡θ) 其中C1为常数。取正号并结合边界条件可得(29){x=k2(θ−sin⁡θ)y=k2(1−cos⁡θ)θ∈[0,θa],{l=k2(θa−sin⁡θa)h=k2(1−cos⁡θa) 上式即为最速降线的参数方程,其为摆线的一部分。 ◻