123 if
kumulatiffitnessjumfitnessRN, p=ii;
break ;
end ii=ii+1;
end
variabel pada fungsi RouletteWheel.m adalah ukpop banyaknya individu dalam populasi dan linearfitness hasil dari fungsi linearfitness.m, sedangkan
jumfitness = sum linearfitness merupakan jumlah keseluruhan nilai fitness dalam populasi. kumulatiffitness merupakan nilai fitness kumulatif dari individu. Jika
kumulatif fitness dibagi jumlah fitness lebih dari bilangan random yang dibangkitkan pada interval [0,1 maka iterasi berhenti, sehingga didapatkan p
indeks dari individu yang terpilih sebagai induk.
4. Pindah Silang order crossover
Operator pindah silang dari populasi awal yang sudah terbentuk
diimplementasikan dalam perintah pada fungsi PindahSilang.m berikut ini.
function anak = pindahSilangbapak,ibu,jumgen
cp1=1+fixrandjumgen-1; cp2=1+fixrandjumgen-1;
while cp2==cp1,
cp2=1+fixrandjumgen-1; end
if cp1cp2,
cps=cp1; cpd=cp2;
else cps=cp2;
cpd=cp1; end
anak1,cps+1:cpd=ibucps+1:cpd;
124 anak2,cps+1:cpd=bapakcps+1:cpd;
sisagenbapak=[]; sisagenibu=[];
for ii=1:jumgen,
if ~ismemberbapakii,anak1,:,
sisagenbapak=[sisagenbapak bapakii]; end
if ~ismemberibuii,anak2,:,
sisagenibu=[sisagenibu ibuii]; end
end anak1,cpd+1:jumgen=sisagenbapak1:jumgen-cpd;
anak1,1:cps=sisagenbapak1+jumgen- cpd:lengthsisagenbapak;
anak2,cpd+1:jumgen=sisagenibu1:jumgen-cpd; anak2,1:cps=sisagenibu1+jumgen-cpd:lengthsisagenibu;
variabel pada fungsi PindahSilang.m adalah bapak induk pertama yang terpilih, ibu induk kedua yang terpilih dan jumgen jumlah gen. Pertama 2 buah bilangan
dibangkitkan secara acak untuk menentukan titik potong kedua induk. Kemudian dua kromosom anak mendapatkan gen-gen dari kromosom bapak dan ibu. Posisi-posisi gen
yang masih kosong pada anak pertama diisi dengan gen dari bapak yang belum ada pada anak pertama, dan anak kedua diisi dengan gen dari ibu yang belum ada pada anak
kedua. Hasil dari fungsi ini adalah dua kromosom baru yang membawa sifat dari induknya.
6.
Mutasi dengan Swapping Mutation
Operator pindah silang dari populasi awal yang sudah terbentuk
diimplementasikan dalam perintah pada fungsi Mutasi.m berikut ini.
function mutkrom = Mutasikromosom,jumgen,pmutasi