MATLAB Answers

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

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

  0 Comments

Sign in to comment.

Accepted Answer

Naoya
Naoya on 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 の説明が参考になれます。

  0 Comments

Sign in to comment.

More Answers (0)

Sign in to answer this question.