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

1 次查看(过去 30 天)
global optimization toolbox のparticleswamにて、HybridFcnにfminconが指定できますが、 fminconで使用する変数の指定方法が良く理解できません。 変数の指定方法に関してご教授頂けませんでしょうか。

采纳的回答

Naoya
Naoya 2018-7-3
質問内容から詳細を判断し兼ねていますが、目的関数内の最適化したい変数ではなく、最適化対象外のパラメータ値を設定した場合の指定方法となりますでしょうか?
上記の場合でしたら、 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 の説明が参考になれます。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Particle Swarm 的更多信息

产品


版本

R2017b

Community Treasure Hunt

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

Start Hunting!