最適制御
オイラー・ラグランジュ方程式
システム・初期状態・評価関数が与えられた時に評価関数を最小化する最適な制御入力が満たすべき必要条件。数理最適化問題におけるKKT条件と考えることができる。
動的計画法
動的計画法ではアルゴリズムの分野では対象となる問題を複数の部分問題に分割し、部分問題の計算結果を記録しながら解いていく手法の総称を指す。 最適制御における動的計画法とは評価関数の最小値を再帰的に表す手法のことを指す。
ベルマン方程式
動的計画法によって表された値関数の再帰一回分を取り出した時刻kと時刻k+1の値関数の関係式。オイラー・ラグランジュ方程式によって最適制御が満たすべき必要条件が導かれるが、最適制御問題が持つ時間的な構造を使うことで導かれる別の形の最適性条件がこのベルマン方程式で表される。
最適制御の必要条件
ベルマン方程式の終端条件のもとでベルマン方程式が成立する
最適制御の十分条件
変分法
連続時間システムの最適制御において基礎となる、関数の微分を汎関数に拡張したもの。
最適制御の数値解法
以下の最適制御の数値解法はシステムが連続時間でも離散時間でも離散的に求める手法である。離散システムの場合は数値的に積分操作を行うなどの操作が発生する。
| 数値解法 | 長所 | 短所 | 適する用途 |
|---|---|---|---|
| 勾配法 | Hの高階偏導関数が不要 | 最適解近傍での収束が遅い | 最適解のおおよその様子を手軽に知りたい時 |
| シューティング法 | 未知量が有限次元 | 計算が発散しやすい | 良好な初期推定解を選べる時 |
| ニュートン法(2次の勾配法) | 最適解近傍での収束が速い | Hの高階偏導関数が必要で各反復における計算量が多い | 最適解を精度良く求めたい時 |
| 動的計画法 | 状態フィードバック制御が得られる | 状態の次元が高いと記憶量が膨大 | 状態の次元が低いか、狭い範囲だけ考慮すれば良い時 |
勾配法(最急降下法による実装)
ハミルトン関数の制御入力偏微分\(\frac{\partial H}{\partial u}\)が0になるまで\(-\frac{\partial H}{\partial u}\)を探索方向とし、直線線探索と組み合わせて\(u\)を更新する手法。随伴変数は随伴方程式から\(\frac{\partial H}{\partial x}\)を使って求める。反復によって調整する状態量は制御量\(u\)。
シューティング法
シューティング法という名前は初期値から状態量を操作し、終端条件を合わせにいく様が射撃に似ていることからこの名がつけられた。
遷移行列による方法
開始時間における随伴変数の初期値を与え、初期状態量と随伴変数を条件として連立微分方程式を終端時間まで解き、状態量と随伴変数を求める。その後方程式から制御量が求まる。終端時刻における随伴変数が\(\frac{\partial \phi}{\partial x}\)に十分に近づくまで随伴変数を更新する。 反復によって調整する状態量は随伴変数\(\lambda\)。
DDP(Differential Dynamic Programming)
iLQR(interactive Linear Quadratic Regulator)
SLQ(Sequential Linear Quadratic Regulator)
| 数値解法 | 反復における操作量 | 特徴 |
|---|---|---|
| 遷移行列による方法 | 随伴変数 | |
| iLQR | 制御入力 | 後退パスの最適化方法がガウスニュートン法 |
| DDP | 制御入力 | 後退パスの最適化方法が2次近似のニュートン法 |
| SLQ | 制御入力 | ??? |
入力量のニュートン法
勾配法(最急降下法による実装)においてはt探索方向の決定に\(\frac{\partial H}{\partial u}\)を使用したがこれは最適化問題を1次近似し反復によって最適解を求めている。ならば二次近似してニュートン法によって解くことも考えられる。この方法では線形2点境界値問題を解くことで\(\delta x\)、\(\delta \lambda\)が求められそこから\(\delta u\)が求められるため\(\delta u\)を探索方向としたものである。