最优控制概述

在这里插入图片描述

1、概述

例如,有甲乙两个仓库分别存有水泥 1500 包和 1800 包,有 A、B、C 三个工地,分别需要水泥 900 包、600 包和 1200 包。已知从甲库运送到 A、B、C 三个工地,每包水泥的运费分别是 1 元、2 元和4 元;从乙库运送到 A、B、C 三个工地,每包水泥的运费分别是 4 元、5 元和 9 元。应怎样发运这些水泥能使运费最省呢?这就是一个最优分配问题

设从甲库运往 A、B、C 三个工地的水泥包数分别为 x 1 , x 2 , x 3 x_1,x_2,x_3 x1,x2,x3;从乙运往 A、B、C 三个工地的水泥包数分别为 x 4 , x 5 , x 6 x_4,x_5,x_6 x4,x5,x6,那么总运费 f ( x ) f(\pmb{x}) f(x) 将是 x = ( x 1 , x 2 , x 3 , x 4 , x 5 , x 6 ) T \pmb{x}=(x_1,x_2,x_3,x_4,x_5,x_6)^T x=(x1,x2,x3,x4,x5,x6)T 的函数,即
f ( x ) = x 1 + 2 x 2 + 4 x 3 + 4 x 4 + 5 x 5 + 9 x 6 f(\pmb{x})=x_1+2x_2+4x_3+4x_4+5x_5+9x_6 f(x)=x1+2x2+4x3+4x4+5x5+9x6

在最优化问题中, f ( x ) f(\pmb{x}) f(x) 称为目标函数。最优化的任务在于确定 x \pmb x x,使 f ( x ) f(\pmb{x}) f(x) 为最小(或最大)值。但 x \pmb x x 的选取不是任意的,它要受到约束条件的限制,如:
x 1 + x 2 + x 3 ≤ 1500 x 4 + x 5 + x 6 ≤ 1800 x 1 + x 5 = 900 x 2 + x 5 = 600 x 3 + x 6 = 1200 \begin{aligned} &x_1+x_2+x_3\leq1500\\ &x_4+x_5+x_6\leq 1800\\ &x_1+x_5=900\\ &x_2+x_5=600\\ &x_3+x_6=1200 \end{aligned} x1+x2+x31500x4+x5+x61800x1+x5=900x2+x5=600x3+x6=1200

在本例中,目标函数 f ( x ) f(\pmb{x}) f(x) 和约束条件都是自变量 x \pmb x x 的一次函数,称为线性最优化问题。又因为约束条件存在不等式,故属具有不等式约束条件的线性最优化问题。考虑到甲库运往各工地的运费都较乙库的便宜,故应先尽甲库的水泥发送。因此,前两个不等式约束可变成等式约束,即
x 1 + x 2 + x 3 = 1500 x 4 + x 5 + x 6 = 1200 x 1 + x 5 = 900 x 2 + x 5 = 600 x 3 + x 6 = 1200 \begin{aligned} &x_1+x_2+x_3=1500\\ &x_4+x_5+x_6= 1200\\ &x_1+x_5=900\\ &x_2+x_5=600\\ &x_3+x_6=1200 \end{aligned} x1+x2+x3=1500x4+x5+x6=1200x1+x5=900x2+x5=600x3+x6=1200

从而本例是一个具有等式约束条件的最优化问题。

当然,目标函数和约束条件并不限于线性情况,而可能是变量的各种非线性函数。一般地,目标函数用 J \pmb J J 表示:
J ( x ) = f ( x ) (1) \pmb{J}(\pmb{x})=f(\pmb{x})\tag{1} J(x)=f(x)(1)

约束条件为等式约束:
g i ( x ) = 0 , i = 1 , 2 , ⋯   , m (2) g_i(\pmb{x})=0,i=1,2,\cdots,m\tag{2} gi(x)=0,i=1,2,,m(2)

和不等式约束:
h j ( x ) ≤ 0 , j = 1 , 2 , ⋯   , l (3) h_j(\pmb{x})\leq 0,j=1,2,\cdots,l\tag{3} hj(x)0,j=1,2,,l(3)

那么,最优化任务,是要在(2)、(3)的约束条件下,寻求 x \pmb x x,使(1)的目标函数取最优(最大或最小)值。上述最优化问题,由于变量 x \pmb x x 与时间无关,或在所讨论的时间区间内为常数,因此属于静态最优化问题。在最优控制系统中,由于受控对象是一个动态系统,所有变量都是时间的函数,所以这是动态最优化问题。在动态最优化问题中,目标函数不再是普通函数,而是时间函数的函数,称为泛函。例如在时间定义域 [ t 0 , t f ] [t_0,t_f] [t0,tf] 上的目标泛函为:
J = ∫ t 0 t f L [ x ( t ) , u ( t ) , t ] d t (4) \pmb {J} = \int_{t_0}^{t_f}\pmb{L}[\pmb {x}(t),\pmb{u}(t),t ]\mathrm{d}t\tag{4} J=t0tfL[x(t),u(t),t]dt(4)

基本约束条件是受控对象的状态方程,如:
x ˙ ( t ) = f [ x ( t ) , u ( t ) , t ] (5) \dot{\pmb{x}}(t) = \pmb {f}[\pmb{x}(t),\pmb{u}(t),t]\tag{5} x˙(t)=f[x(t),u(t),t](5)

式中, J \pmb J J 为标量泛函,对每个控制函数都有一个值与之对应; L \pmb L L 为标量函数,它是矢量 x ( t ) \pmb{x}(t) x(t) u ( t ) \pmb{u}(t) u(t) 的函数; x ( t ) \pmb{x}(t) x(t) n n n 维状态矢量; u ( t ) \pmb {u}(t) u(t) r r r 维控制矢量; f \pmb f f n n n 维矢量函数。

最优控制问题是要在满足式(5)的约束条件下寻求最优控制函数 u ( t ) \pmb{u}(t) u(t),使式(4)的目标泛函取极值(最大或最小)。
求解动态最优化问题的方法主要有古典变分法极小(大)值原理动态规划法等。
应当指出,在求解动态最优化问题中,若将时域 [ t 0 , t f ] [t_0,t_f] [t0,tf] 分成许多有限区段,在每一分段内,将变量近似看作常量,那么动态最优化问题可近似按分段静态最优化问题处理,这就是离散时间最优化问题。

2、研究最优控制的前提条件

2.1 给出受控系统的动态描述,即状态方程
连续时间系统 x ˙ ( t ) = f [ x ( t ) , u ( t ) , t ] 离散时间系统 x ( k + 1 ) = f [ x ( k ) , u ( k ) , k ] (6) \begin{aligned} &连续时间系统\quad \dot{\pmb{x}}(t)=f[\pmb{x}(t),\pmb{u}(t),t]\\ &离散时间系统\quad \pmb{x}(k+1)=f[\pmb{x}(k),\pmb{u}(k),k] \end{aligned}\tag{6} 连续时间系统x˙(t)=f[x(t),u(t),t]离散时间系统x(k+1)=f[x(k),u(k),k](6)

2.2 明确控制作用域
在工程实际问题中,控制矢量 u ( t ) \pmb{u}(t) u(t) 往往不能在 R r \pmb{R}^r Rr 空间中任意取值,而必须受到某些物理限制,例如,系统中的控制电压,控制功率不能取的任意大。即 u ( t ) \pmb {u}(t) u(t) 要满足某些约束条件,记:
φ j ( x , u ) ≤ 0 , j = 1 , 2 , ⋯   , m ( m ≤ r ) (7) \varphi_j(\pmb{x},\pmb{u})\leq 0,\quad j=1,2,\cdots,m(m\leq r)\tag{7} φj(x,u)0,j=1,2,,m(mr)(7)

这时,在 R r \pmb{R}^r Rr 空间中,把所有满足上式的点 u ( t ) \pmb{u}(t) u(t) 的集合,记作:
U = { u ( t ) ∣ φ j ( x , u ≤ 0 ) } (8) U=\{\pmb{u}(t)|\varphi_j(\pmb{x},\pmb{u}\leq0)\}\tag{8} U={u(t)φj(x,u0)}(8)

U U U 称为控制集。把满足
u ( t ) ∈ U (9) \pmb{u}(t)\in U\tag{9} u(t)U(9)

u ( t ) \pmb{u}(t) u(t) 称为容许控制

2.3 明确初始条件
通常,最优控制系统的初始时刻 t 0 t_0 t0 是给定的。如果初始状态 x ( t 0 ) \pmb{x}(t_0) x(t0) 也是给定的,则称为固定始端。如果 x ( t 0 ) \pmb{x}(t_0) x(t0) 是任意的,则称自由始端。如果 x ( t 0 ) \pmb{x}(t_0) x(t0) 必须满足某些约束条件:
ρ [ x ( t 0 ) ] = 0 , j = 1 , 2 , ⋯   , m ( m ≤ n ) (10) \rho[\pmb{x}(t_0)]=0,j=1,2,\cdots,m(m\leq n)\tag{10} ρ[x(t0)]=0,j=1,2,,m(mn)(10)

相应的始端集为:
Ω 0 = { x ( t 0 ) ∣ ρ [ x ( t 0 ) ] = 0 } (11) \Omega_0=\{\pmb{x}(t_0)|\rho[\pmb{x}(t_0)]=0\}\tag{11} Ω0={x(t0)ρ[x(t0)]=0}(11)

此时, x ( t 0 ) ∈ Ω 0 \pmb{x}(t_0)\in\Omega_0 x(t0)Ω0,则称为可变始端。

2.4 明确终端条件
类似于始端条件,固定终端是指终端时刻 t f t_f tf 和终端状态 x ( t f ) \pmb{x}(t_f) x(tf) 都是给定的。
自由终端是在给定 t f t_f tf 情况下, x ( t f ) \pmb{x}(t_f) x(tf) 可以任意取值不受限制。
可变终端则是指 x ( t f ) ∈ Ω f \pmb{x}(t_f)\in\Omega_f x(tf)Ωf 的情况。其中
Ω f = { x ( t f ) ∣ φ j [ x ( t f ) ] = 0 } (12) \Omega_f=\{\pmb{x}(t_f)|\varphi_j[\pmb{x}(t_f)]=0\}\tag{12} Ωf={x(tf)φj[x(tf)]=0}(12)

是由约束条件 φ j [ x ( t f ) ] = 0 \varphi_j[\pmb{x}(t_f)]=0 φj[x(tf)]=0 所形成的一个目标集

2.5 给出目标泛函,即性能指标
对连续时间系统,一般表示为:
J = Φ [ x ( t f ) ] + ∫ t 0 t f L [ x ( t ) , u ( t ) , t ] d t (13) \pmb{J}=\Phi[\pmb{x}(t_f)]+\int_{t_0}^{t_f}L[\pmb{x}(t),\pmb{u}(t),t]\mathrm{d}t\tag{13} J=Φ[x(tf)]+t0tfL[x(t),u(t),t]dt(13)

对离散时间系统,一般表示为:
J = Φ [ x ( N ) ] + ∑ k = k 0 N − 1 L [ x ( k ) , u ( k ) , k ] (14) \pmb{J}=\Phi[\pmb{x}(N)]+\sum_{k=k_0}^{N-1}L[\pmb{x}(k),\pmb{u}(k),k]\tag{14} J=Φ[x(N)]+k=k0N1L[x(k),u(k),k](14)

上述形式的性能指标由两部分组成,等式右边第一项反映对终端性能的要求,例如对目标的允许误差、脱靶情况等,称为终端指标函数;第二项中 L L L 为状态控制过程中对动态品质及能量或燃料消耗的要求等,称为动态指标函数

最优控制问题,就是从可供选择的容许控制集 U U U 中,寻求一个控制矢量 u ( t ) \pmb{u}(t) u(t),使受控系统在时间域 [ t 0 , t f ] [t_0,t_f] [t0,tf] 内,从初态 x ( t 0 ) \pmb{x}(t_0) x(t0) 转移到终态 x ( t f ) \pmb{x}(t_f) x(tf) 时,性能指标 J J J 取最小(大)值。满足上述条件的控制 u ( t ) \pmb{u}(t) u(t) 称为最优控制 u ⋆ ( t ) \pmb{u}^\star(t) u(t)。在 u ⋆ ( t ) \pmb{u}^\star(t) u(t) 作用下状态方程的解,称为最优轨线 x ⋆ ( t ) \pmb{x}^\star(t) x(t)。沿最优轨线 x ⋆ ( t ) \pmb{x}^\star(t) x(t),使性能指标 J J J 所达到的最优值,称为最优指标 J ⋆ J^\star J

按线性二次型性能指标设计的系统,因为是线性控制率,便于工程上实现,所以在实践中获得成功的应用。线性二次型性能指标的一般形式为:
J = 1 2 x T ( t f ) Q 0 x ( t f ) + 1 2 ∫ t 0 t f [ x T ( t ) Q 1 x ( t ) + u T ( t ) Q 2 u ( t ) ] d t 和 J = 1 2 x T ( N ) Q 0 ( N ) x ( N ) + 1 2 ∑ k = k 0 N − 1 [ x T ( k ) Q 1 ( k ) x ( k ) + u T ( k ) Q 2 ( k ) u ( k ) ] J=\dfrac{1}{2}\pmb{x}^T(t_f)Q_0\pmb{x}(t_f)+\dfrac{1}{2}\int_{t_0}^{t_f}[\pmb{x}^T(t)Q_1\pmb{x}(t)+\pmb{u}^T(t)Q_2\pmb{u}(t)]\mathrm{d}t\\[2ex] 和\quad J=\dfrac{1}{2}\pmb{x}^T(N)Q_0(N)\pmb{x}(N)+\dfrac{1}{2}\sum_{k=k_0}^{N-1}[\pmb{x}^T(k)Q_1(k)\pmb{x}(k)+\pmb{u}^T(k)Q_2(k)\pmb{u}(k)] J=21xT(tf)Q0x(tf)+21t0tf[xT(t)Q1x(t)+uT(t)Q2u(t)]dtJ=21xT(N)Q0(N)x(N)+21k=k0N1[xT(k)Q1(k)x(k)+uT(k)Q2(k)u(k)]

式中, Q 0 , Q 1 , Q 2 Q_0,Q_1,Q_2 Q0,Q1,Q2 Q 0 ( N ) , Q 1 ( k ) , Q 2 ( k ) Q_0(N),Q_1(k),Q_2(k) Q0(N),Q1(k),Q2(k) 称为加权矩阵。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值