particlesw​arm最適化時のHy​bridFcnにfm​inconを指定した​際の、fmincon​への変数指定方法につ​いて

1 Ansicht (letzte 30 Tage)
Keisuke goto
Keisuke goto am 30 Jun. 2018
Beantwortet: Naoya am 3 Jul. 2018
global optimization toolbox のparticleswamにて、HybridFcnにfminconが指定できますが、 fminconで使用する変数の指定方法が良く理解できません。 変数の指定方法に関してご教授頂けませんでしょうか。

Akzeptierte Antwort

Naoya
Naoya am 3 Jul. 2018
質問内容から詳細を判断し兼ねていますが、目的関数内の最適化したい変数ではなく、最適化対象外のパラメータ値を設定した場合の指定方法となりますでしょうか?
上記の場合でしたら、 Passing Extra Parameters に説明がありますが、下記例のような方法で対応可能です。
>> nvars = 2;
>> lb = [-10,-15];
>> ub = [15,20];
>> options = optimoptions('particleswarm','SwarmSize',100,'HybridFcn',@fmincon);
>> a = 6; % 目的関数内で扱うパラメータ
>> fun = @(x) x(1)*exp(-norm(x-a)^2); % 関数ハンドル
>> x = particleswarm(fun,nvars,lb,ub,options) % 最適化
或いは fmincon側のoptions を別途指定されることを想定されている場合は、 Hybrid Functions の説明が参考になれます。

Weitere Antworten (0)

Produkte


Version

R2017b

Community Treasure Hunt

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

Start Hunting!