最优控制理论
选用教材,王朝珠、秦化淑 编著 最优控制理论 科学出版社
教学参考书:符曦编著 系统最优化及控制 机械工业出版社
解学书 最优控制 — 理论与应用 清华大学出版社
第一章 绪 论
第二章 数 学 准 备
第三章 用变分法求解最优控制问题
第四章 极小值原理及其应用
第五章 线性二次型问题的最优控制
第六章 动态规划法
第一章 绪 论
1-1最优控制发展简史
最优控制是系统设计的一种方法。它 所研究的中心问题是如何选择控制信号才
能保证控制系统的性能在某种意义下最优。
一:最优控制的发展
第二次世界大战以后发展起来的自动调节原理,对设计与分析单输入单输出的线
性定常系统是有效的;然而近代航空及空间技术的发展对控制精度提出了很高的
耍求,并且被控制的对象是多输入多输出的,参数是时变的。面临这些新的情
况.建立在传递函数基础上的自动调节原理就日益显出它的局限性来。这种局限
性首先表现在对于时变系统,传递函数根本无法定义,对多输入多输出系统从传
递函数概念得出的工程结论往往难于应用。由于工程技术的需要,以状态空间概
念为基础的最优控制理论渐渐发展起来。 最优控制理论是现代控制理论的 核心,
20世纪 50年代发展起来的,已形成系统的理论。
最优控制理论所要解决的问题是:按照控制对象的动态特性,选择一个容许控制,
使得被控对象按照技术要求运转,同时使性能指标达到最优值。
二:研究最优控制的方法
从数学方面看,最优控制问题就是求解一类带有约束条件的泛函极值问题,因此
这是一个变分学的问题:然而变分理论只是解决容许控制属于开集的一类最优控
制问题,而在工程实践中还常遇到容许控制属于闭集的一类最优控制问题,这就
要求人们研究新方法。
在研究最优控制的方法中,有两种方法最富成效:一种是苏联学者庞特里雅金提
出的,极大值原理,;另一种是美国学者贝尔曼提出的,动态规划,。
极大值原理是庞特里雅金等人在 1956至
1958年间逐步创立的,先是推测出极大
值原理的结论,随后又提供了一种证明
方法。
动态规划是贝尔曼在 1953年至 1958
年间逐步创立的,他依据最优性原
理发展了变分学中的哈密顿 -雅可比
理论,构成了动态规划。
由于电子计算机技术的发展,使得设计计算和实时控制有了实际可用的计算工具,
为实际应用 — 些更完善的数学方法提供了工程实现的物质条件,高速度、大容量
计算机的应用,一方面使控制理论的工程实现有了可能,另一方面又提出了许多
需要解决的理论课题,因此这门学科目前是正在发展的,极其活跃的科学领域之
一。
最优控制理论在一些大型的或复杂的控制系统设计中,已经取得了富有成效的
实际应用。目前很多大学在自动控制理论课程中已经开始适当增加这方面的内容,
而对于自动控制方面的研究生则普遍作为必修课程。
求解最优控制问题,可以采用解析法或数值计算法
1-2 最优控制问题的实例
例 1,1月球上的软着陆问题
飞船靠其发动机产生一与月球重力方向相反的推力
u(t),以使飞船在月球表面实现软着陆,要寻求发动
机推力的最优控制规律,以便使燃料的消耗为最少。
设飞船质量为 m(t),高度为 h(t),垂直速度为 v(t),发
动机推力为 u(t),月球表面的重力加速度为常数 g。设
不带燃料的飞船质量为 M,初始燃料的总质量为
F.初始高度为 h0,初始的垂直速度为 v0,那么飞船的
运动方程式 可以表示为:
?
?
?
???
?
??
???
?
)()(
)(
)()(
)()(
tkutm
tm
tugtv
tvth
?
?
?
初始条件
??
??
?
??
?
?
FMm
vv
hh
)0(
)0(
)0(
0
0
终端条件
0)(
0)(
?
?
f
ftv th
性能指标 是使燃料消耗为最小,即
约束条件 ??? )(0 tu
)( ftmJ ? 达到最大值
我们的任务是寻求发动机推力的最优控制规律 u(t),它应满足约束条件,使飞船由
初始状态转移到终端状态,并且使性能指标为极值 (极大值 )。
例 1— 2拦截问题
在某一惯性坐标系内,设拦截器质心的位置矢量和速度矢量为,Lx Lx?
目标质心的位置矢量和速度矢量为:
F(t)为拦截器的推力
Mx Mx?
MLML xxvxxx ?? ????
则拦截器与目标的相对 运动方程 为:
c
tF
m
tm
tF
tav
vx
)(
)(
)(
)(
??
??
?
?
?
?
其中 a(t)是除控制加速度外的固有相对加速度,是已知的。
初始条件 为,000000 )()()( mtmvtvxtx ???
终端条件 为,任意)(0)( ff tvtx ? ef mtm ?)(
从工程实际考虑,约束条件 为 )(m a x)(0 tFtF ??
如果我们既要求拦截过程的时间尽量短,又要求燃料消耗尽量少,则可取 性能指标,
? ?? ftt dttFcJ 0 )]([ 1
为最小
综上所述,所谓最优防天拦截问题,即选择满足约束条件的控制 F(t),驱使系统从初始
状态出发的解,在某个时刻满足终端条件,且使性能指标为极值(极小值)。
1-3最优控制问题的提法
在叙述最优控制问题的提法之前,先讨论一些基本概念。
1:受控系统的数学模型
一个集中参数的受控系统总可以用一组一阶微分方程来描述,即状态方程,其一
般形式为:
)),(),(()( ttutXftX ??
TnxxxX ],,,[ 21 ?? 是 n维状态向量 Tpuuuu ],,,[ 21 ?? 为 p维控制向量
)),(),(( ttutXf 为 n维函数向量
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
)),()(),(),()(),((
)),()(),(),()(),((
)),()(),(),()(),((
)),(),((
)),(),((
)),(),((
)),(),(()(
2121
21212
21211
2
1
ttutututxtxtxf
ttutututxtxtxf
ttutututxtxtxf
ttutXf
ttutXf
ttutXf
ttutXftX
pnn
pn
pn
n ??
?
??
??
?
?
2:目标集
如果把状态视为 n维欧氏空间中的一个点,在最优控制问题中,起始状态(初
态)通常是已知的,即
)0()( 0 XtX ?
而所达到的状态(末态)可以是状态空间中的一个点,或事先规定的范围内,
对末态的要求可以用末态约束条件来表示:
??
?
?
?
0)),((
0)),((
1
1
ff
ff
ttxg
ttxg
满足末态约束的状态集合称为目标集,记为 M,即:
}0)),((,0)),((,)();({ 21 ???? ffffnff ttxgttxgRtxtxM
至于末态时刻,可以事先规定,也可以是未知的。
有时初态也没有完全给定,这时,初态集合可以类似地用初态约束来表示。
3:容许控制
在实际控制问题中,大多数控制量受客观条件的限制,只能在一定范围内取
值,这种限制通常可以用如下不等式约束来表示:
piuutu i ?2,1)(0 m a x ???? ?或
上述由控制约束所规定的点集称为控制域 U,凡在 t0-tf上有定义,且在控制域 U
内取值的每一个控制函数 u(t)均称为 容许控制 。
4:性能指标
通常情况下,最优控制问题的性能指标形如:
??? fttff dtttutxFttxJ 0 )),(),(),( ()(?
其中第一项是接近目标集程度,即末态控制精度的度量,称为 末值型性能指标 。
第二项称为 积分型性能指标,它能反映控制过程偏差在某种意义下的平均或控制
过程的快速性,同时能反映燃料或能量的消耗。
5:最优控制的提法
已知受控系统的 状态方程及给定的初态
)),(),(()( ttutXftX ?? )0()( 0 XtX ?
规定的目标集为 M,求一 容许控制 u(t)∈ U,t∈ [t0,tf],使系统从给定的初态出发,
在 tf >t0时刻转移到目标集 M,并使 性能指标
??? fttff dtttutxFttxJ 0 )),(),(),( ()(?
为最小 。
这就是最优控制问题。
如果问题有解,记为 u*(t),t∈ [t0,tf],则 u*(t)叫做 最优控制(极值控制),相应的轨
线 X*(t)称为 最优轨线(极值轨线),而性能指标 J*=J( u*(·))则称为 最优性能指标 。
1-4最优控制的应用类型
设计最优控制系统时,很重要的一个问题是选择性能指标,性能指标按其数学形
式可分为如下三类:
1)积分型性能指标 ??
ft
t dtttutXFJ 0 ]),(),([
这样的最优控制问题为 拉格朗日问题 。
2)终值型性能指标 ]),([ ff ttXJ ??
这种性能指标只是对于系统在动态过程结束时的终端状态提出了要求,而对于整
个动态过程中系统的状态和控制的演变未作要求。这样的最优控制问题为 迈耶尔
问题 。
3)复合型性能指标 ??? ft
tff dtttutXFttXJ 0 ]),(),([]),([?
这样的最优控制问题为 波尔扎问题 。
通过适当变换,拉格朗日问题和迈耶尔问题可以相互转换。
按控制系统的用途不同,所选择的性能指标不同,常见的有:
1:最小时间控制 ? ???? ft
tf dtttJ 0 10
2:最小燃料消耗控制
粗略地说,控制量 u(t)与燃料消耗量成正比,最小燃料消耗问题的性能指标为:
?? ftt dttuJ 0 |)(|
3:最小能量控制
设标量控制函数 u2(t)与所消耗的功率成正比,则最小能量控制问题的性能指标为:
?? ftt dttuJ 0 )(2
4:线性调节器
给定一个线性系统,其平衡状态 X(0)=0,设计的目的是保持系统处于平衡状态,即
这个系统应能从任何初始状态返回平衡状态。这种系统称为 线性调节器 。
线性调节器的性能指标为,? ?
?
? ftt n
i i
dttxJ
0 1
2 )(
加权后的性能指标为,? ?
?
? ftt n
i ii
dttxqJ
0 1
2 )(
对 u(t)有约束的性能指标为:
? ?? ftt TT dttRututQXtXJ 0 )]()()()([21
式中 Q和 R都是正定加权矩阵。
一般形式,有限时间线性调节器性能指标,
? ??? ftt TTffT dttRututQXtXtPXtXJ 0 )]()()()([21)()(21
无限时间线性调节器性能指标:
? ? ?? 0 )]()()()([21t TT dttRututQXtXJ
P≥0,Q≥0,R>0,均为对称加权矩阵。
5:线性跟踪器
若要求状态 X(t)跟踪或尽可能接近目标轨迹 Xd(t),则这种系统称为 状态跟踪器,其相
应的性能指标为:
? ???? ftt TdTd dttRututXtXQtXtXJ 0 )]()()]()([)]()([21
Q≥0,R>0,均为对称加权矩阵。
若要求系统输出 y(t)跟踪或尽可能接近目标轨迹 yd(t),则这种系统称为 输出跟踪器,
其相应的性能指标为:
? ???? ftt TdTd dttRututytyQtytyJ 0 )]()()]()([)]()([21
Q≥0,R>0,均为对称加权矩阵。
除了上述几种应用类型外,根据具体工程实际的需要,还可以选取其他不同形
式的性能指标,在选取性能指标时需注意:
1)应能反映对系统的主要技术条件要求
2)便于对最优控制进行求解
3)所导出的最优控制易于工程实现
第二章 数 学 准 备
2-1函数极值问题
一:多变量函数极值问题
设二元函数 f( x1,x2),在点( x1*,x2*)处有极值 f( x1*,x2*)的 必要条件 为:
0),(),(* *
2*11
21
1 ?? ?
?
xxx
xxf
xf 0),(
),(*
*2*12
21
2 ?? ?
?
xxx
xxf
xf
f( x1*,x2*) 取极小值的充分条件 为:
0)(2)( 22*21*21* 222111 ??????? xfxxfxf xxxxxx
0)(
2
1
**
**
2,1
2221
2111 ??
?
?
??
?
?
?
???
?
???
???
x
x
ff
ffxx
xxxx
xxxx或
?
?
?
?
?
?
?
?
? **
**
*
2221
2111
xxxx
xxxx
xx ff
ffF 正定
),(
),(*
*2*12
1
212
11 xxx
xxf
xxf ?
??
),(
),(*
*2*121
212
21 xxxx
xxf
xxf ??
??
),(
),(*
*2*12
2
212
22 xxx
xxf
xxf ?
??
其中
上述结论可以推广到自变量多于两个的情形
设 n 个变量的多元函数 f( x1,x2,·····x n),若 f( x)在 x*处有极小值,其必要
条件为:
0
],[
*
**
2
*
1
2
2
1
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
n
xxx
x
f
x
f
x
f
x
F
?
?
充分条件为:
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
??
?
??
?
?
?
??
?
??
?
??
?
?
?
?
2
2
2
2
1
2
2
2
2
2
2
12
2
1
2
21
2
2
1
2
*
)()()(
)()()(
)()()(
nnn
n
n
xx
x
xf
xx
xf
xx
xf
xx
xf
x
xf
xx
xf
xx
xf
xx
xf
x
xf
F
?
????
?
?
为正定矩阵。
二:有约束条件的函数极值问题
设二元函数 f( x1,x2),x1和 x2必须满足下列方程,g( x1,x2)= 0
为求函数 f( x1,x2)的极值,并找出其极值点( x1*,x2*),作一辅助函
数- 拉格朗日函数,
),(),(),,( 212121 xxgxxfxxL ?? ??
式中 λ 为辅助变量,称为拉格朗日乘子。
函数 f( x1,x2)求极值问题,转变为无约束条件函数求极值问题(拉格朗日
乘子法),其 存在极值的必要条件 为
0
2
1
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
L
x
L
x
L
x
L

0
111
????????? xgxfxL ?
0
222
????????? xgxfxL ?
0),( 21 ???? xxgL?
同样,用拉格朗日乘子法可以求有约束条件的 n元函数的极值。
设 n元函数为 f( x1,x2,·····x n),有 m个约束方程
0),,( 21 ?ni xxxg ? i= 1,2,···m ( n<m)
),,(),,(),,,,,( 21
1
212121 ni
m
i
inmn xxxgxxxfxxxL ???? ?
?
?? ????
作拉格朗日函数:
函数 L有极值的必要条件为:
0
1111
????????? ?
? x
g
x
f
x
L im
i
i?
0
2122
????????? ?
? x
g
x
f
x
L im
i
i?
0),,( 211
1
???? nxxxgL ??
0),,( 212
2
???? nxxxgL ??
0),,( 21 ???? nm
m
xxxgL ?
?
?0
1
????????? ?
? n
i
m
i
i
nn x
g
x
f
x
L ?
?
2-2泛函极值问题
一,无条件约束的泛函极值问题
设函数 x( t)在 [t0,tf] 区间上连续可导
定义下列形式的积分
dtttxtxFJ ftt ]),(),([
0?
? ?
J的值取决于函数 x( t),称为 泛函
1:始端时刻 t0和终端时刻 tf都给定时的泛函极值

dtttxtxFJ ftt ]),(),([
0?
? ?
函数 x*(t)使 J为极小
令,)()()( * ttxtx ????
式中 ε是一个很小的参数,η( t)是一个连续可导的任意函数
dttttxttxFxJ ftt ]),()(),()([)(
0
**? ??? ???? ??
其取极小值的 必要条件 为:
00)( ???? ??xJ
上式为 J(x)取极小值的必要条件
J(x)为极大、极小,通常可根据系统的物理性质来判断 。
00)(22 ???? ?? xJJ(x)取极小值的 充分条件
0)(
)(
])()([
)(
0
0
00
0
0
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
??
f
f
ff
f
t
t
t
t
t
t
t
t
t
t
x
F
dt
x
F
dt
d
dt
x
F
td
x
F
dt
x
F
dt
x
F
t
x
F
t
xJ
??
?
?
?
??
??
??
?
?
J(x)取极值的必要条件为:
0?? ???? xFdtdxF ?
0)(
0
???
ft
tx
Ft
??
欧拉方程
横截条件
00)( ???? ??xJ由必要条件
不同函数 F的欧拉方程为:
]),([ ttxF 0?
?
?
x
F
)]([ txF ? 022 ??? xxF ???
]),([ ttxF ? 02
2
2 ?
??
??
?
?
tx
Fx
x
F
????
)](),([ txtxF ? 02
2
2 ?
?
??
??
??
?
?
x
F
tx
Fx
x
F
????
xtxtx
ttxtxF
?
?
),(),(
]),(),([
?? ?? 0??
???? tx ??
当 t0和 tf给定时,根据 x(t0),x(tf)是固定的或自由的各种组合,可导出边界条件
( 1)固定始端和固定终端
0)( 0 ?fttt?
x(t0)=x0,x(tf)=xf
故边界条件为:
x(t0)=x0,x(tf)=xf
X(t)
X1(t)
X2(t)
X3(t)
t0 tf t
0)(
0
???
ft
tx
Ft
??
由横截条件
(2)自由始端和自由终端
00 ??? txF? 0?
?
?
ftx
F
?
X(t)
t0 tf t
( 3)自由始端和固定终端
00 ??? txF?
x(tf)=xf
X(t)
t0 tf t
( 4)固定始端和自由终端
x(t0)=x0
0??? ftxF?
X(t)
t0 tf t
极小值的充分条件:
00)(22 ???? ?? xJ
0]2[ 2222222
0
??????????? dtx Fxx Fx Fftt ???? ???? 0][
2
22
2
2
2
0
??
?
?
??
?
???
?
???
?
?
?
??
?
??
?
?
?
? dt
x
F
xx
F
xx
F
x
Ft
t
f
?
???
?? ??
?
故 J(x)取极小值的充分条件,
?
?
?
?
?
?
?
?
?
?
??
?
??
?
?
?
2
22
2
2
2
x
F
xx
F
xx
F
x
F
??
?
为正定
例 1 设性能指标为,dttxxJ )(2
1
22? ?? ?? 边界条件为,x(1)=1,x(2)=2,
求 J为极值时的 x*(t)
解 22),,( txxtxxF ??? ??
由欧拉方程 0??
???? xFdtdxF ?
0)21( 2 ?? txdtd ?
21* )( Ct
Ctx ??
根据边界条件,x(1)=1,x(2)=2 32)(* ???
ttx
??
?
??
??
?
?
?
?
?
?
?
?
?
?
??
?
??
?
?
?
220
00
2
22
2
2
2
txFxx F
xx
F
x
F
??
? 正半定,J(x)为极小值
2:未给定终端时刻的泛函极值问题
若始端时刻 t0给定,始端状态 x(t0)固定或沿规定的边界曲线移动;而终端时刻 tf自由,
终端状态 x(tf)自由或沿规定的曲线移动,这类最优控制问题称之为 未给定终端时刻的
泛函极值问题 。
设系统性能指标, dtttxtxFJ ft
t ]),(),([0?? ?
式中 t0是已知的,tf未给定,x(t0)给定或未给定
)()()( * ttxtx ???? )()()( * ttxtx ?? ??? ?? )( ** fff ttt ????
dttttxttxFJ ff ttt ]),()(),()([)( ****
0?
? ??? ?? ???? ??
J取极值的必要条件为:
。00 ???? ??J
0)(]),(),([])([ *****
0
???????? fffftt tttxtxFdtxFxFtf ??? ???
上式第二项分部积分
?? ???????? *0
*
0
*
0
)()( f
f
f t
t
t
t
t
t dtx
F
dt
dt
x
Ftdt
x
F
???? ???
于是有:
0)(]),(),([)(])[( ****
*
0
*
0
??????????? ffff
t
t
t
t tttxtxFx
Ftdt
x
F
dt
d
x
Ft ff ??? ?
??
得 J(x)取极值得必要条件为
0?? ???? xFdtdxF ?欧拉方程
横截条件
。0)(]),(),([)( ****
*
0
???? ffff
t
t
tttxtxFxFt
f
?? ??
dttttxttxFJ ff ttt ]),()(),()([)( ****
0?
? ??? ?? ???? ??
由横截条件可推出各种情况下的边界条件:
1)给定始端和自由终端
X(t0)
t0 tf t
X*(t)
X(tf)
tf*
此时,x(t0)=x0,η(t0)=0,ξ(tf)和 η(tf)自由
可得边界条件与横截条件为,x(t0)=x0
0* ????
fttx
F
?
0]),(),([ *** ?fff ttxtxF ?
由于最优轨线 x*(t)的 tf即是最优时刻 tf*,上式可写为:
00 )( xtx ? 0],,[ ?fttxxF ? 。0?
?
?
ftx
F
?
0)(]),(),([)( ****
*
0
???? ffff
t
t
tttxtxFxFt
f
?? ??
2)给定始端 x(t0)=x0和终端有约束 x(tf)=C(tf)
X(t0)
t0 tf t
X*(t)
X(t)
tf*
C(t)
)()()( * ttxtx ????
代入 )()(
ff tCtx ?
)]([)]([
)]([)]([
****
*****
ffff
ffff
ttCttx
ttttx
????
??????
????
????
上式对 ε求偏导,并令 ε= 0
)()]()([)( ***** ffff ttxtCt ?? ?? ??
可得边界条件与横截条件为:
00 )( xtx ? )()( ff tCtx ? 。0),,()]()([ ?
??
?
??
? ?
?
??
? ftt
txxFxFtxtc ????
0)(]),(),([)( ****
*
0
???? ffff
t
t
tttxtxFxFt
f
?? ??
( 3)终端 x(tf)固定,始端有约束 x(t0)=Ψ(t0)
X(tf)
t0 tf t
X*(t)
X(t)
tf*
Ψ(t)边界条件与横截条件为:
ff xtx ?)(
)()( 00 ttx ??
0)},,()]()()[{(
0
?????
t
txxFtxtxF ???? ?
从以上讨论可以看出,不论边界情况如何,泛函极值都必须满足欧拉方程,只是
在求解欧拉方程时,对于不同边界情况,应采用不同的边界条件与横截条件。
00 )( xtx ?
ff xtx ?)(
ff xtx ?)(
00 ???? ttxF?
00 )( xtx ?
0???? fttxF?
00 ???? ttxF?
0???? fttxF?
00 )( xtx ?
0???? fttxF?
0],,[ ?? ftttxxF ?
00 )( xtx ?
)()( ff tCtx ? 0)]()([ ???
?
??
? ?
?
??
? ftt
FxFtxtc ???
)()( 00 ttx ??
ff xtx ?)(
0)]()([
0
??????? ????
? tt
FtxtxF ??? ?
tf固定 x(t0)固定
x(tf)固定
x(t0)自由
x(tf)固定
tf固定 x(t0)固定
x(tf)自由
x(t0)自由
x(tf)自由
tf自由
x(t0)固定
x(tf)自由
x(t0)固定
x(tf)约束
x(t0)约束
x(tf)固定
无条件约束的泛函极值问题中的边界条件和横截条件列表
例 2 求使性能指标
dtxJ ftt? ??
0
21)1( 2?
为极小时的最优轨线 x*(t)。设 x(0)=1,x(tf)=C(tf),C(tf)=2-t,tf未给定。
解 显然,所给出的性能指标就是 x(t)的弧长,也就是说,要求从 x(0)到直线 C(t)的弧长未最短。
t
x(t)
c(t)
2
x(0)
x*(t)
x(t)
0
21)1(),,( 2xtxxF ?? ??
欧拉方程为:
0?? ???? xFdtdxF ?
0)1(0
212
???
?
?
???
?
?? x
x
dt
d
?
?
。cxx ??
21)1( 2?
?
2
2
2 1 accx ????
ax?? battx ??)(
这是一个 x(t0)固定,x(tf)约束情况下的极值问题。
由边界条件
x(t0)=x( 0) ? b=1,x(t)=at+1
横截条件
0)]()([ ??????? ????
? ftt
FxFtxtc ???
0)1(
)1(
]1[ 21
2
12 ??
?
???
??
??? ??
?
??
? ftt
x
x
xx ?
?
??
解得
1)( ?ftx? 1?a
。1)(* ?? ttx
t
x(t)
c(t)
2
x(0)
x*(t)
x(t)
0
由边界条件 )()(
ff tCtx ?
ff tt ??? 21
21* ?ft
220
2** 2121 )1( ??? ? dtxJ ? t
x(t)
c(t)
2
x(0)
x*(t)
x(t)
0
3:向量函数泛函极值问题
在上面所讨论的公式中,都假定 x是 1维变量,但是,所有公式都可推广到 n维
变量的情况
设性能指标
dttxxFJ ftt ),,(
0?
? ?
式中
?
?
?
?
?
?
?
?
?
?
?
?
?
)(
)(
)(
)( 2
1
tx
tx
tx
tx
n
?
则欧拉方程为
0?? ???? xFdtdxF ?
式中
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
n
x
F
x
F
x
F
x
F
?
2
1

?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
n
x
F
x
F
x
F
x
F
?
?
?
?
? 2
1
对于始端时刻 t0和终端时刻 tf都给定时,横截条件
0)(
0
???
ft
t
T
x
Ft
??
式中
?
?
?
?
?
?
?
?
?
?
?
?
?
)(
)(
)(
)( 2
1
t
t
t
t
n?
?
?
?
?
对于未给定终端时刻 tf时的横截条件为:
( 1)给定始端和终端有约束:
0)]()([ ??????? ????
? ftt
T F
x
Ftxtc
???
( 2)给定终端和始端有约束
。0)]()([
0
??
?
???
??
??? ???
?
??
?
?
?
?
? tt
T
FtxtxF ??? ?
二.有约束条件的泛函极值问题
在实际问题中,对应泛函极值的最优轨线 x*(t)通常不能任意选取,而受着各种约
束。求泛函在等式约束下的极值,称为 条件泛函极值问题 。
1.代数方程约束

dtttxtxFJ ftt ]),(),([
0?
? ?
约束方程 0),( ?txG nRx? mRG? nm?
构造增广泛函 dttxGtxxFJ
Tt
ta
f )],(),,([
0
??? ? ? mR??
令纯量函数 ),(),,(),,,( txGtxxFtxxL
T?? ?? ??
? ? ? ? ? ?? ? 0
0
???? ? ?????? dtxxJ ftt TLTxLTxLa ????? ???
分部积分
? ? ? ?? ?? ? ? ? 0
00
???? ??????? ff ttTxLtt TTxLdtdTxL xdtGx ???? ??
由于 δx,δλ相互独立,为使上式成立,应同时满足下述欧拉方程,约
束方程和横截条件:
欧拉方程,
0?? ???? xLdtdxL ? ? ? 0??? ?????? xFdtd
T
xGxF ??
?
约束方程, 0),( ?txG
横截条件, ? ?
00 ??? fttTxL x??
利用横截条件,根据始端状态 x(t0)和终端状态 x(tf)的不同情况,可以导出具体的
边界条件和横截条件,其讨论过程和结论与无约束条件的泛函极值问题相同。
2:微分方程约束
设 dttxxFJ ft
t ),,(0?? ?
约束条件, 0),,( ?txxG ? mRG ?
设纯量函数 ),,(),,(),,,( txxGtxxFtxxL T ??? ?? ??
欧拉方程
0?? ???? xLdtdxL ?
? ? ? ? ? 0????
???????? ??
T
xGdtdxFdtd
T
xGxF ??
约束条件 0),,( ?txxG ?
横截条件
? ? 00 ??? fttTxL x?? ? ? ? 00 ?? ???? fttTxGTxF x?? ??
3:积分方程约束
设 dttxxFJ ft
t ),,(0?? ?
约束方程 cdttxxGft
t ?? ),,(0 ?
mRG ? c为一常数
设 ),,()( txxGtZ ?? ?
则 0)(),,( ?? tZtxxG ?? 0)( 0 ?tZ ctZ f ?)(

??????? zxx ??
??
?
??
z
xx
?
?? )( ZGFL T ???? ?
欧拉方程
0?? ???? xLdtdxL ?
? 0??
???? xLdtdxL ? 0??
?
约束方程 ),,()( txxGtZ ?? ? 0)(
0 ?tZ ctZ f ?)(
横截条件 ? ? 0
0 ??
? fttTxL x??
可见,对于有约束条件的泛函极值问题,可采用拉格朗日乘子法将其转化为无约束
条件的泛函极值问题进行求解。在不同边界条件情况下,欧拉方程不变,只是边界
条件及横截条件不同 。
第三章 用变分法求解最优控制问题
设系统状态方程,
),,( tuxfx ??
性能指标,
??? fttff dttuxFttxJ 0 ),,(]),([?
式中 pn RuRx ?? ? 和 F为纯量函数
最优控制问题就是寻求最优控制 )(* tu 及最优状态轨迹 )(*tx
使性能指标 J取极值,
一,初始时刻 及始端状态 给定,给定,终端自由
0t )( 0tx ft
构造增广泛函
? ???? ftt Tffa dtxtuxftuxFttxJ 0 ]}),,([),,({]),([ ???
令哈密尔顿函数,
),,(),,(),,,( tuxftuxFtuxH T?? ??

? ??? ftt Tffa dtxtuxHttxJ 0 ]),,,([]),([ ????
0])()()[()(
0
??????????????? ?? dtxxHuuHxxHxxJ TTTTTttttTa ff ?? ????????????
注意到,
?? ?? fff tt TttTtt T x d txdtx 000 ?????? ?? 0)( 0 ?tx?
0])()()[()(
0
???????????????? ?? dtxHuuHxxHxxaJ TTTttttT ff ?????????? ??
为使上式成立,应同时满足下列方程,
欧拉方程 (伴随方程 )
xH??????
状态方程
??
??? Hx?
控制方程 0?
??uH
横截条件
f
f
tf
tt
T
x
t
xtx
x
x
?
?
?
?
??
?
?
?
?
?
??
?
)(
)(
0)(
00
对于两端固定的情况下横截条件
ff xtxxtx ?? )(,)( 00
例 1 设系统状态方程为
)()( tutxtx ???)(?
)(tx 的边界条件为 0)(,1)0( ?? ftxx
求最优控制 )(tu 使下列性能指标
? ?? ft dtuxJ 0 22 )(21
为最小
解, 作哈密尔顿函数 )()(
2
1 22 uxuxH ????? ?
欧拉方程 ?? ??? x?
控制方程 0,0 ???
?? ?uuH
状态方程 uxxHx ???
??? ??,?
xH??????
??
?
???
???
?
??
xx
x
?
?
)0()(22 1)0(])12()12[(22 1 2222 ?tttt eexeex ?????? ??
)0(])12()12[(22 1)0()(22 1 2222 ?? tttt eexee ?????? ??
消除 u
由边界条件 0)(,1)0( ??
ftxx
ff
ff
tt
tt
ee
ee
22
22 )12()12(
)0( ?
?
?
?????
得最优控制
]})12()12[()12()12({
22
1 2
22
22
22 tt
tt
tt
tt ee
ee
eeee
u
ff
ff
???
?
???????
??
?
?
?
?
?
???????????? ?? ???????? xx ?? 11 11?
?
二, 初始时刻 及始端状态 给定,给定,终端约束,
0t )( 0tx ft
设终端约束方程为 0)]([]),([ ??
fff txMttxM
qRM ?
构造增广泛函,
? ????? ftt TfTfa dtxtuxftuxFtxMvtxJ 0 ]}),,([),,({)]([)]([ ???
? ???? ftt TfTf dtxtuxHtxMvtx 0 ]}),,,({)]([)]([ ????
式中 qRv?
0
])()()[(])([
0
?
?????????????????? ?? dtxHuuHxxHxvxMxJ TTTt
ttt
TT
a
f
f
?????????? ?
J取极值的必要条件是
正则方程
?
?
?
?
?
?
???
?
??
欧拉方程
状态方程
x
H
Hx
?
?
?
?
控制方程 0?
?
?
u
H
边界条件和横截条件,)(
00 xtx ? 0)]([ ?ftxM
ftt
Tf vxMxt ??????? ])([)( ??
三, 初始时刻 及始端状态 给定,自由,终端约束0t )(
0tx ft
设终端约束为 0]),([ ?
ff ttxM
构造增广泛函 ? ????
ft
t
TffTffa dtxtuxHttxMvttxJ
0
]),,,([]),([]),([ ????
0?aJ? 得 J取极值的必要条件为,
正则方程
?
?
?
??
?
?
?
?
??
?
?
?
x
H
H
x
?
?
?
?
控制方程
0???uH
边界条件和横截条件,)( 00 xtx ? 0]),([ ?
ff ttxM
ftt
Tf vxMxt ??????? ])([)( ??
0][ ??????? ? fttT tMvtH ?
用变分法求解最优解的必要条件
性能指标 ?
?? fttff dttuxFttxJ
0
),,(]),([?
),,(),,(),,,( tuxftuxFtuxH T?? ??
系统方程 ),,( tuxfx ??
约束条件,)( 00 xtx ? 0]),([ ?
ff ttxM
正则方程
??
?? Hx?
x
H
?
?????
控制方程
0???uH
条件边界条件和横截条件
tf
给定
终端固定
终端自由
终端约束
tf
自由
终端固定
终端自由
终端约束
,)( 00 xtx ? fff xtxtxM ??? )(0)]([
00 )( xtx ?
)()( ff txt ?
?? ??
00 )( xtx ?
00 )( xtx ?
00 )( xtx ?
00 )( xtx ?
0)]([ ?ftxM
ft
Tf vxMxt ])([)( ?????? ??
ff xtx ?)(
ff t
tH ???? ?)(
)()( ff txt ?
?? ??
ff t
tH ???? ?)(
0]),([ ?ff ttxM
ftt
Tf vxMxt ??????? ])([)( ?? fttTf tMvttH ???????? ][)( ?
例 2 已知系统状态方程为 1)0(),( ?? xtux?
求最优控制 )(* tu 使性能指标 ? ?? 1
0
222 )( dtuxeJ t 为最小
解 本题为
ft
给定,终端自由的情况
uuxeH t ???? )( 222
正则方程,
???? Hx?
xH??????
控制方程
0???uH

ux??
txe22????
tt euuue 22 )2(202 ?? ?????? ??
tt euuxe 22 )2(22 ?????
消除 u 02 ??? xxx ???
tt ecectx )21(2)21(1)( ???? ??
tt ececxu )21(2)21(1 )21()21( ???? ?????? ?
边界条件与横截条件
00 )( xtx ? 0)1(,1)0()()( ???? ?? ??? xtxt
f
f
求得
221 )12()12(
12
????
??
ec 22
22
2 )12()12(
)12(
?
?
???
??
e
ec
最后得最优控制
][)12()12( 1)( )21(22)21(22* tt eeeetu ?????? ????? ??
]0 5 9 1.0[7 9 5 7.1 4142.04142.2 tt ee ??? ?
例 3 设系统的状态方程为
21 xx ??
uxx ??? 22?
0)0(1 ?x 0)0(2 ?x
性能指标 ?
????? 20 22221 21]2)2([21]5)2([21 dtuxxJ
终端约束条件 15)2(5)2( 21 ?? xx
试求使 min?J 的最优控制
解 本题为 给定2?ft 终端受约束的 最优解问题
)(21 22212 uxxuH ????? ??
uxu 22212 )(21 ??? ????
2221 ]2)2([21]5)2([21 ???? xx?
015)2(5)2( 21 ???? xxM
正则方程
uxxxxHx ???????? 2221,??? ?
111
1
1 )(,0,ctx
H
x
H ??
?
????
?
??? ???? ???
12212
2
2 )(,cectx
H t ????
?
??? ?????
控制方程
122 )(00 cectuuu
H t ?????????? ?
utxtx ??? )()( 22?
1232 2
1)( cecectx tt ??? ?
41231 2
1)( ctcecectx tt ????? ?
)(21 22212 uxxuH ????? ??
uxu 22212 )(21 ??? ????
2221 ]2)2([21]5)2([21 ???? xx?
015)2(5)2( 21 ???? xxM
边界条件和横截条件
05.0,0)0( 432 ?????? cccx
05.0 321 ???? ccc
)())(()()(
111 f
T
fff
tvtx Mtxt ? ??? ?? ??
111 5)2()2( cvx ?????
)())(()()(
222 f
T
fff
tvtx Mtxt ? ??? ?? ??
12222 52)2()2( cecvx ??????
代入 ),2(
1x )2(2x
1232 2
1)( cecectx tt ??? ?
41231 2
1)( ctcecectx tt ????? ?
2221 ]2)2([21]5)2([21 ???? xx?
015)2(5)2( 21 ???? xxM
?
?
?
?
?
?
?
?
?
?????
??????
????????
????
????
?
?
?
255.12
55.03
15)2(5)2(15437
05.0
05.0
3
2
2
2
1
43
2
2
2
1
2143
2
2
2
1
321
432
vcecec
vccecec
xxccecec
ccc
ccc
解得 73.0
1 ??c 13.02 ??c
73.013.0)( 12* ????? tt ecectu
例 4 设系统状态方程为 ux??
边界条件 0)(,1)0( ??
ftxx
试确定最优控制 )(* tu 使 ??? ftf dtutJ
0
221 为极小
解 这是
ft 自由,终端固定的最优解问题
uuH ??? 221
正则方程 uxHx ????? ?? ?
1,0 cxH ???????? ??? ??
控制方程 ?? ???????
?? uuuH 00
应用边界条件 11)0(
2 ??? cx
21 ctcx ???
f
f ttH ?
??? ?)(
1)()()(21 2 ??? fff tuttu ?
2)(1)()(21 22 ????? fff ttt ???
2,21 ???? uc ?
12)( 21 ?????? tctcx
2
2,0)( ??
ff ttx
2)(* ??tu
2
2* ?
ft
例 5 设控制对象方程为 ux??
0)0( xx ?
终端时刻
ft
自由,终端固定
0)( ctx f ?
求 )(* tx 和 )(* tu 使得 ? ?? ft dtxxJ
0
22 )( ? 为极小,
解 本题
ft
自由,终端固定
uuxuxxH ?? ?????? 2222 ?
uxHx ????? ?? ?
xxH 2??????? ?? ??
uuuH 2020 ????????? ??
xu??
??
?
??????
?
0xxxuux
ux
???????
?
tt ecectx ??? 21)(
uecectx tt ??? ?21)(?
由边界条件和横截条件
0)0( xx ?
ftf ttH ][)( ?
??? ? 0)()()()( 22 ??? ffff tuttutx ?
)()()( 222 fff txtutx ???
0)]()()][()([ ??? ffff txtxtxtx ??
021 ?cc
??
?
??
??
021
021
cc
xcc

01 xc ? 02 ?c
或 0
1 ?c 02 xc ?
u2???
于是最优轨线和最优控制为,
当 00 cx ? textx
0* )( ? textxtu 0** )()( ?? ?
当 00 cx ? textx ??
0* )( textxtu ???? 0** )()( ?
0)( ctx f ?由 可求出终端时刻 tf*
例 6 磁场控制的直流电动机如图所示
M
constIa ?
Rf
LfUf
数学模型
fuxx ??
??
?
???
?
??
?
??
1
0
00
10?
xky f ???????? 0??
边界条件
?????????????? 0)0( )0()0( 0
2
1 ?
x
xx ?
?
??
?
??
0
0)(
1tx
性能指标
?? 10 2t f dtuJ
1t
给定
试求在 t1时间内由 x(0)转移到 x(t1),并使控制能量具有极小值时的控制输入 (励磁
电压 )uf*,最优性能指标 J*和最优轨线 x(t)*,
解, 这是 t
f 给定,x(tf) 固定的最优控制问题
fff uxuxxuH 221222112 ???? ?????? ??
正则方程
1111 0 cx
H ???
?
??? ???
212122 ctcx
H ?????????? ????
控制方程
0???
fu
H 212 212102 ctcuu ff ????? ?
代入状态方程得
32212 2
1
4
1)()( ctctcdttutx
f ???? ?
43223121 4
1
12
1)()( ctctctcdttxtx ????? ?
代入给定边界条件
3
1
0
1
24
tc
??
2
12
1
02
tc
?? 03 ?c
04 ??c
则最优控制为
21* 2
1
2
1 ctcu f ??
2
1
03
1
0* 612
tttu f
?? ??
最优性能指标
? ?? 10 3
1
2
02** 12t f
tdtuJ
?
最优轨线
ttttx 2
1
023
1
02* 66 ?? ??
0
2
2
1
033
1
01* 32 ??? ??? t
tttx
第四章 极小值原理及其应用
用古典变分法解最优控制问题时,假定 u(t)不受限制,从而得到最优控制应满足
0???uH
实际上在工程问题中,控制变量总有一定的限制,
设控制变量被限制在某一闭集内 ??u
即 u(t)满足 0]),(),([ ?ttutxG
满足限制条件的 u(t)称为 容许控制,由于 δu不能是任意的,
0???uH 的条件已不存在
4-1.连续时间系统的极小值原理
设系统状态方程为,
]),(),([)( ttutxftx ??
初始条件,,,)0()( 0 pn RuRxxtx ????? Ω为有界闭集,不等式约束为
,0]),(),([ ?ttutxG G为 m维连续可微的向量函数,pm?
系统从 x0转移到终端状态 x(tf),tf未给定,终端状态 x(tf)满足等式约束
0]),([ ?ff ttxM
M为 q 维连续可微向量函数,nq?
性能指标, ??? ft
tff dtttutxFttxJ 0 ]),(),([]),([?
最优控制问题就是要寻找最优容许控制 u(t)使 J为极小
令 0)()()( 0 ?? ttut ???
0)(]),(),([)]([
)](),(),([)(
0
2
21
??
?
tZttutxGtZ
tztztztZ mT
?
?

于是,系统方程为,
0)(0)()(
),,(
),,(
0000
2
???
?
?
ttzxtx
txGZ
txfx
?
?
?
??
??
终端时刻 tf 未给定,终端约束 0]),([ ?ff ttxM
要求确定最优控制 ???u 使性能指标
??? fttff dttttxFttxJ 0 ]),(),([]),([ ?? ?
为极小
引入拉格朗日乘子向量 λ及 Γ,写出增广性能指标泛函
dtZtxGxtxf
tttxFttxMvttxJ
TT
t
tff
T
ffa
f
]}),,([]),,([
]),(),([{]),([]),([
2
0
????
?
?????
??? ?
???
??
令哈密而顿函数为
),,(),,(),,,( txftxFtxH T ????? ??? ??
拉格朗日纯量函数
]),,([),,,(),,,,,,( 2ZtxGxtxHtzxx TT ??????? ??????? ??????

? ????? fttffTffa dttzxxttxMvttxJ 0 ),,,,,,(]),([]),([ ??? ???
对 Jα取一阶变分得
?
?
??
?
?
??
?
?
??
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
???
?
?
*
0
*
*
])()()[(
)(])[(
][
*
f
f
f
t
t
TT
ftt
TT
ftt
T
a
dtz
zdt
d
dt
d
x
xdt
d
x
tx
x
M
v
x
t
t
M
v
t
J
???
?
?
?
?
?
?
?
???
令 0?
aJ?
可得增广性能指标泛函取极值的必要条件为
欧拉方程
0???????? xdtdx ?
00 ?????? ?? zdtddtd ???
横截条件,
00
0])([
0])([
**
*
*
?
?
??
?
?
??
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
??
?
?
ff
f
f
tttt
tt
T
tt
TT
z
x
v
x
M
x
t
M
v
t
x
x
??
?
?
?
?
?
??
把 Φ的表达式代入欧拉方程,
00
)(
?
?
??
?
?
??
?
?
?
?
?
?
??
zdt
d
dt
d
x
G
x
H T
??
?
?
?
横截条件,
*
*
])([)(
][)(
*
*
f
f
tt
T
f
tt
T
f
v
x
M
x
t
t
M
v
t
tH
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
由欧拉方程和横截条件知,最优轨线
00 ** ?? ???? ????????? ?? zz ???? ??
以上为使性能指标 Jα取极值的必要条件,为使性能指标为极小,还必须满足维尔斯
特拉斯函数沿最优轨线非负的条件,即,
0))(())((
)()(),,,,,,(
),,,,,,(
*
*
*
*
*******
***
??
?
??
??
?
??
?
?
?
??
????
???
zz
z
xx
x
tzxx
tzxxE
T
??
?
??
?
??
?
???
???
??
?
??
??
或,
),,,(),,,(:
0),,,(),,,(
}),,,,,,({
),,,,,,(
*****
*****
********
****
tuxHtuxH
txHtxH
xtzxx
xtzxxE
T
??
????
???
???
?
???
????
????

??
????
????
上式表明,沿最优轨线函数 H相对最优控制 u*(t)取绝对极小值,这是极小值原理的一
个重要结论,
0 0
-λ *
?
?
?
??
?
?
?
??
?
?
?
?
?
??
?
??
T
T
u
G
u
H
GH
)(
0)(0
??? ???

上式表明,在有不等式约束的情况下,沿最优轨线 0?
?
?
u
H 不再成立
定理,(极小值原理 )
设系统的状态方程为
]),(),([)( ttutxftx ??
控制 u(t)是有第一类间断点的分段连续函数,属于 p维空间中的有界闭集 Ω,满足不
等式约束,
0]),(),([ ?ttutxG
在终端时刻 tf 未知的情况下,为使状态自初态
00 )( xtx ?
转移到满足边界条件
0]),([ ?ff ttxM 的终态,并使性能指标
??? fttff dtttutxFttxJ 0 ]),(),([]),([?
达极小值,设哈密而顿函数为 ),,(),,( tuxftuxFH
T???
则最优控制 u*(t),最优轨线 x*(t)和最优伴随向量 λ *(t)必须满足下列条件,
(1).沿最优轨线满足正则方程,
?
?
?
?
?
?
??
?
?
?
T
x
G
x
H
H
x
)(?
?
?
?
式中 Γ 是与时间 t无关的拉格朗日乘子向量,其维数与 G相同,若 G中不包含 x,则,
x
H
?
?????
(2)横截条件及边界条件,
0]),([
)(
0])(),,,([
])([)(
00
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
ff
tt
T
tt
T
f
ttxM
xtx
v
t
M
t
tuxH
v
x
M
x
t
f
f
?
?
?
?
(3)在最优轨线 x*(t)上与最优控制 u*(t)相对应的 H函数取绝对极小值,即
),,,(),,,( ***** tuxHtuxH ?? ?
并且沿最优轨线,下式成立
??????? TuGuH )(
上述条件与不等式约束下的最优控制的必要条件相比较,横截条件及端点边
界条件没有改变,仅
0??? uH
这一条件不成立,而代之以与最优控制相对应的函数为绝对极小,其次是正则
方程略有改变,仅当 G中不包含 x时,方程才不改变,
当 t0和 x(t0)给定,根据 tf给定或自由,x(tf)给定,自由或受约束等不同情况下所导
出的最优解必要条件列表如下,
tf


性能指标




正则方程 极值条件 边界条件与横
截条件






?
??
ft
t
f
dttuxF
txJ
0
],,[
)]([?
x
H
tuG
tuxf
tuxFH
x
G
x
H
H
x
T
T
?
?
??
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?

若 0),(
),,(
),,(
)(
)],,,(
),,,,(
[
m in
**
***
*
*
tuxH
H
tuxH
H
H
H
u
?
?
?
?
?
??
ff xtx
xtx
?
?
)(
)( 00
)()(
)( 00
f
f txt
xtx
?
??
?
??
ft
T
f
f
v
x
M
x
t
txM
xtx
])([
)(
0)]([
)( 00
?
??
?
??
?
?
?
?
tf


性能指标




正则方程 极值条件 边界条件与横
截条件






?
?
ft
t dttuxF
J
0
],,[
x
H
tuG
tuxf
tuxFH
x
G
x
H
H
x
T
T
?
?
??
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?

若 0),(
),,(
),,(
)(
)],,,(
),,,,(
[
m in
**
***
*
*
tuxH
H
tuxH
H
H
H
u
?
?
?
?
?
??
未知)(
)(
)( 00
f
ff
t
xtx
xtx
?
?
?
0)(
)( 00
?
?
ft
xtx
?
ft
T
f
f
v
x
M
t
txM
xtx
])[(
)(
0)]([
)( 00
?
?
?
?
?
?
tf


性能指标




正则方程 极值条件 边界条件与横
截条件






)]([ ftxJ ??
ff xtx
xtx
?
?
)(
)( 00
)()(
)( 00
f
f txt
xtx
?
??
?
??
ft
T
f
f
v
x
M
x
t
txM
xtx
])([
)(
0)]([
)( 00
?
?
?
?
?
?
?
?
?
?x
H
tuG
tuxf
tuxFH
x
G
x
H
H
x
T
T
?
?
??
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?

若 0),(
),,(
),,(
)(
)],,,(
),,,,(
[
m in
**
***
*
*
tuxH
H
tuxH
H
H
H
u
?
?
?
?
?
??
tf


性能指标




正则方程 极值条件 边界条件与横截
条件






?
??
ft
t
f
dttuxF
txJ
0
],,[
)]([?
),,(
),,(
)(
tuxf
tuxFH
x
G
x
H
H
x
T
T
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
)],,,(
),,,,(
[
m in
**
***
*
*
tuxH
H
tuxH
H
H
H
u
?
?
?
?
?
??
f
f
ff
ttH
xtx
xtx
?
???
?
?
?)(
)(
)( 00
f
f
f
f
t
tH
tx
t
xtx
?
?
??
?
?
?
?
?
?
?
)(
)(
)(
)( 00
f
T
f
t
T
f
ff
tv
t
M
t
tH
v
x
M
x
t
ttxM
xtx
f
])([)(
])([)(
0]),([
)( 00
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
tf


性能指标




正则方程 极值条件 边界条件与横截
条件






?
?
ft
t dttuxF
J
0
],,[
),,(
),,(
)(
tuxf
tuxFH
x
G
x
H
H
x
T
T
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
)],,,(
),,,,(
[
m in
**
***
*
*
tuxH
H
tuxH
H
H
H
u
?
?
?
?
?
??
未知)(
0)(
)(
)( 00
f
f
ff
t
tH
xtx
xtx
?
?
?
?
0)(
0)(
0)( 0
?
?
?
f
f
tH
t
tx
?
f
T
f
t
T
f
ff
tv
t
M
tH
v
x
M
t
ttxM
xtx
f
])[()(
])[()(
0]),([
)( 00
?
?
??
?
?
?
?
?
?
tf


性能指标




正则方程 极值条件 边界条件与横截
条件






)]([ ftxJ ??
),,(
)(
tuxf
H
x
G
x
H
H
x
T
T
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
)],,,(
),,,,(
[
m in
**
***
*
*
tuxH
H
tuxH
H
H
H
u
?
?
?
?
?
??
f
f
ff
ttH
xtx
xtx
?
???
?
?
?)(
)(
)( 00
)(
)(
)( 00
f
f txt
xtx
?
??
?
??
f
T
f
t
T
f
ff
tv
t
M
t
tH
v
x
M
x
t
ttxM
xtx
f
])([)(
])([)(
0]),([
)( 00
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
例 1 设宇宙飞船质量为 m,高度为 h,垂直速度为 v,发动机推力为 u,月球表面的重
力加速度设为常数 g,不带燃料的飞船质量为 M,初始燃料的总质量为 F,飞船
的状态方程为,
FMmtkutm
vv
tm
tugtv
hhtvth
????
????
??
)0()()(
)0(,
)(
)()(
)0()()(
0
0
?
?
?
要求飞船在月球上实现软着陆,即终端约束为
0)(0)( 21 ???? ff tvMthM
发动机推力 u受到约束,,}0{,auuu ??????
试确定 u*(t),使飞船由已知初态转移到要求的终端状态并使飞船燃料消耗最少,
即使得
m in)( ??? ftmJ
本题是控制受约束,tf 自由,末值型性能指标,终端受约束的最优控制问题, 解,
构造哈密而顿函数
)()(
)(),,(
ff
mvh
T
tmt
kumugvtuxfH
??
??????
?
????
伴随方程,
2
0
m
u
m
H
v
H
h
H
x
H
v
m
hv
h
?
?
??
?
?
?
?
?
??
??
?
?
??
?
?
?
??
?
?
??
?
?
?
?
横截条件
1])([)(
)(])([)(
)(])([)(
])([)(
2
1
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
f
f
f
f
t
T
fm
ft
T
fv
ft
T
fh
t
T
f
v
m
M
m
t
tvv
v
M
v
t
tvv
h
M
h
t
v
x
M
x
t
?
?
?
?
?
?
?
?
21 vv 为待定的拉格朗日乘子,将哈密而顿函数整理
ukmgvH mvvh )()( ???? ????
有极小值原理知,H相对 u*(t)取极小值,因此最优控制律为,
?
?
?
??
?
?
??
??
?
00
0
)(*
m
v
m
v
k
m
k
m
a
tu
??
??
上述结果表明,只有当发动机推理在最大值和零值之间进行开关控制,才有可能在
实现软着陆的同时保证燃料消耗最少,
4-2离散系统极小值原理
设离散系统的状态方程为,
)1,,2,1,0(]),(),([)1( ???? Nkkkukxfkx ?
其中 f是连续可导的 n维向量函数,x(k)为 n维的状态向量序列,u(k)为 p维控制向量
序列,k表示时刻 tk,终端时刻 tf=tN.设初始状态 x(0)=0,终端时刻 tN给定,终端状态 x(N)
自由,控制向量序列 u(k)无不等式约束,系统性能指标为,
? ?
?
?? 1
0
]),(),([]),([ N
k
kkukxFNNxJ ?
要求寻找最优控制 u*(k),使性能指标 J为极小,
建立增广指标泛函
??
?
?
?
?
?
?
?
??????
????
??
1
0
1
0
1
0
)1()1(]),1(),(),([]),([
) } }1(]),(),([){1(
]),(),([{]),([
N
k
T
N
k
T
N
k
a
kxkkkkukxHNNx
kxkkukxfk
kkukxFNNxJ
???
?
?
式中 λ(k+1)为 n维拉格朗日乘子向量序列
离散哈密而顿函数序列 H为
)1,,2,1,0(]),(),([)1(
]),(),([]),1(),(),([
????
??
Nkkkukxfk
kkukxFkkkukxH
T ??
?
由于 x(0)给定,δx(0)=0
?
?
?
?
?
?
?
?
?
???
??
??
?
?
??
?
?
?
??
?
?
?
?
?
1
0
1
0
1
0
)1()}1(
)1(
]),1(),(),([
{
)(}
)(
]),1(),(),([
{
)()}(
)(
]),1(),(),([
{
)()}(
)(
]),([
{
N
k
T
N
k
T
N
k
T
a
kkx
k
kkkukxH
ku
ku
kkkukxH
kxk
kx
kkkukxH
NxN
Nx
NNx
J
??
?
?
?
?
??
?
??
?
?
令 0?
aJ? 可得 J取极值的必要条件为,
正则方程
1,,2,1,0,
)1(
]),1(),(),([)1(
1,,2,1,0,
)(
]),1(),(),([)(
??
??
????
??
?
???
Nk
k
kkkukxHkx
Nk
kx
kkkukxHk
?
?
?
?
??
边界条件与横截条件,
)( ]),([)(0)0( Nx NNxNx ???? ??
控制方程,
1,,2,1,0,0)( ]),1(),(),([ ???? ?? Nkku kkkukxH ??
*特别的当终端状态有等式约束时 0]),([ ?NNxM
横截条件改为,
)(})( ]),([{)( ]),([)( kNx NNxMNx NNxN T ??????? ??
*当 u(k)有不等式约束时
0???uH
不成立,此时最优控制序列对应的 H函数序列为绝对极小值,即,
]),1(),(),([m in]),1(),(),([ **)(*** kkkukxHkkkukxH ku ??? ?? ??
00 )(
]),(),([)( xtx ttutxftx ??? )1,,2,1,0()0( ]),(),([)1(
0 ???
?? Nkxx kkukxfkx ?
??? fttff dtttutxFttxJ 0 ]),(),([]),([? ????? 10 ]),(),([]),([ Nk kkukxFNNxJ ?
min),(* ?Jtu 使求 m in,1,,2,1,0),(* ??? JNkku 使求 ?
),,( ),,(),,,( tuxf tuxFtuxH T??? ? )1,,2,1,0( ]),(),([)1(
]),(),([)(
??
??
?
Nk
kkukxfk
kkukxFkH
T
?
?
x
HHx
?
?????? ?? ??
1,,2,1,0
)1(
)()1(,
)(
)()(
??
??
???
?
??
Nk
k
kHkx
kx
kHk
?
??
0???uH 1,,2,1,0,0)( )( ????? Nkku kH ?
],,,[m in],,,[ **** tuxHtuxH ?? ?? ]),1(),(),([m in ]),1(),(),([ ** *** kkkukxH kkkukxH ?? ?
? ?
?
0)(
0]),([
)(
)(
?
?
?
??
f
ff
f
f
t
ttx
tx
t
?
?
??

0)(0]),([
)()(
??
?
??
NNNx
NxN
??
??

连续极小值原理 离散极小值原理
系统
性能
指标
极值
问题
哈密
而顿
函数
正则
方程
极值
条件
控制
无约

控制
有约

横截
条件
(终端
时间
给定,
终端
自由 )
例 2 设离散状态方程及边界条件为
?
?
?
?
?
?
??
?
?
?
?
?
??
?
?
?
?
?
??
?
?
?
?
?
?
???
0
0
)2(
0
1
)0(
1.0
0
10
1.01
)()()1(
xxhG
khukGxkx
试用离散极小值原理求最优控制序列使性能指标
?
?
? 1
0
2 )(05.0
k
kuJ
取极小值,并求出最优状态序列,
解 )]()()[1()(05.0]),1(),(),([ 2 khukGxkkukkkukxH T ????? ??
伴随方程
)1()()( ????? kGkx Hk T ??
控制方程 0)1()(1.00
)( ?????
? khku
ku
H T ?
状态方程,
)1(10)1(10)0(
)1(10)1()2(
)2()1(,1
)1(10)0()1(
)1()0(,0
)(10)()1(
)1(10)()1(
)()()1(
2
??
?
??
?
??
?
?
TTT
TT
T
T
T
TT
T
GhhG h hxG
GhhGxx
Gk
hhGxx
Gk
kGhhkGxkx
khhkGxkx
khukGxkx
?
?
?
???
??
??
??
??
???
????
???
?
?
?
?
?
?
?
?
????
?????
?
?
?
?
?
?
???
?
?
?
?
?
?
?
10
1
)1(
1 0 0)1(,1 0 0)0(
)(10)1(10)(
3 0 0
2 0 0 0
)1()0(
1 0 0
2 0 0 0
)1(
x
uu
kGhkhku
G
TTT
T
??
???,
列写结果如下
1 0 0)1(,1 0 0)0(
1 0 0
2 0 0 0
)1(
3 0 0
2 0 0 0
)0(
0
0
)2(
10
1
)1(
0
1
)0(
???
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
??
?
?
?
?
?
?
uu
xxx
??
4-3极小值原理的应用
1:最小时间控制 (时间最优控制 )
设线性定常系统的状态方程
)0()()()()( 0 xtxtButAxtx ????
其中 pn RuRx ??
控制向量 u(t)受不等式约束 0?? MMu
寻求最优控制 u*(t),使系统从已知的初始状态转移到终端状态,tf 自由,并使性能
指标
? ??? ftt f ttdtJ 0 0
为极小
构造哈密尔顿函数,
)]()()[(1]),(),([ tButAxtttutxH T ??? ?
根据极小值原理,最优控制的必要条件为,
正则方程
**
***
??
?
TA
x
H
BuAx
H
x
??
?
?
??
??
?
?
?
?
?
边界条件
ff xtxxtx ?? )()(,00
极值条件
BuBu
BuAxBuAx
TT
TT
***
***** )(1)(1
??
??
?
?????

??

],,,[ 21 pbbbB ??

?
?
? p
j
jj
TT ubBu
1
** ??
设各控制分量相互独立,则有
jjjjT ubub *** ?? ?
在约束条件 Mtu
j ?)(
下的最优控制为,
pj
bt
btM
btM
tu
j
T
j
T
j
T
j,,2,1
0)(
0)(
0)(
)(
*
*
*
* ??
?
?
?
?
?
?
??
??
?
?
?
?
不定
由此可知,当 λ *T(t)bj≠0 时,可以找出确定的 u*j(t) 来,并且它们都为容许控制的边
界值,当 λ*T(t)bj 穿过零点时,u*j(t)由一个边界值切换到另一个边界值,如果 λ*T(t)bj 在
某一时间区间内保持为零,则 u*j(t)为不确定值,这种情况称为奇异问题或 非平凡问题,
相应的时间区段称为奇异区段,当整个时间区间内不出现奇异区段时,则称为非奇异
问题或 平凡问题,对于平凡问题,有以下几个定义及定理
① Bang-Bang原理
若线性定常系统 BuAxx ??? 属于平凡情况,则其最短时间控制为
)](s g n [)( ** tBMtu T ???
??
?
?
?
??
?
?
?
01
00
01
s g n
a
a
a
a
u*(t)的各个分量都是时间的分段恒值函数,并均取边界值,称此为 Bang-Bang原理,
Bang-Bang原理也适用于下列一类非线性系统
utxbtxax ],[],[ ???
② 最短时间控制存在定理
若线性定常系统 BuAxx ???
完全能控,矩阵 A的特征值均具有非正实部,控制变量满足不等式约束 |u(t)|≤M,则
最短时间控制存在,
③ 最短时间控制的唯一性定理
若线性定常系统 BuAxx ???
属于平凡情况,若时间最优控制存在,则必定是唯一的,
④ 开关次数定理
若线性定常系统 BuAxx ??? 控制变量满足不等式约束 |u(t)|≤M
矩阵 A的特征值全部为实数,若最短时间控制存在,则必为 Bang-Bang控制,并且每个
控制分量在两个边界值之间的切换次数最多不超过 n-1次,
例 3 设系统的状态方程为
?
?
?
?
?
??
?
?
?
?
?
??
??
1
0
00
10
BA
BuAxx?
边界条件,
0)()(
20
10
0 ???
??
?
??
ftxx
xtx
控制变量 u(t)的不等式约束 |u(t)|≤1
性能指标
? ??? ftt f ttdtJ 0 0
求最优控制 u*(t),使 J 为最小,
解, 由于 A具有两个零特征值,满足非正实部的要求,且
201 10][ ???????? r ankABBr ank
系统能控,因而最优时间控制存在,如果系统属于平凡情况,则最优控制是唯一
的,开关换向次数最多只有一次,
uxH 2211 ?? ???
伴随方程
1
2
2
1
1 0
??
?
??
?
???
?
?
???
x
H
x
H
?
? 解得
21*21*1 ctcc ??? ??
极值条件
uu
uxux
*
2
**
2
*
2
*
2
*
1
**
2
*
2
*
1
:
11
??
????
?
?????

最优控制规律为
?
?
?
?
?
?
??
??
?
0
01
01
)(
*
2
*
2
*
2
*
?
?
?
不定
tu
当 u(t)=+1时,状态方程的解为,
1020
2
1202 2
1 xtxtxxtx ?????
最优轨迹方程,
cxx ?? 221 21
当 u(t)=-1时,状态方程的解为,
1020
2
1202 2
1 xtxtxxtx ???????
最优轨迹方程
cxx ??? 221 21
两族抛物线中,各有半支抛物线引向原点,由这两条半支抛物线所组成的曲
线 AOB称为开关曲线,
2x
1x
A
O
B
??? Ru 1
??? Ru 1
221 2
1 xxx ??
讨论不同初始状态的最优控制
方案,有四种情况
综上所述,最优控制规律为
?
?
?
?
?
??????
??????
?
?
?
221
221
21
*
2
1
1
2
1
1
),(
xxxRxBOx
xxxRxAOx
xxu


上述控制规律的工程实现方法
2221 xx
? ?*u 2x 1x
2:最小燃料消耗控制
最小燃料控制问题,性能指标
?
?
?
?
?
p
j
j
t
t
tut
dttJ
f
1
)()(
)(
0
?
?
对于双积分模型的最小燃料消耗控制问题,描述如下,
设系统状态方程为
ff xtxxtx
ux
xx
??
?
?
)()( 00
2
21
?
?
控制约束为 Mu ?
性能指标
?? ftt dttuJ 0 )(
求最优控制,使 J为极小,其中 tf 给定
uxuH 211 ?? ???
根据
uuuu
tuxHtuxH
???
?
2
*
2
*
***** ],,,[],,,[
??
??
最优控制规律
??
?
?
?
??
???
???
?
1
110
1
)(
2
2
2
*
?
?
?
M
M
tu
m in)1(0
m in)1(0
*
2
*
2
???
???
?
?
uu
uu
?
?
时,
时,
伴随方程为,
212
1
2
2
1
1 0
ctc
x
H
x
H
???
??
?
?
??
?
?
?
??
?
??
?
?
? )(
2 t?
2?
1?
1? b
tat
)(tu
t
M?
M?
t
att? 0)( 切换为从 Mtu ?
btt? Mtu ?切换为从 0)(
Mtu ??)( 状态方程的解为
12
2
1
22
2122
12
2
122
2
1
)(
0)(
2
1
dtdMtx
dMtxMtu
tbxbxtu
ataMtxaMtx
????
?????
???
?????
时,当
时,当

12
2
21
222
212
2
1
222
2
1
2
1
ataMttbx
aMtbx
tt
tbdtdMtx
bdMtx
tt
bbb
b
b
aaa
a
a
????
???
?
?????
????
?
时在
时在
上述方程和边界条件联立,可求出,,
ba tt
由此可见,最小燃料消耗控制是一种开关型控制,可采用理想的三位式继电器作
为控制器,
例 4 已知系统状态方程及初始条件为,
1)(1)0()0(
)()(
)()(
21
2
21
???
?
?
tuxx
tutx
txtx
?
?
试求最优控制,使性能指标
???? 421 0 )()()( tff dttutxtxJ
取极小值,并分段求出最优轨线
解 本题属于终端状态自由,有末值性能指标要求的最小燃料消耗问题
uxufFH T 221 ??? ?????
由 取极小,即使 uutuxHtuxH
2***** ],,,[],,,[ ??? ??
??
?
?
?
??
???
???
?
11
110
11
)(
2
2
2
*
?
?
?
tu
伴随方程为
2121
2
2
11
1
1 0
ctc
x
H
c
x
H
??????
?
???
???
?
???
???
??
?
?
横截条件为
4
1
)(
)(
1
)(
)(
2
2
1
1
?
??
?
?
??
?
?
?
??
f
f
f
f
f
t
tx
t
tx
t
?
?
?
?
从而得 31
21 ???? t??
2x
t
1?
1?
0
2?
1 2 3 4
*u
1)(
)1(]2,0[
*
2
??
??
tu
t 时?
??
?
??
?
12
21
x
xx
?
?
1)0()0( 21 ?? xx
解此方程,
1)2(121
1)2(1
1
2
1
22
?????
????
xttx
xtx -
0]4,2[ ?? ut 时
??
?
?
?
02
21
x
xx
?
?
1)2(,1)2(,21 ??? xx并注意到:解此方程
1)4(3)(
1)4(1)(
21
12
?????
???
xttx
xtx -
3:最小能量控制
最小能量控制问题指在控制过程中,控制系统的能量消耗为最小,与最小燃料消耗
问题类似,也只有在有限时间内有意义,
设系统状态方程为
00 )()()( xtxtButAxx ????
控制约束 pjMMtu
j,,2,10)( ????
终端状态
fff txtx,)( ? 给定,要求确定最优控制
使性能指标 ? ??
?
?? ff tt p
j
j
t
t
T dttuudtuJ
00 1
2 )(为极小
)()()()()(
1
2 tBtutAtxtuH TTTTp
j
j ?? ??? ?
?
伴随方程,
)( 0te
AxH
tA
T
T ??
??
??
???????
引入开关函数
)()(
)](,),(),([)()()(
0
210
tebts
tstststeBtBts
tAT
jj
T
p
tATT
T
T
?
??
?
?
?
???

?
Bbj为 的列向量,即 ],,,[ 21 pbbbB ??
?TT
p
j
jjj AxtstutuH ??? ?
? 1
2 )]()()([
由极小值原理知 Htu 应使)(* 为极小,即应使 )()()(2 tstutu
jjj ?
为极小

? ?
pjtstu
tstutu
tu
jj
jjj
j
,,2,1)(
2
1
)(
0)()()(
)(
*
2
????
??
?
?
最小能量控制的控制规律为
??
?
?
?
??
???
MtstsM
Mtststu
jj
jj
j
2)()}(s g n{
2)()(
2
1
)(*
例 5 设系统状态方程及边界条件为
4
1
)()()0()0( 2121
2
21
???
?
?
ff txtxxx
ux
xx
?
?
1)(,?tut f自由 试确定最优控制,使性能指标
?? ft dtuJ 0 2 取极小值,
解,
2
221
2
2
221
2
4
1)
2
1( ???
??
????
???
xu
uxuH
由极值条件知,
?
?
?
?
?
??
??
???
?
2)(1
2)()(
2
1
2)(1
)(
2
22
2
*
t
tt
t
tu
?
??
?
由伴随方程
21211
1
2
2
1
1 0
ctcc
x
H
x
H
????
???????????
??
???
解得
??
由于终端状态固定,不能有横截条件确定 c1和 c2需要试探确定,通常最小能量控制
问题的控制量较小,首先选择线性段函数
? ? ? ?tccttu 122 2121)( ????? ?
代入状态方程并考虑到初始条件
2
122
3
1
2
21
4
1
2
1
)(
12
1
4
1
)(
tctctx
tctctx
???
???
4
1)(
4
1)(0)(
21 ??? fff txtxtH 和
解得
3091 21 ??? ftcc
于是最优控制为 ? ? ttcctu
18
1
2
1)(
12
* ????
1)(],0[ ?tut f 内满足 约束条件
最优轨线 2*
2331
*
1 36
1)(
1 0 8
1
12
1)( ttxttctx ???
最优性能指标
36
1)
18
1(3
0
2
0
2 ??? ?? dttdtuJ ft
第 5章 线性二次型问题的最优控制
5-1 线性连续系统状态调节器
1:有限时间状态调节器
设线性系统状态方程为 00 )(),()()()()( xtxtutBtxtAtx ????
二次型性能指标为
dttutRtutxtQtxtPxtxJ ftt TTffT ? ???
0
)]()()()()()([21)()(21
)(,)(,)( tuRtuRtx pn ?? 不受约束 x(tf) 自由,tf 有限
对于 ],[ 0 fttt? )(),(),(),( tRtQtBtA 均连续、有界
TTT RRRQQQPPP ??????,0,,0,,0
要求寻找最优控制 u*(t),使 J为最小。

)]()()()([)()()(21)()()(21),,,( tutBtxtAtutRtutxtQtxtuxH TTT ???? ??
正则方程
)()()()()(
)()()()(
ttAtxtQ
x
H
t
tutBtxtA
H
x
T ??
?
???
?
?
??
??
?
?
?
?
?
由于 u(t)不受约束
)()()()(
0)()()()(0
1* ttBtRtu
ttBtutRuH
T
T
?
?
???
??????
代入正则方程
)()()()()(
)()()()()()()( 1
ttAtxtQt
ttBtRtBtxtAtx
T
T
??
?
???
?? ?
?
?
这是一组一阶微分方程,边界条件和横截条件为
)()()(21)()(
)( 00
fff
T
f
f tPxtPxtxtxt
xtx
??
?
?
??
?
?
??
?
?
显然,可以假定 )(t? 与 x(t)之间存在线性关系。
? ?
)()()()()()()()()()()(
)()]()()([)(
)()()()()()()()()(
)()()()()(
)()()(
1
1
tQtKtBtRtBtKtKtAtAtKtK
txtKtAtQt
txtKtBtRtBtKtAtKtK
txtKtxtKt
txtKt
TT
T
T
??????
???
???
??
?
?
?
?
?
?
???
?
?
?
上式称为矩阵黎卡提方程,其边界条件为 PtK f ?)(
由黎卡提方程求出 K(t)后,则最优控制为
)()()()()( 1* txtKtBtRtu T???
)()()()()(
)()()()()()()( 1
ttAtxtQt
ttBtRtBtxtAtx
T
T
??
?
???
?? ?
?
?
边界条件和横截条件为
引理 5-1 若 K(t)是黎卡提方程的解,则 K(t)对所有的 ],[
0 fttt? 是对称的
)()( tKtK T?
引理 5-2 控制 )()()()()( 1 txtKtBtRtu T??? 至少产生了一个局部最小。
引理 5-3 若上述状态调节器问题的最优解存在,则最优控制是唯一的。
定理 5-4 已知线性时变系统的状态方程
)()()()()( tutBtxtAtx ???
和性能指标:
dttutRtutxtQtxtPxtxJ ftt TTffT ? ???
0
)]()()()()()([21)()(21
其中 u(t)不受约束,tf 有限,P(t)和 Q(t)为半正定对称矩阵,R(t)为正定对称阵,则
最优控制存在且是唯一的,并且由下式确定:
)()()()()( 1* txtKtBtRtu T???
其中对称矩阵 K(t)是下列黎卡提方程的唯一解
PtK
tQtKtBtRtBtKtKtAtAtKtK
f
TT
?
????? ?
)(
)()()()()()()()()()()( 1?
而最优状态 x*(t)则是下列线性微分方程的解:
00
1
)(
)()]()()()()([)(
xtx
txtKtBtRtBtAtx T
?
?? ??
几点说明:
1) 最优控制规律是一个状态线性反馈规律,它能方便地实现闭环最优控制;
2) 由于 K(t)是非线性微分方程的解,通常情况下难以求得解析解,需要由计算
机求出其数值解,又因为其边界条件在终端处,所以需要逆时间方向求解,因
此应在过程开始之前就将 K(t)解出,存入计算机以供过程使用;
3) 只要控制时间 [t0,tf]是有限的,K(t)就是时变的(即使状态方程和性能指标 J是定
常的),因而最优反馈系统将成为线性时变系统;
4) 将最优控制 u*(t)及最优状态轨线 x*(t)代入性能指标函数,得性能指标得最小
值为:
5) 当控制时间 [t0,tf]为有限时间时,状态调节器最优解的存在不要求系统能控,
这是因为所采用的性能指标是为了保持系统的状态 x(t)接近零状态。当控制时间
[t0,tf]为有限时间时,即使系统不能控,不能控状态对性能指标的影响也是有限的,
在 [t0,tf]区间中性能指标不至于变为无穷,故最优控制存在。如果,则只
有当系统能控时,状态调节器才存在最优解。
)()()(21 000* txtKtxJ T?
??ft
例 5-1 已知一阶系统的状态方程为:
0)0()()()( xxtutaxtx ????
二次型性能指标为:
? ?dttrutqxtfxJ ftf ? ??? 0 222 )()(21)(21
0,0,0 ??? rqf 求使系统性能指标 J为最小值使的最优控制 u*(t)。
解 rtRqtQfP ??? )(,)(,
最优控制
)()(11
)()()()()( 1*
txtK
r
txtKtBtRtu T
????
?? ?
2
)(2
)(2
1
)(
)(
a
r
q
e
a
r
f
a
r
f
e
a
r
f
a
r
f
aa
rtK
f
f
tt
tt
??
??
??
?
??
??
???
??
?
?
?
?
?
?
?
??
?
?
其中 K(t)为黎卡提方程
ftK
qtK
r
taKtK
f ?
????
)(
)(1)(2)( 2?
的解
最优线性反馈系统结构图
+ _
+_
x?
)0(x
s
1
)(txu
a
r
1
a2
r
1
s
1q?
)(tk?
)()()( tutaxtx ???
)()(11)(* txtKrtu ????
qtKrtaKtK ???? )(1)(2)( 2?
例 5-2 二阶系统状态方程为
??
?
?
?
)()(
)()(
2
21
tutx
txtx
?
?
二次型性能指标为
? ? dtuxxxxtxtxJ ff ? ?????? ?????? 30 22122212221 2124221)(2)(21
试求使系统性能指标 J为最小的最优控制 u*(t)

2
1,
41
12,
20
01,
1
0,
00
10 ?
???????????????????????????? RQPBA
最优控制为
xtKBRtu T )()( 1* ???
因为 k(t)为对称矩阵,设
??????? )()( )()()(
2212
1211
tktk
tktktK
222112 )(2)(2)(* xtkxtktu ????
K(t)满足黎卡提方程
0)()()()()( 1 ????? ? QtKBBRtKtKAAtKtK TT?
PK ?)3(
整理得
?
?
?
?
?
??
?
?
?
?
?
?
?
????
????
??
2)3(
0)3(
1)3(
4)(2)(2)(
1)()(2)()(
2)(2)(
22
12
11
2
221222
22121112
2
1211
k
k
k
tktktk
tktktktk
tktk
?
?
?
解此微分方程得 K(t),代入 u*(t)
表达式,可得最优控制。显然,
由于微分方程组的非线性性,
不能求得其解析解,而只能利
用计算机求得其数值解。
例 5-3 设系统状态方程和初始条件为:
??
?
?
?
??
?
?
?
0)0(
1)0(
)()(
)()(
2
1
2
21
x
x
tutx
txtx
?
?
终端时刻 tf 为某一给定值。求最优控制 u*(t)使下列性能指标为最小,
? ?? ?? ft dttutxJ 0 221 )()(21

1,00 01,0,10,00 10 ??????????????????????? RQPBA

??????? )()( )()()(
2212
1211
tktk
tktktK
代入黎卡提方程
?
?
?
?
?
???
???
???
2
221222
22121112
2
1211
2
1
kkk
kkkk
kk
?
?
?
由终端边界条件 0)( ?? PtK f
0)()()( 221211 ??? fff tktktk
利用计算机逆时间方向解上述微分方程,解出从 t=0到 t=tf 的 K(t),可得最优控制:
? ? 222112
2
1
2212
1211
1*
)(
)(
10
)()()()()(
xkxk
tx
tx
kk
kk
txtKtBtRtu T
????
?
?
?
?
?
?
?
?
?
?
?
??
?? ?
2:无限时间状态调节器
设线性定常系统状态方程为
00 )(),()()( xtxtButAxtx ????
[A,B]能控,u(t)不受约束,二次型性能指标为
dttRututQxtxJ t TT? ? ??
0
)]()()()([21
其中 Q,R为常数矩阵 TT RRRQQQ ????,0,,0
要求确定最优控制 u*(t),使 J为最小。
与有限时间状态调节器相比,有如下几点不同:
1)系统是时不变的,性能指标中的权矩阵为常值矩阵。
2)终端时刻 ??
ft
当 [t0,tf ]为有限时间时,最优控制系统是时变的;
??ft 希望最优控制系统是定常的。
3)终值权矩阵 P=0
4)要求受控系统完全能控,以保证最优控制系统的稳定性
??ft 终值性能指标将失去工程意义
如果系统不可控 ??
ft 性能指标就有可能趋于无穷大,无法比较控制的优劣,也就无法确定最优控制。
结果如下
当 TQQQ ??,0 矩阵对( A,B)完全能控时,存在唯一的最优控制:
)(?)( 1* txKBRtu T???
其中 K? 为 n× n常值正定对称阵,它满足黎卡提代数方程:
0???? 1 ???? ? QKBBRKKAAK TT
一般情况下,需要用数值方法求解。
闭环最优控制的状态方程为:
001 )()?( xtxxKBBRAx T ??? ??
解此方程可得最优轨线 x*(t),性能指标的最小值为:
)(?)(21 00* txKtxJ T?
上述最优控制系统并不一定是稳定的,只有矩阵 KBBRAG T ?1???
的所有特征值都具有负实部时,系统才是稳定的,可能反复计算多次 [选 Q求 K?
可以证明,若 DDT=Q,( A,D)能观测,则对于对称非负定加权矩阵 Q,当
( A,B)能控时,可以保证最优控制 u*(t)的存在性和唯一性,且闭环最优控制
系统是稳定的。
若 K? 为正定对称阵,则闭环最优系统是稳定的。
例 5-4 考虑下列可控系统
uxxx ?? 221,??
性能指标
? ?
0
2
2
1
2
0
22
221
2
1
??
???? ?
?
ba
dtuaxxbxxJ
求最优控制 u(t)使性能指标 J为最小。

1,1,0,10,00 10 ??????????????????????? Rab bQPBA
02 ?? ba由于 则 Q为正定阵。

???
?
???
??
2212
1211 ?? ???
kk
kkK
可由黎卡提代数方程
0???? 1 ???? ? QKBBRKKAAK TT
求得
?
?
?
?
?
????
????
??
0??2
0???
1?
2
2212
221211
12
akk
bkkk
k
考虑到 QK,? 应为正定对称矩阵,则
??
???
?
?
?
?
??
??
?
0?
0?
0???
0?
22
11
2
122211
11
k
k
kkk
k
?
?
?
?
?
???
??
?
bak
ak
k
2?
2?
1?
11
22
12
可以求出
?
?
?
?
?
???
??
??
akk
bkkk
k
1222
221211
12
?2?
???
1?
1?12 ??k 是不满足要求的,证明如下
1?12 ??k若
22? 22 ???? aak
02
02??? 221211
?????
???????
ab
babkkk
由于 0??? 2
122211 ?? kkk
12
012)2(
012)2(
????
??????
??????
aab
aba
aba
由于 2,0 ?? ab 上式两边为正,平方后有
a
a
a
a
ab
aab
?
?
??
?
??
???
2
1
2
)1(
)1()2(
2
2
22
与 02 ?? ba 矛盾
?
?
?
?
?
???
??
??
akk
bkkk
k
1222
221211
12
?2?
???
1?
最优控制为
212221121 2??)(?)( xaxxkxktxKBRtu T ????????? ?
最优控制系统结构图为
?
? ?s
1 s1
2
1s
2?a
u 2x
1x
sa 21 ??
uxxx ?? 221,??
例 5-5 控制系统状态方程为
0)()0(
,
1
0
2
0
2
22
21
???
???
?
?
?
??
?
xxx
T
k
b
T
a
buaxx
xx

?
?
性能指标
? ?? ? ??? 0 222221121 dtruxqxqJ
求最优控制 u*(t),使 J取最小值。

rRqqQbBaA ??
?
?
??
??
??
?
??
??
??
?
??
??,
0
0,0,
0
10
2
1

???
?
???
??
2212
1211 ?? ???
kk
kkK
可由黎卡提代数方程
0???? 1 ???? ? QKBBRKKAAK TT

?
?
?
?
??
?
?
?
????
???
?
0?
1??
0??
1?
?1
2
2
22
2
2212
2212
2
1211
112
2
qkb
r
kak
kkb
r
akk
qkb
r
解之得 221211 ?,?,? kkk 最优控制为
? ? )()(?? ??01)(?)( 2211
2
1
2212
12111* txKtxK
x
x
kk
kkb
rtxKBRtu
T ????
?
??
?
??
?
??
?
????? ?
式中
12
0
2
00
211
121111 q
rk
Tq
rkkKqrK ??????,
状态调节器的稳定性
由线性定常最优调节器组成的闭环反馈控制系统状态方程为:
xKBBRABuAxx T ]?[ 1??????
设李雅普诺夫函数为
xKBBRKQxxKxxKxxV
xKxxV
TTTT
T
]??[??)(
?)(
1??????
?
???
由于 Q,R均为正定阵,故 )(xV? 负定,即系统是渐近稳定的。
)(?)( 1* txKBRtu T???
5-2 线性离散系统状态调节器
设离散系统状态方程为
0)0(
1,,1,0)()()()()1(
xx
NkkukBkxkAkx
?
????? ?
u(k)不受约束。性能指标为:
? ?? ?
?
??? 1
0
)()()()()()(21)()(21 N
k
TTT kukRNukxkQkxNPxNxJ
0)()(,0)()(,0 ?????? kRkRkQkQPP TTT
求最优控制序列 u*(k),使性能指标 J为最小。
式中
建立哈密尔顿函数
? ?
1,,1,0
)()()()()1()()()(21)()()(21)(
??
?????
Nk
kukBkxkAkkukRNukxkQkxkH TTT
?
?
正则方程
)1()()()(
)(
)(
)(
)()()()(
)1(
)(
)1(
???
?
?
?
??
??
?
??
kkAkxkQ
kx
kH
k
kukBkxkA
k
kH
kx
T ??
?
边界条件与横截条件为
? ? )(
)(
),()()0(
0 NPxNx
NNxNxx ?
?
??? ??,
可以假设
控制方程
)()()( kxkKk ??
)()()()()1(
)1()()()(*
0)1()()()(
0
)(
)(
1
kukBkxkAkx
kkBkRku
kkBkukR
ku
kH
T
T
????
???
???
?
?
?
?
?
?
)()()1()1()()()()(
)1()1()()()()()(
)()()()()1(
1
kxkKkxkKkAkxkQk
kxkKkBkRkBkxkA
kukBkxkAkx
T
T
?????
????
????
?
?
上述两式中消除 )1( ?kx
? ? )()()1()()()()1()()()()()( 11 kxkAkKkBkRkBIkKkAkxkQkxkK TT ?? ?????
要使上式对任意 x(k)成立,则有
? ?
? ?
PNK
kAkBkRkBkKkAkQ
kAkKkBkRkBIkKkAkQkK
TT
TT
?
????
?????
???
??
)(
)()()()()1()()(
)()1()()()()1()()()(
111
11

上式称为黎卡提差分方程。逆时间方向解这一差分方程,便可确定最优增益矩
阵 K(k)。
)1()()()(* 1 ??? ? kkBkRku T ?
)()()( kxkKk ??

)()()(
)1()()()()(
kxkKk
kkAkxkQk T
?
???
?
??
得 ? ? )()()()()1( kxkQkKkAk T ??? ??
最优控制 u*(k)为状态的线性函数。因此,同连续系统一样,可以方便地实现闭环
控制。
最优控制
)()]()([)()()1()()()(* 11 kxkQkKkAkBkRkkBkRku TTT ?????? ??? )(?
性能指标的最小值为:
)0()0()0(21* xKxJ T?
)(kB
单位延时
)(kA
? ?)()()()()(1 kQkKkAkBkR TT ?? ??
)(*ku )1( ?kx
?
)(kx
例 5-6 设一阶离散系统的状态方程为
)1,,1,0()()()1( ????? Nkkukxkx ?
初始条件
0)0( xx ?
性能指标 ??
?
?? 1
0
22 )(
2
1)(
2
1 N
k
kuNcxJ
求最优控制序列 u*(k),使性能指标 J为最小。
解 为简单起见,设 N=2,即只求解一个二步控制问题。
性能指标
)1(21)0(21)2(21 222 uucxJ ???
1)(1)(1)(0)( ????? kBkAkRkQcP,,,,
黎卡提方程式
? ?
? ?
cPK
kK
kK
kK
kAkBkRkBkKkAkQkK TT
??
??
?
????
????
??
???
)2(
1)1(
)1(
1)1(
)()()()()1()()()(
11
111
逆时间方向计算
12)0(01)1(1 ?????? c
cKk
c
cKk,;,
最优控制
? ?
)0(
12
1
)1()1()2(
)0(
12
)1()1()1(
)0(
12
1
)0()0()1(
)0(
12
)0()0()0(
)()()()()()()(
***
**
***
*
1*
x
c
uxx
x
c
c
xKu
x
c
c
uxx
x
c
c
xKu
kxkQkKkAkBkRku
TT
?
???
?
????
?
?
???
?
????
???
??
最优性能指标
)0()12(2)0()0(21* 22 xccxKJ ???
5-3线性连续系统输出调节器
1:有限时间时变输出调节器
设线性时变系统为
)()()(
)(),()()()()( 00
txtCty
xtxtutBtxtAtx
?
????
式中 npmRyRuRx mpn ?????? 0,,,
控制 u(t)不受约束,时变矩阵 A( t),B(t),C(t)是时间的连续、有界函数,具有适当
的维数。取二次型性能指标:
dttutRtutytQtytPytyJ ftt TTffT ? ???
0
)]()()()()()([21)()(21
终端时刻 tf 给定,P为半正定,Q(t),R(t)分别为半正定和正定对称时变矩阵,其各
元素对时间连续有界。要求寻找最优控制 u*(t),使 J为最小。
将 )()()( txtcty ? 代入性能指标
dttutRtutxtCtQtCtx
txtPCtCtxJ
ft
t
TTT
fff
T
f
T
? ??
?
0
)]()()()()()()()([
2
1
)()()()(
2
1
与状态调节器问题相比,唯一的差别是性能指标函数中的权函数发生了变化。
定理 5-5 如果矩阵 P和 Q(t)是半正定的,当且仅当系统 [A(t),B(t),C(t)]能观测时,
矩阵 C(tf)TPC(tf)和 C(tf)TQ(t)C(tf)是半正定的。
定理 5-6 当且仅当系统 [A(t),B(t),C(t)]能观测时,存在唯一的最优控制:
)()()()()( 1* txtKtBtRtu T???
其中增益矩阵 K(t)是下列黎卡提方程的对称正定解
)()()(
)()()()()()()()()()()()()( 1
ff
T
f
TTT
tPCtCtK
tCtQtCtKtBtRtBtKtKtAtAtKtK
?
????? ??
PtK
tQtKtBtRtBtKtKtAtAtKtK
f
TT
?
????? ?
)(
)()()()()()()()()()()( 1?有限时间状态调节器
而最优轨线 x*(t)是下列微分方程的解
001 )(),()]()()()()([)( xtxtxtKtBtRtBtAtx T ??? ??
最优性能指标
)()()(21 000* txtKtxJ T?
2,无限时间定常输出调节器
设线性定常系统状态方程为
)()(
)(),()()( 00
tCxty
xtxtButAxtx
?
????
其中 u(k)不受约束,终端时刻 tf无限,A,B,C为适当维数的常值矩阵。二次型
性能指标:
dttRututQytyJ t TT? ? ??
0
)]()()()([21
其中 Q,R为对称正定常值矩阵,要求确定最优控制 u*(k),使性能指标 J为最小。
定理 5-7 对于系统 (5-1)和性能指标 (5-2),若 (A,B,C)能控能观测,则存在唯一的最
优控制:
( 5-1)
( 5-2)
)(?)( 1* txKBRtu T???
其中 K? 为对称正定常值矩阵,它满足黎卡提代数方程
0???? 1 ???? ? QCCKBBRKKAAK TTT
最优轨线 x*(t)满足微分方程
001 )(),()?()( xtxtxKBBRAtx T ??? ??
性能指标的最小值为:
)(?)(21 00* txKtxJ T?
例 5-7 设系统状态方程为
? ? ?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
2
1
2
1
2
1
01
1
0
00
10
x
x
y
u
x
x
x
x
?
?
求最优控制 u*(t),使性能指标
)0()(21 0 22 ??? ? ? rdtruyJ
取最小值。
解 本例为无限时间定常输出调节器问题。
? ? rRQCBA ?????????????????,1,01,10,00 10

???
?
???
??
2212
1211 ?? ???
kk
kkK 代入黎卡提矩阵代数方程
?
?
?
?
?
???????
??
??
????
?
0??2?,0??2
0???
?
0????
121222
2
2212
221211
12
1
krkkrkk
rkkk
rk
QCCKBBRKKAAK
TTT
求得
K? 阵的正定性,要求 0?0???0? 22212221111 ????? kkkkk,
故 ? ?
? ? 4111212212 4?2?? rkrrkrk ???,,
? ?
? ? ?
?
?
?
?
?
?
?
??
4
1
4
1
4
4?
rrr
rrK
最优控制规律
?????? ????? ? 24
1
1
1* )4(1)(?)( xrx
rtxKBRtu
T
例 5-8 设受控系统 0),()( ??? ?? tutuy ???
系统性能指标 ? ?
dttrutyJ ? ? ?? 0 22 )()(21
试求使系统性能指标 J为最小值时的最优控制 u*(t)。
解 取状态变量
)()()(
)()(
2
1
tutytx
tytx
??
?
?

? ?
? ? rRQCBA
xy
u
x
x
x
x
????
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
,1,01,
1
,
00
10
01
1
00
10
2
1
2
1
?
??
?
代入黎卡提矩阵代数方程
?
?
?
?
?
??
???
??
12
2
2212
1112112212
2
1211
?2)??(
?)??)(??(
)??(
krkk
krkkkk
rkk
?
??
?
为保证 K的正定性
? ?
?
?
?
?
?
?
?
?
?
????
??
??
???
?
?
?
?
?
?
?
rr
kk
rkk
r
k
211??
??
211?
2212
1211
11
最优控制
? ? )(2111)(1
)()??(
1
)()??(
1
)(
21
2221211211
*
txr
r
tx
r
txkk
r
txkk
r
tu
?
?
??
??????
?????
5-4 线性连续系统输出跟踪器
1:线性时变系统的跟踪问题
设线性时变系统为
)()()(
)(),()()()()( 00
txtCty
xtxtutBtxtAtx
?
????
其中 mpn RyRuRx ???,,
控制 u(t)不受约束,时变矩阵 A(t),B(t),C(t)具有适当的维数,且在 [t0,tf]上连续、
有界,,矩阵对 (A,C)完全能观。
所谓跟踪问题就是寻找最优控制,使系统的实际输出 y(t)在给定的时间区间 [t0,tf]
上尽可能地逼近理想输出 z(t),而又不过多地消耗能量。
定义误差向量为 )()()()()()( txtCtztytzte ????
性能指标为
dttutRtutetQtetPeteJ ftt TTffT ? ???
0
)]()()()()()([21)()(21
其中 P,Q(t)为半正定对称矩阵,R(t)为正定对称矩阵。
哈密尔顿函数:
? ? ? ?
? ?)()()()()(
)()()(21)()()()()()()(21
tutBtxtAt
tutRtutxtCtzkQtxtCtzH
T
TT
??
????
?
正则方程
? ? )()()()()()()(
)(
)(
)()()()(
)(
ttAtxtCtztQtC
tx
H
t
tutBtxtA
t
H
x
TT ??
?
???
?
?
??
??
?
?
?
?
?
控制方程
)()()()(
0)()()()()(
1* ttBtRtu
ttBtutRtuH
T
T
?
?
???
?????
边界条件和横截条件
? ?)()()()()()(
)( 00
ffff
T
f
f tztxtCPtxCtxt
xtx
??? ??
?
??
假设
)()()()()()(
)()()()(
tgtxtKtxtKt
tgtxtKt
???? ???
??
?
?
)()()(
)()()(
ff
T
f
ff
T
f
tPztCtg
tPCtCtK
?
?
把 u*(t)代入 )(tx? )(tx? 代入上式
)()()()()()(
)()]()()()()()()()([)(
1
1
tgtgtBtRtBtK
txtKtBtRtBtKtAtKtKt
T
T
?
??
??
???
?
??
把 λ(t)代入正则方程
? ? )()()()()()()()()()()()( tztQtCtgtAtxtKtAtCtQtCt TTTT ???????
上两式对任意时刻的 ],[
0 fttt? 任何 x(t)及任何 z(t)均成立
? ? )()()()()()()()()()( )()()()()()()()()()()()()( 1
1
tztQtCtgtAtBtRtBtKtg
tCtQtCtKtBtRtBtKtKtAtAtKtK
TTT
TTT
???
??????
?
?
?
?
上述两方程的边界条件
)()()(
)()()(
ff
T
f
ff
T
f
tPztCtg
tPCtCtK
?
?
利用计算机逆时间求数值解,得到 K(t),g(t)后,得出最优控制
? ?)()()()( 1* tgtxtKBRtu T ??? ?
最优轨线由下式解出
? ? )()()()()()()()()()()( 11 tgtBtRtBtxtKtBtRtBtAtx TT ?? ????
最优性能指标
)()()()()()(21 000000 ttxtgtxtKtxJ TT ????
)(t? 满足下列微分方程及边界条件
)()()()(
)()()()()()()()(21)( 1
fff
T
TTT
tztQtzt
tgtBtRtBtgtztQtzt
?
??? ?
?
??
例 5-9 已知一阶系统方程为:
)()(
)0(),()()( 0
txty
xxtutaxtx
?
????
其中 a为常数,u(t)不受约束,用 z(t)表示期望的输出
误差为 )()()()()( txtztytzte ????
试求最优控制 u*(t),使性能指标
dttrutqetfeJ fttf ? ???
0
)]()([21)(21 222
取极小值,其中 0,0,0 ??? rqf
解 rRqQfPCBaA ??????,,,1,1,
黎卡提方程及边界条件为:
ftk
qk
r
kakkak
f ?
??????
)(
1?
其解为
? ? ? ?? ?
? ?? ?
f
f
tt
a
r
f
a
r
f
tta
a
r
f
a
r
f
a
rtk
??
??
??
?
????
??
??
??
??
?
?
?
??
?
?
?
2e x p1
2e x p
)(
式中
)()()()()()(
2
fff tfztgtqztgr
tkatg
r
qa
???
?
?
??
? ???
?


?
?
最优控制规律为:
? ? ? ?)()()(1)()()()( 1* tgtxtkrtgtxtKBRtu T ?????? ?
例 5-10 设系统状态方程为
ux
xx
?
?
2
21
?
?
初始条件为 t0=0,x1(0)=x10,x2(0)=x20,输出方程为
1xy?
求最优控制 u(t),使性能指标 ? ?dtuzxJ ft
t? ??? 0
221 )(21
为最小,z=a

0,1,1],01[,10,00 10 ?????????????????? PRQCBA
代入黎卡提方程,得
?
?
?
?
?
???
???
???
2
221222
22121112
2
1211
2
1
kkk
kkkk
kk
?
?
?
终端条件 0)()()( 221211 ??? fff tktktk
如果设 ??ft 0221211 ??? kkk ???
12 21122211 ???? kkkk,
???????
2
1
g
gg 代入 ? ?
212
21
1
2 ggg
zgg
QzCgKBBRAg TTT
???
??
???? ?
?
?
?
终端条件 0)()( 21 ?? ff tgtg
如果设 ??ft 0
21 ?? gg ??
agazg 212 ???,
最后,最优控制为
? ? 2211* 2)( gxxgKxBRtu T ??????? ?
2,线性定常系统的跟踪问题
对于线性定常系统,如果要求输出为常数向量,且终端时刻 tf 很大时,则可按
上述的线性时变系统的方法推导出一个近似的最优控制规律,虽然这个结构并
不适应 tf 趋向无穷大的情况,但对一般工程系统是足够精确的,有重要的实用
价值。
设线性定常系统状态表达式为
Cxy
BuAxx
?
???
系统能控且能观测,设要求的输出 z为常数向量,误差
)()()()( txtCztyzte -???
性能指标
dtRuuQeeJ ftt TT? ??
0
][21
式中 Q和 R为正定的
最优控制为 ? ?gtKxBRtu T ??? ? )()( 1*
K和 g满足
? ? QzCABK B Rg
QCCKBK B RKAKA
TTT
TTT
11
1 0
??
?
??
?????
最优轨线应满足
? ? gBBRxKBBRAx TT 11 ?? ????
当终端时间 tf 足够大且有限时,得出如下近似结果:
例 5-11 设系统动态方程为
? ?xy
uxx
01
20
0
20
10
?
??
?
??
??
??
?
??
?
?
??
性能指标 ? ?? ?dttutyJ ?? ???
0
22 )(1)( 即 z=1
求最优控制使 J为最小

? ? 1,1,1,01,200,20 10 ????????????????? ?? zRQCBA

???????
2212
1211)(
kk
kktK
代入黎卡提方程,得:
? ? zQzCABK B Rg
K
kkk
kkkk
k
TTT
?
?
?
?
?
?
?
?
?
?
???
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
???
???
??
?
?
20
1
20
63.6
400
63.4
05.0
05.0
20
63.6
024400
02400
01400
1
1
1222
2
22
12112212
2
12
最优控制律为 ? ?
21
1*
23.01
20
63.4
1
)(
xx
zx
gKxBRtu T
???
??
?
?
??
?
??
??? ?
第 6章 动态规划法
6-1最短路线问题
动态规划是解决多级决策过程最优化的一种数学方法。所谓多级决策过程,是指
把一个过程分为若干个阶段,而每一个阶段都需作出决策,以便使整个过程取得
最优的效果。
最短路线问题,要求从 A地到 F地,选择一条最短的线路。为了便于分析,引入
几个符号:
A
1B
2B
3B
1C
2C
3C
1D
2D
3D
1E
2E
F
1
2
3
4
5
6
7
8
9
6
5
4
1
1
3
5
45
2
4
2
4 4
9
5
7
N:从某点到终点之间的级数; x:表示在任一级所处的位置,称为状态变量;
SN (x):决策变量,表示当处于状态 x,还有 N级时,所选取的下一个点;
WN(x):表示从状态 x到终点 F的 N级过程的最短距离;
d(x,SN):表示从状态 x到点 SN的距离。
从最后一级开始计算:
232
223
113
32
122
222
112
22
212
221
111
12
2111
)(,7
25
19
m in
)(),(
)(),(
m in)(
)(,7
29
16
m in
)(),(
)(),(
m in)(
)(,4
22
14
m in
)(),(
)(),(
m in)(
2)(1)(
EDS
EWEDd
EWEDd
DW
EDS
EWEDd
EWEDd
DW
EDS
EWEDd
EWEDd
DW
EWEW
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
A
1B
2B
3B
1C
2C
3C
1D
2D
3D
1E
2E
F
1
2
3
4
5
6
7
8
9
6
5
4
1
1
3
5
45
2
4
2
4 4
9
5
7
同理
255
23434
12424
11414
13333
22323
11313
)(,14)(
)(,12)(
)(,9)(
)(,14)(
)(,8)(
)(,11)(
)(,5)(
BASAW
CBSBW
CBSBW
CBSBW
DCSCW
DCSCW
DCSCW
??
??
??
??
??
??
??
所以,最短路线为 FEDCBA ????? 2112 最短距离为 14
一个 N级最优过程,不管第一级决策如何,其余 N-1级,决策过程至少必须依据
第一级决策所形成的状态组成一个 N-1级最优过程,在此基础上,在选择第一级
决策,使总的 N级过程为最优。
A
1B
2B
3B
1C
2C
3C
1D
2D
3D
1E
2E
F
1
2
3
4
5
6
7
8
9
6
5
4
1
1
3
5
45
2
4
2
4 4
9
5
7
这种递推关系可以用下列递推方程式来表达:
? ? ? ?? ?
),()(
)()(,min)(
1
1)(
FxdxW
xSWxSxdxW NNNxSN
N
?
?? ?
最优性原理
一个多级决策过程的最优策略具有这样的性质:不管其初始状态和初始决策如
何,其余的决策必须根据第一个决策所形成的状态组成一个最优策略。
6-2 离散最优控制问题
设控制系统的状态方程为
? ? )1,,1,0()(),()1( ???? Nkkukxfkx ?
式中 x(k)是 k时刻的几维状态向量,u(k)是 k时刻的 p维容许控制向量,设系
统在每一步转移中的性能指标为 F[x(k),u(k)]
如在 u(0)的作用下
)]0(),0([)]0([
)]0(),0([)1(
1 uxFxJ
uxfx
?
?
在 u(1)的作用下
)]1(),1([)]0(),0([)]0([
)]1(),1([)2(
2 uxFuxFxJ
uxfx
??
?
对 N级决策过程
)]1(),1([)(
)]1(),1([)2(
)]0(),0([)1(
???
?
?
NuNxfNx
uxfx
uxfx
?
性能指标
?
?
?
?
??????
1
0
)](),([
)]1(),1([)]1(),1([)]0(),0([)]0([
N
k
N
kukxF
NuNxFuxFuxFxJ ?
要求选择控制序列 ? ?)1(,),1(),0( ?Nuuu ? 使性能指标达到极小
根据最优性原理
? ? ? ? ? ?? ?
? ? ? ? ? ?? ?
? ? )1,,2,1()1(),1()(
)()1(),1(m in)1(
)1()0(),0(m in)0(
*
)1(
*
1
*
1)0(
*
?????
?????
??
??????
???
Njjujxfjx
jxJjujxFjxJ
xJuxFxJ
jNjujN
NuN
?
解上述递推方程,即可获得最优控制序列。
例 6-1 设一阶离散系统的状态方程为
)1,,1,0()()()1( ????? Nkkukxkx ?
初始条件为 x(0),控制变量 u不受约束,性能指标为
??
?
?? 1
0
22 )(
2
1)(
2
1 N
k
kuNcxJ
求最优控制 u*(t),使 J达最小,为简便起见,设 N= 2
解 设在 u(0),u(1)作用下,系统状态为 x(0),x(1),x(2)
先考虑从 x(1)到 x(2)的情况,控制为 u(1)? ? ? ?
? ?
c
x
x
c
x
cJ
c
cx
u
uuxc
u
J
uuxcucxxJ
?
?
?
?
?
??
????
?
?
?????
1
)1(
)2(
1
)1(
2
1
1
)1(
)1(
0)1()1()1(0
)1(
2
1
)1()1(
2
1
)1(
2
1
)2(
2
1
)1(
2
*
1
1
1
2222
1
,,
再考虑从 x(0)到 x(1)的情况,控制为 u(0)
? ?
? ? ? ?
)0(
21
1
)1(
)21(2
)0(
21
)0(
)0(
0
)0(
)0()0(
12
1
)0(
2
1
)0(
)1(
12
1
)0(
2
1
m in)0(
2
1
m in)0(
2
*
2
2
22
2
22
)0(
*
1
2
)0(
*
2
x
c
c
x
c
cx
J
c
cx
u
u
J
ux
c
c
uxJ
x
c
c
uJuxJ
uu
?
?
?
?
?
?
??
?
?
?
?
?
??
?
?
?
?
?
?
?
???
?
?
?
?
?
?
??
最优控制序列为
c
cxu
c
cxu
21
)0()1(,
21
)0()0( **
??????
最优性能指标为
)21(2
)0(2*
c
cxJ
??
6.3 连续动态规划
设连续系统动态方程为
00 )()),(),(()( xtxttutxftx ???
pn RtuRtx ?? )(,)( 控制信号 u(t)受到限制,即 u(t)∈ Ω,性能指标为:
? ? ? ?dtttutxFttxJ fttff ???
0
),(),(),(?
求最优控制 u*(t),使 J为最小
? ? ? ? ? ?? ?
? ? ? ? ? ? ? ?
??
?
??
? ???
??
?
?
??
??
dtttutxFttxttxttxJ
dtttutxFttxttxJ
f
f
f
t
tffuffff
t
tffu
),(),(),(m in),(),(
),(),(),(m in),(
*
00
*
0
??
?
设 t∈ [t0,tf] ? ? ? ? ? ?? ?
? ? ? ? ? ?? ?dtttutxFdtttutxFttx
dtttutxFttxttxJ
f
f
t
t
t
tffu
t
tffu
??
?
??
??
??
??
???
??
),(),(),(),(),(min
),(),(),(min),(*
?
?
根据最优性原理,从 t+Δ到 tf这一过程也是最优过程
? ? ? ? ? ?? ?
? ? ? ? ? ?? ???????
??????
?
?
??
??
????
ttxJdtttutxFttxJ
dtttutxFttxttxJ
t
tu
t
tffu
f
),(),(),(m in),(
),(),(),(m in),(
**
*

?
由于 Δ很小 ? ? ? ? ??? ?? tuxFdttuxFt
t,,,,=
? ? ? ?
? ? ? ?
? ? ? ? ? ?
? ? ? ?
? ?
? ?
? ?
? ?
? ?
? ?
? ? —贝尔曼方程—=-
时,当
=-
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
????
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
???
?
?
??
?
?
?
?
?
?
?
?
?????
???
?
?
??
?
?
?
?
?
?
?
?
??????
??
??
??
tuxf
x
txJ
tuxF
t
txJ
x
x
txJ
tuxF
t
txJ
t
txJ
x
x
txJ
txJtuxFtxJ
t
ttxJ
tx
x
ttxJ
ttxJttxJ
T
u
T
u
T
u
T
,,
,
,,m in
,
0)(0
)(
,
,,m in
,
)(
,,
,,,m in,
)(
),(
)(
),(
),(),(
**
**
2
**
**
2
**
**
?
?
?
?
?
?
?
根据贝尔曼方程可确定使性能指标 J为最小的最优控制 u*(t)。定义函数
? ? ? ? ),,(,,,),,,( ** tuxfx txJtuxFtxJuxH T?????? ??????

? ? ),,,(m in,** t
x
JuxH
t
txJ
u ?
??
?
??
??
如果 u*为最优控制,则
? ? ),,,(,*** t
x
JuxH
t
txJ
?
??
?
??
—— 哈密尔顿函数 -雅可比方程
当 u不受约束 0?
?
?
u
H
0* ???????? xJufuF T
(6-1)
(6-2)
利用边界条件 ? ? ? ?
ffff ttxttxJ ),(),(* ??
(6-3)
由 (6-1),(6-2),(6-3)求解即可,其中
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
p
n
pp
n
n
T
n
u
f
u
f
u
f
u
f
u
f
u
f
u
f
u
f
u
f
u
f
x
J
x
J
x
J
x
J
?
???
?
?
?
21
22
2
2
1
11
2
1
1
*
2
*
1
*
*
,
例 6-3 设系统状态方程为
uxxx ?? 221,??
初始状态 )(,0)0(,1)0( 21 tuxx ?? 不受约束,性能指标为
dtuxJ ?? ?? 0 221 )212(
求最优控制 u*(t),使性能指标 J为最小。

2
*
*
2
2
*
1
*
22
1
*
0
2
1
2),,,(
x
J
u
u
H
u
x
x
J
x
J
uxt
x
J
uxH
?
?
????
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
???
?
?
由于
??
?
??
?
?
??
?
????
?
???
?
??
???? ux
Jx
x
Jux
t
JH
t
J
uu 2
*
2
1
*
22
1
**
2
12m inm in,
因为系统是时不变的,并且性能指标的被积函数不是时间的显函数,故 0* ?
?
?
t
J

2
*
*
2
2
*
1
*
22
1
*
0
2
1
2),,,(
x
J
u
u
H
u
x
x
J
x
J
uxt
x
J
uxH
?
?
????
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
???
?
?
由于
??
?
??
?
?
??
?
????
?
???
?
??
???? ux
Jx
x
Jux
t
JH
t
J
uu 2
*
2
1
*
22
1
**
2
12m inm in,
因为系统是时不变的,并且性能指标的被积函数不是时间的显函数,故 0* ?
?
?
t
J
解得
21
2
*
*
2
221
2
1
*
22)(
22)(
xx
x
Jtu
xxxxxJ
???
?
???
???
0212
2
2
*
2
1
*
2
1 ????
?
???
?
?
??
?
???
x
Jx
x
Jx