10/25/16 11:22 Am E:/Phd Material (Ch... /main - Adaptive - Ga.M 1 of 3
10/25/16 11:22 Am E:/Phd Material (Ch... /main - Adaptive - Ga.M 1 of 3
m 1 of 3
clc
clear all
close all
load E %locations in chromosome that do not undergo genetic operations.
Min = 0.0446;
Max = 5000.0000;
for i = 1 : size(S,1)
C = S(i,:);
Fit(i,1) = sum(abs(C-Tar)); % Calculate Fitness Value
end
if iter == 174
save S S
break;
end
for i = 1 : floor(length(ind)/2)
Best_Sol(i,:) = S(ind(i),:);
end
if iter == 1
Best = [Best_Sol(1,:) val(1)];
V(iter,1) = Best(end);
Err = val(1)
else
if Best(end) > val(1)
Best = [Best_Sol(1,:) val(1)];
V(iter,1) = Best(end);
Err = val(1)
else
Best = Best;
V(iter,1) = Best(end);
end
end
10/25/16 11:22 AM E:\PhD Material(Ch...\Main_Adaptive_GA.m 2 of 3
if iter == 1
mr = 0.001;
cr = 0.5;
else
[vl id] = sort(Fit);
fmin = Fit(id(1));
fmax = Fit(id(end));
favg = mean(Fit);
Pm = mr;
B = 0.02;
nc = 0.5;
si = ((fmax - fmin)/favg).^nc;
nmr = Pm*(1+B*(((fmax-fmin).^nc)-(favg.^nc))/(si*((fmax-fmin).^nc)-(favg.^nc)));
mr = nmr;
% Fit_V = Best(end);
% Solution = Best(1:end-1);
% save(['.\All\Fit_' num2str(iter) '.mat'],'Fit_V') ;
% save(['.\All\Solution_' num2str(iter) '.mat'],'Solution') ;
save(['.\All\Pm_' num2str(iter) '.mat'],'Pm') ;
save(['.\All\Pc_' num2str(iter) '.mat'],'Pc') ;
end
%=============================
Cross_rate = floor(size(S,2)*cr);
if Cross_rate > size(S,2)
Cross_rate = size(S,2);
end
%For SGA operation; uncomment line 92 and comment line 94
% cross = Uniform_Crossover(Best_Sol,Cross_rate,E);
cross = Adaptive_Crossover(Best_Sol,Cross_rate,E);
Mut = Mutation(cross,mr,Min,Max,E);
S = [];
S = [Best_Sol ; Mut];
iter = iter +1;
end
10/25/16 11:22 AM E:\PhD Material(Ch...\Main_Adaptive_GA.m 3 of 3
figure,plot(V)