![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/202299/image.png)
MPC Controllerで多目的最適化問題は解けますか?
5 views (last 30 days)
Show older comments
yu uchimura
on 19 Jul 2018
Answered: Shunichi Sekiguchi
on 1 Feb 2019
現在、simulinkのMPC Controllerを用いて空調制御のシミュレーションを行っております。その際にMPC Controller内に目的関数を追加し、それらを同時に満たすような多目的最適化問題を解くことは可能でしょうか?もし、MPCで解けない場合は、MATLAB内の最適化アプリで解くしか方法がないのでしょうか?基礎的なことで大変申し訳ありませんが、ご回答よろしくお願いいたします。
0 Comments
Accepted Answer
Shunichi Sekiguchi
on 1 Feb 2019
結論としてはsimulinkのMPCでの解法は困難だと思います.
Matlabの最適化ツールでは,多目的最適化問題の解法ツールがありますが,そこで状態方程式を制約条件として入れ込むことができるのであれば可能かと思います.
モデル予測制御は以下の評価関数を状態方程式という制約条件のもとで解法する手法になります.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/202299/image.png)
状態方程式が,線形モデルの場合は結果として,簡単な二次計画問題(状態量や入力の制約がある場合は制約付き)に落とし込むことができ,凸問題であることから,最適解が1つに定まります.よって,ライブラリ等の実装も容易です.ちなみに非線形モデルの場合は偏微分等を求める必要があり,ハンドメイド的な手法でありかつ,二点境界値問題を解法する必要があるため,ライブラリ作成は厳しいです.
実際,Matlabのコントローラーも線形のものに対応したものになるかと思います.(MPCの解説サイトでは,専用QPアルゴリズムが実装されていると書いてあります.QPはquadprogつまり,二次計画問題です.)
以上を踏まえると,目的変数を新たに追加して,最適化を行う場合は,状態方程式という制約のついた多目的最適化問題になること,また,パレート最適解等を求める最適化のアルゴリズムは実装されていないことから,simulinkのMPCでの解法は困難かと思います.
Matlabの最適化ツールでは,多目的最適化問題の解法ツールがありますが,状態方程式が制約条件として入れ込めるかどうかは確認できてません.もし各目的変数の最適化問題として,状態方程式が制約条件として入れ込めるなら解法は可能かと思います.
0 Comments
More Answers (0)
See Also
Categories
Find more on Code Generation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!