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

📄 findminusinges2.m

📁 其中提到遺傳學的程式碼與應用提供給次淚相向的研究者參考下載
💻 M
字号:
% findMinUsingES2.m
% Find min. of xsin(4x)+1.1ysin(2y) in 0 to 10 in x,y using
% Evolution strategy and Roulette-wheel selection.
% For comparison, see GA_ex21.m file.
%% PenChen Chou, 2004-5-11

clear
fprintf('<<< Execution of findMinUsingES2.m file>>>\n');
rand('state',sum(100*clock));  % Seed
% Initial settings
genSize=15500; popuSize=50; MIN_offset=25; globalFit=0;
sigma=0.1;
range=[0 0
    10 10];
[junk,var_n]=size(range);
% Inital population
for i=1:var_n
    popu(1:popuSize,i)=rand(popuSize,1)*(range(2,i)-range(1,i))+...
        range(1,i);
end
% Fitness calculation
fit=popu(:,1).*sin(4*popu(:,1))+1.1*popu(:,2).*sin(2*popu(:,2));
fit=MIN_offset-fit;
figure;
hold on
% Generation begins
for loop=1:genSize
  % Best Fitness stored
  [bestFit, indx]=max(fit);
  if bestFit>globalFit, 
      globalFit=bestFit; 
      bestX=popu(indx,1);
      bestY=popu(indx,2);
  end
  % Print out
  fprintf('#Gen=%4d; bestFit=%15.8f; x=%10.6f; y=%10.6f\n',...
      loop,MIN_offset-globalFit,bestX,bestY);
  if loop==1
     plot(bestX,bestY,'+');
  elseif loop==genSize
     plot(bestX,bestY,'o');
  else
     plot(bestX,bestY,'.');
  end
  % Roulette-wheel Selection
  popu=GA_wheel(fit, popu);
  % Mutation used for Evolution Strategy
  popu=GA_evolutionStrategy(popu,range,sigma);
  % Fitness calculation
  fit=popu(:,1).*sin(4*popu(:,1))+1.1*popu(:,2).*sin(2*popu(:,2));
  fit=MIN_offset-fit;
end
% Fix the diagram
grid
axis([0 10 0 10])
title('Trajectory,+=start; o=endPoint')
% End of this program

⌨️ 快捷键说明

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