Response Optimization最適化実行時の終了条件について
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Yasuhiro Wakatsuki
il 26 Apr 2019
Commentato: Yasuhiro Wakatsuki
il 15 Mag 2019
Response OptimizationでCheckCustam Boundsブロックを使用して設計要件を規定し、ツールを実行した際に
最適化が完了せずに終了する場合や、設計要件を満たさずにツールが終了する場合が有ります。
このような現象が発生する場合に考えられる原因と、解決策をお教えください。
MATLAB バージョン: 8.4.0.150421 (R2014b)
0 Commenti
Risposta accettata
Hiroumi Mita
il 13 Mag 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. 最適化の終了条件を緩める。
これにより、最適化の条件を満たす解が得られる可能性が高まります。
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Optimization Toolbox 入門 in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!