• Tidak ada hasil yang ditemukan

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.

N/A
N/A
Protected

Academic year: 2017

Membagikan "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."

Copied!
90
0
0

Teks penuh

(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

(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

(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

(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

(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

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

(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

(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

(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

(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

(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

(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

(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

(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

(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

(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

(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

(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

(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

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

(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

[image:37.595.173.455.502.673.2]

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

[image:38.595.171.456.222.405.2]

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:

[image:38.595.188.436.520.654.2]
(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

(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

(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

(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

(46)
[image:46.595.167.456.184.595.2]

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

(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

(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

[image:48.595.124.500.215.392.2]

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–

[image:48.595.126.499.551.752.2]
(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

[image:49.595.118.505.424.737.2]

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)
[image:50.595.118.506.141.421.2]

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

(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

(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

(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

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

(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

[image:56.595.121.503.384.724.2]

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

Gambar

Gambar 2.2 Graf Sederhana G1
Gambar 2.4 Graf Tak Sederhana G3
Gambar 2.6 Graf Berarah G5
Gambar 2.7 Skema Algoritma Genetika oleh David Goldberg (1989)
+7

Referensi

Dokumen terkait

Hasil penelitian menunjukkan bahwa BRKGA yang dipadukan dengan local search menghasilkan total biaya distribusi yang lebih rendah dibandingkan dengan metode

Grafik pada Gambar 3.15 menunjukkan bahwa percobaan menggunakan metode cycle crossover dengan ukuran populasi 30 dan jumlah generasi 600 diperoleh nilai

Berdasarkan hasil uji coba untuk mengoptimasi metode DRLSC maka nilai fitness yang dihasilkan metode GAPSO lebih baik jika dibandingkan Algoritma Genetika (GA) dan

Untuk mendapatkan rute yang optimal dalam masalah penjemputan barang di JNE, digunakan metode capacitated vehicle routing problem dengan algoritma sweep sebagai solusi

Penyelesaian Vehicle Routing Problem with Stochastic Demands dengan menggunakan metode Hibrid Simulated annealing – Algoritma Genetika mempunyai solusi yang lebih baik

Hasil yang diperoleh menggunakan algoritma genetika dengan melakukan 5 simulasi, diperoleh rute terpendek dengan peluang crossover (Pc) = 0,9 dan peluang mutasi (Pm) = 0,05