参考:《智能控制》作者刘金琨,电子工业出版社
利用遗传算法求取Rosenbrock函数的最大值
该函数有两个局部极大值点,分别是f(2.048,-2.048)=3897.7342, f(-2.048,-2.048)=3905.9262;其中后者为全局最大点
Matlab程序:
%Generic Algorithm for function f(x1,x2) optimum
clear all;
close all;
%Parameters
Size=80; % 80个群
G=100;
CodeL=10;
umax=2.048;
umin=-2.048;
E=round(rand(Size,2*CodeL)); % Initial Code
%Main Program
for k=1:1:G
time(k)=k;
for s=1:1:Size
m=E(s,:);
y1=0;y2=0;
%Uncoding
m1=m(1:1:CodeL);
for i=1:1:CodeL
y1&#