⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 evostrategy.m

📁 其中提到遺傳學的程式碼與應用提供給次淚相向的研究者參考下載
💻 M
字号:
function [bestPI,bestX]=EvoStrategy(obj_fcn,itera,maxmin,ranges,StopSign);
% Implementation of Evolution Strategy in Matlab.

rand('state',sum(100*clock));
randn('state',sum(100*clock));
LOW=ranges(1,:);DIFF=ranges(2,:)-ranges(1,:);
[junk,numVars]=size(ranges);
x=rand(1,numVars).*DIFF+LOW;RANG=ranges';
PI=feval(obj_fcn,x);
bestX=x; bestPI=PI;
for i=1:itera
    x=x+randn(1,numVars);
    % Overlimits
    %II=find(x<RANG(1,:));
    %if ~isempty(II)
    %    x(II)=ranges(1,II);
    %end
    %II=find(x>RANG(2,:));
    %if ~isempty(II)
    %    x(II)=ranges(2,II);
    %end,x,pause
    PI=feval(obj_fcn,x);
    if     maxmin== 1 & bestPI<PI
        bestPI=PI; bestX=x;
    elseif maxmin==-1 & bestPI>PI
        bestPI=PI; bestX=x;
    else
        if StopSign==1 & PI==0
            break;
        end
    end
    % Print out
    fprintf('Iter=%5d;PI=%.6f;',i,bestPI);
    if length(x)<=2
        fprintf('x=%.6f;%.6f;\n',x);
    end
end

⌨️ 快捷键说明

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