📄 evostrategy.asv
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -