19-1. リッカチ代数方程式

最適制御、特に線形二次レギュレータ(LQR)の問題において、無限時間評価関数を最小化する際に現れるのがリッカチ代数方程式(Algebraic Riccati Equation, ARE)である。ここでは、リッカチ代数方程式の直感的な導出過程を説明する。

最適制御問題の設定

式(1)の線形システムと式(2)の評価関数を考える。
・状態方程式:$$\dot{x}(t) = Ax(t) + Bu(t) \quad \cdots (1) \\ A \; (n \times n),\quad B \;(n \times m)$$
・評価関数 (無限時間):$$J = \int_{0}^{\infty} (x^T Q x + u^T R u) dt \; \quad \cdots (2)$$※ ここで \(Q \ge 0,\quad R > 0\) は重み行列。
この \(J\)を最小にする最適な入力\(u(t)\)を求めることが目的である。

ベルマンの最適性の原理とHJB方程式

最適なコスト関数(価値関数)を\(V(x)\)と定義する。無限時間の場合、システムの定常性を仮定すると、HJB(ハミルトン・ヤコビ・ベルマン)方程式は式(3)のように書ける。$$0 = \min_{u} [ x^T Q x + u^T R u + \nabla V^T (Ax + Bu) ] \quad \cdots (3)$$ここで、LQR問題では価値関数 \(V(x)\)が状態量\(x\) の二次形式になると仮定するのが一般的である。つまり、下に凸な、お椀型の形状を想定している。\(P \; (n \times n)\)を正定行列(対称行列)とすると、$$V(x) = x^T P x \quad (P = P^T > 0) \quad \cdots (4)$$このとき、\(\nabla V = 2Px\) となる。これを式(3)のHJB方程式に代入すると、$$0 = \min_{u} [ x^T Q x + u^T R u + 2x^T P (Ax + Bu) ] \quad \cdots (5)$$となる。

最適制御入力\(u^*\) の決定

式(5)の括弧内を\(u\)について最小化するため、\(u\)で微分して\(0\)と置く。$$\frac{\partial}{\partial u} [ u^T R u + 2x^T PBu ] = 2Ru + 2B^T Px = 0 \quad \cdots (6)$$これを\(u\)について解くと、最適なフィードバック制御則の式(7)が得られる。$$u^* = -R^{-1} B^T P x \quad \cdots (7)$$

リッカチ代数方程式の導出

式(7)の最適な入力\(u^*\)を、再び式(5)のHJB方程式に代入する。$$x^T Q x + (-R^{-1} B^T P x)^T R (-R^{-1} B^T P x) + 2x^T P \{Ax + B(-R^{-1} B^T P x)\} = 0 \quad \cdots (8)$$\(P=P^T >0\)(\(P\)は対称行列)であることに注意して、各項を整理する。
第2項: \(x^T P B R^{-1} R R^{-1} B^T P x = x^T P B R^{-1} B^T P x\)
第3項:\(2x^T PAx - 2x^T P B R^{-1} B^T P x\)
これらをまとめると、$$x^T Q x + x^T P B R^{-1} B^T P x + x^T (A^T P + PA) x - 2x^T P B R^{-1} B^T P x = 0 \\ x^T (A^T P + PA - P B R^{-1} B^T P + Q) x = 0 \quad \cdots (9)$$式(9)が任意の状態\(x\)に対して成立するためには、括弧内の行列が零行列である必要があり、これが式(10)に示すリッカチ代数方程式 (ARE) である。$$A^T P + PA - PBR^{-1}B^T P + Q = 0 \quad \cdots (10)$$
このリッカチ代数方程式を解いて得られる正定値行列\(P\)は、初期状態\(x(0)\)からの最小コスト \(J^* = x(0)^T P x(0)\)を表している。
また、最適ゲイン\(K\)は\(K = R^{-1} B^T P\)となり、最適制御入力は\(u = -Kx\)と記述される。

HJB(ハミルトン・ヤコビ・ベルマン)方程式

HJB方程式は、最適制御・動的計画法の中核となる偏微分方程式で、「最適化を時間連続系に拡張したもの」と考えられる。リチャード・ベルマンが提唱した「最適性の原理」は、「ある地点からゴールまでの最適な経路があるとき、その経路上のどの点からスタートしても、残りの経路はやはり最適でなければならない」つまり、「最適方策の部分もまた最適」というものである。これを数式で表現すると、「現在の瞬間のコスト」と「その後の未来でかかる最小コスト」の和を最小化すれば、全体も最適になるという考え方に繋がる。

HJB方程式の一般形

状態量\(x(t)\)、制御入力\(u(t)\)、システムの動特性\(\dot{x} = f(x, u)\)、および評価関数\(J = \int_{t}^{T} L(x, u) d\tau + \Psi(x(T))\) を考える。
最適なコスト関数(価値関数)を\(V(x, t)\)とすると、HJB方程式は式(11)の偏微分方程式として記述される。$$-\frac{\partial V}{\partial t}(x, t) = \min_{u} \left[ L(x, u) + \left( \frac{\partial V}{\partial x}(x, t) \right)^T f(x, u) \right] \; \quad \cdots (11)$$各項は以下のように考えられる。
・\(-\frac{\partial V}{\partial t}\): 時間の経過に伴う価値(最小コスト)の変化
・\(L(x, u)\): 「今、この瞬間」に支払うコスト(即時コスト)
・\(\frac{\partial V}{\partial x}^T f(x, u)\): 制御入力\(u\)によって状態が\(f\)だけ動いたとき、将来のコスト\(V\)がどれくらい変化するか(未来への影響)。
この括弧内全体はハミルトニアン\(H\)と呼ばれ、これを最小化する\(u\)が「今選ぶべき最善の手」になる。

価値関数\(V\)について

価値関数\(V(x)\)を二次形式\(x^T P x\)と仮定することは、数学的にも物理的にも「下に凸(凸関数)な、お椀型の形状(一次元で考えれば2次関数)」を想定していることに相当する。「お椀型」を仮定するその物理的な意味を整理する。
1)「お椀の底」が目標地点(平衡点)
LQR(線形二次レギュレータ)の目的は、状態\(x\)を原点\(x=0\)に収束させることである。
・\(V(x)\)は「原点からの遠さ(コスト)」を表す:原点から離れれば離れるほど、将来かかるコスト\(V(x)\)は大きくなる。
・下に凸の形状:\(x=0\)で\(V(0)=0\)となり、そこが最もコストが低い「お椀の底」になる。
・正定値性 (\(P > 0\)):\(V(x)\)が下に凸であるためには、行列\(P\)が正定値行列(すべての固有値が正)である必要がある。これにより、どの方向に\(x\)がずれても\(V(x) > 0\)となり、形状がお椀型に確定する。
2)Lyapunov(リアプノフ)関数としての役割
制御理論において、この「下に凸の価値関数」は、システムの安定性を証明するリアプノフ関数としての役割も果たす。
・エネルギーのイメージ:\(V(x)\)をシステムの「エネルギー」とみなすと、最適制御はこのエネルギーを最も効率的に減らして、底(原点)に落とし込む操作と言える。
・安定性の保証:\(V(x)\)が下に凸であり、かつ時間とともに減少(\(\dot{V} < 0\))することが示せれば、システムは必ず原点に収束(漸近安定)することが保証される。