最適制御

最適制御（さいてきせいぎょ、英: optimal control）の理論は、場合によれば制約条件のもとで、性能の判別値を最小化（もしくは最大化）させるところのひとつの系の制御を決定するのを、可能にする。人はその状態における同じ型の制約条件を検討に加えるがしかし、さらに古典的な（さらに加えて単純な）場合にはその制御における不等式の形の制約条件のものになる。この理論は変分法における一般化のひとつである。それらは二つの面の組み合わせである： レフ・ポントリャーギンならびにモスクワのステクロフ研究所の彼の協同者らの最大値（もしくは最小値）の原理 アメリカのリチャード・ベルマンによって導入された動的計画法の方向から関係する、ハミルトン-ヤコビ方程式の一般化である、ハミルトン-ヤコビ-ベルマン方程式 最適制御の理論はオートメーション工学（フランス語版）ならびに応用数学（もしくは処理工程の数理最適化）の一部をなす。変分法の一般化としてのこの理論において、それらは数理物理学における応用のひとつの分野であり、そして純粋数学の合流の現代の理論の進展の結果でもある。 最近の研究業績はまず最初に、根本的な修正なしに二つのアプローチの一般化をもつ；それはフランク・H.クラークが導入した一般化された勾配（仏: gradients généralisés）（もしくは一般化された微分〈仏: differentielles généralisés〉）を用いた、この研究者による滑らかでない解析（仏: analyse non lisse）の枠組みにおける微分可能性の制約を弱めた方向を巡る良い部分についてである。ポントリャーギンと彼の共同者の元の理論における断片の連続関数のもののところよりもより一般の自然な制御におけるふるまいをそれらは持つ：とりわけルベーグ可測関数。別のひとつの門脈の拡張としての遅れを伴った系ならびに無限次元におけるさらなる一般化がある。他方では、特殊な数学のテクニックのこの終わりからの展開をもった後の地味な時期に、ボルチャンスキーは系についての最大値原理のひとつの弱い版の結果をもたらした、けれどもカルーシュ・クーン・タッカー条件から出たその結果の難しさなしに人は証明を与える。凸集合の一定の条件のもとで、系のこのタイプについての真の最大値の原理を人はしかしながら認める。 元来、ポントリャーギンの最大原理は最適性におけるひとつの必要条件である、一方で、動的計画法はひとつの十分条件を提供する。他方では、動的計画法は（系における状態の関数の）ひとつの閉じたループ　（フランス語版）（仏: boucle）上の制御でふるまうものであるのに、最大原理は（時間の関数の）ひとつの開じたループ上の解として与える。 しかしながら、最大原理の制御の解は、閉じたループにおけるひとつの制御の形から見た適用である、この好都合な場合において、与えられる。しかしながら、動的計画法における最大原理のひとつの大きな利点は、前者そのものが、（問題が<<重端での>>事柄によって、しかしながら酷く複雑であるものである分解の）常微分方程式のその分解であるままの場合に対し、後者が、（ハミルトン-ヤコビ-ベルマン方程式の）偏微分を通した或る方程式の分解を導く、連続な時間でのその系にそれらが適用される場合に、仕事での簡単さをさらに大きく付け加えることである。 動的計画法それ自体は確率的な系におけることと同じく決定的な系にも同じ程度に適用される。しかしながら最大原理は（少しの例外をもって）決定論の場合のようには適用できない。 最適制御問題は一般的には非線形であり、したがって、線形二次最適制御問題（英語版）のような解析的な解をもたない、結果として、最適制御問題を解くような数値的方法を採用することが必要である。 およそ1950年代から1980年代までの最適制御の初期の年代では最適制御問題についてのもてはやされたアプローチは間接法（英: indirect method）だった。間接法では、その変分法は一次の最適条件を満たすよう採用される。これらの条件は二点（もしくは多点の、複合問題の場合）における境界値問題の結果を与える。この境界値問題はハミルトニアン（英語版）の微分をとることから実際には特殊な構造を有する。このようにして、力学系の結果は次の形のハミルトン系（英語版）である。 x ˙ = ∂ H ∂ λ λ ˙ = − ∂ H ∂ x {\displaystyle {\begin{array}{lcl}{\dot {\textbf {x}}}&=&{\frac {\partial H}{\partial {\boldsymbol {\lambda }}}}\\{\dot {\boldsymbol {\lambda }}}&=&-{\frac {\partial H}{\partial {\textbf {x}}}}\end{array}}} ここに H = L + λ T a − μ T b {\displaystyle H={\mathcal {L}}+{\boldsymbol {\lambda }}^{\mathsf {T}}{\textbf {a}}-{\boldsymbol {\mu }}^{\mathsf {T}}{\textbf {b}}} は独立変数ハミルトニアン（英: argumented Hamiltonian）であって、間接法においては、境界値問題は適切な境界もしくは横断的な条件（英: transversality condition）を用いて解かれる。間接法を使うことの美しさは、状態ベクトルならびに随伴ベクトル（たとえば λ {\displaystyle {\boldsymbol {\lambda }}} ）が求める解とそれについての極軌道にたいして前もって確実に解けることである。間接法の欠点は（特に、時間間隔が長い問題や内点の制約条件のある問題について）その境界値問題を解くことがしばしば極端に難しくなることである。間接法を実装した有名なソフトウェア・プログラムはBNDSCO である。 （たとえば、1980年代から現在までの）過去20年間における数値的な最適制御での峻峰へ登頂するアプローチは直接法（英: direct method）と呼ばれるものの事である。直接法では、その状態ならびに／や制御は（たとえば、多項式近似（英語版）（英: polynomial approximation）もしくは区分折線近似（英語版）（英: piecewise constant parameterization）での）適当な関数近似（英語版）を用いて近似される。同時に色々に使える費用は費用関数 （英: cost function）として近似される。それ故、関数近似の係数は最適化の変数として扱われる、そして問題は次の形の非線形の最適化問題へと「書き直される」： F ( z ) , {\displaystyle F({\textbf {z}}),} を最小化、ただしここで代数的制約： g ( z ) = 0 h ( z ) ≤ 0 {\displaystyle {\begin{array}{lcl}{\textbf {g}}({\textbf {z}})&=&{\textbf {0}}\\{\textbf {h}}({\textbf {z}})&\leq &{\textbf {0}}\end{array}}} を条件とする 非線形最適化問題の規模は（たとえば、直接ねらい撃ちするか、準線形の方法のようにして）極めで小さくできるか、（たとえば、擬スペクトル的最適制御（英語版）のようにして）緩和されるか、もしくは（たとえば、直接選点法のように）極めて大きくなるかもしれない、採用した直接法の類型に依存する。後者の場合（例えば、選点法）、非線形最適化問題は文字通り千から十万の変数と制約条件になる。直接法から起こる、与えられる規模の大きさは、境界要素法を解くことよりも非線形最適化問題を解くことが易しいという、直観に多少反して現れるかもしれない。それは、しかしながら、境界要素法よりも非線形最適化問題（NLP）の方が解くことが易しいという事実である。計算の相対的な容易さについての理由、特に直接選点法は、NLPが疎ら（まばら、英: sparse）であり、大規模なNLPを解くような多くの良く知られたソフトウェア・プログラム（例えば、SNOP（英語版））が存在する、事である。結果として、（特に最近極めて普及したものである直接「選点法」の）直接法を通して解き得るものの問題の適用範囲は、間接法を通して解き得るものである問題の適用範囲よりも著しく大きい。 事実として、直接法は最近それ程普及するようになったので、多くの人々はこれらの解法を採用する改善されたソフトウェアを書くようになった。特に、多くのプログラムの中にはDIRCOL、SOCS、OTIS、GESOP/ASTOS（英語版）、DITAN、PyGMO/PyKEPが含まれる。近年MATLABプログラミング言語の到来に従い、産業開発用MATLABツールの一例としてPROPT（英語版）が在る折に、RIOTS、DIDO（英語版）、DIRECT、GPOPSを含む直接法を実装するMATLABソフトウェアツールでの最適制御ソフトウェア。これらのソフトウェア・ツールは学術研究、ならびに産業問題の両方についての複雑な最適制御問題を人々が探求するような機会を著しく増やした。結果として、CやFORTRANで既に可能であったよりも、著しく簡単にTOMLAB（英語版）のような汎用のMATLAB最適化環境で複雑な最適制御問題のコーディングをするようになった、ことは注目される。 APMonitor（英語: APMonitor）（PythonとMATLABのための動的最適化用プラットフォーム） DIDO (ソフトウェア)（英語: DIDO (software)） DNSS point（英語: DNSS point） GPOPS-II（英語: GPOPS-II） H∞制御理論 JModelica.org（英語: JModelica.org）（動的最適化のためのModelicaベースのオープン・ソースのプラットフォーム） PROPT（英語: PROPT）（MATLABのための最適制御ソフトウェア） SNOPT（英語: SNOPT） ガウス擬スペクトル法（英語: Gauss pseudospectral method） ガウス線形二次制御（フランス語: commande LQG） 滑動状態制御（英語: sliding mode control） カルマンフィルター 擬スペクトル的最適制御（英語: pseudospectral optimal control） 軌道最適化（英語: trajectory optimization） 最速降下曲線 自由エネルギー原理（英語: free energy principle） 状態帰還制御（フランス語: commande par retour d'état） 線形二次整流器（英語: linear-quadratic regulator） 追跡-回避（英語: pursuit-evasion）ゲーム 動的計画法 汎用濾波器（英語: Generalized filtering） 非決定論的制御（英語: Stochastic control） ベルマン方程式 ベルマン擬スペクトル法（英語: Bellman pseudospectral method） 変分法 模型予測制御（英語: model predictive control）