概要

前回はいわゆるフィードフォワードの最適制御について考えた。 すなわち、ある初期時刻$t_0$と初期状態$x(t_0)$が一つ与えられたときに、終端時刻$t_f$までに加える最適入力$u(t)$を求めようとした。 そして、最適な$u(t)$を求めるためには、オイラー・ラグランジュ方程式という微分方程式を解かなくてはならないことが示された。 このアプローチでは、初期状態$x(t_0)$が少しでも変化すると、オイラー・ラグランジュ方程式を新たに解き直す必要があり、とても時間が掛かる。

そこでここからは、フィードバックの最適制御について考える。 すなわち、任意の時刻$t$と状態$x(t)$が与えられたときに、終端時刻までに加える最適制御$u(x,t)$を求めたいのである。

問題

連続時間の非線形ダイナミクス $$\dot x = f(x,u,t)$$ にしたがうシステムに対して、状態フィードバック$u=u(x,t)$を設計することで、評価関数 $$J = \phi(x(t_f),t_f) + \int_{t}^{t_f}L(x(\tau),u(\tau),t)d\tau$$ を最小化したい。 ここで初期値$x,t$は任意であるとする。

必要条件

$J$を最小化する$u$が満たすべき方程式としてハミルトン・ヤコビ・ベルマン方程式 (HJB equation : Hamilton-Jacobi-Belman equation)が知られている。 これはハミルトニアン $$ H(x,\lambda,u,t):=L(x,u,t)+\lambda^t_f f(x,u,t) $$ 及び値関数 $$ J^o(x,t) = \min_u J $$ に対して $$ \frac{\partial J^o}{\partial t} + \min_u H\left(x,\frac{\partial J^o}{\partial x},u,t \right) = 0 $$ として記述される。 この偏微分方程式の境界条件は $$ J^o(x(t_f),t_f) = \phi(x(t_f),t_f) $$ である。

導出

値関数$J^o$は、「時刻$t$と、その時点で与えられたシステムの状態$x$に対して、その時刻以降$t_f$までに最適な入力を加えることにより最小化されたときのコスト」を表す。 ベルマンの最適性の原理により微小時刻$\Delta t$に対して $$ J^o(x(t),t) = \min_u\left\{ J^o(x(t+\Delta t), t+\Delta t) + \int_t^{t+\Delta t} L(x(\tau),u(\tau),\tau)d\tau \right\} $$ が成り立つ。 この式が意味するところは、「時刻$t$から$t_f$までに最適な入力を求める」のと、「時刻$t+\Delta t$から$t_f$までに最適な入力がすでに求まっているときに、時刻$t$から$t+\Delta t$までの最適な入力を求める」のは一緒、ということ。 $J^o(x(t+\Delta t),t+\Delta t)$をテーラー展開すると $$ J^o(x(t+\Delta t),t+\Delta t) = J^o(x(t),t) + \left\{ \frac{\partial J^o}{\partial x}f(x,u,t) + \frac{\partial J^o}{\partial t} \right\}\Delta t + O(\Delta t^2) $$ これを代入すると $$ J^o(x(t),t) = \min_u\left\{ J^o(x(t),t) + \left\{ \frac{\partial J^o}{\partial x}f(x,u,t) + \frac{\partial J^o}{\partial t} \right\}\Delta t + \int_t^{t+\Delta t} L(x(\tau),u(\tau),\tau)d\tau + O(\Delta t^2) \right\} $$ $J^o$及び$\frac{\partial J^o}{\partial t}$は$u$に陽に依存しないため、括り出して$\Delta t\rightarrow 0$とすると $$ \frac{\partial J^o}{\partial t} + \min_u\left\{ L(x,u,t) + \frac{\partial J^o}{\partial x}f(x,u,t) \right\} $$ が得られる。 残りはハミルトニアン及びラグランジュ乗数の定義を用いて終了。

解法

HJB方程式の解析的な解法は知られておらず、良い数値解法についても研究が活発に行なわれている。