Response Optimizati​on最適化実行時の終​了条件について

3 views (last 30 days)
Yasuhiro Wakatsuki
Yasuhiro Wakatsuki on 26 Apr 2019
Response OptimizationでCheckCustam Boundsブロックを使用して設計要件を規定し、ツールを実行した際に
最適化が完了せずに終了する場合や、設計要件を満たさずにツールが終了する場合が有ります。
このような現象が発生する場合に考えられる原因と、解決策をお教えください。
MATLAB バージョン: 8.4.0.150421 (R2014b)

Accepted Answer

Hiroumi Mita
Hiroumi Mita on 13 May 2019
Response Optimizationで、例えば
あるフィードバック制御の応答波形(y)(t)がCheck Custom BoundsBlockで指定した
レンジに入らないことがあるということでしょうか。
これは普通にあり得ます。といいますか、これが普通と考えていただいたほうがいいでしょう。
フィードバック制御のパラメータがa,b,cとすると
ある目標値y*(t)に対して
評価関数∑(t=0:T)(y*(t)-y(t))^2
が小さくなればなるほど、y*(t)と応答波形(y(t))は近いものになります。
y(t)の範囲は、制約条件:ymin(t)<y(t)<ymax(t)があります。
これを、Check Custom BoundsBlockで指定したことになります。
評価関数は実際は,パラメータ a,b,cの関数です。
パラメータ a,b,cによって評価関数の値は変動します。
評価関数が0になれば、y*(t)とy(t)は完全一致ですが、評価関数はパラメータ a,b,cによって変わる
以上、y*(t)とy(t)は完全一致する解a,b,cが存在するとは限りません。
また、制約条件:ymin(t)<y(t)<ymax(t)を満たす解a,b,cが常に存在するとも限りません。
Response Optimizationの計算が終わるとは、ツールの終了判定基準で
例えば
終了条件=評価関数∑(t=0:T)(y*(t)-y(t))^2<=ある閾値 
を満たした場合とすると、状況によってはこの終了条件を満たせない場合があります。
ご指摘の現象はこのような背景から来るものです。
簡単な解決策としては、
#1. 制約条件:ymin(t)<y(t)<ymax(t)を緩める。
つまり、Check Custom BoundsBlockで決める上下限レンジを今の設定より緩くすること。
これにより、制約条件を満たす解が得られる可能性が高まります。
#2. 最適化の終了条件を緩める。
これにより、最適化の条件を満たす解が得られる可能性が高まります。
  1 Comment
Yasuhiro Wakatsuki
Yasuhiro Wakatsuki on 15 May 2019
ご回答ありがとうございました。

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!