モデル予測制御のホライズン決定方法

モデル予測制御の予測ホライズン、制御ホライズンに関する質問です。予測ホライズン、制御ホライズンの値はどのようにして決めるのが妥当なのでしょうか。
もちろん制御対象に対して適切なパラメータを設定することにはなると思うのですが、一般論として決め方があれば理由も併せて教えていただきたいです。素人質問かもしれませんが、ご回答頂ければと思います。
よろしくお願いします。

4 个评论

Atsushi Ueno
Atsushi Ueno 2023-12-13
编辑:Atsushi Ueno 2023-12-13
予測ホライズン値が大きい程、(制御対象の性質にも依存するが) よりゆったりとした(滑らかな)動きで目標値に追従し、かつなるべく早いタイミングで制約を回避する動きになる。
制御ホライズン値は「予測ホライズン値の内、何ステップ分の制御量を決定するか」を決める量。(決定しない制御量は、最後の決定値と同じ値とする)。これは最適化制御の設計変数の数に相当する。つまり値が大きいほど制御量の決定に時間が掛かるが、より早く最適制御量に到達する様になる。
ここからは私見ですが、予測ホライズン値は「予測の解像度」、制御ホライズン値は「計算量」と言えますね。これらの時間分解能は出来るだけ細かく、予測/制御ホライズン値は出来るだけ大きな値を取りたいところですが、計算時間がネックとなってしまい仕方なく予測/制御ホライズン値を削り、時間分解能を大きくした結果が最適な値となるのではないでしょうか?
Taiga
Taiga 2023-12-13
ご回答ありがとうございます。 ご提示いただいたビデオは以前視聴しましたが、自分自身の理解が正しいものかわからず質問させていただいた所存になります。 ご説明いただいた内容について確認させていただき、自分の理解が合っているのだと安心することができました。 丁寧な説明ありがとうございます。
質問を重ねるようで申し訳ないのですが、このパラメータの決め方としてMathWorksの動画(https://youtu.be/dAPRamI6k7Q?si=ooNmO7IX8x2gRGLC)では、経験則的に制御ホライズンは予測ホライズンの2~3割の値で使用すればいいと説明されています。 その一方で、予測ホライズンに関しましては決め方について特に明記されておりませんでした。 そこで別の予測ホライズンに関する質問及び回答を当フォームにて探したところ、予測ホライズンは時定数に近い値を取るのが良いという回答が見つかりました。 この回答の根拠がわからずそもそもの質問をさせていただいた所存です。 こちら、質問回答者の方のみでなく、是非他の方でもよろしいのでご教授もしくは見解を教えていただければと思います。 何卒、よろしくお願いします。
Atsushi Ueno
Atsushi Ueno 2023-12-13
なるほど。勉強になります。つまり「演算量の制約を無視してやたらめったら計算量を増やしたところで、結果に大きく影響するのは最初の方だけで、後の半分以上は殆ど影響しませんよ」って事ですね。
>制御ホライズンは予測ホライズンの2~3割の値で使用すればいい
「最初の2-3割が結果に大きく影響し、時間をかけて残りの7-8割を計算したところで殆ど結果に影響が無いから」という事ですね。
>予測ホライズンは時定数に近い値を取るのが良い
これも上記と似てますね。制御目標値に近付いてほぼ安定している部分まで予測ホライズンに含めたところで結果に殆ど影響が無いから、最初に制御目標に近付く部分(時定数に近い値)だけに集中すれば良いという事ですね。時定数は何%到達まででしたっけ?(ググりました)(目標値の)約63.2%に達するまでの値ですね。
Atsushi Ueno
Atsushi Ueno 2023-12-13
MPC制御の有識者各位 < 是非回答したってちょ

请先登录,再进行评论。

回答(0 个)

类别

产品

版本

R2023b

提问:

2023-12-12

评论:

2023-12-13

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!