Response Optimization最適化実行時の終了条件について
조회 수: 3 (최근 30일)
이전 댓글 표시
Response OptimizationでCheckCustam Boundsブロックを使用して設計要件を規定し、ツールを実行した際に
最適化が完了せずに終了する場合や、設計要件を満たさずにツールが終了する場合が有ります。
このような現象が発生する場合に考えられる原因と、解決策をお教えください。
MATLAB バージョン: 8.4.0.150421 (R2014b)
댓글 수: 0
채택된 답변
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. 最適化の終了条件を緩める。
これにより、最適化の条件を満たす解が得られる可能性が高まります。
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Optimization Toolbox 入門에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!