www.gusucode.com > 溷沌优化工具箱 - chaoshcacs源码程序 > initColony.m

    function [ants,optIndex,avg,sigma] = initColony(bounds,antnum,sigmaOption)
ant = struct('pos',[],'fitness',0);
avg=0;
for i = 1:antnum
    ant.pos =(bounds(:,1) + rand(size(bounds,1),1).*(bounds(:,2)-bounds(:,1)))';
    ant.fitness = evalCandidate(ant.pos);
    avg=avg+ant.fitness;
    ants(i) = ant;
    if i==1
        optIndex = 1;
    elseif ants(optIndex).fitness<ants(i).fitness
        optIndex = i;    
    end
end
avg=avg/antnum;
% sigma = calcuSigma(ants,ants(optIndex).pos,sigmaOption);
if sigmaOption
    sigma =(bounds(:,2) - bounds(:,1))';
else
    sigma =3 * max(bounds(:,2) - bounds(:,1));
end