IMPLEMENTASI ALGORITMA GENETIKA DENGAN VARIASI CROSSOVER DALAM PENYELESAIAN CAPACITATED VEHICLE ROUTING PROBLEM WITH TIME WINDOWS (CVRPTW) PADA PENDISTRIBUSIAN AIR MINERAL DI PT ARTHA ENVIROTAMA SLEMAN.

(1)

BAB I

PENDAHULUAN

A.

Latar Belakang

Penggunaan algoritma-algortima yang meniru cara kerja makhluk hidup dalam menyelesaikan masalah-masalah optimasi telah diperkenalkan sejak tahun 1960-an, yang biasa dikenal dengan istilah evolusi komputasi. Salah satu dari evolusi komputasi adalah algoritma genetika. Pengimplementasian algoritma genetika untuk masalah-masalah optimasi menjadi permasalahan yang menarik untuk diteliti, ini dikarenakan algoritma genetika sangat kuat dan merupakan teknik optimasi yang dapat bekerja pada banyak masalah yang sangat sulit diselesaikan dengan teknik konvensional (Gen dan Cheng, 2010).

Algoritma genetika didasarkan pada prinsip seleksi alam yaitu “siapa yang kuat, dia yang bertahan”. Algoritma genetika pertama kali ditemukan oleh John Holland pada tahun 1960. Bersama murid dan teman-temannya, John Holand mempublikasikan Algoritma Genetika dalam buku yang berjudul Adaption of

Natural and Artificial Systems pada tahun 1975 (Coley, 1999).

Masalah yang dapat diselesaikan dengan algoritma genetika antara lain

Vehicle Routing Problem (VRP). VRP didefinisikan sebagai masalah penentuan

rute optimal kendaraan untuk pendistribusian barang/jasa ke pelanggan-pelanggan dengan lokasi yang berbeda dengan permintaan yang sudah diketahui, dari satu atau lebih depot yang memenuhi beberapa kendala (Yeun dkk, 2008).


(2)

Sudah banyak dilakukan penelitian tentang permasalahan VRP. Metode penyelesaian pada penelitian-penelitian yang telah dilakukan bemacam-macam. Penelitian yang dilakukan dengan menggunakan metode algoritma genetika untuk menyelesaikan permasalahan TSP dengan metode roullete whell selecion dalam pendistribusian barang dilakukan oleh Rudi Minaryo (2014). Permasalahan dari penelitian ini adalah optimasi rute pendistribusian barang dengan algoritma genetika. Rute pendistribusian yang diperoleh lebih baik yang ditunjukan dengan jarak pendistribusian yang lebih pendek.

VRP adalah sebuah cakupan masalah di mana ada sejumlah rute untuk sejumlah kendaraan yang berada pada satu atau lebih depot yang harus ditentukan jumlahnya agar tersebar secara geografis supaya bisa melayani pelanggan-pelanggan yang tersebar. VRP dengan kendala kapasitas dan waktu pelayanan disebut Capacitated Vehicle Routing Problem with Time Windows (CVRPTW).

Salah satu contoh permasalahan CVRPTW adalah pendistribusian air mineral dalam kemasan (AMDK). Kemasan AMDK yang beredar berupa gelas, botol, dan galon. AMDK dengan kemasan galon banyak digunakan di rumah maupun di perusahaan. Hal yang penting dalam pendistribusian adalah penentuan rute, jumlah kendaraan, kapasitas kendaraan, dan waktu pelayanan tiap pelanggan.

PT Artha Envirotama yang biasa disebut Evita, sebagai salah satu perusahaan yang bergerak dalam pelayanan ketersediaan air minum memerlukan strategi pendistribusian yang tepat agar dapat mendistribusikan air mineral secara efektif sehingga mampu meminimalkan waktu pendistribusian air mineral ke


(3)

pelanggan-pelanggannya dan semua pelanggan mendapatkan pelayanan yang baik. Oleh karena itu, distribusi air mineral yang efektif mutlak diperlukan.”Distribusi adalah penyaluran barang dari suatu tempat ketempat lainnya atau dari produsen ke pelanggan untuk dimanfaatkan” Nirwan Sembiring (1991:39). “Distribusi adalah aktifitas perusahaan agar produk atau jasa mudah didapatkan oleh pelanggan sasarannya”(Kotler&Amstrong, 2000 : 73).

Saat ini, pendistribusian galon air mineral oleh Evita ke seluruh pelanggan-pelanggannya masih sering terjadi keterlambatan dan waktu distribusi masih lebih dari batas waktu yang diharapkan, yaitu 480 menit untuk tiap kendaraan. Artinya, setiap kendaraan yang mendistribusikan galon air mineral harus selesai melakukan pendistribusian tidak lebih dari 480 menit. Untuk mengatasi keterlambatan distribusi air mineral ke masing-masing pelanggan agar distribusi dapat selesai tepat waktu, diperlukan rute distribusi yang optimal sehingga galon air mineral lebih cepat sampai pada pelanggan. Oleh karena itu dibutuhkan metode optimasi yang dapat diterapkan untuk menentukan rute terpendek. Pembahasan dalam skripsi ini akan mencoba memakai algoritma genetika dengan

order crossover dan cycle crossover dalam memodelkan rute pendistibusian galon

air mineral di Evita dengan kendaraan yang tersedia.

B.

Batasan Masalah

Tulisan ini dibatasi pada permasalahan optimasi rute pendistribusian dengan memperhatikan kapasitas kendaraan dan waktu pelayanan (CVRPTW)


(4)

menggunakan algoritma genetika dengan order crossover dan cycle crossover pada pendistribusian galon air mineral di PT Artha Envirotama Sleman.

C.

Rumusan Masalah

Berdasarkan latar belakang tersebut maka permasalahan dalam penelitian ini dirumuskan sebagai berikut :

1. Bagaimana model matematika CVRPTW untuk pendistribusian galon air mineral di PT Artha Envirotama?

2. Bagaimana implementasi Algoritma Genetika dengan order crossover dan

cycle crossover untuk penyelesaian model matematika CVRPTW pada

pendistribusian galon air mineral di PT Artha Envirotama sehingga diperoleh rute pendistribusian yang optimal?

3. Metode manakah yang menghasilkan rata-rata waktu distribusi setiap kendaraan lebih minimal dalam pendistibusian galon air mineral di PT Artha Envirotama antara metode Algorima Genetika menggunakan order

crossover dengan menggunakan cycle crossover?

D.

Tujuan Penelitian

Berdasarkan latar belakang dan rumusan masalah tersebut maka tujuan dari penelitian ini adalah:

1. Membangun model matematika CVRPTW untuk pendistribusian galon air mineral di PT Artha Envirotama.


(5)

pendistribusian galon air mineral di PT Artha Envirotama sehingga diperoleh rute pendistribusian yang optimal.

3. Mengetahui metode mana yang menghasilkan rata-rata waktu distribusi setiap kendaraan lebih minimal dalam pendistibusian galon air mineral di PT Artha Envirotama antara metode Algorima Genetika menggunakan

order crossover dengan menggunakan cycle crossover.

E.

Manfaat Penelitian

1. Bagi penulis

Mengetahui proses dalam menyelsaikan masalah CVRPTW menggunakan Algoritma Genetika dengan order crossover dan cycle crossover sehingga memperoleh rute pendistribusian yang optimal dengan waktu distribusi yang minimal.

2. Bagi Jurusan Pendidikan Matematika

Memperluas khasanah pengetahuan matematika pada topik kajian aplikasi penelitian operasional pada masalah CVRPTW.

3. Bagi PT Artha Envirotama

Memperoleh alternatif tentang rute pendistribusian yang lebih optimal dengan rata-rata waktu distribusi setiap kendaraan yang minimal sehingga diharapkan pendistribusian galon air mineral ke pelanggan tidak terjadi keterlambatan.


(6)

BAB II

KAJIAN TEORI

Secara umum, pada bab ini membahas mengenai kajian teori yang digunakan dalam penelitian yaitu teori graf, vehicle routing problem (VRP),

capacitated vehicle routing problem with time windows (CVRPTW), algoritma

genetika, dan variasi crossover dalam algoritma genetika yaitu order crossover dan cycle crossover.

A.

Teori Graf

1. Definisi Graf

Graf adalah kumpulan titik yang dihubungkan satu sama lain melalui rusuk. Secara matematis, suatu graf G didefinisikan sebagai pasangan himpunan , dengan adalah himpunan tidak kosong dari titik , = { , , , . . , }, dan adalah himpunan rusuk, = { , , , … , }, yang menghubungkan sepasang titik pada graf tersebut (Edgar G. Goodaire dan Michael M. Parmanter, 2002).

Graf yang memuat himpunan titik dan himpunan rusuk seperti berikut ini.

= { , , , , } = { , , , , }


(7)

Gambar 2.1 Graf G

2. Jenis-Jenis Graf

Jenis-jenis graf dapat diklasifikasikan berdasarkan beberapa faktor-faktor sebagai berikut (Mardiyono, 2009):

a. Berdasarkan ada tidaknya loop atau rusuk ganda pada suatu graf, maka graf digolongkan menjadi dua jenis, yaitu:

1) Graf sederhana (simple graph)

Graf sederhana yaitu graf yang tidak mengandung loop maupun rusuk ganda. Gambar G1 di bawah ini adalah contoh graf sederhana.

Gambar 2.2 Graf Sederhana G1 2) Graf tak-sederhana (unsimple graph)


(8)

Graf tak-sederhana yaitu graf yang mengandung loop atau rusuk ganda. Gambar Graf G2 di bawah ini adalah contoh graf tidak sederhana yang mengandung rusuk ganda dan Graf G3 adalah contoh graf tidak sederhana yang mengandung loop.

Gambar 2.3 Graf Tak Sederhana G2

Gambar 2.4 Graf Tak Sederhana G3

b. Berdasarkan jumlah titik pada suatu graf, maka secara umum graf dapat digolongkan menjadi dua jenis:

1) Graf berhingga (limited graph)

Graf berhingga adalah graf yang jumlah titiknya n berhingga. 2) Graf tak berhingga (unlimited graph)


(9)

Graf tak behingga adalah graf yang jumlah titiknya n tidak berhingga banyaknya.

c. Berdasarkan orientasi arah pada rusuk, maka secara umum graf dibedakan atas dua jenis:

1) Graf tak berarah (undirect graph)

Graf tak berarah adalah graf yang rusuknya tidak mempunyai orientasi arah. Urutan pasangan titik yang terhubung oleh rusuk tidak diperhatikan. Sehingga

, = , adalah rusuk yang sama. Graf tak berarah sering dipakai pada jaringan saluran telepon karena rusuk pada graf tak berarah menyatakan bahwa saluran telepon dapat beroperasi pada dua arah. Graf G4 di bawah ini merupakan contoh graf tak berarah.

Gambar 2.5 Graf Tak Berarah G4

2) Graf berarah (direct graph atau digraph)

Graf berarah adalah graf yang setiap rusuknya diberikan orientasi arah. Pada graf berarah , dan , menyatakan dua buah rusuk yang berbeda, dalam arti kata bahwa , ≠ , . Jadi untuk rusuk , titik


(10)

dinamakan titik asal dan titik dinamakan titik terminal atau titik tujuan. Graf berarah sering dipakai untuk menggambarkan aliran proses, peta lintas kota dan lain sebagainya. Sehingga pada graf berarah gelang atau looping diperbolehkan tetapi rusuk ganda tidak diperbolehkan. Berikut adalah gambar Graf G5 yang merupakan contoh graf berarah:

Gambar 2.6 Graf Berarah G5

3. Keterhubungan

Sebuah graf disebut terhubung jika untuk setiap dua titik terdapat rusuk yang menghubungkan kedua titik tersebut.

a. Jalan (walk)

Walk dengan panjang k pada sebuah graf G adalah rangkaian terurut dari k rusuk pada graf G dengan bentuk :

, , , … , ;

Walk tersebut dinyatakan dengan , , , … , atau dengan kata lain walk antara u sampai z (Robin J. Wilson & John J. Watkin, 1990 : 34). b. Jejak ( Trail)


(11)

c. Lintasan (Path)

Path adalah sebuah trail tanpa titik berulang (Robin J. Wilson & John J. Watkin, 1990 : 35).

d. Sikel (Cycle)

Cycle adalah sebuah trail tertutup yang titik awal dan akhir merupakan titik yang sama.

f. Graf Hamilton

Sirkuit Hamilton adalah lintasan yang melalui tiap titik dalam graf tepat satu kali. Graf Hamilton adalah graf yang memiliki sirkuit Hamilton. Contoh sirkuit Hamilton adalah , , , pada G1. Contoh Graf Hamilton adalah G1.

B.

Vehicle Routing Problem (VRP)

1. Pengertian VRP

Vehicle Routing Problem (VRP) dapat didefinisikan sebagai permasalahan

mencari rute dengan biaya minimum dari suatu depot ke pelanggan yang letaknya tersebar dengan jumlah permintaan yang berbeda-beda. Rute dibuat sedemikian rupa sehingga setiap pelanggan dikunjungi hanya satu kali oleh satu kendaraan. Seluruh rute berawal di depot, dan jumlah permintaan dalam satu rute tidak boleh melebihi kapasitas kendaraan.

VRP diperkenalkan pertama kali oleh Dantzig dan Ramzer pada tahun 1959 memegang peranan penting dalam pengaturan distribusi dan menjadi salah satu masalah yang dipelajari secara luas.VRP merupakan perhitungan formulasi


(12)

dengan mempertimbangkan masalah jumlah kendaraan dan rute yang akan dilalui.

Tujuan yang ingin dicapai dalam VRP di antaranya (Toth &Vigo, 2002):

1. Meminimalkan ongkos perjalanan secara keseluruhan yang dipengaruhi oleh keseluruhan jarak yang ditempuh dan jumlah kendaraan yang digunakan. 2. Meminimalkan jumlah kendaraan yang digunakan untuk melayani semua

pelanggan.

3. Menyeimbangkan rute.

4. Meminimalkan keluhan pelanggan.

2. Jenis-Jenis Vehicle Routing Problem (VRP)

Dalam perkembangannya, VRP memiliki beberapa variasi (Toth & Vigo, 2002), antara lain:

1. Capacitated Vehicle Routing Problem (CVRP), dengan kendala

yaitumasing-masing kendaraan memiliki kapasitas tertentu.

2. Vehicle Routing Problem with Time Windows (VRPTW), merupakan jenis

VRP dengan kendala interval waktu pelayanan.

3. Multiple Depot Vehicle Routing Problem (MDVRP), merupakan jenis VRP

yang memiliki banyak depot dalam melakukan pelayanan terhadap pelanggan.

4. Vehicle Routing Problem with Pick-Up and Delivering (VRPPD), dengan

kendala yaitu pelanggan dimungkinkan mengembalikan barang kepada agen asal. Pengiriman barang disuplai dari satu depot pada titik awal pengiriman,


(13)

Karakteristik dari VRP –SPD adalah bahwa kendaraan yang digunakan pada suatu rute diisi oleh muatan barang yang dikirim dan muatan barang

pick-up.

5. Split Delivery Vehicle Routing Problem (SDVRP), merupakan variasi dari

CVRP dimana pelayanan terhadap pelanggan dilakukan dengan menggunakan kendaraan yang berbeda-beda.

6. Periodic Vehicle Routing Problem (PVRP), dengan faktor utama yaitu

pengantaran hanya dilakukan di hari tertentu. Tujuan dari PVRP ini adalah untuk meminimalkan total jarak rute dan menyelesaikan permasalan penentuan jadwal pelayanan pelanggan.

7. Vehicle Routing Problem with Multiple Products (VRPMP), karakteristik

dari VRP ini adalah permintaan pelanggan lebih dari satu jenis barang. Variasi dari semua VRP tersebut dapat digunakan sesuai dengan keadaan atau kondisi dari masalah yang dihadapi nantinya, tentunya dengan tujuan awal yang sama yaitu untuk meminimalkan total jarak tempuh untuk mendapatkan biaya transportasi yang minimum pula.

8. Capacitated Vehicle Routing Problem with Time Windows (CVRPTW),

variasi dari VRP ini adalah VRP dengan memperhatikan kapasitas kendaraan dan waktu pelayanan.

C.

Capacitated Vehicle Routing Problem with Time Windows

(CVRPTW)

Capacitated vehicle routing problem with time windows (CVRPTW)


(14)

capacitated vehicle routing problem (CVRP) dan vehicle routing problem with time windows (VRPTW). CVRPTW bertujuan untuk membentuk rute optimal

untuk memenuhi permintaan pelanggan yang dilakukan secara delivery dengan kendala kapasitas dan waktu pelayanan sehingga diperoleh waktu yang minimum.

CVRPTW termasuk dalam masalah VRP. Dalam CVRPTW, pelayanan pelanggan harus mulai dalam batasan waktu yang ditentukan dan kendaraan harus tiba di lokasi pelanggan selama waktu pelayanan. Jika kendaraan tiba sebelum pelanggan siap untuk memulai pelayanan, maka kendaraan harus menunggu terlebih dahulu (G. Confessore, G.Galiano. and G.Stecca, 2008).

Kendala pertama pada CVRPTW adalah kendala kapasitas. Kendala kapasitas yang dimaksud adalah bahwa setiap kendaraan memiliki kapasitas tertentu dan jika kapasitas kendaraan sudah penuh, maka kendaraan tersebut tidak dapat melayani pelanggan selanjutnya. Kendala berikutnya adalah kendala time

windows. Time windows didefinisikan sebagai interval waktu pelayanan.

Masalah CVRPTW dapat direpresentasikan sebagai suatu graf berarah =

, dengan V = { , , , … , } adalah himpunan titik, menyatakan depot yaitu tempat kendaraan memulai dan mengakhiri rute perjalanan. =

{ , | , ∈ , ≠ } adalah himpunan rusuk atau garis berarah yang menghubungkan dua titik yaitu ruas jalan penghubung antar pelanggan ataupun antara depot dengan pelanggan (Laporte, 1992).

Setiap titik { ∈ , ≠ } memiliki permintaan sebesar dengan

adalah bilangan bulat positif. Himpunan � = { , , … , } merupakan kumpulan kendaran yang heterogen, sehingga panjang setiap rute dibatasi oleh


(15)

kapasitas kendaraan. Setiap titik , memiliki waktu tempuh yaitu waktu tempuh dari titik ke . Waktu tempuh perjalanan ini diasumsikan simetrik yaitu

= dan = .

Dari permasalahan CVRPTW tersebut kemudian diformulasikan ke dalam bentuk model matematika dengan tujuan meminimumkan waktu distribusi kendaraan untuk melayani semua pelanggan, jika z adalah fungsi tujuan maka:

min � = ∑=== (2.1)

dengan variabel keputusan sebagai berikut:

1. Variabel , ∀ , ∈ �, ∀ ∈ �, ≠ . Variabel merepresentasikan ada atau tidaknya perjalanan dari pelanggan ke- ke pelanggan ke- oleh kendaraan ke- .

{ , , ke pelanggan oleh kendaraan 2. Variabel , 0 , n ∀ ∈�, ∀ ∈�.

Variabel menyatakan waktu dimulainya pelayanan pada pelanggan ke- oleh kendaraan ke-k. menyatakan waktu saat kendaraan ke-k meninggalkan depot dan kembali ke depot, dan menyatakan lamanya pelayanan di pelanggan ke-i.

3. Variabel dan ∀ , ∈ �, ∀ ∈ �.

Variabel menyatakan kapasitas total dalam kendaraan ke-k setelah melayani pelanggan ke-i, sedangkan menyatakan banyaknya permintaan pelanggan ke-j.


(16)

1. Setiap pelanggan hanya dikunjungi tepat satu kali oleh kendaraan yang sama.

∑ ∑5 =

= 5

= (2.2)

. . .

∑=5 ∑5= 5 =

∑ ∑5 =

= 5

= (2.3)

. . .

∑ =5 ∑5= 5 = =

2. Total jumlah permintaan pelanggan dalam satu rute tidak melebihi kapasitas kendaraan yang melayani rute tersebut. Jika ada lintasan dari i ke j dengan kendaraan k, maka

+ = , ∀ , ∈ �, ∀ ∈ � (2.4)

≤ �, ∀ ∈ �, ∀ ∈ � (2.5)

3. Jika ada perjalanan dari pelanggan ke-i ke pelanggan ke-j, maka waktu memulai pelayanan di pelanggan ke-j lebih dari atau sama dengan waktu kendaraan ke-kuntuk memulai pelayanan di pelanggan ke-i ditambah waktu pelayanan pelanggan ke-i dan ditambah waktu tempuh perjalanan dari pelanggan ke-i ke pelanggan ke-j. Jika ada lintasan dari i ke j dengan kendaraan k, maka


(17)

1. Setiap pelanggan hanya dikunjungi tepat satu kali oleh kendaraan yang sama.

∑= ∑ = = (2.2)

. . .

∑= ∑ = =

∑ = ∑ = = (2.3)

. . .

∑ = ∑ = = =

2. Total jumlah permintaan pelanggan dalam satu rute tidak melebihi kapasitas kendaraan yang melayani rute tersebut. Jika ada lintasan dari i ke j dengan kendaraan k, maka

+ = , ∀ , ∈ �, ∀ ∈ � (2.4)

≤ �, ∀ ∈ �, ∀ ∈ � (2.5)

3. Jika ada perjalanan dari pelanggan ke-i ke pelanggan ke-j, maka waktu memulai pelayanan di pelanggan ke-j lebih dari atau sama dengan waktu kendaraan ke-kuntuk memulai pelayanan di pelanggan ke-i ditambah waktu pelayanan pelanggan ke-i dan ditambah waktu tempuh perjalanan dari pelanggan ke-i ke pelanggan ke-j. Jika ada lintasan dari i ke j dengan kendaraan k, maka


(18)

4. Waktu kendaraan untuk memulai pelayanan di pelanggan ke-i harus berada pada selang waktu [ , ,]

≤ ≤ , ∀ ∈ �, ∀ ∈ � (2.7)

5. Setiap rute perjalan berawal dari depot dan berakhir di depot.

∑= ∑ = ∑ = = , ∀ , ∈ � , ∀ ∈ � (2.8)

6. Kekontinuan rute, artinya kendaraan yang mengunjungi setiap pelanggan, setelah selesai melayani akan meninggalkan pelanggan tersebut.

∑= − ∑= = , ∀ , ∈ � , ∀ ∈ � (2.9)

7. Variabel keputusan Xijk merupakan integer biner

∈{ , },∀ , ∈ �, ∀ ∈ � (2.10)

Berdasarkan fungsi tujuan dan kendala dari CVRPTW di atas, dapat dititikkan bahwa CVRPTW merupakan salah satu variasi dari VRP yang bertujuan untuk meminimalkan waktu distribusi dengan memperhatikan kapasitas kendaraan, total permintaan pelanggan, dan waktu pelayanan tiap pelayanan sehingga akan diperoleh rute yang optimum. Dalam kehidupan sehari-hari, sering dijumpai permasalahan mengenai CVRPTW. Misalnya, permasalahan pada pendistribusian barang dari depot ke sejumlah pelanggannya dengan batasan waktu pelayanan tertentu.

D.

Algoritma Genetika

1. Definisi Algoritma Genetika

Algoritma Genetika pertama kali dikenalkan oleh John Holland pada tahun 1960. Bersama murid dan teman-temannya, John Holland mempublikasikan Algoritma Genetika dalam buku yang berjudul Adaption of Natural and


(19)

Artificial System pada tahun 1975 (Coley, 1999). Algoritma Genetika merupakan

algoritma optimisasi yang terinspirasi oleh gen dan seleksi alam. Algoritma ini mengkodekan solusi-solusi yang mungkin ke dalam stuktur data dalam bentuk kromosom-kromosom dan mengaplikasikan operasi rekombinasi genetika ke stuktur data tersebut (Whitley, 2002).

Algoritma Genetika merupakan suatu metode heuristik untuk mencari solusi optimum dari suatu permasalahan dengan menggunakan mekanisme pencarian yang meniru proses evolusi biologis. Mekanisme yang digunakan merupakan kombinasi dari pencarian acak dan terstruktur. Algoritma ini sudah berhasil diterapkan dalam berbagai permasalahan kombinatorial, mulai dari

Traveling Salesman Problem (TSP), VRP, dan penjadwalan produksi.

Dalam menyelesaikan penentuan kombinasi yang optimum, Algoritma Genetika berbeda dengan algoritma heuristik lainnya. Pada umunya, metode heuristik mencari solusi optimum dengan menyusun kombinasi secara bertahap berdasarkan kriteria pemilihan dan terminasi iterasi yang tertentu. Solusi yang didapatkan hanya satu macam solusi saja. Sebaliknya, Algoritma Genetika membuat suatu kode genetika dari kombinasi yang dimaksud, yang lebih dikenal sebagai istilah gen (genotype) yang selanjutnya disempurnakan dengan iterasi yang menyerupai proses alam dalam menurunkan sifat – sifat genetik. Algoritma genetika menggunakan mekanisme genetika yang ada pada proses alami dan sistem buatan. Istilah – istilah yang digunakan adalah gabungan dari dua disiplin ilmu, yaitu ilmu biologi dan ilmu komputer (John Willey & Sons, 1993).


(20)

Algoritma ini dimulai dengan pembentukan himpunan individu yang diwakili oleh kromosom. Himpunan kromosom ini disebut populasi awal. Populasi awal dapat dibentuk secara acak ataupun dengan metode heuristik (Ghoseiri & Ghamndpour, 2009). Sebelum membentuk populasi awal, dibutuhkan representasi solusi ke dalam kromosom.

Hal-hal yang terdapat dalam algoritma genetika adalah sebagai berikut (Weise, 2009):

1. Gen (Genotype) adalah sebuah nilai yang menyatakan satuan dasar yang membentuk suatu arti tertentu dalam satu kesatuan gen yang dinamakan kromosom.

2. Allele yaitu nilai dari sebuah gen, dapat berupa bilangan biner, float, integer,

karakter dan kombinatorial.

3. Kromosom adalah gabungan gen – gen yang membentuk nilai tertentu. 4. Individu merupakan suatu nilai atau keadaan yang menyatakan salah satu

solusi yang mungkin dari permasalahan yang diangkat.

5. Populasi merupakan sekumpulan individu yang akan diproses bersama dalam satu siklus proses evolusi. Populasi terdiri dari sekumpulan kromosom.

6. Induk adalah kromosom yang akan dikenai operasi genetik (crossover) 7. Crossover merupakan operasi genetik yang mewakili proses

perkembangbiakan antar individu.


(21)

9. Mutasi merupakan operasi genetik yang berperan menghasilkan perubahan acak dalam populasi, yang berguna untuk menambah variasi dari kromosom- kromosom dalam sebuah populasi.

10. Proses Seleksi merupakan proses yang mewakili proses seleksi alam (natural selection) dari teori Darwin. Proses ini dilakukan untuk menentukan induk dari operasi genetik (crossover) yang akan dilakukan untuk menghasilkan keturunan (offspring).

11. Nilai fitness merupakan penilaian yang menentukan bagus tidaknya sebuah kromosom.

12. Fungsi Evaluasi adalah fungsi yang digunakan untuk menentukan nilai

fitness. Fungsi evaluasi ini merupakan sekumpulan kriteria-kriteria tertentu

dari permasalahan yang ingin diselesaikan.

13. Generasi merupakan satuan dari populasi setelah mengalami operasi-operasi genetika, berkembang biak, dan menghasilkan keturunan. Pada akhir dari setiap generasi, untuk menjaga agar jumlah kromosom dalam populasi tetap konstan, kromosom–kromosom yang mempunyai nilai fitness yang rendah dan memiliki peringkat dibawah nilai minimal akan dihapus dari populasi. Terdapat beberapa parameter yang digunakan dalam Algoritma Genetika. Parameter yang digunakan tersebut adalah (Sivanandam, 2008):

1. Jumlah Generasi

Merupakan jumlah perulangan (iterasi) dilakukannya rekombinasi dan seleksi. Jumlah generasi ini mempengaruhi kestabilan output dan lama iterasi (waktu proses Algoritma Genetika). Jumlah generasi yang besar dapat


(22)

mengarahkan ke arah solusi yang optimal, namun akan membutuhkan waktu

running yang lama. Sedangkan jika jumlah generasinya terlalu sedikit maka solusi

akan terjebak dalam lokal optimal. 2. Ukuran Populasi

Ukuran populasi mempengaruhi kinerja dan efektifitas dari Algoritma Genetika. Jika ukuran populasi kecil maka populasi tidak menyediakan cukup materi untuk mencakup ruang permasalahan, sehingga pada umumnya kinerja Algoritma Genetika menjadi buruk. Dalam hal ini dibutuhkan ruang yang lebih besar untuk mempresentasikan keseluruhan ruang permasalahan. Selain itu penggunaan populasi yang besar dapat mencegah terjadinya konvergensi pada wilayah lokal.

3. Probabilitas Crossover (Pc)

Probabilitas crossover ini digunakan untuk mengendalikan frekuensi operator crossover. Dalam hal ini, dalam populasi terdapat Pc dan ukuran populasi struktur yang akan melakukan crossover. Semakin besar nilai probabilitas

crossover maka semakin cepat struktur baru diperkenalkan dalam populasi.

Namun jika probabilitas crossover terlalu besar maka struktur dengan nilai fungsi obyektif yang baik dapat hilang dengan lebih cepat dari seleksi. Akibatnya populasi tidak dapat lagi meningkatkan nilai fungsi dari obyektifnya. Sebaliknya probabilitas crossover kecil akan menghalangi proses pencarian dalam proses Algoritma Genetika.Adapun mengenai probabilitas crossover yang baik, dari hasil penelitian yang dilakukan oleh Zbiniew Michalewics (1996) menyatakan bahwa probabilitas crossover yang baik adalah berada dalam interval [0.65-1].


(23)

4. Probabilitas Mutasi (Pm)

Mutasi digunakan untuk meningkatkan variasi populasi.Probabilitas mutasi ini digunakan untuk menentukan tingkat mutasi yang terjadi. Probabilitas mutasi yang rendah akan menyebabkan gen – gen yang berpotensi tidak dicoba, dan sebaliknya, tingkat mutasi yang tinggi akan menyebabkan keturunan semakin mirip dengan induknya. Adapun mengenai probabilitas mutasi yang baik, dari hasil penelitian yang dilakukan oleh Zbiniew Michalewics (1996) menyatakan bahwa probabilitas mutasi yang baik adalah berada dalam interval [0.01 – 0.3].

2. Skema Algoritma Genetika

Skema algoritma genetika pertama kali dikemukakan oleh David Goldberg (1989), dengan skema tersebut dapat dilihat pada gambar beikut:

Populas i Awal

Evaluasi Fitness

Seleksi Individu

Reproduksi:

Crossover

dan Mutasi

Populasi Baru


(24)

3. Komponen Algoritma Genetika a. Teknik Penyandian ( Pengkodean)

Teknik penyandian adalah proses penyandian gen dari kromosom. Gen merupakan bagian dari kromosom, satu gen biasanya akan mewakili satu variabel. Gen dapat direpesentasikan dalam bentuk bit, bilangan real, daftar aturan, elemen permutasi, elemen program atau representasi lainnya yang dapat diimplementasikan dalam operator genetika (Satriyanto, 2009).

Terdapat beberapa teknik pengkodean dalam algoritma genetika diantaranya pengkodean biner, pengkodean permutasi, pengkodean nilai dan pengkodean pohon (Anwar dan Yuliani, 2005). Pada penelitian ini, representasi gen menggunakan teknik pengkodean permutasi.Dalam pengkodean ini, tiap gen dalam kromosom merepresentasikan suatu urutan (Anwar dan Yuliani, 2005).

Contoh 2.1 kromosom 1 = 3 5 1 6 4 2

Keterangan: kromosom 1 berisi urutan secara acak gen kesatu sampai ke tujuh. Gen direpresentasikan dengan sebuah bilangan dan bilangan-bilangan tersebut representasi dari masing-masing pelanggan dan depot.

b. Membangitkan Populasi Awal (Spanning)

Membangkitkan populasi awal adalah membangkitkan sejumlah individu secara acak atau melalui prosedur tertentu. Ukuran populasi tergantung pada masalah yang akan dipecahkan dan jenis operator genetika yang akan diimplementasikan. Setelah ukuran populasi ditentukan, kemudian dilakukan inisialisasi terhadap kromosom yang terdapat pada populasi tersebut. Inisialisasi


(25)

kromosom dilakukan secara acak, namun demikian harus tetap memperhatikan domain solusi dan kendala permasalahan yang ada (Kusumadewi, 2003: 282).

Terdapat berbagai teknik dalam pembangkitan populasi awal diantaranya adalah random generator, pendekatan tertentu, dan permutasi gen. Pada penelitian ini pembangkitan populasi awal dilakukan dengan menggunakan random generator. Inti dari cara ini adalah melibatkan pembangkitan bilangan random dalam interval (0,1) untuk setiap nilai gen sesuai dengan representasi kromosom yang digunakan.

c. Mengevaluasi Nilai Fitness (Fitness Value)

Mengevaluasi nilai fitness berfungsi untuk mengukur kualitas dari sebuah solusi dan memungkinkan tiap solusi untuk dibandingkan (Michalewicz, 1996: 72). Suatu individu dievaluasi berdasarkan suatu fungsi tertentu sebagai ukuran baik tidaknya individu tersebut. Di dalam evolusi alam, individu yang bernilai

fitness tinggi yang akan bertahan hidup, sedangkan individu yang bernilai fitness

rendah akan mati (D.E.Goldberg, 1989). Pada masalah optimasi, fungsi fitness yang digunakan adalah

= (2.11)

dengan merupakan nilai dari individu, yang artinya semakin kecil nilai , maka semakin besar nilai fitnessnya. Tetapi hal ini akan menjadi masalah jika bernilai 0, yang mengakibatkan F bisa bernilai tak hingga. Untuk mengatasinya, perlu ditambah sebuah bilangan sangat kecil sehingga nilai

fitnessnya menjadi


(26)

dengan adalah bilangan yang dianggap sangat kecil (konstanta) dan bervariasi sesuai dengan masalah yang akan diselesaikan (Suyanto, 2005:10). d. Seleksi (Selection)

Seleksi merupakan pemilihan dua buah kromosom untuk dijadikan sebagai induk yang dilakukan secara proporsional sesuai dengan dengan nilai fitness-nya (Michalewicz, 1996: 75). Masing-masing individu yang diseleksi akan diberikan probabilitas reproduksi tergantung dari nilai objektif dirinya sendiri terhadap nilai objektif dari semua individu dalam seleksi tersebut. Nilai fitness inilah yang nantinya akan digunakan pada tahap seleksi berikutnya.

Terdapat beberapa metode seleksi menurut Kusumadewi (2003:105), yaitu

rank-based fitness assignment, roulette wheel selection, stochastic universal sampling, seleksi lokal (local selection), seleksi dengan pemotongan (truncation selection) dan seleksi dengan turnamen (tournament selection). Skripsi ini

menggunakan metode Roulette Wheel Selection.

Cara kerja metode Roulette Wheel Selection adalah sebagai berikut

a. Dihitung nilai fitness dari masing-masing individu ( , dimana i adalah individu ke-1 s/d ke-n)

b. Dihitung total fitness semua individu

c. Dihitung probabilitas masing-masing individu

d. Dari probabilitas tersebut, dihitung jatah masing-masing individu pada angka 1 sampai 100


(27)

f. Dari bilangan random yang dihasilkan, ditentukan individu mana yang terpilih dalam proses seleksi

IlustrasiSeleksi dengan Mesin Roulette

Individu 1: fitness =10% Jatah untuk individu 1=1 s.d 10 Individu 2: fitness =25% Jatah untuk individu 2=11 s.d 35 Individu 3: fitness =40% Jatah untuk individu 3=36 s.d 75 Individu 4: fitness =15% Jatah untuk individu 4=76 s.d 90 Individu 5: fitness =10% Jatah untuk individu 5=91 s.d 100

e. Pindah Silang (Crossover)

Pindah Silang (crossover) adalah operator dari algoritma genetika yang melibatkan dua induk untuk membentuk kromosom baru. Pindah silang

Dibangkitkan Bilangan Random antara 1 s.d 100 sebanyak 5 kali

Individu Terpilih

Random 30= Individu 2 Random 88= Individu 4 Random 64= Individu 3 Random 18= Individu 2 Random 44= Individu 3


(28)

menghasilkan keturunan baru dalam ruang pencarian yang siap diuji. Operasi ini tidak selalu dilakukan pada setiap individu yang ada. Individu dipilih secara acak untuk dilakukan crossover dengan Pc (Probabilitas Crossover) antara 0,6 s/d 0,95. Jika pindah silang tidak dilakukan, maka nilai dari induk akan diturunkan kepada keturunan (Michalewicz, 1996: 78).

Prinsip dari pindah silang adalah melakukan operasi (pertukaran aritmatika) pada gen yang bersesuaian dari dua induk untuk menghasilkan individu baru. Proses crossover dilakukan pada setiap individu dengan probabilitas crossover yang ditentukan.

e. Mutasi (Mutation)

Mutasi merupakan proses untuk mengubah nilai dari satu atau beberapa gen dalam suatu kromosom. Operasi mutasi yang dilakukan pada kromosom dengan tujuan untuk memperoleh kromosom-kromosom baru sebagai kandidat solusi pada generasi mendatang dengan fitness yang lebih baik, dan lama-kelamaan menuju solusi optimum yang diinginkan.Akan tetapi, untuk mencapai hal ini, penekanan selektif juga memegang peranan yang penting. Jika dalam proses pemilihan kromosom-kromosom cenderung terus pada kromosom yang memiliki

fitness yang tinggi saja, konvergensi prematur akan sangat mudah terjadi

(Murniati, 2009: 24). Secara skematis proses mutasi dapat digambarkan sebagai berikut.


(29)

Gambar 2.8 Skematika Proses Mutasi

Dari gambar 2.8 di atas, jika p merupakan bilangan random yang dibangkitkan kurang dari probabilitas mutasi (probMut) maka individu hasil

crossover dilakukan proses mutasi Sedangkan jika bilangan p yang dibangkitkan

lebih dari atau sama dengan probMut, maka individu hasil crossover tidak dilakukan proses mutasi. Teknik swapping mutation diawali dengan memilih dua bilangan acak kemudian gen yang berada pada porusuk bilangan acak pertama ditukar dengan gen yang berada pada bilangan acak kedua dalam probabilitas tertentu (Suyanto, 2005: 57).

Contoh

Sebelum

Sesudah

1 2 3 4 5 6


(30)

f. Elitism

Elitism merupakan proses untuk menjaga agar individu bernilai fitness

tertinggi tersebut tidak hilang selama evolusi (Kusumadewi, 2003: 112). Proses seleksi dilakukan secara random sehingga tidak ada jaminan bahwa suatu indvidu yang bernilai fitness tertinggi akan selalu terpilih. Walaupun individu bernilai

fitness tertinggi terpilih, mungkin saja individu tersebut akan rusak (nilai

fitness-nya menurun) karena proses pindah silang. Oleh karena itu, untuk menjaga agar individu bernilai fitness tertinggi tersebut tidak hilang selama evolusi, maka perlu dibuat satu atau lebih. Proses elitism dilakukan dengan menduplikat individu dengan nilai fitness terbaik untuk dijadikan individu pertama pada generasi berikutnya.

g. Pembentukan Populasi Baru

Proses membangkitkan populasi baru bertujuan untuk membentuk populasi baru yang berbeda dengan populasi awal. Pembentukan populasi baru ini didasarkan pada keturunan-keturunan baru hasil mutasi ditambah dengan individu terbaik setelah dipertahankan dengan proses elitism. Setelah populasi baru terbentuk, kemudian mengulangi langkah-langkah evaluasi nilai fitness, proses seleksi, proses pindah silang, proses mutasi pada populasi baru untuk membentuk populasi baru selanjutnya.

E.

Crossover dalam CVRPTW

Crossover merupakan bagian terpenting dalam algoritma genetika, karena di

sini ditentukan bagaimana membentuk generasi yang baru. Crossover (pindah silang) adalah metode mengawinkan dua kromosom induk (orang tua) dengan


(31)

tujuan untuk mendapatkan anak yang lebih baik (Fanggidae, A & Lado, F.R, 2015:9). Crossover bekerja dengan membangkitkan offspring baru dengan mengganti sebagian informasi dari induk (Mahmudy, 2013). Beberapa metode

crossover yang akan digunakan untuk menyelesaikan persoalan CVRPTW pada

peneltian ini, sebagai berikut:

1. Order Crossover (OX)

Order Crossover (OX) membutuhkan urutan sejumlah gen dari suatu

kromosom yang akan dilakukan crossover, sehingga dilakukan penentuan posisi awal dan akhir gen dari suatu kromosom. Algoritma dari OX (Kumar, dkk., 2012) adalah sebagai berikut:

a. Tentukan 2 bilangan secara acak (bilangan bulat dari 1 sampai panjang gen

dari suatu kromosom) yang akan dijadikan porusuk awal dan akhir gen dari suatu kromosom yang akan mengalami crossover, tandai gen-gen tersebut.

1) Bentuk anak 1 dengan:

a) Kosongkan gen-gen pada induk 1 yang termasuk dalam gen-gen yang

ditandai pada induk 2.

b) Geser ke kanan allele-allele pada induk 1 sampai gen-gen yang ditandai

pada induk 1 kosong.

c) Isi gen-gen yang ditandai (yang telah kosong) pada induk 1 dengan

allele-allele yang telah ditandai pada induk 2.

2) Bentuk anak 2 dengan:

a) Kosongkan gen-gen pada induk 2 yang termasuk dalam gen-gen yang


(32)

b) Geser ke kanan allele-allele pada induk 2 sampai gen-gen yang ditandai pada induk 2 kosong.

c) Isi gen-gen yang ditandai (yang telah kosong) pada induk 2 dengan

allele-allele yang telah ditandai pada induk 1.

Contoh ilustrasi order crossover : Dipunyai 2 bilangan acak, yaitu 2 dan 3. Posisi awal gen yang akan dicrossover = 2 Posisi akhir gen yang akan dicrossover = 3 Induk 1 :

A B C D E

Induk 2 :

C D A E B

Anak 1 :

E B C

Anak 2:

D A E

B C E


(33)

E D A

E B C D A

2. Cycle Crossover (CX)

Pada metode ini akan dilakukan cycle antara dua induk, yang dimulai dari porusuk awal gen kromosom induk 1 dan akan berhenti pada gen yang tidak dilanjutkan cycle nya.

Algoritma dari CX (Kumar, dkk., 2012) adalah sebagai berikut:

a. Tentukan pola cycle dari duainduk, yang dimulai dari porusuk awal gen

kromosom induk 1.

1) Bentuk anak 1 dengan:

a) Tandai allele-allele pada induk 1 yang termasuk dalam pola cycle (hasil dari

langkah 1).

b) Ambil secara berurutan allele-allele yang tidak ditandai pada induk 2 (yang

tidak termasuk dalam cycle) untuk diisi pada gen yang masih kosong pada induk 1.

2) Bentuk anak 2 dengan:

a) Tandai allele-allele pada induk 2 yang termasuk dalam pola cycle (hasil dari


(34)

b) Ambil secara berurutan allele-allele yang tidak ditandai pada induk 1(yang tidak termasuk dalam cycle) untuk diisi pada gen yang masih kosong pada induk 2.

Contoh ilustrasi cycle crossover: Induk1

Induk 2:

Pola cycle: B C A B Anak 1:

Anak 2:

B E C D A

C D A E B

B C A

B D C E A

C A B


(35)

BAB III

PEMBAHASAN

Pada bab ini, dibahas mengenai model matematika dari pendistribusian galon air mineral dan penyelesaiannya dengan algoritma genetika menggunakan

order crossover dan cycle crossover.

A.

Model Matematika CVRPTW pada Pendistribusian Galon

Air Mineral di PT Artha Envirotama (Evita) Sleman

PT Artha Envirotama yang biasa disebut Evita adalah salah satu perusahaan yang bergerak dalam bidang produksi dan pendistribusian air mineral dalam kemasan. Air mineral dalam kemasan yang didistribusikan salah satunya dalam kemasan galon. Evita beralamatkan di Jalan Raya Pakem-Turi Km 0.5, Sempu, Pakembinangun, Pakem, Sleman, Daerah Istimewa Yogyakarta (DIY). Sasaran pendistribusian galon air mineral adalah toko, perusahaan, rumah makan besar maupun kecil di seluruh wilayah di Provinsi DIY.

Menurut wawancara langsung dengan salah satu karyawan di Evita, alur distribusi galon air mineral dimulai dari pabrik Evita yang selanjutnya dikirim ke pelanggan-pelanggan yang tersebar di wilayah DIY. Dalam pendistribusian galon air mineral, Evita memiliki 5 kendaraan sebagai armada untuk mendistribusikan galon air mineral ke seluruh pelanggan Evita. Kendaran berupa mobil jenis Dobel 1 buah, mobil jenis Engkel 2 buah, mobil jenis L300 1 buah, dan mobil jenis HINO 1 buah. Kendaraan tersebut dipilih dengan mempertimbangkan kapasitas


(36)

mobil dan banyaknya permintaan pelanggan Evita yang bertujuan untuk meminimalkan waktu tempuh sehingga pendistribusian dapat selesai tepat waktu.

Setiap jenis kendaraan memiliki kapasitas yang berbeda-beda. Mobil jenis Dobel memiliki kapasitas 324 galon, jenis Engkel dengan kapasitas 156 galon, jenis L300 dengan 148 galon, dan jenis HINO dengan 238 galon. Setiap mobil mempunyai wilayah distribusi yang sudah ditetapkan oleh kantor, yang sewaktu-waktu bisa berubah-ubah karena naik turunnya jumlah permintaaan pelanggan. Sebagian besar pelanggan adalah unit pelayanan publik seperti toko, rumah makan, rumah sakit, dan sebagainya. Para pelanggan bisa dilayani antara waktu pukul 08.00 – 16.00 WIB. Oleh karena itu, diharapkan Evita mampu melayani semua pelanggannya dalam rentang waktu pukul 08.00 WIB – 16.00 WIB. Keterlambatan dalam pendistribusian akan mengakibatkan keluhan dari pelanggan, berhentinya berlangganan atau pindah ke agen lain.

Asumsi dalam permasalahan pendistribusian galon air mineral di Evita adalah :

1. Tiap lokasi pelanggan hanya dikunjungi satu kali, dan lokasi pelanggan diasumsikan sebagai titik

2. Waktu tempuh setiap antar titik adalah simetris, sehingga =

3. Kendaraan yang digunakan adalah sebanyak 5 buah mobil (� yang terdiri atas 4 jenis mobil.

4. Kapasitas masing-masing jenis kendaraan adalah = = , = 8, = 8, dan = , dimana , , ,, , dan 


(37)

5. Waktu tempuh antara titik distribusi dan , yaitu sudah termasuk lama pelayanan di titik distribusi dimana lama pelayanannya adalah 30 menit. 6. Batasan waktu pelayanan setiap titik yaitu pada pukul 08.00 sampai dengan

pukul 16.00, yaitu 480 menit.

Jumlah pelanggan yang dikunjungi adalah 102 pelanggan (nama pelanggan dapat dilihat pada lampiran 1 halaman 71). Pelanggan yang berdekatan dianggap satu titik, dengan kriteria pelanggan itu memiliki jarak kurang dari atau sama dengan 6 km, yang kebanyakan berada pada jalur yang sama. Proses ini dinamakan proses reduksi. Proses reduksi adalah menjadikan beberapa pelanggan yang letaknya berdekatan menjadi satu saja. Misalnya di Jalan A terdapat 4 pelanggan yang masing-masing jarak antar pelanggan yaitu kurang dari atau sama dengan 6 km, maka 4 pelanggan tersebut direduksi menjadi 1 pelanggan. Berikut disajikan peta lokasi seluruh titik (pelanggan Evita) sebelum direduksi yang beralamatkan di DIY .(Gambar 3.1).


(38)

Berdasarkan peta pada google maps, titik-titik pelanggan yang sejalur rata-rata berjarak 6 km. Selanjutnya titik-titik yang berjarak kurang dari sama dengan 6 km dijadikan 1 titik. Proses tersebut dinamakan reduksi. Peta titik-titik (pelanggan Evita) setelah direduksi pada Gambar 3.2 berikut:

Gambar 3.2 Peta Pelanggan Evita Setelah Direduksi

Titik-titik (pelanggan Evita) yang telah direduksi kemudian direpresentasikan menjadi graf nol G5 berikut:

Gambar 3.3 Graf Nol G5 Pelanggan Evita Setelah Direduksi G5


(39)

meninggalkan depot dan kembali ke depot, dan menyatakan lamanya pelayanan di pelanggan ke- oleh kendaraan ke- .

3. Variabel dan , ∀ , ∈ �, ∀ ∈ �

Variabel menyatakan kapasitas total kendaraan ke- setelah melayani pelanggan ke- , sedangkan menyatakan banyaknya permintaan pelanggan ke- .

Kendala dari permasalahan CVRPTW adalah sebagai berikut :

1) Setiap pelanggan hanya dikunjungi tepat satu kali oleh kendaraan yang sama

== = 1 .

. .

∑= ∑ = = 1

== = 1

. . .

== =1

2) Total jumlah permintaan pelanggan dalam satu rute tidak melebihi kapasitas kendaraan yang melayani rute tersebut. Misalkan terdapat lintasan dari ke

dengan kendaraan , maka

+ = , ∀ , ∈ �, ∀ ∈ �

≤ , ∀ ∈ �, ∈ �


(40)

Permasalahan dalam penelitian ini adalah bagaimana menentukan rute optimal perjalanan yang harus melalui semua titik tujuan tepat satu kali dan harus kembali ke depot. Masalah tersebut dapat dimodelkan ke dalam graf berbobot dengan setiap pelanggan tujuan digambarkan sebagai titik dan rusuk berbobot mewakili panjang ruas jalan antara dua kota.

Masalah perjalanan tersebut dalam graf adalah mencari waktu tempuh dari kantor Evita ke lokasi pelanggan dan antar lokasi pelanggan. Waktu yang dicari adalah waktu minimal yang diperlukan untuk mendistribusikan galon air mineral dari kantor Evita ke semua pelanggan. Tabel kantor Evita dan lokasi pelanggan yang sudah direduksi menjadi 25 titik disajikan pada lampiran 2 halaman 74.

Berdasarkan asumsi-asumsi di atas maka model matematika dalam pendistribusian galon air mineral oleh Evita di wilayah Provinsi D.I Yogyakarta untuk meminimalkan waktu distribusi adalah sebagai berikut :

min = ∑ ∑ ( ∑

=

)

= =

Dengan variabel keputusan sebagai berikut : 1. Variabel , ∀ , ∈ �, ∀ ∈ �, ≠

Variabel merepresentasikan ada atau tidaknya perjalanan dari pelanggan ke- ke pelanggan ke- oleh kendaraan ke- .

{ , , ke pelanggan oleh kendaraan

2. Variabel , , dan , ∀ ∈ �, ∀ ∈ �


(41)

≤ 8, ∀ ∈ �, ∈ �

≤ , ∀ ∈ �, ∈ �

≤ , ∀ ∈ �, ∈ � ≤ , ∀ ∈ �, ∀ ∈ �

3) Jika ada perjalanan dari pelanggan ke- ke pelanggan ke- , maka waktu memulai pelayanan di pelanggan ke- lebih dari atau sama dengan waktu kendaraan ke- memulai pelayanan di pelanggan ke- ditambah waktu tempuh perjalanan dari pelanggan ke- ke pelanggan ke- .

+ + ≤ , ∀ , ∈ �, ∀ ∈ �

4) Waktu kendaraan untuk memulai pelayanan dik pelanggan ke- harus berada pada selang waktu [ , ]

8. ≤ ≤ . , ∀ ∈ �, ∀ ∈ �

5) Kekontinuan rute, artinya kendaraan yang mengunjungi setiap pelanggan, setelah selesai melayani akan meninggalkan pelanggan tersebut.

∑ � −

=

∑ �

=

= , ∀ , ∈ �, ∀ ∈ �

6) Variabel keputusan � merupakan integer biner

� ∈ { , }, ∀ , ∈ �, ∀ ∈ �

B.

Penyelesaian Masalah CVRPTW pada Pendistribusian Galon

Air Mineral di PT Artha Envirotama (Evita) Sleman

Pada subbab sebelumnya telah dibuat model matematika dari permasalahan distribusi galon air mineral di PT Artha Envirotama (Evita). Fokus pembahasan dari permasalahan tersebut yaitu optimasi rute pendistribusian galon air mineral


(42)

di Evita sehingga waktu tempuh pendistribusian ke semua pelanggan-pelanggannya yang tersebar di wilayah DIY menjadi minimal. Pendistribusian galon air mineral di Evita menggunakan 5 kendaraan yang terdiri atas 4 jenis kendaraan dengan masing-masing kapasitas adalah 156 galon ( 2 kendaraan), 148 galon ( 1 kendaraan), 216 galon (1 kendaraan), dan 324 galon (1 kendaraan).

Penentuan rute pendistribusian model CVRPTW adalah setiap titik hanya dikunjungi satu kali serta proses pendistribusian berlangsung pada batasan waktu yang telah ditentukan. Selanjutnya proses pencarian rute yang optimum dengan menggunakan algoritma genetika dapat diselesaikan dengan bantuan software Matlab. Pada penyelesaian algoritma genetika untuk CVRPTW, diperlukan data waktu untuk mengetahui berapa lama waktu yang dibutuhkan dalam proses pendistribusian. Lampiran 3 halaman 75 menyatakan waktu perjalanan antar titik dijumlahkan dengan pelayanan yang dilakukan pada tiap-tiap titik.

Urutan langkah-langkah dalam penyelesaian masalah CVRPTW dengan menggunakan algoritma genetika adalah sebagai berikut :

1. Penyandian gen (Pengkodean)

Gen dalam hal ini merupakan representasi dari kantor Evita yang merupakan tempat awal pendistribusian dan pelanggan-pelanggan Evita yang tersebar di wilayah D.I Yogyakarta, dengan kata lain gen merupakan titik suatu graf. Teknik pengkodean yang digunakan dalam penelitian ini adalah teknik pengkodean permutasi. Dalam pengkodean ini, tiap gen dalam kromosom merepresentasikan suatu urutan. Depot dan titik-titik distribusi (pelanggan Evita) direpresentasikan


(43)

meninggalkan depot dan kembali ke depot, dan menyatakan lamanya pelayanan di pelanggan ke- oleh kendaraan ke- .

3. Variabel dan , ∀ , ∈ �, ∀ ∈ �

Variabel menyatakan kapasitas total kendaraan ke- setelah melayani pelanggan ke- , sedangkan menyatakan banyaknya permintaan pelanggan ke- .

Kendala dari permasalahan CVRPTW adalah sebagai berikut :

1) Setiap pelanggan hanya dikunjungi tepat satu kali oleh kendaraan yang sama

== = 1 .

. .

∑= ∑ = = 1

== = 1

. . .

== =1

2) Total jumlah permintaan pelanggan dalam satu rute tidak melebihi kapasitas kendaraan yang melayani rute tersebut. Misalkan terdapat lintasan dari ke

dengan kendaraan , maka

+ = , ∀ , ∈ �, ∀ ∈ �

≤ , ∀ ∈ �, ∈ �


(44)

≤ 8, ∀ ∈ �, ∈ �

≤ , ∀ ∈ �, ∈ �

≤ , ∀ ∈ �, ∈ � ≤ , ∀ ∈ �, ∀ ∈ �

3) Jika ada perjalanan dari pelanggan ke- ke pelanggan ke- , maka waktu memulai pelayanan di pelanggan ke- lebih dari atau sama dengan waktu kendaraan ke- memulai pelayanan di pelanggan ke- ditambah waktu tempuh perjalanan dari pelanggan ke- ke pelanggan ke- .

+ + ≤ , ∀ , ∈ �, ∀ ∈ �

4) Waktu kendaraan untuk memulai pelayanan dik pelanggan ke- harus berada pada selang waktu [ , ]

8. ≤ ≤ . , ∀ ∈ �, ∀ ∈ �

5) Kekontinuan rute, artinya kendaraan yang mengunjungi setiap pelanggan, setelah selesai melayani akan meninggalkan pelanggan tersebut.

∑ −

=

=

= , ∀ , ∈ �, ∀ ∈ � 6) Variabel keputusan merupakan integer biner

∈ { , }, ∀ , ∈ �, ∀ ∈ �

B.

Penyelesaian Masalah CVRPTW pada Pendistribusian Galon

Air Mineral di PT Artha Envirotama (Evita) Sleman

Pada subbab sebelumnya telah dibuat model matematika dari permasalahan distribusi galon air mineral di PT Artha Envirotama (Evita). Fokus pembahasan dari permasalahan tersebut yaitu optimasi rute pendistribusian galon air mineral


(45)

di Evita sehingga waktu tempuh pendistribusian ke semua pelanggan-pelanggannya yang tersebar di wilayah DIY menjadi minimal. Pendistribusian galon air mineral di Evita menggunakan 5 kendaraan yang terdiri atas 4 jenis kendaraan dengan masing-masing kapasitas adalah 156 galon ( 2 kendaraan), 148 galon ( 1 kendaraan), 216 galon (1 kendaraan), dan 324 galon (1 kendaraan).

Penentuan rute pendistribusian model CVRPTW adalah setiap titik hanya dikunjungi satu kali serta proses pendistribusian berlangsung pada batasan waktu yang telah ditentukan. Selanjutnya proses pencarian rute yang optimum dengan menggunakan algoritma genetika dapat diselesaikan dengan bantuan software Matlab. Pada penyelesaian algoritma genetika untuk CVRPTW, diperlukan data waktu untuk mengetahui berapa lama waktu yang dibutuhkan dalam proses pendistribusian. Lampiran 3 halaman 75 menyatakan waktu perjalanan antar titik dijumlahkan dengan pelayanan yang dilakukan pada tiap-tiap titik.

Urutan langkah-langkah dalam penyelesaian masalah CVRPTW dengan menggunakan algoritma genetika adalah sebagai berikut :

1. Penyandian gen (Pengkodean)

Gen dalam hal ini merupakan representasi dari kantor Evita yang merupakan tempat awal pendistribusian dan pelanggan-pelanggan Evita yang tersebar di wilayah D.I Yogyakarta, dengan kata lain gen merupakan titik suatu graf. Teknik pengkodean yang digunakan dalam penelitian ini adalah teknik pengkodean permutasi. Dalam pengkodean ini, tiap gen dalam kromosom merepresentasikan suatu urutan. Depot dan titik-titik distribusi (pelanggan Evita) direpresentasikan


(46)

dengan angka 0 sampai 25. Representasi gen dari depot dan titik-titik pelanggan Evita ditunjukkan seperti pada Tabel 3.1 berikut:

Tabel 3.1 Representasi Gen Gen Depot / Titik Distribusi

0 Kantor Evita

1 Ngudi Rejeki Gejayan 2 PT Anugerah Kasih Putera

3 GOR UNY

4 Giant Express

5 CIMB Niaga Sudirman

6 Iga Sapi Bali

7 RS Holistika Medika 8 Marel Sukses Pratama 9 Indmira Jl. Kaliurang Km 16,3 10 Master Laundry Jl. Tegal Sari Pakem

11 Komitrando

12 Duta Lestari

13 Bintang Alam

14 Gunung Harta

15 Herona Express

16 PT Udaka

17 PT Kharisma Export

18 SKM

19 Permata Finance

20 Tri Media

21 Dagsap Endura

22 Jogja Tshirt

23 Premisol

24 Peksi Guna Raharja 25 PT Buana Citra 2. Mambangkitkan Populasi Awal (Spanning)

Membangkitkan populasi awal adalah membangkitkan sejumlah gen secara acak untuk membentuk suatu kesatuan individu. Satu individu yang terbentuk terdiri dari 25 gen yang berisi dari gen ke-1 sampai dengan gen ke-25. Gen tersebut membentuk rute pendistribusian galon air mineral oleh Evita di wilayah DIY. Dengan bantuan software Matlab, diambil beberapa rute secara acak. Hasil


(47)

pengambilan secara acak rute perjalanan pendistribusian galon air mineral yang membentuk populasi pada generasi awal adalah sebagai berikut. Data selengkapnya terdapat pada lampiran 5 halaman 85 untuk metode order crossover dan metode cycle crossover.

Hasil pembangkitan populasi awal menurut metode order crossover :

Individu 1 = 19 5 20 3 10 9 14 17 2 4 1 16 6 23 13 22 8 21 25 24 18 7 11 15 12

Artinya, rute perjalanan pada Individu 1 pada populasi awal generasi awal dengan metode order crossover dimulai dari depot kemudian ke pelanggan 19, pelanggan 5, dan seterusnya sampai semua pelanggan dikunjungi lalu kembali ke depot.

Hasil pembangkitan populasi awal menurut metode cycle crossover :

Individu 1 = 11 21 7 18 22 17 15 14 2 6 16 10 12 13 8 5 1 4 24 25 23 3 9 19 20

Artinya, rute perjalanan pada Individu 1 pada populasi awal generasi awal dengan metode cycle crossover dimulai dari depot kemudian ke pelanggan 11, pelanggan 21, dan seterusnya sampai semua pelanggan dikunjungi lalu kembali ke depot.

Individu 1 adalah individu yang dipilih secara acak pada populasi awal. Individu tersebut merupakan representasi dari rute yang dipilih secara acak pada populasi pertama baik dengan algoritma genetika menggunakan order crossover maupun cycle crossover. Setelah itu, individu dibagi menjadi beberapa rute dengan ketentuan setiap rute tidak boleh mendistribusikan galon air mineral lebih dari total kapasitas tiap kendaraan. Rute pendistribusian setiap kendaraan berawal dan berakhir di depot/kantor Evita. Depot direpresentasikan dengan gen


(48)

bernomor 0 dan titik-titik distribusi dipresentasikan dengan gen bernomor 1 sampai dengan 25. Tabel 3.2 menunjukkan pembagian rute pada Individu 1 yang dipilih secara acak pada populasi awal.

Tabel 3.2 Pembagian Rute Order Crossover Kendaraan

ke-

Rute Permintaan

(galon)

Waktu (menit) 2 0 – 19 – 5 – 0 144 142 3 0 – 20 – 3–10–9–14–

17–2–0 220 316 4 0 –4– 1–16– 6– 23–

13– 22– 8– 0 312 364 1 0 – 21 – 25– 24 – 18– 7– 0 142 286

Pembagian rute pada Tabel 3.2 berdasarkan Individu 1 yang diperoleh pada tahap pembangkitan populasi awal generasi awal dengan metode order

crossover. Pembagian rute dilakukan secara manual dengan memperhatikan

kapasitas tiap kendaraan.

Tabel 3.3 Pembagian Rute Cycle Crossover

Kendaraan

ke- Rute

Permintaan (galon)

Waktu (menit)

4 0 – 11 – 21 – 7– 18– 22–

17– 15– 0 310 481 1 0 – 14 –2– 6– 16– 10 – 0 152 211 3 0 – 12 – 13 – 8 –– 5– 1– 0 238 286 5 0 – 4 – 24– 25 – 0 151 199 2 0 –23–3–9– 19– 20 – 0 104 284


(49)

Pembagian rute pada Tabel 3.3 berdasarkan Individu 1 yang diperoleh pada tahap pembangkitan populasi awal generasi awal dengan metode cycle crossover. Pembagian rute dilakukan secara manual dengan memperhatikan kapasitas tiap kendaraan.

3. Evaluasi Nilai Fitness (Fitness Value)

Langkah selanjutnya setelah dilakukan pembangkitan populasi awal, yaitu menentukan nilai fitness dari setiap individu. Penggunaan nilai fitness bertujuan untuk menentukan rute optimal sehingga mendapatkan waktu yang minimum. Dengan menggunakan software Matlab, dapat diketahui nilai fitness dari setiap individu pada populasi awal generasi pertama seperti pada Tabel 3.4.

Tabel 3.4 Nilai Fitness Generasi Awal Order Crossover

Fitness Nilai Fitness

(dikali 1.0e-003) Fitness

Nilai Fitness (dikali 1.0e-003)

Fitness 1 0.7800 Fitness 16 0.8518

Fitness 2 0.6729 Fitness 17 0.7358

Fitness 3 0.8130 Fitness 18 0.7440

Fitness 4 0.6974 Fitness 19 0.7375

Fitness 5 0.7257 Fitness 20 0.7508

Fitness 6 0.7299 Fitness 21 0.8000

Fitness 7 0.7241 Fitness 22 0.7380

Fitness 8 0.7479 Fitness 23 0.7331

Fitness 9 0.7645 Fitness 24 0.7962

Fitness 10 0.7294 Fitness 25 0.8726

Fitness 11 0.7704 Fitness 26 0.7776

Fitness 12 0.7358 Fitness 27 0.7519

Fitness 13 0.8532 Fitness 28 0.7599

Fitness 14 0.7375 Fitness 29 0.8271


(50)

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 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


(51)

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


(52)

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


(53)

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


(54)

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


(55)

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


(56)

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


(57)

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.


(58)

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


(59)

Gambar 3.6 Rute III Pendistribusian Galon Air Mineral


(60)

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


(61)

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


(62)

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:


(63)

Gambar 3.11 Rute VIII Pendistribusian Galon Air Mineral


(64)

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


(65)

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.


(66)

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:


(67)

H0 : Tidak ada perbedaan rata-rata waktu tempuh jika menggunakan order

crossover dengan cycle crossover

H1 : Ada perbedaan rata-rata waktu tempuh jika menggunakan order

crossover dengan cycle crossover

α : 0.05

Kriteria Keputusan : H0 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 H0 ditolak sehingga H1 diterima. Jadi hasil penelitian tersebut menunjukkan bahwa ada perbedaan yang signifikan antara rata-rata waktu tempuh jika menggunakan


(1)

xi

1. Definisi Algoritma Genetika ... 17

2. Skema Algoritma Genetika ... 22

3. Komponen Algoritma Genetika ... 23

a. Teknik Penyandian ( Pengkodean) ... 23

b. Membangitkan Populasi Awal (Spanning) ... 23

c. Mengevaluasi Nilai Fitness (Fitness Value) ... 24

d. Seleksi (Selection) ... 25

e. Pindah Silang (Crossover) ... 26

e. Mutasi (Mutation) ... 27

f. Elitism ... 29

g. Pembentukan Populasi Baru ... 29

E. Crossover dalam CVRPTW... 29

1. Order Crossover (OX) ... 30

2. Cycle Crossover (CX) ... 32

BAB III ... 34

PEMBAHASAN ... 34

A. Model Matematika CVRPTW pada Pendistribusian Galon Air Mineral di PT Artha Envirotama (Evita) Sleman ... 34

B. Penyelesaian Masalah CVRPTW pada Pendistribusian Galon Air Mineral di PT Artha Envirotama (Evita) Sleman ... 40

1. Penyandian gen (Pengkodean) ... 41

2. Mambangkitkan Populasi Awal (Spanning) ... 42

3. Evaluasi Nilai Fitness (Fitness Value) ... 45

4. Seleksi (Selection) ... 46

5. Pindah Silang (Crossover) ... 48

a. Order Crossover (OX) ... 48

b. Cycle Crossover (CX) ... 49

6. Mutasi (Mutation) ... 49

7. Pembentukan Populasi Baru ... 51

BAB IV ... 64

PENUTUP ... 64

A. Kesimpulan ... 64

B. Saran ... 68


(2)

xii

DAFTAR GAMBAR

Gambar 2.1 Graf G……….…7

Gambar 2.2 Graf Sederhana G1……….…7

Gambar 2.3 Graf Tak Sederhana G2..………....…8

Gambar 2.4 Graf Tak Sederhana G3……….8

Gambar 2.5 Graf Tak Berarah G4……….9

Gambar 2.6 Graf Berarah G5………..………….…10

Gambar 2.7 Skema Algoritma Genetika oleh David Goldberg (1989)…………22 Gambar 2.8 Skematika Proses Mutasi……… …….28 Gambar 3.1 Peta Pelanggan Evita Sebelum Direduksi.………36

Gambar 3.2 Peta Pelanggan Evita Setelah Direduksi.………..37

Gambar 3.3 Graf Nol G5 Pelanggan Evita Sebelum Direduksi.………..37

Gambar 3.4 Rute I Pendistribusian Galon Air Mineral……….……….………..54 Gambar 3.5 Rute II Pendistribusian Galon Air Mineral.……….54 Gambar 3.6 Rute III Pendistribusian Galon Air Mineral.……….………...55 Gambar 3.7 Rute IV Pendistribusian Galon Air Mineral.………...55


(3)

xiii

Gambar 3.9 Rute VI Pendistribusian Galon Air Mineral.…….……..………... .58

Gambar 3.10 Rute VII Pendistribusian Galon Air Mineral.………...58

Gambar 3.11 Rute VIII Pendistribusian Galon Air Mineral.…………...59

Gambar 3.12 Rute IX Pendistribusian Galon Air Mineral.…..………...59

Gambar 3.13 Rute X Pendistribusian Galon Air Mineral.…..………60

Gambar 3.14 Grafik Metode Order Crossover….…..………...61


(4)

xiv

DAFTAR TABEL

Tabel 3.1 Representasi Gen………42

Tabel 3.2 Pembangkitan Rute Metode Order Crossover………..44

Tabel 3.3 Pembangkitan Rute Metode Cycle Crossover………44

Tabel 3.4 Nilai Fitness Generasi Awal Metode Order Crossover……….45

Tabel 3.5 Nilai Fitness Generasi Awal Metode Cycle Crossover……….…….46

Tabel 3.6 Hasil Percobaan Menggunakan Order Crossover……….…….52

Tabel 3.7 Rute Pendistribusian dengan Metode Order Crossover……….……53

Tabel 3.8 Hasil Percobaan Menggunakan Cycle Crossover……….…..56

Tabel 3.9 Rute Pendistribusian dengan Metode Cycle Crossover………….….57


(5)

xv

DAFTAR LAMPIRAN

Lampiran 1. Tabel Pendistribusian Galon Air Minum oleh PT Artha Envirotama

(Evita) di Wilayah D.I Yogyakarta Sebelum Direduksi ... 71

Lampiran 2. Tabel Data Pendistribusian Gaklon Air Mineral oleh PT Artha Envirotama (Evita) di Wilayah D.I Yogyakarta Setelah Direduksi . 74 Lampiran 3. Tabel Waktu Tempuh dan Pelayanan Dalam Satuan Menit ... 75

Lampiran 4. Langkah-Langkah Algoritma Genetika Menggunakan Matlab ... 76

Lampiran 5. Hasil Pembangkitan Populasi Awal pada Generasi Awal ... 85

Lampiran 6. Individu Hasil Tahap Seleksi ... 89

Lampiran 7. Individu Hasil Tahap Crossover ... 92

Lampiran 8. Individu Hasil Tahap Mutasi ... 95


(6)

xvi

DAFTAR SIMBOL

, : Suatu graf G dengan himpunan titik V dan himpunan rusuk E : Himpunan tidak kosong yang berisi titik dari suatu graf G

: Himpunan rusuk dari suatu graf G

: Variabel keputusan dan merupakan variabel biner

V : Himpunan titik-titik lokasi depot dan pelanggan

K : Himpunan kendaraan

: Kapasitas kendaraan

: Kapasitas kendaraan k setelah melayani pelanggan ke-i

Tik ::Waktu pelayanan di pelanggan ke-i oleh kendaraan k

T0k : Waktu saat kendaraan k meninggalkan depot

: Lamanya pelayanan di pelanggan ke-i oleh kendaraan k

[ , ] : Interval waktu pelayanan (time windows)

: Waktu tempuh kendaraan dari pelanggan ke-i ke pelanggan ke-j termasuk pelayanan