跳转到内容

代数Riccati方程

维基百科,自由的百科全书

代数Riccati方程(algebraic Riccati equation)是最优控制的非线性方程,和连续时间或是离散时间下,无限时间(infinite-horizon)的最优控制有关。

标准的代数Riccati方程如下:

连续时间代数Riccati方程(CARE):

离散时间代数Riccati方程(DARE):

P是未知数的n×n对称矩阵,ABQR是已知系数矩阵。

一般而言此方程式有许多的解,不过若有存在稳定解的话,希望可以找到稳定解。

名称的起源

[编辑]

此方程名称中有Riccati,是因为和Riccati方程的关系。连续时间代数Riccati方程(CARE)可以由相关矩阵值的Riccati微分方程的非时变解来验证。离散时间代数Riccati方程(DARE)可以由矩阵值的Riccati微分方程的非时变解来验证(类似离散时间LQR下的Riccati微分方程)。

离散时间的代数Riccati方程

[编辑]

在无限时间的最佳控制问题中,关注的是一些变数在相当时间之后的值,因此需在现在选定控制变数的值,让系统在之后的时间都在最佳状态下运作。控制变数在任意时间下的最佳值可以用Riccati方程的解以及状态变数当时的观测值求得。若观测变数及控制变数都不只一个,Riccati方程就会是矩阵方程。

代数Riccati方程可以决定无限时间下非时变LQR控制器的解,以及无限时间下非时变LQG控制的解。这两个是控制理论中的基础问题。

典型的离散时间LQR问题,是要最小化以下的函数

其状态方程如下

其中 yn × 1 的状态变数向量,uk × 1 的控制变数向量,An × n 的状态递移矩阵,Bn × k 的控制系数矩阵,Q (n × n) 是对应半正定状态损失函数矩阵,R (k × k) 是对应正定的控制损失函数矩阵。

从最后时间往前的推导可以找到每一个时间的最佳控制解[1]

其中对应正定cost-to-go矩阵 P 会依下式,配合,以逆向时间推导

这个就是离散时间的代数Riccati方程。P的稳态解和和T趋近无限大时的无限时间问题有关,可以将动态方程反复迭代直到收敛,来求得P的稳态解,之后再将动态方程中的时间标注移除,来确认稳态解是否正确。

求解

[编辑]

若代数Riccati方程存在稳定解,求解器一般会设法找到唯一的稳定解。稳定解的意思是指用此解控制相关的LQR系统,可以使闭回路的系统稳定。

针对CARE,其控制律为

闭回路递移矩阵为

其稳定的充份必要条件是所有的特征值都有负的实部。

针对DARE,其控制律为

闭回路递移矩阵为

其稳定的充份必要条件是所有的特征值在复数平面的单位圆内。

代数Riccati方程的解可以用Riccati方程的的迭代或是矩阵因式分解求得。离散时间问题的一种迭代方式是由有限时间问题下的动态Riccati方程,每一次迭代时,矩阵中的值都是从最终时间往前一段有限时间内的最佳解,若进行无限长的迭代。就会分敛到特定矩阵,是无限时间内的最佳解。

针对大型系统,也可以用找特征分解的方式求解。针对CARE,可以定义汉弥尔顿矩阵

因为是汉弥尔顿矩阵,若在虚轴上没有特征值,则会有恰好一半的特征值会有负的实部。若定义矩阵,其纵排(column)形成对应子空间的基底,表示为区块矩阵的形式,如下所示

是Riccati方程的解。而且的特征值即为特征值中有负实部的特征值。

针对DARE,若是可逆矩阵,可以定义辛矩阵

因为是辛矩阵,若在单位圆圆周上没有特征值,则会有恰好一半的特征值会在单位圆内。若定义矩阵,其纵排(column)形成对应子空间的基底,表示为区块矩阵的形式,如下所示 则

是Riccati方程的解。而且的特征值即为特征值中,在单位圆内的特征值。

相关条目

[编辑]

参考资料

[编辑]
  1. ^ Chow, Gregory. Analysis and Control of Dynamic Economic Systems. New York: John Wiley & Sons. 1975. ISBN 0-471-15616-7. 

外部链接

[编辑]