📄 ga_evolutionstrategy.m
字号:
function newPopu=GA_evolutionStrategy(popuReal,range,sigma);
%% function newPopu=GA_evolutionStrategy(popu,range,sigma);
%% Implementation of Evolution Strategy algorithm.
%% x[k+1]=x[k]+N(0,sigma);
%% For example:
%sigma=0.1;range=[-5 -5; 5 5];
%popu=randn(50,2);
%popu=GA_evolutionStrategy(popu,range,sigma);
%% PenChen Chou, 2004-5-11
randn('state',sum(100*clock)); % Seed
if nargin<=2, sigma=1; end
popu=popuReal;[junk,var_n]=size(popu);
% deltaX
deltaX=sigma*randn(size(popu));
newPopu=popu+deltaX;
for i=1:var_n
II=find(newPopu(:,i)<range(1,i));
if ~isempty(II)
newPopu(II,i)=range(1,i)*ones(size(II));
end
II=find(newPopu(:,i)>range(2,i));
if ~isempty(II)
newPopu(II,i)=range(2,i)*ones(size(II));
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -