46
Tabel 3.5 Nilai Fitness Generasi Awal Metode Cycle Crossover
Fitness Nilai Fitness
dikali 1.0e-003 Fitness
Nilai Fitness dikali 1.0e-003
Fitness 1 0.7782
Fitness 16 0.8396
Fitness 2 0.7968
Fitness 17 0.7215
Fitness 3 0.7692
Fitness 18 0.7485
Fitness 4 0.7645
Fitness 19 0.7413
Fitness 5 0.7310
Fitness 20 0.8163
Fitness 6 0.8026
Fitness 21 0.7042
Fitness 7 0.7342
Fitness 22 0.7776
Fitness 8 0.7082
Fitness 23 0.7981
Fitness 9 0.7364
Fitness 24 0.7570
Fitness 10 0.7905
Fitness 25 0.7047
Fitness 11 0.7663
Fitness 26 0.7800
Fitness 12 0.7057
Fitness 27 0.7257
Fitness 13 0.7553
Fitness 28 0.7257
Fitness 14 0.7252
Fitness 29 0.7424
Fitness 15 0.7722
Fitness 30 0.7246
Dalam CVRPTW,
perhitungan nilai
fitness dilakukan
dengan memperhatikan waktu serta pinalti jika waktu pelayanan melebihi jam buka
pelanggan. Perhitungan nilai fitness menggunakan rumus 2.10 untuk masing- masing individu pada populasi awal. Setelah dihitung nilai fitness dari masing-
masing individu pada populasi awal, maka diperoleh nilai fitness terbaik dari populasi awal. Individu dengan nilai fitness terbaik dari populasi generasi pertama
akan dipertahankan dan dibawa ke generasi selanjutnya. Langkah selanjutnya yaitu melakukan seleksi untuk menentukan individu sebagai induk.
4. Seleksi Selection
Selanjutnya yaitu seleksi untuk memilih secara acak individu dari populasi sebelumnya untuk dijadikan induk. Induk tersebut akan dilakukan proses pindah
47
silang crossover dengan individu lain yang telah terpilih. Metode seleksi yang dipilih dalam penelitian ini yaitu roulette wheel selection.
Metode roulette wheel selection dianalogikan seperti permainan roda putar. Pada permainan roda putar, lingkaran roda dibagi menjadi beberapa wilayah.
Lebar suatu wilayah kromosom ditentukan menurut nilai fitnessnya. Semakin besar nilai fitness maka luas wilayahnya juga akan semakin besar dan peluang
kromosom untuk terpilih juga besar. Dengan bantuan software Matlab, diperoleh induk-induk yang terpilih dari roulette wheel selection pada lampiran 6 halaman
90 dan prosedur roulette wheel selection terdapat pada lampiran 4 halaman 76. Berikut hasil individu yang terpilih sebagai induk pada generasi pertama dari
seleksi dengan roulette wheel selection untuk kedua metode. Hasil seleksi menurut metode order crossover
Induk 1 = Individu 14 = 25 10 20 19 21 15 13 3 18 17 9 2 7 6 8 4 1 24 11 22 5 23 16 14 12
Induk 2 = Individu 9 = 18 7 10 3 22 16 17 12 14 15 1 11 5 13 25 20 6 2 9 24 8 23 19 21 4
Hasil seleksi menurut metode cycle crossover Induk 1 = Individu 23 = 7 21 15 20 5 23 4 17 1 22 10 16
11 12 13 18 25 2 24 9 6 8 19 14 3 Induk 2 = Individu 2 = 2014 10 17 5 8 6 9 15 12 21 4 25
24 23 3 11 2 13 18 19 1 7 22 16
48
5. Pindah Silang Crossover
Setelah terpilih induk-induk dari proses seleksi, selanjutnya induk-induk tersebut secara bergantian dilakukan proses pindah silang. Pindah silang
menghasilkan individu baru hasil dari 2 induk yang disebut anak offspring. Setiap pasang induk menghasilkan sepasang anak agar proses seleksi pada
generasi selanjutnya mendapatkan jumlah populasi yang sama. Proses pindah silang ditentukan oleh Pc Probabilitas Crossover dan nilai probabilitas pasangan
induk. Setiap pasangan induk akan diberikan suatu nilai [0,1] secara acak, jika probabilitas pasangan induk kurang dari Pc maka dilakukan pindah silang dan
berlaku sebaliknya. Apabila tidak terjadi pindah silang maka anak untuk generasi selanjutnya adalah induk. Pindah silang ini diimplementasikan dengan skema
ordercrossover dan cycle crossover.
a. Order Crossover OX
Pada metode ini diperlukan urutan sejumlah gen dari suatu kromosom yang akan dicrossover, sehingga dilakukan penentuan posisi awal dan akhir gen dari
suatu kromosom. Berikut hasil proses pindah silang dengan metode order crossover yang terjadi pada percobaan dengan bantuan software Matlab.
1 Induk
Induk 1 = 25 10 20 19 21 15 13 3 18 17 9 2 7 6 8 4 1 24 11 22 5 23 16 14 12
Induk 2 = 18 7 10 3 22 16 17 12 1415 1 11 5 13 25 20 6 2 9 24 8 23 19 21 4
2 Anak
49
Anak 1 = 11 5 23 3 22 16 17 12 14 15 1 25 10 20 19 21 13 18 9 2 7 6 8 4 24
Anak 2 = 8 23 4 19 21 15 13 3 18 17 9 7 10 22 16 12 14 1 11 5 25 20 6 2 24
b. Cycle Crossover CX
Pada metode ini dilakukan cycle antara dua induk, yang dimulai dari porusuk awal gen kromosom induk 1 dan akan berhenti pada gen yang tidak dapat
dilanjutkan cyclenya. Berikut hasil proses pindah silang dengan metode cycle crossover yang terjadi pada percobaan dengan bantuan software Matlab
1 Induk
Induk 1 = 7 21 15 20 5 23 4 17 1 22 10 16 11 12 13 18 25 2 24 9 6 8 19 14 3
Induk 2 = 20 14 10 17 5 8 6 9 15 12 21 4 25 24 23 3 11 2 13 18 19 1 7 22 16
2 Anak
Anak 1 = 7 14 10 20 5 8 4 17 15 12 21 16 25 24 23 18 11 2 13 9 6 1 19 22 3
Anak 2 = 20 21 15 17 5 23 6 9 1 22 10 4 11 12 13 3 25 2 24 18 19 8 7 14 16
6. Mutasi Mutation
Langkah selanjutnya setelah dilakukan proses pindah silang crossover, anak yang telah dihasilkan pada proses tersebut selanjutnya akan diproses ke
tahap mutasi. Proses mutasi dilakukan dengan tujuan untuk memperoleh individu
50
baru sebagai kandidat solusi pada generasi selanjutnya dengan nilai fitness yang lebih baik dan lama-kalamaan menuju solusi optimum yang diinginkan. Skema
mutasi yang digunakan dalam penelitian ini yaitu swapping mutation. Untuk semua gen yang ada, jika bilangan random yang dibangkitkan [0,1] kurang dari
probabilitas mutasi yang telah ditentukan sebelumnya, maka nilai gen tersebut akan ditukarkan dengan nilai gen lain yang dipilih secara acak. Berikut proses
pindah mutasi yang terjadi pada percobaan dengan bantuan software Matlab. Hasil mutasi menurut metode order crossover
a. Sebelum dimutasi
Anak 1 = 11 5 23 3 22 16 17 12 14 15 1 25 10 20 19 21 13 18 9 2 7 6 8 4 24
Anak 2 = 8 23 4 19 21 15 13 3 18 17 9 7 10 2216 12 14 1 11 5 25 20 6 2 24
b. Setelah dimutasi
Anak 1 = 11 5 23 3 22 16 1718 14 15 1 25 10 20 19 21 13 129 2 7
6 8 4 24
Anak 2 = 8 23 4 22 21 15 13 3 14 17 9 7 10 1916 12 18 1 11 5 25
20 6 24 Hasil mutasi menurut metode cycle crossover:
a. Sebelum dimutasi
Anak 1 = 7 14 10 20 5 8 4 17 15 12 21 16 25 24 23
18 11 2 13 9 6 1 19 22 3
51
Anak 2 = 20 21 15 17 5 23 6 9 1 22 10 4 11 12 13 3 25 2 24 18 19 8 7 14 16
b. Setelah dimutasi
Anak 1 = 7 14 10 20 5 8 4 17 15 12 21 16 25 24 23 18 11 2 13 9 6
1 22 19 3 Anak 2 = 20 21 7 17 5 23 6 9 1 22 10 4 11 12 13 3 25 2 24 18 19
8 15 14 16 7.
Pembentukan Populasi Baru
Setelah langkah-langkah di atas telah dilakukan, maka langkah selanjutnya yaitu pembentukan populasi baru di generasi kedua. Individu terbaik dengan nilai
fitness tertinggi pada populasi awal dibawa ke populasi selanjutnya, proses ini dinamakan elitism. Prosedur pembentukan populasi selanjutnya terdapat dalam
lampiran 4 halaman 76 dengan bantuan software Matlab. Berikut merupakan hasil populasi baru generasi selanjutnya untuk Individu 1.
Individu 1 pada populasi baru generasi baru menurut metode order crossover :
Individu 1 = 5 3 2 23 14 17 13 24 25 21 4 16 12 18 15 8 6 711 20 22 9 10 19 1
Individu 1 pada populasi baru generasi baru menurut metode cycle crossover :
Individu 1 = 1 5 3 19 10 8 18 15 17 14 16 12 20 23 21 4 2 25 22 6 7 24 9 13 11
52
Setelah diperoleh generasi baru maka proses selanjutnya yaitu mencari nilai fitness generasi baru dengan bantuan software Matlab. Sifat dari algoritma
genetika yaitu random generator, sehingga setiap melakukan tahap seleksi akan menghasilkan solusi yang berbeda. Dalam penelitian ini dilakuakan beberapa kali
percobaan dalam pengaplikasian algoritma genetika dengan software Matlab agar diperoleh solusi solusi yang optimum, yaitu dengan mengubah-ubah ukuran
populasi dan jumlah generasi. Berikut merupakan tabel hasil percobaan dengan menggunakan beberapa nilai ukuran populasi dan jumlah generasi yang berbeda-
beda. Tabel 3.6 menyatakan hasil percobaan untuk metode order crossover. Tabel 3.6 Hasil Percobaan Menggunakan Order Crossover
Percobaan ke-
Ukuran Populasi
Jumlah Generasi
Fitness Total
Waktu menit
1 20
200 0.001043
959 2
400 0.001152
868 3
600 0.001206
829 4
800 0.001217
822 5
1000 0.001143
875 6
25 200
0.001033 968
7 400
0.001086 921
8 600
0.001105 905
9 800
0.001085 922
10 1000
0.001112 899
11 30
200 0.001072
933 12
400 0.001134
882 13
600 0.001211
826 14
800 0.001179
848 15
1000 0.001250
800 Rata-Rata
883.8
53
Rute pendistribusian galon air mineral yang diperoleh menggunakan order crossover adalah sebagai berikut:
Tabel 3.7 Rute Pendistribusian dengan Metode Order Crossover
Kendaraan ke-
Rute Waktu
menit Kapasitas
galon
1 Depot
––Ngudi Rejeki––CIMB Niaga –– Premisol
––Depot 117
149
2 Depot
– RS Holistika Medika– GOR UNY
–SKM–PT Buana Citra–Depot 206
146
3 Depot
– Tri Media –Herona Express –PT Kharisma Export
–Giant Express –Depot 238
237
4 Depot
––Bintang Alam– Duta Lestari– Marel Sukses Pratama
– Jogja Tshirt– Master Laundry
– Peksi Guna Raharja– Indmira
– Permata Finance– Anugerah Kasih Putera PT
– Komitrando– Depot 373
274
5 Depot
–Dagsap Endura–Iga Sapi Bali–PT Udaka
– Gunung Harta–Depot 233
149
Berdasarkan Tabel 3.7 diperoleh bahwa dengan metode order crossover waktu distribusi untuk setiap kendaraan kurang dari lama waktu maksimal
distribusi , yaitu 480 menit. Hal ini berarti waktu distribusi yang diperoleh dari metode order crossover tidak melebihi batas waktu pelayanan yang diharapkan.
54
Graf yang diperoleh dari Algoritma Genetika metode Order Crosssover OX digambar menggunakan bantuan software Geogebra dengan menyalin letak
titik-titik pelanggan pada google maps sehingga dihasilkan gambar sebagai berikut:
Gambar 3.4 Rute I Pendistribusian Galon Air Mineral
Gambar 3.5 Rute II Pendistribusian Galon Air Mineral
55
Gambar 3.6 Rute III Pendistribusian Galon Air Mineral
Gambar 3.7 Rute IV Pendistribusian Galon Air Mineral
56
Gambar 3.8 Rute V Pendistribusian Galon Air Mineral Selanjutnya dilakukan percobaan dengan menggunakan metode cycle
crossover diperoleh hasil sebagai berikut: Tabel 3.8 Hasil Percobaan Metode Cycle Crossover
Percobaan ke- Ukuran
Populasi mlah Generasi
Fitness Total Waktu
menit
1 20
200 0.001172
853 2
400 0.001263
792 3
600 0.001264
791 4
800 0.001328
753 5
1000 0.001332
751 6
25 200
0.001196 836
7 400
0.001134 882
8 600
0.001200 833
9 800
0.001214 824
10 1000
0.001307 765
11 30
200 0.001218
821 12
400 0.001335
749 13
600 0.001362
734 14
800 0.001328
753 15
1000 0.001332
751 Rata-rata
792.53
57
Dari Tabel 3.8 diperoleh rute pendistribusian galon air mineral dengan metode cycle crossover sebagai berikut:
Tabel 3.9 Rute Pendistribusian dengan Metode Cycle Crossover
Kendaraan ke-
Rute Waktu
menit Kapasitas
galon
1 Depot
––PT Anugerah Kasih Putera––PT Buana Citra
––JogjaTshirt––Iga Sapi Bali– –RS Holistika Medika––Peksi Guna
Raharja ––Indmira––Depot
258 154
2 Depot
–– Bintang Alam –– Komitrando–– Depot
141 131
3 Depot
– Duta Lestari – Tri Media – Premisol
– Dagsap Endura – Giant Express
– Depot 270
213
4 Depot
– GOR UNY–Permata Finance– Master Laundry
–Marel Sukses Pratama– Herona Express
–SKM–Kharisma Export– Gunung Harta
–PT Udaka–Depot 295
319
5 Depot
–Ngudi Rejeki– CIMB Niaga Sudirman
–Depot 112
138
58
Berdasarkan Tabel 3.9 diperoleh bahwa dengan metode cycle crossover waktu distribusi untuk setiap kendaraan kurang dari 480 menit, yang artinya tidak
melebihi batas waktu pelayanan yang diharapkan. Graf yang diperoleh dari Algoritma Genetika dengan metode Cycle
Crossover CX digambar menggunakan software Geogebra dengan menyalin letak titik-titik pelanggan pada google maps sebagai berikut:
Gambar 3.9 Rute VI Pendistribusian Galon Air Mineral
Gambar 3.10 Rute VII Pendistribusian Galon Air Mineral
59
Gambar 3.11 Rute VIII Pendistribusian Galon Air Mineral
Gambar 3.12 Rute IX Pendistribusian Galon Air Mineral
60
Gambar 3.13 Rute X Pendistribusian Galon Air Mineral Berdasarkan Tabel 3.6 dan 3.8 telah dilakukan uji coba dengan beberapa
ukuran populasi random yaitu 20, 25, dan 30. Jumlah iterasi yang digunakan yaitu 200, 400, 600, 800, dan 1000. Digunakan parameter dengan nilai yang sama
untuk kedua metode pindah silang yaitu crossover rate 0.08 dan mutation rate 0.03. Berdasarkan hasil percobaan untuk metode order crossover diperoleh nilai
fitness terbaik yaitu 0.001250 dengan total waktu tempuhnya 800 menit untuk ukuran populasi 30 pada iterasi ke-1000. Sedangkan untuk metode cycle crossover
diperoleh nilai fitness terbaik yaitu 0.001362 dengan total waktu tempuhnya 734 menit untuk ukuran populasi 30 pada iterasi ke-600. Dari hasil percobaan kedua
metode crossover, dapat dilihat bahwa metode cycle crossover lebih unggul daripada metode order crossover.
Hal ini dapat dibuktikan dengan rata-rata waktu tempuh yang digunakan pada metode order crossover lebih besar daripada metode cycle crossover. Pada
hasil percobaan penelitian ini, ukuran populasi dan jumlah iterasi tidak menjamin
61
nilai fitness yang diperoleh akan semakin baik. Semakin besar jumlah generasi yang diuji, semakin lama waktu yang dibutuhkan untuk proses running tetapi jika
jumlah generasi yang diuji hanya sedikit akan mengakibatkan solusi yang diperoleh akan terjebak dalam lokal optimal. Faktor yang sangat mempengaruhi
terhadap solusi dari algoritma genetika yaitu populasi awal yang dibangkitkan, metode crossover yang dipilih, serta probabilitas crossover dan probabilitas
mutasi yang digunakan. Berdasarkan Tabel 3.6 , Gambar 3.14. merupakan grafik percobaan ke-15
dari hasil ouput software Matlab dengan metode order crossover.
Gambar 3.14 Grafik Metode Order Crossover Grafik pada Gambar 3.14 menunjukkan bahwa percobaan menggunakan
metode order crossover dengan ukuran populasi 30 dan jumlah generasi 1000 diperoleh nilai fitness terbaik 0.001250 dan total waktu tempuh 800 menit untuk
semua kendaraan.
62
Berdasarkan Tabel 3.8 untuk metode cycle crossover diperoleh nilai fitness terbaik pada percobaan ke-13 yaitu sebesar 0.001362 dengan total waktu
tempuhnya 734 menit. Gambar 3.15 merupakan grafik percobaan ke-13 dari hasil ouput software Matlab.
Gambar 3.15 Grafik Metode Cycle Crossover
Grafik pada Gambar 3.15 menunjukkan bahwa percobaan menggunakan metode cycle crossover dengan ukuran populasi 30 dan jumlah generasi 600
diperoleh nilai fitness terbaik 0.001362 dan total waktu tempuh 734 menit untuk semua kendaraan.
Selanjutnya dilakukan uji beda rata-rata waktu tempuh yang diperoleh pada Tabel 3.6 dan Tabel 3.8. Uji beda rata-rata dilakukan dengan Uji t menggunakan
bantuan SPSS. Langkah-langkahnya adalah sebagai berikut:
63
H : Tidak ada perbedaan rata-rata waktu tempuh jika menggunakan order
crossover dengan cycle crossover H
1
: Ada perbedaan rata-rata waktu tempuh jika menggunakan order crossover dengan cycle crossover
α : 0.05
Kriteria Keputusan : H
ditolak jika Sig. α
Output hasil Uji t dengan menggunakan SPSS adalah sebagai berikut: Tabel 3.10 Output hasil uji t menggunakan SPSS
Independent Samples Test Levene’s Test
for Equality of Variances
t-test for Equality of Means
t df
Sig. 2- tailed
F Sig.
Mean diference
Std. Error
Difference Lower Upper
Waktu Tempuh
Equal variances
assumed Equal
variances not
assumed .158
.594 5.105
5.105 28
27.623 .000
.000 91.267
91.267 17.880
17.880 54.642
54.620 127.891
127.914
Setelah melakukan analisis dengan menggunakan SPSS kemudian disimpulkan bahwa nilai Sig. 0,000 lebih kecil dari 0,05 maka artinya H
ditolak sehingga H
1
diterima. Jadi hasil penelitian tersebut menunjukkan bahwa ada perbedaan yang signifikan antara rata-rata waktu tempuh jika menggunakan
order crossover dengan cycle crossover
64
BAB IV PENUTUP
A. Kesimpulan
Berdasarkan pembahasan mengenai penerapan algoritma genetika dengan variasi crossover dalam penyelesaian Capacitated Vehicle Routing Problem with
Time Windows CVRPTW untuk pendistribusian galon air mineral oleh PT Artha Envirotama Evita di wilayah D.I Yogyakarta, diperoleh hasil sebagai berikut :
1. Bentuk model matematika CVRPTW untuk pendistribusian galon air
mineral oleh Evita di D.I Yogyakarta yaitu : Model matematika CVRPTW dalam bentuk fungsi tujuan dan kendala-
kendala adalah sebagai berikut : FungsiTujuan :
min = ∑ ∑ ∑
= =
=
Dengan variabel keputusan sebagai berikut : 1
Variabel ,
∀ , ∈ �, ∀ ∈ �, ≠ Variabel
mempresentasikan ada atau tidaknya perjalanan dari pelanggan ke- ke pelanggan ke- oleh kendaraan ke- .
2 Variabel ,
, dan ,
∀ ∈ �, ∀ ∈ � Variabel
menyatakan waktu dimulainya pelayanan pada pelanggan ke- oleh kendaraan ke-
, menyatakan waktu saat kendaraan ke-
meninggalkan depot dan kembali ke depot, dan menyatakan lamanya
pelayanan di pelanggan ke- oleh kendaraan ke- .