A list,
1 the introduction 2 genetic algorithm theory2.1 Biological basis of genetic algorithm2.2 Theoretical basis of genetic algorithm 2.3 Basic concepts of genetic algorithm 2.4 Standard genetic algorithm 2.5 Features of genetic algorithm 2.6 Improvement direction of genetic algorithm 3 Genetic algorithm flow 4 Key Parameter Description
Two, case and complete source code
1 case 2 Complete code
% % % % % % % % % % % % % % % % % % % % standard genetic algorithm (ga) function extreme value % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % initialization parameter % % % % % % % % % % % % % % % % % % % % % % % % % % clear all; % clear all variables close all; % qing figure CLC; CLS NP % =50; % number of population L=20; % Length of binary number string Pc=0.8; % Cross rate Pm=0.1; % mutation rate G=100; % maximum genetic algebra Xs=10; Xx = % cap0; F = % lower limit randi ([0.1],NP,L); Random initial population % % % % % % % % % % % % % % % % % % % % % % % % % % genetic algorithm loop % % % % % % % % % % % % % % % % % % % % % % % %for k=1:G %%%%%%%%%%%% Decodes binary to decimal %%%%%%%%%%%%%%for i=1:NP
U=f(i,:);
m=0;
for j=1:L
m=U(j)*2^(j- 1)+m;
end
x(i)=Xx+m*(Xs-Xx)/(2^L- 1); Fit(i)= func1(x(i)); end maxFit=max(Fit); % Max minFit=min(Fit); % min rr=find(Fit==maxFit); fBest=f(rr(1.1), :); XBest =x(rr(1.1)); Fit=(Fit-minFit)/(maxFit-minFit); Normalized fitness value % % % % % % % % % % % % % % % % % % % based on roulette copy % % % % % % % % % % % % % % % % % % % sum_Fit = sum (Fit); fitvalue=Fit./sum_Fit; fitvalue=cumsum(fitvalue); ms=sort(rand(NP,1));
fiti=1;
newi=1;
while newi<=NP
if (ms(newi))<fitvalue(fiti)
nf(newi,:)=f(fiti,:);
newi=newi+1;
else
fiti=fiti+1; End end % % % % % % % % % % % % % % % % % % % % % % based on the probability of crossover operation % % % % % % % % % % % % % % % % % %for i=1:2:NP
p=rand;
if p<Pc
q=randi([0.1].1,L);
for j=1:L
if q(j)==1;
temp=nf(i+1,j);
nf(i+1,j)=nf(i,j); nf(i,j)=temp; End end end end % % % % % % % % % % % % % % % % % % % based on the probability of mutation % % % % % % % % % % % % % % % % % % % % % % % I =1;
while i<=round(NP*Pm)
h=randi([1,NP],1.1); % Randomly select a chromosome that needs to be mutatedfor j=1:round(L*Pm)
g=randi([1,L],1.1); % Number of genes requiring random variation NF (h,g)=~ NF (h,g); end i=i+1;
end
f=nf;
f(1,:)=fBest; % retain the optimal individual in the new population trace(k)=maxFit; % past the best fitness end xBest; % The best individualfigure
plot(trace)
xlabel('Number of iterations')
ylabel('Objective function value')
title('Fitness evolution curve')
Copy the code
% % % % % % % % % % % % % % % % % % % % % % % % % fitness function % % % % % % % % % % % % % % % % % % % % % % % % % % % % function result = func1 (x) = x + the fit10*sin(5*x)+7*cos(4*x);
result=fit;
Copy the code
Problem solving process and operation result
1 problem solving process 2 Operation Results
Iv. Matlab version and references
1 Matlab version 2014A
2 references “Intelligent optimization algorithm and MATLAB examples (2nd edition)” baozi Yang Yuji Zhou Yang Shan by publishing House of Electronics Industry