ツールボックス等を組​み合わせることによる​MPCの作成可能の有​無

4 views (last 30 days)
sano
sano on 22 Jun 2020
Commented: Kohei Iwamoto on 27 Jul 2020
Ubuntu 17.10(x64)でMatlab 2019aを使用しています。
モデル予測制御(以下、MPC)による最適制御を試みているのですが、
予測モデルをDeep Learning Tool Boxで作成したブラックボックスモデルに変更したいと
考えております。
また下記のタイトルの論文ではANNのツールボックスと遺伝的アルゴリズム(以下、GA)で
MPCを作成しています。
[タイトル] A zone-level, building energy optimisation combining an artificial neural network, a genetic algorithm, and model predictive control
つきましては以下の質問に答えていただければ幸いです。
  1. 制御工学の知識が不足しており大変失礼かつ初歩的な質問であるとは思いますが、上記のようにANNとGAを組み合わせることでMPCといえるのでしょうか。MPCツールボックスではより複雑な設定が必要であるとおもっていたので、
  2. MPCツールボックスでは最適化手法として遺伝的アルゴリズムではないものを使用しているのですか。 MPCツールボックスを別のツールボックス等で再現する場合どのような組み合わせになるのかご教示いただけると幸いです。

Accepted Answer

Kohei Iwamoto
Kohei Iwamoto on 23 Jul 2020
1について
MPCは制御対象の予測モデルを用いて将来の予測区間にわたる応答を入力を用いて最適化することを目的としています。
詳細は確認しておりませんが参考になられている文献では、ANNを予測モデルとして、GAをエネルギー消費量を最小とする入力を求めるための最適化ソルバーに使用している模様です。
毎周期出力をフィードバックして、予測モデルを使って最適化計算を実行していることから一つのMPCであると言えます。
2について
GAはメタヒューリスティック最適化と呼ばれる分野の最適化手法です。
MPCのツールボックスでは2次計画問題(QP)を解くためのソルバー(アクティブセットや内点法)を使用しています。
MPCは毎制御周期で最適化計算を収束させることが求められるため計算の速いソルバーを必要とします。
一般にGAなどのヒューリスティック計算は計算に時間が掛かるため、MPCには不向きですが、時定数が大きい応動のゆっくりしたプラントでは制御周期を分単位で長く取れたりするケースがあるため、GAなどでも十分に対応できるケースはあります。
MPCツールボックス以外でMPC相当の実装を行うとなると、制約や評価関数の計算はご自身でMATLAB関数を作成して頂くこととして、ソルバーには以下の2つの製品をご利用頂くことが可能かと思います。
Global Optimization Toolbox:GAなどのメタヒューリスティックソルバーを提供
Optimization Toolbox:線形計画(LP)、2次計画(QP)、非線形計画(NLP)ソルバーなどを提供
なお、Deep Learning ToolboxではSISOに限り、NNを用いた予測コントローラーが提供されています。
(下記URLをご参照ください)
  3 Comments
sano
sano on 27 Jul 2020
また追加で質問なのですが、
Simulink によるニューラル ネットワーク予測コントローラーの設計にはView MATLAB Commandのような例題はありますでしょうか?
お忙しい中恐縮ですがご教示いただけると幸いです。
Kohei Iwamoto
Kohei Iwamoto on 27 Jul 2020
View MATLAB Commandはございませんが、下記コマンドにてドキュメンテーションで紹介されているモデルを起動することができます。
>>predcstr
利用方法の詳細に関しましては、ご紹介したドキュメンテーションの「ニューラル ネットワーク予測コントローラー ブロックの使用」の節をご確認下さい。

Sign in to comment.

More Answers (0)

Categories

Find more on Model Predictive Control Toolbox 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!