我正在尝试对此进行优化:function [ LPS, LCE ] = runProject( Nw, Np, Nb)
调用我之前编写的其他函数。我们的想法是找到Nw
,Np
,Nb
的最佳组合并保持LPS=0
,而LCE
最小。Nw
Np
,Nb
,LCE
应为正整数。 function [ LPS, LCE ] = runProject( Nw, Np, Nb)
%
% Detailed explanation goes here
[Pg, Pw, Pp] = Pgener();
[Pb, LPS] = Bat( Pg );
[LCE] = Constr(Pw, Pp, Nb)
end
也将是积极的。
gamultiobj
但是,我尝试了matlab2015的Global Optimization Toolbox(试用版)中的define( 'WP_USE_THEMES', false );
require($_SERVER['DOCUMENT_ROOT'] .'/wp-config.php');
求解器,以获得与帕累托前沿不同的方法,但是我收到了错误:
“优化运行。
运行优化时出错。
没有足够的输入参数。“
答案 0 :(得分:1)
您应该编写您的目标函数,如下例所示:
function scores = rastriginsfcn(pop)
%RASTRIGINSFCN Compute the "Rastrigin" function.
% pop = max(-5.12,min(5.12,pop));
scores = 10.0 * size(pop,2) + sum(pop .^2 - 10.0 * cos(2 * pi .* pop),2);
如您所见,该函数接受所有输入作为单个向量pop
。
通过这种表示,我可以按如下方式评估函数:
rastriginsfcn([2 3])
>> ans
13
仍然要从工具箱中运行优化,你必须提到变量的数量,例如,在我的例子中,它等于2:
[x fval exitflag] = ga(@rastriginsfcn, 2)
多目标优化也是如此。检查MATHWORKS中的以下图像: