动态过程的另一类问题是所谓的动态优化问题,这类问题一般要归结为求最优控制函数使某个泛函达到极值。当控制函数可以事先确定为某种特殊的函数形式时,问题又简化为求普通函数的极值。求解泛函极值问题的方法主要有变分法和最优控制理论方法。
§1 变分法简介
变分法是研究泛函极值问题的一种经典数学方法,有着广泛的应用。下面先介绍变分法的基本概念和基本结果,然后介绍动态系统最优控制问题求解的必要条件和最大值原理。
1.1 变分法的基本概念1.1.1 泛函
设S为一函数集合,若对于每一个函数x(t)∈S有一个实数J与之对应,则称J是对应在S上的泛函,记作J(x(t))。S称为J的容许函数集。
通俗地说,泛函就是“函数的函数”。
例如对于xy平面上过定点A(x1,y1)和B(x2,y2)的每一条光滑曲线y(x),绕x轴旋转得一旋转体,旋转体的侧面积是曲线y(x)的泛函J(y(x))。由微积分知识不难写出
2 J(y(x))=∫2πy(x)1+y'(x) dx (1)
x1x2容许函数集可表示为
S={y(x)|y(x)∈C1[x1,x2],y(x1)=y1, y(x2)=y2} (2)
最简单的一类泛函表为
)dt (3)J(x(t))=∫F(t,x,xt1t2。(1)式是最简泛函。被积函数F包含自变量t,未知函数x及导数x1.1.2泛函的极值
泛函J(x(t))在x0(t)∈S取得极小值是指,对于任意一个与x0(t)接近的
x(t)∈S,都有J(x(t))≥J(x0(t))。所谓接近,可以用距离d(x(t),x0(t))<ε来度量,而距
离定义为
(t)−x0(t)|}d(x(t),x0(t))=max{|x(t)−x0(t)|,|xt1≤t≤t2泛函的极大值可以类似地定义。x0(t)称为泛函的极值函数或极值曲线。1.1.3泛函的变分
如同函数的微分是增量的线性主部一样,泛函的变分是泛函增量的线性主部。作为泛函的自变量,函数x(t)在x0(t)的增量记为
δx(t)=x(t)−x0(t)也称函数的变分。由它引起的泛函的增量记作 ∆J=J(x0(t)+δx(t))−J(x0(t))如果∆J可以表为
-208-
∆J=L(x0(t),δx(t))+r(x0(t),δx(t))其中L为δx的线性项,而r是δx的高阶项,则L称为泛函在x0(t)的变分,记作
δJ(x0(t))。用变动的x(t)代替x0(t),就有δJ(x(t))。泛函变分的一个重要形式是它可以表为对参数α的导数:∂δJ(x(t))=J(x(t)+αδx(t))α=0 (4) ∂α这是因为当变分存在时,增量 ∆J=J(x(t)+αδx)−J(x(t))=L(x(t),αδx)+r(x(t),αδx) 根据L和r的性质有 L(x(t),αδx)=αL(x(t),δx) lim所以 r(x(t),αδx)r(x(t),αδx)=limδx=0α→0α→0ααδx∂J(x+αδx)−J(x)J(x+αδx)α=0=limα→0∂ααL(x,αδx)+r(x,αδx)=L(x,δx)=δJ(x) =limα→0α1.1.4 极值与变分利用变分的表达式(4)可以得到泛函极值与变分的关系:若J(x(t))在x0(t)达到极值(极大或极小),则
δJ(x0(t))=0 (5)
这是因为对任意给定的δx,J(x0+αδx)是变量α的函数,该函数在α=0处达到极值。根据函数极值的必要条件知∂J(x0+αδx)α=0=0∂α于是由(4)式直接得到(5)式。
1.1.5. 变分法的基本引理
引理 ϕ(x)∈C[x1,x2],∀η(x)∈C[x1,x2],η(x1)=η(x2)=0,有
1∫x2x1ϕ(x)η(x)dx≡0,
则。
1.2 无约束条件的泛函极值求泛函
(t))dt (6) J=∫F(t,x(t),xt0tf的极值,一般是用泛函极值的必要条件去寻找一条曲线x(t),使给定的二阶连续可微函数F沿该曲线的积分达到极值。常称这条曲线为极值曲线(或轨线),记为x(t)。 1.2.1 端点固定的情况
-209-*设容许曲线x(t)满足边界条件
x(t0)=x0,x(tf)=xf (7)且二次可微。
首先计算(6)式的变分:∂J(x(t)+αδx(t))α=0∂αtf∂(t)+αδx(t))α=0dtF(t,x(t)+αδx(t),x =∫t0∂α δJ= =∫∫tft0)δx+Fx)δx]dt (8)[Fx(t,x,x(t,x,xtft0对上式右端第二项做分布积分,并利用δx(t0)=δx(tf)=0,有tft0)δxdt=−∫Fx(t,x,xtfd)δxdt,Fx(t,x,xdt再代回到(8)式,并利用泛函取极值的必要条件,有dFx]δxdt=0∫t0dt因为δx的任意性,及δx(t0)=δx(tf)=0,所以由基本引理得到著名的欧拉方程 δJ=[Fx− Fx−dFx=0 (9)dt它是这类最简泛函取极值的必要条件。
(9)式又可记作
−Fxx=0 (10)x Fx−Ftx−Fxxx通常这是x(t)的二阶微分方程,其通解的两个任意常数由(7)式中的两个端点条件
确定。
1.2.2 最简泛函的几种特殊情形
,即F=F(t,x)(i) F不依赖于x 这时Fx≡0,欧拉方程为Fx(t,x)=0,这个方程以隐函数形式给出x(t),但它一般不满足边界条件,因此,变分问题无解。
)(ii) F不依赖x,即F=F(t,x欧拉方程为
d)=0 Fx(t,xdt)=c1,由此可求出x=ϕ(t,c1),积分后得到将上式积分一次,便得首次积分Fx(t,x可能的极值曲线族
x=这时Fx),即F=F(x(iii) F只依赖于xtxxx∫ϕ(t,c)dt1=0,F=0,F=0,欧拉方程为
Fxxx=0-210-
=0或Fx=0,则得到含有两个参数的直线族x=c1t+c2。xx由此可设x=0,如果另外若Fxx=0有一个或几个实根时,则除了上面的直线族外,又得到含有一个参数c的直线族x=kt+c,它包含于上面含有两个参数的直线族 x=c1t+c2 中,于是,
)情况下,极值曲线必然是直线族。在F=F(x),即F=F(x,x(iv)F只依赖于x和x这时有Ftx=0,故欧拉方程为
Fxx−Fxx=0Fx−xx此方程具有首次积分为FxF−x=c1事实上,注意到F不依赖于t,于是有dddFx(F−x)=Fx+Fx−xF−xF=x(F−Fx)=0。xxxxxdtdtdt例1 (最速降线问题)最速降线问题是历史上变分法开始发展的第一个问题。它是约
翰·贝努里(J. Bernoulli)于1696年提出的。问题的提法是这样的:设A和B是铅直平面上不在同一铅直线上的两点,在所有连结A和B的平面曲线中,求一曲线,当质点仅受重力作用,且初速为零,沿此曲线从A滑行至B时,使所需时间最短。
解 将A点取为坐标原点,x轴水平向右,y轴垂直向下,B点为B(x2,y2)。根据能量守恒定律,质点在曲线y(x)上任一点处的速度ds满足(s为弧长)dt1ds m=mgy2dt将ds=1+y'2(x)dx代入上式得21+y'2dx dt=2gy于是质点滑行时间应表为y(x)的泛函J(y(x))=∫x201+y'2dx2gy端点条件为 y(0)=0,y(x2)=y2最速降线满足欧拉方程,因为 F(y,y')=1+y'2y不含自变量x,所以方程(10)可写作
Fy−Fyy'y'−Fy'y'y''=0等价于
d(F−y'Fy')=0dx-211-
作一次积分得 y(1+y')=c1令 y'=ctg2θ,则方程化为2c1c12θy==csin=(1−cosθ)121+y'22又因
θθc1sincosdθcdy22dx===1(1−cosθ)dθθy'2ctg2积分之,得c(θ−sinθ)+c22由边界条件y(0)=0,可知c2=0,故得
x=x=y=c1(θ−sinθ)2c1(1−cosθ).2=y2来确定。这是摆线(圆滚线)的参数方程,其中常数c1可利用另一边界条件y(x2)例2 最小旋转面问题J(y(x))=∫2πy(x)1+y'2(x) dxx1x2S={y|y∈C1[x1,x2],y(x1)=y1, y(x2)=y2}解 因F=y1+y\" 不包含x,故有首次积分F−y'Fy'=y1+y'2−y'y化简得 y=c11+y'2令y'=sht,代入上式, y=c11+sh2t=c1chty'1+y'2=c1dyc1shtdt==c1dty'sht积分之,得 x=c1t+c2x−c2y=ccht消去,就得到 。1c1由于 dx=这是悬链线方程。1.2.3 最简泛函的推广
最简泛函取极值的必要条件可以推广到其它情况。
-212-
(ⅰ)含多个函数的泛函使泛函
J(y(x),z(x))=∫F(x,y,y',z,z')dxx1x2取极值且满足固定边界条件y(x1)=y1,y(x2)=y2,z(x1)=z1,z(x2)=z2.的极值曲线必满足欧拉方程组dF−F=0ydxy'Fz−dFz'=0dx(ii)含高阶导数的泛函
使泛函
J(y(x))=∫F(x,y,y',y\")dxx1x2取极值且满足固定边界条件=y2,y'(x1)=y'1,y'(x2)=y'2 y(x1)=y1,y(x2)的极值曲线y=y(x)必满足微分方程dd2Fy'+Fy\"=0 Fy−2dxdx(iii) 含多元函数的泛函设z(x,y)∈c,(x,y)∈D,使泛函 J(z(x,y))=2∫∫F(x,y,z,zDx,zy)dxdy取极值且在区域D的边界线l上取已知值的极值函数z=z(x,y)必满足方程 Fz−∂∂Fzx−Fzy=0∂x∂y上式称为奥式方程。
1.2.4 端点变动的情况(横截条件)
设容许曲线x(t)在t0固定,在另一端点t=tf时不固定,是沿着给定的曲线
x=ψ(t)上变动。于是端点条件表示为
x(t0)=x0 x(t)=ψ(t)这里t是变动的,不妨用参数形式表示为 t=tf+αdtf寻找端点变动情况的必要条件,可仿照前面端点固定情况进行推导,即有 0=δJ=∂∂α∫tf+αdtft0+αδx)dtF(t,x+αδx,xα=0-213-
=∫tft0(Fx−dFxδxdt+Fxδxt=t+Ft=tdtf (11))ffdt再对(11)式做如下分析:
(i)对每一个固定的tf,x(t)都满足欧拉方程,即(11)式右端的第一项积分为零;
(ii)为考察(11)式的第二、第三项,建立dtf与δxt=tf之间的关系,因为 x(tf+αdtf)+αδx(tf+αdtf)=ψ(tf+αdtf)对α求导并令α=0得(tf)dtf(tf)dtf+δxt=t=ψ xf即
(tf)−x(tf)]dtf (12) δxt=tf=[ψ把(12)代入(11)并利用dtf的任意性,得−x)Fx [F+(ψ]t=tf=0 (13)
(13)式就是确定欧拉方程通解中另一常数的定解条件,称为横截条件。
横截条件有两种常见的特殊情况:(i)当x=ψ(t)是垂直横轴的直线时,tf固定,x(tf)自由,并称x(tf)为自由端点。此时(11)式中dtf=0及δxt=tf的任意性,便得自由端点的横截条件
Fxt=tf=0 (14)
(ii)当x=ψ(t)是平行横轴的直线时,tf自由,x(tf)固定,并称x(tf)为平动
=0,(13)式的横截条件变为端点。此时ψFx F−xt=tf=0 (15)
注意,横截条件与欧拉方程联立才能构成泛函极值的必要条件。
1.3 有约束条件的泛函极值
在最优控制系统中,常常要涉及到有约束条件泛函的极值问题,其典型形式是对动态系统
(t)=f(t,x(t),u(t)) (16) x寻求最优性能指标(目标函数)
J(u(t))=ϕ(tf,x(tf))+∫F(t,x(t),u(t))dt (17)
t0n其中u(t)是控制策略,x(t)是轨线,t0固定,tf及x(tf)自由,x(t)∈R,
tfu(t)∈Rm(不受限,充满Rm空间),f,ϕ,F连续可微。
下面推导取得目标函数极值的最优控制策略u(t)和最优轨线x(t)的必要条件。采用拉格朗日乘子法,化条件极值为无条件极值,即考虑
**)]dt (18)J1(x,u,λ)=ϕ(tf,x(tf))+∫[F(t,x,u)+λT(t)(f(t,x,u)−xt0tf-214-
的无条件极值,首先定义(16)式和(17)式的哈密顿(Hamilton)函数为 H(t,x,u,λ)=F(t,x,u)+λ(t)f(t,x,u) (19)将其代入(18)式,得到泛函
T]dt (20)J1(x,u,λ)=ϕ(tf,x(tf))+∫[H(t,x,u,λ)−λTxt0tf下面先对其求变分δJ1=∂{ϕ(tf+αdtf,x(tf)+αδx(tf)) ∂αtf+αdtft0)t=tf =[δx(tf)]ϕx(tf)+(dtf)Tϕtf+(dtf)TH(t,x,u,λ)t=tf−(dtf)T(λTxT+∫+αδx)]dt}α=0[H(t,x+αδx,u+αδu,λ+αδλ)−(λ+αδλ)T(x−λTδx]dt+∫[(δx)THx+(δu)THu+(δλ)THλ−(δλ)Txt0tf=(dtf)T[ϕtf+F(t,x,u,t)t=tf]+[δx(tf)]Tϕx(tf)tftfdt ]dt−λT(tf)δxt=tf+∫(δx)Tλ+∫[(δx)THx+(δu)THu+(δλ)THλ−(δλ)Txt0t0注意到δxt=tf(tf)dtf,因而≠δx(tf),δxt=tf=δx(tf)−xδJ1=(dtf)T[ϕtf+H(t,x,u,λ)t=tf]+[δx(tf)]T(ϕx−λ)t=tftfTT)+(δu)THu]dt+ ∫[(δx)(Hx+λ)+(δλ)(Hλ−xt0再令δJ1=0,由的任意性,便得(i)x,λ必满足正则方程:**=Hλ=f(t,x,u)① 状态方程 x=−H。② 协态方程 λx(ii)哈密顿函数H(t,x,u,λ)作为u的函数,也必满足** Hu=0并由此方程求得u*。(iii)求x,λ,u时,必利用边界条件① x(t0)=x0, (用于确定x*)② λ(tf)=ϕx(tf), (用于确定λ*)③ ϕtf=−H(t,x,u,λ)1.4 最大(小)值原理如果受控系统
t=tf***, (确定tf)=f(t,x,u),x(t0)=x0 x其控制策略u(t)的全体构成有界集U,求u(t)∈U,使性能指标
-215-
J(u(t))=ϕ(tf,x(tf))+∫F(t,x,u)dtt0tf达到最大(小)值。最大(小)值原理:如果f(t,x,u),ϕ(tf,x(tf))和F(t,x,u)都是连续可微的,那么最优控制策略u(t)和相应的最优轨线x(t)由下列的必要条件决定:
(i)最优轨线x(t),协态向量λ(t)由下列的必要条件决定:
****dx=f(t,x,u),u(t)∈U, dtdλ∂H=− .dt∂x(ii)哈密顿函数
H(t,x,u,λ)=F(t,x,u)+λ(t)f(t,x,u)作为u(t)的函数,最优策略u(t)必须使
*****T*H(t,x,u,λ) H(t,x,u,λ)=maxu∈U或使
*****H(t,x,u,λ)(最小值原理) H(t,x,u,λ)=minu∈U(iii)满足相应的边界条件
① 若两端点固定,则正则方程的边界条件为 x(0)=x0,x(tf)=xf。
② 若始端固定,终端tf也固定,而x(tf)自由,则正则方程的边界条件为 x(0)=x0,λ(tf)=ϕx(tf)(tf,x(tf))。
③ 若始端固定,终端tf,x(tf)都自由,则正则方程的边界条件为 x(0)=x0,λ(tf)=ϕx(tf)(tf,x(tf)),
H(tf,x(tf),u(tf),λ(tf))+ϕtf(tf,x(tf))=0。
§2 生产设备的最大经济效益
某工厂购买了一台新设备投入到生产中。一方面该设备随着运行时间的推移其磨损程度愈来愈大,因此其转卖价将随着使用设备的时间增加而减小;另一方面生产设备总是要进行日常保养,花费一定的保养费,保养可以减缓设备的磨损程度,提高设备的转卖价。那么,怎样确定最优保养费和设备转卖时间,才能使这台设备的经济效益最大。
2.1 问题分析与假设
(i)设备的转卖价是时间t的函数,记为x(t)。x(t)的大小与设备的磨损程度和保养费的多少密切相关。记初始转卖价x(0)=x0。
(ii)设备随其运行时间的推移,磨损程度越来越大。t时刻设备的磨损程度可以用t时刻转卖价的损失值来刻划,常称其为磨损函数或废弃函数,记为m(t)。
(iii)保养设备可以减缓设备的磨损速度,提高转卖价。如果u(t)是单位时间的保
-216-
*****养费,g(t)是t时刻的保养效益系数(每用一元保养费所增加的转卖价),那么单位时间的保养效益为g(t)u(t)。另外,保养费不能过大(如单位时间保养费超过单位时间产值时,保养失去了意义),只能在有界函数集中选取,记有界函数集为W,则u(t)∈W。
(iv)设单位时间的产值与转卖价的比值记为p,则px(t)表示在t时刻单位时间的产值,即t时刻的生产率。
(v)转卖价x(t)及单位时间的保养费u(t)都是时间t的连续可微函数。为了统一标准,采用它们的贴现值。对于贴现值的计算,例如转卖价x(t)的贴现值计算,如果它的贴现因子为δ(经过单位时间的单位费用贴现),那么由
dx(t1)=δx(t1) dt1x(t)=1解得
x(t1)=e价x(t)的贴现为x(t)e−δt−δ(t−t1)令t1=0,便得t时刻单位费用的贴现(称贴现系数)为e−δt,所以设备在t时刻转卖
。仿此计算,u(t)的贴现为u(t)e−δt,单位时间产值的贴现为
px(t)e−δt。
(vi)欲确定的转卖时间tf和转卖价x(tf)都是自由的。
2.2 模型构造
根据以上的分析与假设可知:考察的对象是设备在生产中的磨损—保养系统;转卖价体现了磨损和保养的综合指标,可以选作系统的状态变量;在生产中设备磨损的不可控性强,其微弱的可控性也是通过保养体现,加之保养本身具有较强的可控性,所以选单位时间的保养费u(t)作为控制策略。这样,生产设备的最大经济效益模型可以构成为在设备磨损—保养系统的(转卖价)状态方程
dx(t)=−m(t)+g(t)u(t) dt (21)
x(0)=x0*之下,在满足0≤u(t)≤U的函数集W中寻求最优控制策略u(t),使系统的经济效
益这一性能指标
J(u(t))=x(tf)e−δtf+∫[px(t)−u(t)]e−δtdt (22)
0tf为最大,其中tf,x(tf)都是自由的。
2.3 模型求解
首先写出问题的哈密顿函数 H=[px(t)−u(t)]e−δt+λ[−m(t)+g(t)m(t)] (23)
再由协态方程及边界条件求出λ(t),即由
-217-
dλ(t)−δt=−H=−pex dtλ(tf)=ϕx(t)=e−δtff解得
p−δtfp−δt)e+eδδ*下面利用最大值原理求u(t)。先将(23)式改变为 λ(t)=(1−H=px(t)e−δt−λm(t)+[λg(t)−e−δt]u(t)显然,H是对u的线性函数,因此得到U,λg(t)−e−δt>0* u(t)= (24)−δtλg(t)−e<00,或
p−δtfp−δt)e+e]g(t)−e−δt>0δδ (25)
p−δtfp−δt[(1−)e+e]g(t)−e−δt<0δδ**在上式中,还需解决两个问题:一是u(t)=U与u(t)=0的转换点ts在什么位
*置,即ts等于多少?二是u(t)是由U到0,还是由0到U。转换点ts应满足p−δtp[(1−)ef+e−δt]g(t)−e−δt=0δδU,* u(t)=0,[(1−即
[从而可解出ts。
ppδ(t−tf)−(−1)e]g(t)−1=0 (26)δδ因为g(t)是时间t的减函数,所以(26)式的左端也是时间t的减函数,也就是说
u*(t)随时间应由U到0。于是最优控制策略的具体表达式为
0≤t p=0.1,δ=0.05,g(t)=2(1+t)12*,试求tf,x(tf)和u(t)。 解 由(26)式可得求ts的公式 (1+t)=4−2e0.05(ts−tf) (27) s-218-12*当t ∫tdxts20dtdt=∫0[−2+1]dt+−2)dt(1+t)2∫tt(s解得 1x(t)=4(1+ts)2+96−2t (由自由边界条件Ht=tf=−ϕtf及λ(t−δtff)=e,得 −px(t−δtfδtf=−δe−δtff)e+2e−x(tf)于是 x(tf)=2p−δ=40当t=tf时,由(28)式有 140=4(1+ts)2+96−2tf即 1tf=2(1+ts)2+28 (将(27)和(29)联立求解,编写如下Matlab程序 [x,y]=solve('(1+ts)^(1/2)=4-2*exp(0.05*(ts-tf))','tf=2*(1+ts)^(1/2)+28')求得 ts=10.6,tf=34.8于是,最优控制策略(保养费)为 u*(t)=1,0≤t<10.60,10.6 29) 习 题 六 1.求自原点(0,0)到直线x+y−1=0的最速降线。2.求概率密度函数ϕ(x),使得信息量 J=−∫+∞−∞ϕ(x)ln[νϕ(x)]dx+∞取最大值,且满足等周条件 ∫+∞−∞ϕ(x)dx=1 ,∫x2ϕ(x)dx=σ2(常数)。 −∞3. 在生产设备或科学仪器中长期运行的零部件,如滚珠、轴承、电器元件等会突然发生故障或损坏,即使是及时更换也已经造成了一定的经济损失。如果在零部件运行一定时期后,就对尚属正常的零件做预防性更换,以避免一旦发生故障带来的损失,从经济上看是否更为合算?如果合算,做这种预防性更换的时间如何确定呢? -220- 因篇幅问题不能全部显示,请点此查看更多更全内容