Académique Documents
Professionnel Documents
Culture Documents
UkPop=200;
Psilang=0.8;
Pmutasi=0.05;
MaxG=100;
BilKecil=10^-1;
%Digunakan untuk menghindari pembagian dengan 0
Fthreshold=1/BilKecil; %Threshold untuk nilai Fitness
Bgraf=Fthreshold;
%Untuk menangani tampilan grafik
%=======================================================
%Inisialisasi grafik 3D
%=======================================================
hfig=figure;
hold on
title('Optimasi fungsi menggunakan AGstandar3D')
set(hfig,'DoubleBuffer','on');
delta=0.02;
limit=fix(2*Ra/delta)+1;
[xg,yg]=meshgrid(Rb:delta:Ra,Rb:delta:Ra);
zg=zeros(limit,limit);
for j=1:limit
for k=1:limit
zg(j,k)=EvaluasiIndividu([xg(j,k),yg(j,k)],BilKecil);
end
end
surfl(xg,yg,zg)
colormap gray;
shading interp;
view([3 5 2]);
xind=zeros(200,3);
h_indplot=plot3(xind(:,1),xind(:,2),xind(:,3),'k*');
hold off
drawnow;
%======================================================
%Insialisasi populasi
Populasi=InsialisasiPopulasi(200,JumGen);
%Loop Evolusi
for generasi=1:MaxG,
x=dekodekanKromosom(Populasi(1,:),Nvar,Nbit,ra,Rb);
Fitness(1)=EvaluasiIndividu(x,BilKecil);
%xind digunakan untuk tampilan grafis
xind(1,1)=x(1);
xind(1,2)=x(2);
xind(1,3)=Fitness(1);
end
MaxF=Fitness(1);
MinF=Fitness(1);
IndeksIndividuTerbaik=1;
for ii=2:UkPop,
Kromosom=Populasi(ii,:);
x=DekodekanKromosom(Krommosom,Nvar,Nbit,Ra,Rb);
Fitness(ii)=EvaluasiIndividu(x,BilKecil);