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

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

채택된 답변

Hiroumi Mita
Hiroumi Mita 2019년 5월 13일
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
Yasuhiro Wakatsuki
Yasuhiro Wakatsuki 2019년 5월 15일
ご回答ありがとうございました。

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Optimization Toolbox 入門에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!