MATLAB Answers

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

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

  0 Comments

Sign in to comment.

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)

Sign in to answer this question.