initializega.m

来自「根据解空间的维数可以将优化问题分为一维空间优化和多元优化问题。本程序以求函数:f」· M 代码 · 共 28 行

M
28
字号
function[pop]=initializega(num,bounds,eevalFN,eevalOps,options)
if nargin<5
      options=[le-6 1];
end
if nargin<4
      eevalOps=[];
end
if options(2)==1
      estr=['[pop(i,:)pop(i,xZomeLength)]='eevalFN'(pop(i,:),[0 eevalOps]);'];
else
      estr=['x=b2f(pop(i,:),bounds,bits);[x v]='eevalFN(x,[0 eevalOps]);
   pop(i,:)=[f2b(x,bounds,bits)v];'];
   end
   end
numVars=size(bounds,1);
rng=(bounds(:,2)-bounds(:,1))';
if options(2)==1
  xZomeLength=numVars+1;
  pop=zeros(num,xZomeLength);
  pop(:,1:numVars)=(ones(num,1)*rng).*(rand(num,numVars))+(ones(num,1)*bounds(:,1)');
else
    bits=calcbits(bounds,options(1));
    xZomeLength=sum(bits)+1;
    pop=round(rand(num,sum(bits)+1));
end
for i=1:num
     eeval(estr);
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?