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

📄 p_fdminx2.m

📁 书籍代码:遗传演算法原理与应用_活用MATLAB(Source Code)
💻 M
字号:
% p_fdminx2.m file

%**********************************************************/
%       User can modify the following in blocks
%**********************************************************/
%obj_fcn = 'xpeaksfcn';	% Objective function: 'peaksfcn'
%range = [-3, 3; -3, 3];	% Range of the input variables
%bit_n = 18;		% Bit number for each input variable
%obj_fcn = 'xfcn1';	% Objective function
%range = [0, 10; 0, 10];	% Range of the input variables
obj_fcn = 'fcnx2';	% Objective function
range = [0.0,       0.0
               10.048 10.048];	% Range of the input variables
%bit_n = 30;		% Bit number for each input variable
bit_n = 40;		% Bit number for each input variable
generation_n = 100;	% Number of generations
%popuSize = 20;		% Population size
popuSize = 62;		% Population size
%xover_rate = 1.0;	% Crossover rate
%mutate_rate = 0.01;	% Mutation rate
xover_rate = 0.7;	% Crossover rate (BETTER)
mutate_rate = 0.01;	% Mutation rate (BETTER)
elite=1;
mode=0;  %BGA
mode=1;  %RGA
if mode==0,
%generation_n = 600;	% Number of generations
else   
%generation_n = 600;	% Number of generations
end

%**********************************************************/
%figure(1);
%xpeaks;
%************************************************************
% call GA written by Chang
tic
%[popu, fcn_value, upper, average, lower]=xgenetic(obj_fcn, range,1);
[popu, popu_real, fcn_value, upper, average, lower, popuSize]=xgenetic(...
               obj_fcn, range, mode, [ ], 0, elite, generation_n , ...
               popuSize, bit_n, xover_rate, mutate_rate);
t=toc/60;
fprintf('==>  Computation time is (%.2f) minutes.\n',t);            
            
figure(2);
xWhitebg;
x = (1:generation_n)';
plot(x, upper, 'o', x, average, 'x', x, lower, '*');
hold on;
plot(x, [upper average lower]);
hold off;
legend('Best', 'Average', 'Poorest',4);
xlabel('Generations'); ylabel('Fitness');

[junk, inx1]=max(upper);
fprintf('The best generation occured at generation #%i.\n',inx1);

⌨️ 快捷键说明

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