evostrategy.asv

来自「其中提到遺傳學的程式碼與應用提供給次淚相向的研究者參考下載」· ASV 代码 · 共 34 行

ASV
34
字号
function PI=EvoStrategy(objFun,itera,maxmin,StopSign);
% Implementation of Evolution Strategy in Matlab.

rand('state',sum(100*clock));
randn('state',sum(100*clock));
LOW=ranges(1,:);DIFF=rnages(2,:)-ranges(1,:);
[junk,numVars]=size(ranges);
x=rand(1,numVars).*DIFF+LOW;
PI=feval(obj_fcn,x);
bestX=x; bestPI=PI;
for i=1:itera
    x=x+randn(1,numVars);
    % Overlimits
    II=find(vars<RANG(1,:));
    if ~isempty(II)
        vars(II)=ranges(1,II);
    end
    II=find(vars>RANG(2,:));
    if ~isempty(II)
        vars(II)=ranges(2,II);
    end
    PI=feval(obj_fcn,x);
    PI=fEvoS(x);
    if     maxmin== 1 & best_PI<PI
        bestPI=PI; bestX=x;
    elseif maxmin==-1 & best_PI>PI
        bestPI=PI; bestX=x;
    else
        if StopSign==1 & PI==0
            break;
        end
    end
end

⌨️ 快捷键说明

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