PENERAPAN ALGORITMA GENETIKA PADA PENYELESAIAN CAPACITATED VEHICLE ROUTING PROBLEM (CVRP) UNTUK DISTRIBUSI SURAT KABAR KEDAULATAN RAKYAT DI KABUPATEN SLEMAN.

(1)

1 BAB I PENDAHULUAN

A. Latar Belakang

Distribusi merupakan proses penyaluran produk dari produsen sampai ke tangan masyarakat atau konsumen. Kemudahan konsumen dalam mendapatkan produk yang diinginkan menjadi prioritas utama dari setiap perusahaan untuk memuaskan pelanggannya. Dalam sistem distribusi, rute yang dipilih merupakan elemen terpenting dalam menentukan jarak yang harus ditempuh dan biaya yang harus dikeluarkan. Jika rute yang dipilih optimal, maka sistem distribusi menjadi lebih efektif dan efisien. karena akan melewati rute yang minimal jaraknya, sehingga elemen-elemen yang melibatkan jarak menjadi minimal pula, seperti biaya transportasi, waktu tempuh, tingkat polusi yang dihasilkan, dan energi yang dikeluarkan.

Permasalahan yang kerap terjadi adalah jika node atau tempat yang harus dikunjungi dalam sistem distribusi itu banyak dan diharuskan tidak terjadi pengulangan, kemudian harus kembali ke titik semula, maka rute yang harus ditempuh akan menjadi banyak kemungkinannya. Permasalahan tersebut dikenal dengan istilah vehicle routing problem (VRP). VRP didefinisikan sebagai masalah penentuan rute pendistribusian barang/jasa ke pelanggan-pelanggan dengan lokasi yang berbeda dan dengan permintaan yang sudah diketahui, dari satu atau lebih depot dan memenuhi beberapa kendala (Yeun dkk, 2008). VRP memiliki tujuan meminimumkan biaya yang dapat direpresentasikan oleh total jarak tempuh atau


(2)

2

banyaknya kendaraan yang digunakan atau keduanya. Masalah ini dapat digambarkan dalam sebuah graf. Graf merupakan kumpulan simpul (vertexs atau nodes) yang dihubungkan satu sama lain melalui busur (edges). Secara matematis, suatu graf G didefinisikan sebagai pasangan himpunan (V,E) dimana V adalah himpunan tidak kosong dari simpul (vertexs atau nodes), { } dan E adalah himpunan busur (edges atau arcs), , yang menghubungkan sepasang simpul pada graf tersebut (Goodaire dan Parmenter, 1997). VRP digambarkan dalam graf G(V, E) dengan V = {0,1,2,..,n} merupakan himpunan simpul yang menggambarkan pelanggan-pelanggan dengan simpul 0 merupakan depot, sedangkan E merupakan himpunan busur yang menghubungkan depot dengan pelanggan dan juga menghubungkan antar pelanggan.

Beberapa jenis permasalahan utama pada VRP menurut Toth dan Vigo (2002) yaitu capacitated vehicle routing problem (CVRP), vehicle routing problem with pick up and delivery (VRPPD), distance constrained vehicle routing problem (DCVRP), vehicle routing problem with multiple depot (MDVRP), split delivery vehicle routing problem (SDVRP), dan vehicle routing problem with time windows (VRPTW).

Dalam memenuhi permintaan pelanggan dengan jumlah muatan yang tidak melebihi kapasitas kendaraan, maka digunakan Capacitated Vehicle Routing Problem (CVRP) yaitu permasalahan penentuan rute yang dibatasi dengan kapasitas kendaraan. Menurut Gunawan dkk (2012), CVRP adalah masalah optimasi untuk menentukan rute dengan biaya minimal (minimum cost), banyaknya kendaraan (vehicles) dengan kapasitas tertentu yang homogen


(3)

3

(homogeneous fleet), yang melayani sejumlah customer dengan jumlah permintaan telah diketahui sebelum proses pendistribusian berlangsung. Pendistribusian dalam setiap kendaraan hanya dapat dilaksanakan sebanyak satu kali yaitu dari depot ke setiap customer kemudian kembali lagi ke depot. Tujuan dari CVRP yaitu meminimalkan banyak kendaraan dan total waktu perjalanan, sehingga suatu sistem pelayanan pada penentuan rute distribusi menjadi lebih efektif, efisien, dan dapat meningkatkan kemampuan perusahaan untuk dapat memenuhi permintaan produk secara lebih cepat agar kepercayaan dan kepuasaan konsumen meningkat.

Banyaknya aplikasi dari CVRP yang sesuai dengan permasalahan di dunia nyata mengakibatkan CVRP menjadi salah satu bidang ilmu yang banyak diteliti. Penelitian-penelitian untuk menyelesaikan CVRP tersebut dilakukan dengan metode-metode yang berbeda. Salah satunya adalah dengan metode Metaheuristik. Metaheuristik merupakan prosedur pencarian solusi umum untuk melakukan eksplorasi yang lebih dalam pada daerah yang menjanjikan dari ruang solusi yang ada (Dreo, Petrowsky, dan Taillard, 2006). Kelebihan metode Metaheuristik dibanding metode lainnya adalah kemampuannya untuk menghasilkan solusi mendekati optimal (rear-optimum) dalam waktu singkat. Beberapa metode metaheuristik yang dapat digunakan antara lain adalah variable neighborhood search, greedy randomized adaptive search procedure, stochastic local search, iterated local search, particle swarm optimization, scatter search, differential evolution, ant colony system, simulated annealing, tabu search, dan genetic algorithm (Utomo dkk, 2015).


(4)

4

Penyelesaian CVRP dalam penelitian ini menggunakan salah satu metode metaheuristik yaitu algoritma genetika. Algoritma genetika merupakan suatu prosedur penelusuran yang berdasarkan pada mekanisme dari natural selection dan natural genetics yang dapat digunakan untuk memecahkan combinatorial optimization problems yang sulit. Algoritma genetika diperkenalkan oleh John Holland dan para peneliti dari University of Michigan pada tahun 1960. Algoritma genetika dipilih karena algoritma genetika tidak mempunyai kriteria khusus yang dijumpai pada algoritma metaheuristik lainnya dalam menyaring kualitas solusi, oleh karena itu waktu komputasi juga relatif lebih singkat, serta dapat menghasilkan beberapa alternatif solusi yang mempunyai nilai obyektif yang sama.

Dari penelitian sebelumya yang berjudul “Penyelesaian Capacitated Vehicle Routing Problem (CVRP) menggunakan algoritma sweep untuk optimasi rute distribusi surat kabar Kedaulatan Rakyat” (Cahyaningsih, 2015). Pada penelitian tersebut CVRP diselesaikan dengan menggunakan algoritma sweep yang sangat sederhana dalam perhitungannya yaitu dengan melakukan tahap clustering (pengelompokkan) kemudian menentukan urutan rute dari setiap kelompok yang telah diperoleh dari tahap clustering untuk mencari solusi optimalnya. Sedangkan dalam penelitian ini CVRP akan diselesaikan dengan menggunakan algoritma genetika yang mencari solusi terbaik dengan mekanisme berupa kombinasi dari pencarian acak secara terstruktur.

PT. Badan Penerbit Kedaulatan Rakyat merupakan sebuah perusahaan industri media yang beralamatkan di Jalan Pangeran Mangkubumi No. 42-46,


(5)

5

Yogyakarta. Sedangkan alamat percetakannya di Jalan Raya Yogya-Solo Km 11, Sleman, Yogyakarta. Perusahaan ini bertugas untuk mendistribusikan produk surat kabar yang dikenal dengan nama Surat Kabar Harian Kedaulatan Rakyat (KR) yang juga merupakan surat kabar tertua di Daerah Istimewa Yogyakarta. Pendistribusian surat kabar KR meliputi wilayah Provinsi DIY dan Jawa Tengah. Pendistribusian produk dari depot kepada masing-masing agen dilakukan setiap hari pada pukul 02.30-05.00 WIB. Pada proses pendistribusian khususnya di Kabupaten Sleman menggunakan 2 mobil Box Isuzu Panther. Letak agen di Kabupaten Sleman tersebar dengan jarak yang bervariasi. Selama ini dalam penentuan rute distribusi, perusahaan hanya berdasarkan perkiraan saja tanpa mengetahui apakah jarak tempuh yang dipilih sudah minimum atau belum, sehingga mengakibatkan biaya bahan bakar yang dikeluarkan pun belum tentu minimum. Oleh karena itu, perusahaan memerlukan metode khusus yang dapat membantu penentuan rute distribusi produk dari depot ke agen dengan tujuan untuk meminimumkan jarak tempuh, sehingga dengan terbentuknya rute terpendek maka waktu tempuh dalam perjalanan akan semakin cepat dan efektif serta biaya penggunaan bahan bakar kendaraan pun dapat berkurang (Cahyaningsih, 2015: 5)

Permasalahan pendistribusian surat kabar KR tersebut dapat dimodelkan dengan Capacitated Vehicle Routing Problem (CVRP) kemudian model tersebut akan diselesaikan dengan menggunakan algoritma genetika.

B. Batasan Masalah


(6)

6

1. Daerah pendistribusian surat kabar Kedaulatan Rakyat hanya untuk wilayah Kabupaten Sleman Provinsi Daerah Istimewa Yogyakarta.

2. Permasalahan Capacitated Vehicle Routing Problem (CVRP) yang digunakan dalam penulisan skripsi ini adalah permasalahan CVRP dengan satu depot. 3. Data yang digunakan adalah data sekunder dari skripsi Wahyu Kartika

Cahyaningsih yang berjudul “Penyelesaian Capacitated Vehicle Routing Problem (CVRP) Menggunakan Algoritma Sweep untuk Optimasi Rute Distribusi Surat Kabar Kedaulatan Rakyat” tahun 2015.

C. Rumusan Masalah

Berdasarkan latar belakang tersebut, maka rumusan dalam skripsi ini adalah

1. Bagaimana model matematika CVRP untuk pendistribusian surat kabar Kedaulatan Rakyat khususnya di wilayah Kabupaten Sleman?

2. Bagaimana pencarian rute pendistribusian surat kabar Kedaulatan Rakyat dengan menggunakan algoritma genetika?

3. Bagaimana perbandingan rute yang diperoleh dari algoritma sweep pada penelitian sebelumnya dengan algoritma genetika untuk pendistribusian surat kabar Kedaulatan Rakyat di wilayah Kabupaten Sleman?

D. Tujuan Penelitian

Adapun tujuan dalam penulisan skripsi ini adalah

1. Membentuk model CVRP untuk pendistribusian Surat Kabar Kedaulatan Rakyat khususnya di wilayah Kabupaten Sleman.


(7)

7

2. Dapat Menyelesaikan masalah CVRP dengan menggunakan algoritma genetika.

3. Mengetahui rute pendistribusian surat kabar Kedaulatan Rakyat yang optimal dengan menggunakan algoritma genetika.

4. Membandingkan hasil mana yang lebih baik antara algoritma sweep pada penelitian sebelumnya dan algoritma genetika dalam penyelesaian masalah CVRP untuk pendistribusian surat kabar Kedaulatan Rakyat di wilayah Kabupaten Sleman.

E. Manfaat Penelitian

Manfaat dari penulisan skripsi ini adalah 1. Bagi perusahaan

Membantu perusahaan dalam menentukan rute pendistribusian yang efektif dengan batasan kapasitas kendaraan yang ditentukan sehingga dapat meminimumkan biaya distribusi.

2. Bagi pembaca

Menambah pengetahuan tentang Capacitated Vehicle Routing Problem (CVRP) dan algoritma genetika sebagai salah satu metode penyelesaian dalam pendistribusian suatu produk.

3. Bagi penulis

Menambah wawasan dan pemahaman tentang Capacitated Vehicle Routing Problem (CVRP) dan juga mampu menerapkan algoritma genetika sebagai salah satu metode penyelesaian dalam pendistribusian suatu produk.


(8)

8 BAB II KAJIAN TEORI

Secara umum, pada bab ini membahas mengenai kajian teori yang digunakan dalam penelitian yaitu graf, vehicle routing problem (VRP), capacitated vehicle routing problem (CVRP), metode penyelesaian CVRP, algoritma sweep, dan algoritma genetika.

A. Graf

1. Definisi Graf

Graf G didefinisikan sebagai pasangan himpunan (V, E), ditulis dengan notasi G = (V, E). Dalam hal ini, V merupakan himpunan tidak kosong dari simpul-simpul (vertices atau node) digambarkan dalam titik-titik, dan E adalah himpunan sisi-sisi (edges atau arcs) digambarkan dalam garis-garis yang menghubungkan sepasang simpul (Munir, 2009). Dapat dikatakan graf adalah kumpulan dari simpul-simpul yang dihubungkan oleh sisi-sisi.

2. Jenis-jenis Graf

Graf dapat dikelompokkan beberapa kategori (jenis) bergantung pada sudut pandang pengelompokkannya. Pengelompokkan graf dapat dipandang berdasarkan ada tidaknya sisi ganda atau sisi gelang (loop), berdasarkan jumlah simpul atau berdasarkan orientasi arah pada sisi (Munir, 2009).

Berdasarkan ada tidaknya gelang atau sisi ganda pada suatu graf, maka secara umum graf dapat digolongkan menjadi dua jenis:


(9)

9

Graf yang tidak mengandung gelang maupun sisi ganda dinamakan graf sederhana. Pada graf sederhana, sisi adalah pasangan tak-terurut (unordered pairs). Jadi menuliskan sisi (u,v) sama saja dengan (v,u).

a. Graf nol

Graf nol adalah graf tidak memiliki rusuk atau himpunan rusuknya merupakan himpunan kosong. Gambar 2.1 berkut ini menunjukkan graf nol dengan lima buah simpul.

Gambar 2.1 Contoh Graf Nol dengan 5 Simpul b. Graf lengkap

Graf lengkap adalah graf sederhana yang setiap simpulnya mempunyai sisi ke semua simpul lainnya. Graf lengkap dengan n buah simpul dilambangkan dengan Kn. Setiap simpul pada Kn berderajat n-1. Contoh graf lengkap ditunjukkan oleh Gambar 2.2.


(10)

10 c. Graf teratur (Regular graphs)

Graf teratur adalah graf yang setiap simpulnya mempunyai derajat yang sama, apabila derajat setiap simpul adalah r, maka graf tersebut disebut sebagai graf teratur derajat r. Contoh graf teratur berderjat dua ditunjukkan oleh Gambar 2.3.

Gambar 2.3 Graf Teratur Derajat 2 2. Graf tak-sederhana (unsimple graph)

Graf yang memuat sisi ganda atau gelang dinamakan graf tak sederhana (unsimple graph). Ada dua macam graf tak sederhana, yaitu graf ganda (multigraph) dan graf semu (pseudograph). Graf ganda adalah graf yang memuat sisi ganda. Sisi ganda yang menghubungkan sepasang simpul bisa lebih dari dua. Graf semu adalah graf yang memuat gelang (loop). Graf semu lebih umum daripada graf ganda, karena sisi pada graf semu dapat terhubung ke dirinya sendiri (Munir, 2009).

Graf berdasarkan ada tidaknya sisi gelang atau sisi ganda dapat dilihat pada gambar 2.4


(11)

11

Gambar 2.4 (a). Graf sederhana, (b). Graf ganda, (c). Graf semu

Sisi pada graf dapat mempunyai orientasi arah. Berdasarkan orientasi arah pada sisi, maka secara umum graf dibedakan atas dua jenis:

1. Graf tak-berarah (undirected graph)

Graf yang sisinya tidak mempunyai orientasi arah disebut graf tak-berarah. Pada graf tak-berarah, urutan pasangan simpul yang dihubungkan oleh sisi tidak diperhatikan. jadi (u,v) = (v,u) adalah sisi yang sama.

2. Graf berarah (directed graph atau digraph)

Graf yang setiap sisinya diberikan orientasi arah disebut sebagai graf berarah. Sisi berarah dapat dinyatakan dengan sebutan busur (arc). Pada graf berarah, (u,v) dan (v,u) menyatakan dua buah busur yang berbeda, dengan kata lain (u,v) ≠ (v,u). Untuk busur (u,v), simpul u dinamakan simpul asal (initial vertex) dan simpul v dinamakan simpul terminal (terminal vertex) (Munir, 2009).

Gambar 2.5 (a). Graf tak berarah, (b). Graf berarah

1 2

3 4

(a)

1

2

3

4 e1 e

2 e3 e4 e5 e6 e7 (b) 1 2 3 4 e1 e2 e3 e4

e5 e6

e7

e8

(c)

1 2

3 4

(a)

1 2

3 4


(12)

12 3. Graf Berbobot (Weighted Graph)

Graf berbobot adalah graf yang setiap sisinya diberi sebuah harga (bobot). Bobot pada tiap sisi dapat berbeda-beda bergantung pada masalah yang dimodelkan dengan graf. Bobot dapat menyatakan jarak antara dua buah kota, biaya perjalanan antara dua buah kota, waktu tempuh pesan (message) dari sebuah simpul komunikasi ke simpul komunikasi lain, ongkos produksi, dan sebagainya (Munir, 2009). Untuk lebih jelasnya, graf berbobot dapat digambarkan pada gambar 2.6 berikut :

Gambar 2.6 Graf berbobot 4. Keterhubungan Graf

Definisi 2.1. Graf tak-berarah G disebut graf terhubung (connected graph) jika setiap pasang simpul u dan v di dalam himpunan V terdapat lintasan dari u ke v ( yang juga harus berarti ada lintasan dari u ke v). Jika tidak, maka G disebut graf tak-terhubung (disconnected graph).

Gambar 2.7 (a). Graf terhubung, (b). Graf tak terhubung

1 2

3 4

(a)

1 2

3 4

(b)

5

a b

c

e d

3

9 5

11 14 10


(13)

13

Definisi 2.2. simpul-simpul dan disebut berdekatan (adjacent) atau berdekatan dengan jika ada suat busur e, sedemikian sehingga . Busur e dikatakan menggabungkan (join) dan

Contoh:

Simpul pada graf berikut berdekatan (adjacent) dengan dan , tetapi tidak berdekatan dengan Busur dikatakan menggabungkan (join) dan , oleh karena . Untuk hal yang sama .

Gambar 2.8 Simpul berdekatan (adjacent) dengan

Definisi 2.3. simpul dan bersisian pada (incident on) busur e atau dikatakan busur e bersisian dengan (incident to) simpul dan jika

Contoh:

Pada gambar 2.8, busur bersisian dengan simpul dan karena Definisi 2.4. barisan simpul-simpul dan busur-busur pada graf G berselang-seling yaitu: yang dimulai dari suatu simpul dan berakhir pada suatu simpul sedemikian sehingga untuk

(tiap busur bersisian dengan tiap dua simpul pada barisan tersebut), dikatakan sebagai suatu jalan (walk) pada G.


(14)

14

Jalan pada graf dapat dinotasikan dengan dan dapat dikatakan sebagai jalan yang bermakna barisan dimulai dari simpul awal dan berakhir di simpul .

Contoh:

Diberikan Graf G3 seperti pada gambar dibawah.

Gambar 2.9 Graf Sederhana G3 Misal diketahui bahwa

Berarti merupakan suatu jalan pada graf G3. dapat ditulis lebih sederhana sebagai

Diberikan

Maka juga merupakan suatu jalan, walaupun busur dan dilewati lebih dari satu kali.

Definisi 2.5. Panjang (length) dari suatu jalan adalah banyaknya busur yang muncul (dilalui) sepanjang barisan.

Contoh:

Diberikan graf seperti pada Gambar 2.9.


(15)

15

Jalan mempunyai panjang empat karena barisan melalui busur sebanyak empat buah. Jalan mempunyai panjang enam, karena melalui empat busur yang berbeda namun dua busur berulang sehingga panjangnya menjadi enam.

Definisi 2.6. Lintasan (path) adalah jalan dengan semua simpul dalam barisannya berbeda.

Contoh:

Diberikan graf seperti pada Gambar 2.9.

Jalan dan

Berdasarkan definisi lintasan, maka merupakan suatu lintasan sedangkan bukan suatu lintasan. bukan lintasan karena ada simpul yang dilewati lebih dari satu kali, yaitu simpul

Definisi 2.7. Suatu barisan simpul-simpul dan rusuk-rusuk (jalan) dikatakan tertutup (close) apabila Jika Maka dikatakan terbuka (open). Contoh:

Diberikan graf seperti pada Gambar 2.9.

Jalan dan .

Dimisalkan bahwa , maka merupakan jalan tertutup, sedangkan dan merupakan jalan terbuka karena simpul awalnya tidak sama dengan simpul akhirnya.

Definisi 2.8. Jalur/jejak (trail) adalah jalan dengan semua busur dalam barisannya berbeda.

Contoh:


(16)

16

Jalan , , dan

, maka dan merupakan suatu jalur sedangkan bukan merupakan suatu jalur karena barisan melewati busur yang sama, yaitu busur dan busur

Definisi 2.9. Siklus (cycle) adalah jalan tertutup (closed walk) dengan simpul tidak berulang, kecuali simpul awal sama dengan simpul akhir. Dengan kata lain, siklus adalah lintasan yang tertutup.

Contoh:

Diberikan graf seperti pada Gambar 2.9.

dan merupakan siklus pada graf tersebut. Definisi 2.10. Sirkuit (circuit) adalah jalan tertutup (closed walk) dengan busur tidak berulang atau dengan kata lain sirkuit adalah jalur yang tertutup.

Contoh:

Diberikan graf seperti pada Gambar 2.9.

dan merupakan sirkuit pada graf tersebut. 5. Representasi Graf

Pemrosesan graf dengan program komputer memerlukan representasi graf dalam memori. Terdapat beberapa representasi graf yang mungkin untuk dilakukan yaitu sebagai berikut:

a. Matriks ketetanggaan (adjacency matrix).

Definisi 2.11. Misalkan G = (V, E) adalah graf dengan n simpul, n ≥ 1. Matriks ketetanggaan G adalah matriks yang berukuran n x n. Bila matriks tersebut dinamakan matriks A = [aij], maka nilai elemen matriks A [aij] akan


(17)

17

bernilai 1 bila simpul i dan simpul j bertetanggaan dan akan bernilai 0 bila simpul i dan simpul j tidak bertetangga.

Contoh matriks ketetanggaan (adjacency matrix) ditunjukkan oleh Gambar 2.10.

Gambar 2.10 Graf terhubung dengan matriks ketetanggaannya b. Matriks ikatan

Definisi 2.12. Misalkan merupakan graf dengan n simpul dan

{ } Matriks ( ) berdimensi n x n disebut matriks ikatan jika sama dengan banyaknya sisi yang menghubungkan simpul dan

Contoh matriks ikatan ditunjukkan oleh Gambar 2.11.


(18)

18 c. Matriks kehadiran

Definisi 2.13. Misalkan merupakan graf dengan n simpul dan m sisi, { } , dan { } Matriks berdimensi n x m disebut matriks kehadiran jika

{ Contoh matriks kehadiran ditunjukkan oleh Gambar 2.12.

Gambar 2.12 Matriks kehadiran berukuran 4 x 6 B. Vehicle Routing Problem (VRP)

Vehicle routing problem (VRP), atau dapat disebut juga dengan Vehicle Sceduling Problem, berhubungan dengan distribusi produk atau barang jadi antara depot dengan konsumen. VRP pertama kali dikenalkan oleh Dantzig dan Ramser pada tahun 1959. VRP ini memegang peranan penting pada manajemen distribusi dan telah menjadi salah satu permasalahan dalam optimalisasi kombinasi yang dipelajari secara luas. Model dan algoritmanya dapat digunakan secara efektif tidak hanya untuk pengiriman dan pengambilan barang, tetapi juga dapat diaplikasikan untuk masalah sistem transportasi sehari-hari, seperti untuk perencanaan rute bis sekolah, pengumpulan sampah, pembersihan jalan, rute pedagang keliling, dan lainnya.


(19)

19

Secara sederhana, VRP merupakan permasalahan yang meliputi konstruksi rute-rute dari sejumlah kendaraan yang dimulai dari suatu depot utama menuju ke lokasi sejumlah konsumen dengan jumlah permintaan tertentu. Tujuannya adalah untuk meminimumkan biaya total tanpa melebihi kapasitas kendaraan. VRP merupakan manajemen distribusi barang yang memperhatikan pelayanan, periode waktu tertentu, sekelompok konsumen dengan sejumlah kendaraan yang berlokasi pada satu atau lebih depot yang dijalankan oleh sekelompok pengendara, menggunakan road network yang sesuai. Solusi dari sebuah VRP yaitu menentukan sejumlah rute, yang masing-masing dilayani oleh suatu kendaraan yang berasal dan berakhir pada depot asalnya, sehingga kebutuhan pelanggan terpenuhi dengan tetap memenuhi kendala operasional yang ada, juga dengan meminimalkan baiaya transportasi global (Toth dan Vigo, 2002).

Terdapat empat tujuan umum dari VRP (Toth dan Vigo, 2002) yaitu : 1. Meminimalkan biaya transportasi global, terkait dengan jarak dan biaya tetap

yang berhubungan dengan kendaraan.

2. Meminimalkan jumlah kendaraan (atau pengemudi) yang dibutuhkan untuk melayani semua konsumen.

3. Menyeimbangkan rute, untuk waktu perjalanan dan muatan kendaraan.

4. Meminimalkan pinalti akibat service yang kurang memuaskan terhadap konsumen, seperti keterlambatan pengiriman dan lain sebagainya.

Beberapa komponen beserta karakteristiknya yang terdapat dalam masalah VRP (Toth dan Vigo, 2002) yaitu :


(20)

20 1. Jaringan jalan

Jaringan jalan biasanya direpresentasikan dalam sebuah graf. Jaringan jalan terdiri edge (rusuk) yang mempresentasikan bagian jalan yang digunakan, dan vertex (titik) yang mempresentasikan konsumen dan depot.

2. Konsumen

Konsumen atau pelanggan direpresentasikan dengan vertex (titik). Setiap konsumen memiliki jumlah permintaan yang berbeda-beda yang dapat mempengaruhi lamanya waktu bongkar muat (loading unloading) barang. Pada beberapa konsumen, biasanya time windows atau rentang waktu kapan konsumen tersebut dapat dilayani.

3. Depot

Depot direpresentasikan oleh vertex (titik). Depot merupakan tempat awal dan akhir dari suatu rute kendaraan. Depot memiliki sejumlah kendaraan dengan jenis dan kapasitas tertentu yang dapat digunakan dalam mendistribusikan barang atau jasa pada jam operasional depot yang telah ditentukan (time windows depot).

4. Kendaraan

Kendaraan yang digunakan dalam proses distribusi memiliki kapasitas yang membatasi permintaan konsumen, yaitu dimana jumlah permintaan konsumen tidak boleh melebihi kapasitas kendaraan tersebut. Selain itu, kendaraan juga memiliki biaya yang berhubungan dengan penggunaan kendaraan, baik yang meliputi biaya pengeluaran untuk bahan bakar maupun sewa kendaraan.


(21)

21 5. Pengemudi

Pengemudi memiliki kendala seperti jam kerja harian, tambahan waktu lembur apabila diperlukan, jumlah dan jam istirahat, serta durasi maksimum perjalanan.

Terdapat beberapa variasi dalam permasalahan utama VRP (Toth dan Vigo, 2002) yaitu :

1. Capacitated Vehicle Routing Problem (CVRP)

CVRP merupakan jenis VRP yang setiap kendaraannya memiliki kapasitas terbatas.

2. Vehicle Routing Problem with Pick up and Delivery (VRPPD)

VRPPD merupakan jenis VRP dengan pelayanan jemput dan pelayanan antar dalam setiap permintaan pelanggan.

3. Distance Constrained Vehicle Routing Problem (DCVRP)

DCVRP merupakan jenis VRP dengan kendala batasan panjang rute. 4. Vehicle Routing Problem with Multiple Depot (MDVRP)

MDVRP merupakan jenis VRP yang memiliki banyak depot dalam melakukan pelayanan terhadap pelanggan.

5. Split Delivery Vehicle Routing Problem (SDVRP)

SDVRP merupakan jenis VRP dimana pelayanan terhadap pelanggan dilakukan dengan menggunakan kendaraan yang berbeda-beda.

6. Vehicle Routing Problem with Time Windows (VRPTW)

VRPTW merupakan jenis VRP dengan kendala kapasitas kendaraan dan batasan waktu (time windows) pada setiap pelanggan dan depot.


(22)

22

C. Capacitated Vehicle Routing Problem (CVRP)

Capacitated Vehicle Routing Problem (CVRP) merupakan salah satu variasi yang paling umum dari masalah VRP, dimana terdapat penambahan kendala berupa kapasitas kendaraan yang homogen (identik) untuk mengunjungi sejumlah agen sesuai dengan permintaannya masing-masing. Permasalahan CVRP, total jumlah permintaan agen dalam satu rute tidak melebihi kapasitas kendaraan yang melayani rute tersebut, setiap agen dikunjungi satu kali oleh satu kendaraan dan semua rute dimulai dan berakhir di depot. Permasalahan CVRP mempunyai tujuan meminimumkan total jarak tempuh rute perjalanan kendaraan yang digunakan dalam mendistribusikan barang dari tempat pengiriman (depot) ke masing-masing agen.

Pemodelan untuk CVRP memiliki parameter-parameter sebagai berikut : n : banyaknya jumlah agen,

q : kapasitas setiap kendaraan, di : permintaan agen i dan

cij : jarak tempuh perjalanan dari agen i ke agen j.

Semua parameter dianggap nilai integer tidak negatif. Sejumlah kendaraan homogen dengan dengan kapasitas terbatas q dan sebuah depot utama, dengan indeks 0, melakukan pengiriman ke agen, dengan indeks 1 sampai n permasalahannya adalah menentukan rute pasti setiap kendaraan dimulai dan diakhiri didepot. Setiap agen harus dipasangkan dengan tepat satu rute, karena setiap agen hanya bisa dilayani oleh satu kendaraan. Jumlah seluruh permintaan agen yang ada pada setiap rute harus berada dalam batas kapasitas kendaraan.


(23)

23

Tujuannya adalah untuk meminimalkan total jarak tempuh perjalanan. (Wijaya dkk, 2004).

Model matematika dari CVRP didefinisikan sebagai suatu graf

. Dimana { } merupakan himpunan simpul yang merepresentasikan agen-agen yang akan dilayani dengan permintaan yang sudah diketahui dan depot berada di simpul 0. Jaringan jalan yang digunakan oleh kendaraan dinyatakan sebagai himpunan rusuk berarah E yaitu penghubung depot dengan agen dan juga penghubung antar agen, { | } Semua rute dimulai dari 0 dan berakhir di 0. Himpunan kendaraan K merupakan kumpulan kendaraan yang homogen dengan kapasitas q. Setiap agen i untuk setiap memiliki permintaan di sehingga panjang rute dibatasi oleh kapasitas kendaraan. Setiap rusuk memiliki jarak tempuh cij dan jarak tempuh diasumsikan simetris, contoh cij = cji, dan juga bahwa cii = cjj = 0. Satu-satunya variabel keputusan adalah :

{

Model matematika untuk CVRP adalah sebagai berikut :

∑ ∑ ∑

(2.1)

dengan kendala

∑ ∑


(24)

24

∑ ∑

(2.3)

(2.4)

∑ ∑

(2.5)

(2.6)

{ } (2.7)

Model diatas merupakan model pemrograman bilangan bulat biner yang bertujuan meminimumkan total jarak tempuh perjalanan. Kendala (2.2) memastikan bahwa setiap agen hanya dikunjungi tepat satu kali oleh suatu kendaraan, kendala (2.3) menyatakan permintaan semua agen dalam satu rute tidak melebihi kapasitas kendaraan, kendala (2.4) menyatakan setiap rute berawal dari depot, kendala (2.5) menyatakan bahwa setiap kendaraan yang mengunjungi satu titik pasti akan meninggalkan titik tersebut, kendala (2.6) menyatakan setiap rute berakhir di depot 0 dan kendala (2.7) menyatakan variabel keputusan merupakan variabel biner.

Berdasarkan definisi CVRP, diperoleh suatu kesimpulan mengenai input dari permasalahan CVRP sebagai berikut :

1. Input permasalahan CVRP adalah daftar permintaan setiap agen, daftar jarak agen, dan kapasitas kendaraan.


(25)

25

2. Dalam terminologi graf kumpulan agen atau titik pada permasalahan CVRP adalah sebuah graf lengkap dengan bobot rusuk adalah jarak antar agen.

D. Metode Penyelesaian CVRP

Penyelesaian masalah VRP akan semakin kompleks dengan bertambahnya kendala terhadap kasus yang harus diselesaikan. Kendala tersebut dapat berupa batasan waktu (time windows), permintaan (demand), jenis dan kapasitas kendaraan yang berbeda, batas maksimum jam kerja operator kendaraan, hambatan perjalanan, dan sebagainya. Secara umum, VRP dapat diselesaikan dengan menggunakan dua jenis pendekatan, yaitu pendekatan eksak dan pendekatan heuristik (Toth dan Vigo, 2002). Penyelesaian melalui pendekatan heuristik dalam VRP dapat dibagi menjadi dua, yaitu pendekatan heuristik klasik dan pendekatan heuristik modern (metaheuristik).

1. Pendekatan Eksak

Penyelesaian solusi CVRP melalui pendekatan eksak dilakukan dengan menghitung setiap solusi yang mungkin sampai ditemukan solusi terbaik. Terdapat beberapa algoritma eksak utama penyelesaian CVRP, yaitu Branch and Bound, Branch and Cut, dan Set Covering Based. Penyelesaian solusi CVRP melalui pendekatan eksak secara umum akan menghabiskan waktu yang lama. Hal tersebut dikarenakan CVRP termasuk dalam permasalahan NP-hard (Non Polynomial-hard), kompleksitas penyelesaian permasalahan akan meningkat secara eksponensial dengan semakin rumitnya permasalahan. Hingga saat ini, belum ada algoritma eksak yang mampu menyelesaikan kasus-kasus yang terdiri lebih dari lima puluh konsumen secara konsisten (Toth dan Vigo, 2002). Oleh


(26)

26

karena itu, dilakukan berbagai penelitian terhadap algoritma heuristik untuk menyederhanakan penyelesaian CVRP.

2. Pendekatan Heuristik Klasik

Pendekatan heuristik klasik memberikan suatu cara untuk menyelesaikan permasalahan optimasi yang lebih sulit dan dengan kualitas dan waktu penyelesaian yang lebih cepat daripada solusi eksak. Pendekatan heuristik tidak terlalu mengeksplorasi ruang pencarian solusi dan biasanya menghasilkan solusi dengan kualitas yang cukup baik dengan waktu perhitungan yang singkat. Beberapa contoh algoritma heuristik klasik adalah Saving, Sweep, Two Phase, dan lain-lain.

Berdasarkan kualitas solusi yang diperoleh melalui pendekatan heuristik klasik berdasarkan konstruksi sederhana dan teknik perbaikan lokal tidak dapat menandingi implementasi metode heuristik modern. Namun, kesederhanaan dalam penggunaannya membuat algoritma heuristik klasik, seperti Sweep dan Saving Algorithm, tetap menjadi metode yang populer dan banyak digunakan sebagai dasar dalam perangkat lunak komersil.

3. Pendekatan Heuristik Modern/Metaheuristik

Pendekatan heuristik modern, lebih dikenal dengan metaheuristik, adalah prosedur pencarian solusi umum untuk melakukan eksplorasi yang lebih dalam pada daerah yang menjanjikan dari ruang solusi yang ada (Dreo, Petrowsky dan Taillard, 2006). Perbedaannya dengan heuristik klasik adalah diperbolehkannya perusakan solusi atau penurunan fungsi tujuan. Pendekatan metaheuristik memecahkan masalah dengan melakukan perbaikan mulai dengan satu atau lebih


(27)

27

solusi awal. Solusi awal ini bisa dihasilkan melalui dua cara, yaitu diperbolehkan melalui pendekatan heuristik ataupun diperoleh secara acak. Kualitas solusi yang dihasilkan dari metode ini jauh lebih baik daripada heuristik klasik. Beberapa contoh metaheuristik adalah Genetic Algorithm, Simulated Annealing, Tabu Search, Ant Colony System, Differential Evolution, dan lain-lain. Metaheuristik secara konsisten mampu menghasilkan solusi yang berkualitas tinggi jika dibandingkan dengan heuristik klasik, meskipun lebih memakan waktu yang lebih lama.

Prinsip dasar algoritma metaheuristik adalah pencarian lokal dan pencarian populasi. Dalam metode pencarian lokal, eksplorasi yang intensif dilakukan terhadap ruang solusi dengan berpindah dari satu solusi ke solusi tetangga lainnya yang potensial dalam satu lingkungan (neighbourhood). Algoritmanya biasa dimulai dengan solusi awal x1 dan berpindah pada tiap iterasi t dari solusi x1 ke solusi xt+1 dalam satu lingkungan N(xt) dari xt, hingga persyaratan tertentu dicapai. Jika fungsi tujuan f(x) menandakan biaya dari x, maka f(xt+1) tidak selalu lebih kecil dari f(xt). Oleh karenanya, dibutuhkan kehati-hatian untuk menghindari perputaran (cycling) pada iterasi.

E. Algoritma Sweep

Algoritma sweep merupakan metode yang sederhana dalam perhitungannya, bahkan untuk memecahkan masalah yang cukup besar. Keakuratan metode ini rata-rata kesalahan perhitungannya adalah sekitar 10 %. Keakuratan metode ini adalah pada cara pembuatan jalur rutenya. Algoritma sweep terdiri dari dua tahap, pertama yaitu tahap pengelompokkan (clustering)


(28)

28

yang mana pengelompokkan awal dilakukan dengan menggabungkan titik-titik dalam satu cluster berdasarkan kapasitas maksimal kendaraan. Permintaan total dalam satu cluster mungkin akan melebihi kapasitas kendaraan, karenanya beberapa titik dimasukkan ke cluster berikutnya. Tahap kedua yaitu dengan menentukan urutan rute dari setiap cluster menggunakan metode Nearest Neighbour (Gunadi, 2002). Diagram alir algoritma sweep ditunjukkan pada gambar berikut :

Gambar 2.13 Diagram alir algoritma sweep Mulai

Menggambar titik-titik dalam bidang koordinat kartesius

Mengubah koordinat kartesius menjadi koordinat polar

Jumlah permintaan Kapasitas kendaraan

Menentukan rute distribusi menggunakan metode Nearest Neighbour

Selesai Ya


(29)

29 F. Algoritma Genetika

1. Pengertian Algoritma Genetika

Algoritma genetika pertama kali diperkenalkan oleh John Holland dalam

bukunya yang berjudul “Adaption in natural and artificial systems”, dan oleh De

Jong dalam bukunya “Adaption of the behavior of a class of genetic adaptive systems”, yang keduanya diterbitkan pada tahun 1975. Yang merupakan dasar dari algoritma genetika (Davis, 1991).

Kemunculan Algoritma Genetika diinspirasikan dari teori-teori dalam ilmu biologi, sehingga banyak istilah dan konsep biologi yang digunakan dalam Algoritma Genetika. Sesuai dengan namanya, proses-proses yang terjadi dalam Algoritma Genetika sama dengan apa yang terjadi pada evolusi biologi yaitu seleksi, crossover, dan mutasi.

Algoritma Genetika merupakan teknik pencarian yang didasarkan atas mekanisme seleksi dan genetik natural. Algoritma genetika berbeda dengan teknik pencarian konvensional, dimana pada algoritma genetika inisialisasi populasi awal dilakukan secara acak. Tiap individu dalam populasi yang merepresentasikan suatu solusi permasalahan disebut kromosom. Kromosom ini akan berevolusi melalui iterasi berkelanjutan yang disebut generasi. Pada setiap generasi, kromosom dievaluasi berdasarkan nilai fungsi fitness (Gen dan Cheng, 2000). Nilai fitness adalah nilai yang menunjukkan nilai ketangguhan kromosom dalam beradaptasi terhadap masalah. Untuk menghasilkan generasi berikutnya (offspring) didapatkan dari perkawinan silang (crossover) atau memodifikasi kromosom menggunakan operator mutasi (mutation) dengan harapan akan


(30)

30

menghasilkan kromosom baru dengan tingkat fitness yang lebih tinggi sebagai generasi baru atau keturunan (offspring) berikutnya.

Suatu generasi baru dibentuk melalui proses seleksi beberapa induk (parents) dan anak (offspring), sesuai dengan nilai fitness, dan melalui eliminasi kromosom lainnya agar ukuran populasi tetap konstan. Kromosom yang sesuai memiliki kemungkinan tertinggi untuk dipilih. Setelah beberapa generasi maka algoritma genetika akan konvergen dengan kromosom terbaik, yang merupakan solusi optimal (Goldberg, 1989).

2. Aplikasi Algoritma Genetika

Algoritma genetika sudah banyak digunakan pada masalah praktis yang berfokus pada pencarian parameter-parameter atau solusi yang optimal. Hal ini membuat banyak orang mengira bahwa algoritma genetika hanya dapat digunakan untuk menyelesaikan masalah optimasi saja. Namun, pada kenyataanya algoritma genetika juga memiliki kemampuan untuk menyelesaikan masalah-masalah selain optimasi. Algoritma genetika banyak diaplikasikan untuk berbagai macam permasalahan, yaitu (Suyanto, 2005: 3-4) :

a. Optimasi

Beberapa penggunaan algoritma genetika untuk optimasi antara lain untuk optimasi numerik dan optimasi kombinatorial seperti Traveling Salesman Problem (TSP), Perancangan Integrated Circuit atau IC, Job Scheduling, dan optimasi video dan suara.


(31)

31

Algoritma genetika untuk pemrograman otomatis antara lain untuk melakukan proses evolusi terhadap program komputer dalam merancang struktur komputasional, seperti cellular automata dan sorting networks

c. Machine Learning

Algoritma genetika juga telah berhasil diaplikasikan untuk memprediksi struktur protein. Algoritma genetika juga berhasil diaplikasikan dalam perancangan neural networks (jaringan syaraf tiruan) untuk melakukan proses evolusi terhadap aturan-aturan pada learning classifier system atau symbolic production system dan dapat digunakan untuk mengontrol robot.

d. Model Ekonomi

Dalam bidang ekonomi, algoritma genetika digunakan untuk memodelkan proses-proses inovasi dan pembangunan bidding strategies.

e. Model Sistem Imunisasi

Penggunaan algoritma genetika dalam bidang ini untuk memodelkan berbagai aspek pada sistem imunisasi alamiah, termasuk somatic mutation selama kehidupan individu dan menemukan keluarga dengan gen ganda (multi gen families) sepanjang waktu evolusi.

f. Model ekologis

Algoritma genetika juga dapat digunakan untuk memodelkan fenomena ekologis seperti host-parasite co-evolution, simbiosis dan aliran sumber di dalam ekologi.


(32)

32

3. Keuntungan Menggunakan Algoritma Genetika

Keuntungan penggunaan algoritma genetika terlihat dari kemudahan implementasi dan kemampuannya untuk menemukan solusi yang optimal dan bisa diterima secara cepat untuk masalah-masalah berdimensi tinggi. Algoritma genetika sangat berguna dan efisien untuk masalah dengan karakteristik sebagai berikut :

a. Ruang masalah sangat besar, kompleks, dan sulit dipahami,

b. Kurang atau bahkan tidak ada pengetahuan yang memadai untuk merepresentasikan masalah ke dalam ruang pencarian yang lebih sempit, c. Tidak tersedianya analisis matematika yang memadai,

d. Ketika metode-metode konvensional sudah tidak mampu menyelesaikan masalah yang dihadapi,

e. Solusi yang diharapkan tidak harus paling optimal, tetapi cukup “bagus” atau bisa diterima,

f. Terdapat batasan waktu, misalnya dalam real time system atau sistem waktu nyata.

4. Karakteristik Algoritma Genetika a. Istilah dalam algoritma genetika

Beberapa definisi penting yang perlu diperhatikan dalam membangun penyelesaian masalah menggunakan algoritma genetika adalah sebagai berikut (Satriyanto, 2009) :

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


(33)

33

Dalam algoritma genetika, gen ini dapat berupa bilangan biner, float, integer, karakter, dan kombinatorial.

2. Allele merupakan nilai dari sebuah gen.

3. Kromosom merupakan 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 genetika (crossover). 7. Crossover adalah operasi genetika yang mewakili proses perkembangbiakan

antar individu.

8. Offspring adalah kromosom yang merupakan hasil dari operasi genetika (crossover) dikenal keturunan atau sebagai anak.

9. Mutasi merupakan operasi genetika yang mewakili proses mutasi dalam perjalanan hidup individu. Mutasi 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 genetika (crossover) yang akan dilakukan untuk menghasilkan keturunan (offspring).

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


(34)

34

12. Fungsi evaluasi adalah fungsi yang digunakan untuk menentukan nilai dari 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. b. Skema alur algoritma genetika

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

Gambar 2.14 Skema algoritma genetika oleh David Goldberg (1989) Siklus ini kemudian diperbaiki oleh beberapa ilmuwan yang mengembangkan algoritma genetika, yaitu Zbignew Michalewichz dengan menambahkan operator elitism dan membalik proses seleksi setelah proses reproduksi.


(35)

35

Gambar 2.15 Skema Algoritma Genetika oleh Michalewichz (1996) 5. Komponen Algoritma Genetika

Ada 6 komponen utama dalam algoritma genetika, yaitu : teknik penyandian (pengkodean), membangkitkan populasi awal, fungsi fitness, seleksi, crossover (pindah silang), mutasi, dan elitism. Masing-masing komponen akan dibahas sebagai berikut :

a. Teknik Pengkodean

Teknik pengkodean adalah bagaimana mengkodekan gen dari kromosom, dimana gen merupakan bagian dari kromosom. Satu gen biasanya akan mewakili satu variabel. Agar dapat diproses melalui algoritma genetika, maka alternatif solusi tersebut harus dikodekan terlebih dahulu ke dalam bentuk kromosom. Masing-masing kromosom berisi sejumlah gen yang mengkodekan informasi yang disimpan didalam kromosom (Kusumadewi, 2003: 280).

Gen dapat direpresentasikan dalam bentuk: string bit, pohon, array bilangan real, daftar aturan, elemen permutasi, elemen program, atau representasi


(36)

36

lainnya yang dapat diimplementasikan untuk operator genetika. Dengan demikian kromosom dapat direpresentasikan dengan menggunakan:

1) String bit : 10011, 01101, 11101, dst. 2) Bilangan real : 65.65, -67.98, 562.88, dst. 3) Elemen permutasi : E2, E10, E5, dst.

4) Daftar aturan : R1, R2, R3, dst. 5) Elemen program : pemrograman genetika 6) Struktur lainnya.

b. Membangkitkan 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 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.


(37)

37 c. Evaluasi Nilai Fitness

Evaluasi 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 performansinya. Di dalam evolusi alam, individu yang bernilai fitness tinggi yang akan bertahan hidup. Sedangkan individu yang bernilai fitness rendah akan mati. Pada masalah optimasi jika solusi yang dicari adalah memaksimalkan sebuah fungsi (dikenal sebagai masalah maksimasi), maka nilai fitness yang digunakan adalah nilai dari fungsi tersebut, yakni (dimana adalah nilai fitness). Tetapi jika masalahnya adalah meminimalkan fungsi (masalah minimasi), maka fungsi tidak bisa digunakan secara langsung. Hal ini disebabkan adanya aturan bahwa individu yang memiliki nilai fitness tinggi lebih mampu bertahan hidup pada generasi berikutnya. Oleh karena itu nilai fitness yang bisa digunakan adalah

(2.8)

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


(38)

38

dengan a 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 proposional sesuai dengan nilai fitnessnya (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: 282), yaitu seleksi ranking (rank-based fitness assignment), seleksi roulette wheel (roulette wheel selection), stochastic universal sampling, seleksi lokal (local selection), seleksi dengan pemotongan (truncation selection), dan seleksi dengan turnamen (tournament selection). Dalam penelitian ini menggunakan metode seleksi roulette wheel (roulette wheel selection).

Pada roulette wheel selection, setiap kromosom dalam suatu populasi memiliki tempat yang sesuai dengan proporsinya terhadap total nilai fitness. Kromosom-kromosom dipetakan kedalam suatu segmen secara berurutan, hingga tiap-tiap segmen kromosom memiliki ukuran yang sesuai dengan nilai fitnessnya. Langkah pertama dari seleksi adalah menghitung nilai fitness masing-masing kromosom. Setelah itu dihitung proporsi masing-masing kromosom berdasarkan perbandingan probabilitas antara nilai fitness setiap kromosom dengan total nilai fitness. Langkah selanjutnya adalah membangkitkan bilangan real random antara


(39)

39

0 dan 1 untuk menentukan kromosom yang bertahan hidup dan menjadi induk (Nugroho, 2010:25). Ilustrasi roulette wheel selection dapat dilihat pada gambar 2.15.

Gambar 2.16 Roulette wheel selection (Obitko, 1998)

Cara kerja roulette wheel selection adalah sebagai berikut :

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

2. Dihitung total fitness semua individu.

3. Dihitung probabilitas masing-masing individu.

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

5. Dibangkitkan bilangan random antara 1 sampai 100.

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

Urutan langkah proses seleksi menggunakan metode roda roulette, dapat digambarkan sebagai berikut :

Misalkan diberikan sebuah contoh populasi beserta nilai fitnessnya yang ditunjukkan pada tabel 2.1.


(40)

40

Tabel 2.1. Contoh Populasi Beserta Fitnessnya

Kromosom Fitness

Kromosom 1 0,1111 Kromosom 2 0,2000 Kromosom 3 0,0588 Kromosom 4 0,2000 Kromosom 5 0,0400 Total Fitness 0,6099

Langkah selanjutnya adalah menentukan nilai segmen untuk masing-masing kromosom yang ditunjukkan pada tabel 2.2.

Tabel 2.2 Nilai Probabilitas dan Segmen untuk masing-masing Kromosom Kromosom Nilai Fitness Probabilitas Segmen

Kromosom 1 0,1111 18% 1-17

Kromosom 2 0,2000 33% 18-50

Kromosom 3 0,0588 10% 51-60

Kromosom 4 0,2000 33% 61-93

Kromosom 5 0,0400 6% 94-100

Berikut ditunjukkan hasil segmen dalam sebuah roda roulette yang ditunjukkan pada gambar 2.17.


(41)

41

Gambar 2.17 Segmen untuk masing-masing Kromosom

Langkah selanjutnya adalah memutar roda roulette sebanyak kromosom dalam populasi tersebut sebanyak 5 kali, setiap kali putaran akan menghasilkan suatu bilangan random dengan rentang antara 1-100 yang menunjukkan daerah atau segmen dari kromosom. Berikut ini adalah hasil kromosom yang terpilih setelah 5 kali putaran yang ditunjukkan pada tabel 2.4.

Tabel 2.3. Hasil kromosom yang terpilih setelah 5 kali putaran Putaran ke - Daerah Terpilih Kromosom terpilih

1 40 Kromosom 2

2 76 Kromosom 4

3 84 Kromosom 4

4 15 Kromosom 1

5 35 Kromosom 2

Kromosom 2 33%

Kromosom 3 10% Kromosom 4

33% Kromosom 5

6%

Kromosom 1 18%


(42)

42 e. Pindah Silang (crossover)

Pindah Silang (crossover) adalah operator dari algoritma genetika yang melibatkan dua induk untuk membentuk kromosom baru. Pindah silang 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 sampai dengan 0,95. Jika pindah silang tidak dilakukan, maka nilai dari induk akan diturunkan kepada keturunan.

Prinsip dari pindah silang ini adalah melakukan operasi pertukaran pada gen yang bersesuaian dari induk untuk menghasilkan individu baru. Proses crossover dilakukan pada setiap individu dengan probabilitas crossover yang ditentukan. Secara skematis proses crossover seperti pada gambar 2.18.


(43)

43

Dari gambar 2.18, jika bilangan p yang dibangkitkan secara acak kurang dari probabilitas crossover (probCO), maka kedua induk dilakukan operasi pindah silang (crossover). Tetapi jika bilangan p yang dibangkitkan lebih dari atau sama dengan probCO, maka tidak dilakukan operasi pindah silang.

Salah satu teknik crossover yang dapat digunakan adalah order crossover (OX) yang diperkenalkan oleh Davis (W.S.E. Tanjung, 2010). Teknik ini diawali dengan membangkitkan dua bilangan acak. Kemudian gen yang berada diantara kedua bilangan acak tersebut (substring) disalin ke ke keturunan (offspring) dengan posisi yang sama pada masing-masing kromosom orang tua. Langkah berikutnya untuk mendapatkan offspring pertama adalah adalah dengan mengurutkan gen yang berada dalam kromosom orang tua kedua dengan urutan gen yang pertama adalah dari gen yang berada pada posisi setelah bilangan acak kedua yang telah dibangkitkan sebelumnya lalu diikuti oleh gen-gen yang berada pada posisi sebelum bilangan acak pertama dan diakhiri dengan gen-gen yang berada pada posisi diantara kedua bilangan acak. Kemudian gen yang telah diurutkan tadi dibandingkan dengan offspring pertama. Apabila gen yang terurut tersebut mengandung gen yang berada pada offspring pertama, maka abaikan gen tersebut dari urutan. Kemudian masukkan urutan yang baru saja didapat ke offspring pertama dengan cara memasukkan urutan gen pada posisi setelah bilangan acak kedua terlebih dahulu pada offspring pertama dan sisanya dimasukkan pada posisi sebelum bilangan acak pertama. Untuk menghasilkan offspring kedua dilakukan cara yang sama untuk kromosom orang tua pertama. Contoh 2.4 order crossover


(44)

44 Dari 2 induk diketahui :

P1 = (1 2 3 | 4 5 6 7 | 8 9) P2 = (4 5 2 | 1 8 7 6 | 9 3)

Dibangkitkan 2 bilangan acak sebelum gen induk-1 dan setelah gen induk-1. Hal yang sama juga dilakukan untuk induk-2. Didapatkan keturunan dengan gen yang sama:

O1 = (x x x | 4 5 6 7 | x x) O2 = (x x x | 1 8 7 6 | x x)

Langkah berikutnya untuk mendapatkan keturunan pertama adalah mengurutkan gen yang berada pada induk kedua dengan urutan gen yang berada pada posisi setelah bilangan acak kedua diikuti dengan gen yang berada pada posisi sebelum bilangan acak pertama dan diakhiri dengan gen yang berada pada posisi diantara kedua bilangan acak.

9-3-4-5-2-1-8-7-6

Kemudian gen yang telah diurutkan tersebut dibandingkan dengan keturunan pertama. Apabila gen tersebut ada pada keturunan kedua maka abaikan gen tersebut dari urutan itu.

Kemudian masukkan urutan yang baru saja didapat pada keturunan dengan cara memasukkan urutan gen pada posisi setelah bilangan acak kedua terlebih dahulu dan sisanya dimasukkan pada posisi sebelum bilangan acak pertama. Begitu juga untuk menghasilkan keturunan kedua. Keturunan 1 diperoleh :


(45)

45

O1 = (x x x | 4 5 6 7 | x x) O1 = (2 1 8 | 4 5 6 7 | 9 3) Dengan jalan yang sama buat O2 sehingga :

O2 = (x x x | 1 8 7 6 | x x) O2 = (3 4 5 | 1 8 7 6 | 9 2) Keterangan :

P1 = Induk 1 P2 = Induk 2

O1 = Keturunan 1 (anak ke-1) O2 = Keturunan 2 (anak ke-2) f. Mutasi

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. Penekanan selektif 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 (Murniarti, 2009). Secara skematis proses mutasi dapat digambarkan sebagai berikut:


(46)

46

Gambar 2.19 Sistematika Proses Mutasi

Dari gambar 2.19, 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 mutasi yang digunakan dalam penelitian ini adalah teknik swapping mutation. Teknik ini diawali dengan memilih dua bilangan acak kemudian gen yang berada pada posisi bilangan acak pertama ditukar dengan gen yang berada pada bilangan acak kedua dalam probabilitas tertentu (Suyanto, 2005: 67).

Contoh 2.5 swapping mutation

Individu = (1 2 3 4 5 6 8 9 7) Memindahkan 8 ke 2, sehingga didapatkan individu baru:


(47)

47 g. Elitism

Elitism merupakan proses untuk menjaga agar individu bernilai fitness tertinggi tersebut tidak hilang selama evolusi. Proses seleksi dilakukan secara random sehingga tidak ada jaminan bahwa suatu individu yang bernilai fitness tertinggi akan selalu dipilih. Walaupun individu bernilai fitness tertinggi terpilih, mungkin saja individu tersebut akan rusak (nilai fitness 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 beberapa copynya (Suyanto, 2005: 14).

h. Pembentukkan Populasi Baru

Proses membangkitkan populasi baru bertujuan untuk membentuk populasi baru yang berbeda dengan populasi awal. Pembentukkan 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.

6. Parameter Algoritma Genetika

Dalam proses algoritma genetika terdapat parameter-parameter yang akan dibutuhkan dalam pemrosesan algoritma genetika. Pemilihan parameter genetika menentukan kinerja algoritma genetika dalam memecahkan masalah. Ada tiga parameter dasar dari algoritma genetika, yaitu ukuran populasi, jumlah generasi, probabilitas crossover (Pc), dan probabilitas mutasi (Pm).


(48)

48 1) Ukuran populasi

Ukuran populasi adalah jumlah kromosom yang ada pada populasi. Semakin besar jumlah populasi yang diinputkan dalam parameter jumlah populasi, semakin besar variasi kromosom yang dihasilkan. Hal tersebut berpengaruh pada besarnya kesempatan untuk mendapatkan solusi terbaik. Memilih jumlah populasi yang tepat akan meningkatkan kinerja dari algoritma genetika. Apabila jumlah populasi terlalu kecil, maka algoritma genetika hanya akan mempunyai alternatif solusi yang sedikit. Namun, jika jumlah populasi terlalu besar proses algoritma genetika cenderung menjadi lambat dalam menemukan solusi. Ukuran populasi yang sering digunakan oleh peneliti yang sudah ada adalah 20 sampai 30, tetapi terkadang ukuran 50 sampai 100 juga dilaporkan baik. Beberapa penelitian juga menunjukan bahwa ukuran populasi yang baik tergantung dari pengkodean, yaitu ukuran dari barisan yang dikodekan. 2) Jumlah Generasi

Jumlah generasi adalah jumlah proses yang dijalani untuk suatu rangkaian proses algoritma genetika. Suatu proses rangkaian algoritma genetika dimulai dari proses seleksi, crossover, mutasi sampai pembentukan populasi baru. Proses algoritma genetika akan dihentikan apabila jumlah generasi sudah terpenuhi. Solusi yang diambil adalah kromosom dengan nilai fitness terbaik dari generasi terakhir.

3) Probabilitas Crossover (Pc)

Probabilitas crossover menyatakan seberapa sering proses crossover akan terjadi antara dua kromosom orang tua. Jika tidak terjadi crossover, satu orang tua


(49)

49

dipilih secara random dengan probabilitas yang sama dan diduplikasi menjadi anak. Jika terjadi crossover, keturunan dibuat dari bagian-bagian kromosom orang tua. Jika probabilitas crossover 100% maka keseluruhan keturunan baru dibuat dengan crossover. Namun sebaliknya jika probabilitas crossover 0% maka seluruh generasi baru dibuat dari salinan kromosom-kromosom populasi lama yang belum tentu menghasilkan populasi yang sama dengan populasi sebelumnya, karena adanya penekanan selektif. Hasil penelitian yang sudah ada dan pernah dilakukan oleh praktisi algoritma genetika menunjukan bahwa sebaiknya angka probabilitas crossover cukup tinggi yaitu sekitar 80% sampai dengan 95% untuk memberikan hasil yang baik. Untuk beberapa permasalahan juga sebaiknya probabilitas crossover sekitar 60% bisa memberikan hasil yang baik.

4) Probablitas Mutasi (Pm)

Probabliltas mutasi menyatakan seberapa sering bagian-bagian kromosom akan dimutasikan. Jika tidak ada mutasi, keturunan diambil atau disalin langsung setelah crossover tanpa perubahan. Jika mutasi dilakukan, maka bagian-bagian tertentu kromosom diubah. Jika probabilitas mutasinya 100%, keseluruhan kromosom diubah. Jika probabilitas mutasinya 0%, maka tidak ada yang diubah. Probablitas mutasi dalam ruang algoritma genetika seharusnya diberi nilai yang kecil. Umumnya, probabilitas mutasi diset untuk mendapatkan rata-rata satu mutasi per kromosom, yaitu angka/allele = 1/(panjang kromosom). Dari hasil penelitian yang sudah pernah dilakukan, menunjukkan bahwa angka probabilitas terbaik adalah 0,5% sampai 1%. Hal ini karena tujuan mutasi ini sendiri adalah


(50)

50

menjaga perbedaan kromosom dalam populasi, untuk menghindari terjadinya konvergen prematur.

Rekomendasi parameter algoritma genetika menurut Obitko, (1998) adalah sebagai berikut:

 Ukuran Populasi : 20-30

Probabilitas Crossover : 80%-95%  Probabilitas Mutasi : 0,5%-1%

Ada beberapa rekomendasi lain yang bisa digunakan, antara lain : (Kusumadewi, 2003).

a. Untuk permasalahan yang memiliki kawasan solusi cukup besar, De Jong merekomendasikan untuk nilai parameter kontrol:

(popsize;Pc;Pm) = (50;0.6;0.001)

b. Bila rata-rata fitness setiap generasi digunakan sebagai indikator, maka Grefenstette merekomendasikan:

(popsize;Pc;Pm) = (30;0.95;0.01)

c. Bila fitness dari individu terbaik dipantau pada setiap generasi, maka usulannya adalah:

(popsize;Pc;Pm) = (80;0.45;0.01)

d. Ukuran populasi sebaiknya tidak lebih kecil dari 30, untuk sembarang jenis permasalahan.

G. Penelitian yang Relevan

Beberapa penelitian tentang CVRP dan algoritma genetika telah banyak


(51)

51

Routing Problem (Optimasi Rute Pendistribusian Aqua Galon PT. Tirta Investama” oleh Adam Arif Dirgantara, penelitian ini menggunakan algoritma genetika dalam menyelesaikan CVRP dengan menggunakan data dari peneliti sebelumnya yang menggunakan algoritma branch & bound serta clarke & wright savings. Algoritma genetika menghasilkan solusi yang lebih baik daripada metode clarke & wright savings tetapi solusi algoritma genetika tidak sebaik metode branch & bound.

Selanjutnya penelitian oleh Kustanto yang berjudul “Optimasi Rute

Distribusi Tabung Gas Elpiji menggunankan Algoritma Genetika (Studi Kasus PT. Restu Ajimanunggal Surakarta” penelitian ini membandingkan solusi yang dihasilkan dari algoritma Djikstra, Algoritma Greedy, serta Algoritma Genetika dengan bantuan program Arc View GIS dengan memperhatikan hambatan jalan yang dilewati. Hasil yang diperoleh bahwa rute optimal dari algoritma Djikstra dan Greedy akan lebih jauh optimal jika dibandingkan dengan rute optimal yang dihasilkan algoritma genetika.

Selain penelitian yang menggunakan algoritma genetika sebagai metode penyelesaiannya terdapat juga penelitian tentang CVRP dengan metode heuristik yaitu Algoritma Sweep sebagai metode penyelesaiannya oleh Wahyu Kartika

Cahyaningsih yang berjudul “Penyelesaian Capacitated Vehicle Routing Problem (CVRP) menggunakan algoritma sweep untuk optimasi rute distribusi surat kabar

Kedaulatan Rakyat”. Hasil dari penelitian ini adalah bahwa algoritma sweep menghasilkan total jarak tempuh kendaraan dan waktu tempuh yang lebih baik daripada total jarak tempuh kendaraan dan waktu tempuh perusahaan saat ini yaitu


(52)

52

dengan jarak 142,9 km dan waktu tempuh 210 menit sedangkan milik perusahaan yaitu dengan jarak 174,9 km dan waktu tempuh 233 menit. Menghasilkan penghematan jarak tempuh sebesar 18,29 %.

Terdapat persamaan dan perbedaan penelitian ini dengan penelitian sebelumnya. Persamaannya yaitu dalam penelitian ini menggunakan algoritma genetika sebagai metode penyelesaiannya seperti penelitian Adam Arif Dirgantara dan Kustanto. Perbedaannya yaitu dalam metode seleksi yang digunakan, dalam penelitian Adam Arif Dirgantara menggunakan metode seleksi ranking sedangkan pada penelitian ini menggunakan Roulette Wheel Selection dan perbedaan dalam menentukan nilai paramater yang digunakan dalam algoritma genetika seperti Ukuran Populasi, Jumlah Generasi, Probabilitas Mutasi dan Probabilitas Crossover. Data yang digunakan adalah data sekunder dari skripsi Wahyu Kartika Cahyaningsih yang berjudul “Penyelesaian Capacitated Vehicle Routing Problem (CVRP) Menggunakan Algoritma Sweep untuk Optimasi Rute Distribusi Surat

Kabar Kedaulatan Rakyat” tahun 2015. Karena data yang digunakan sama, maka hasil dari penelitian ini dapat dibandingkan dengan hasil penelitian dari Wahyu Kartika Cahyaningsih.


(53)

53 BAB III PEMBAHASAN

A. Model Matematika Capacitated Vehicle Routing Problem (CVRP) Pendistribusian Surat Kabar Kedaulatan Rakyat di Kabupaten Sleman.

Surat Kabar Harian Kedaulatan Rakyat merupakan merupakan surat kabar lokal tertua di Indonesia. Kedaulatan Rakyat resmi berdiri dan terbit pada tanggal 27 September 1945 di bawah naungan PT Badan Penerbit Kedaulatan Rakyat. PT Badan Penerbit Kedaulatan Rakyat (KR) memproduksi sejumlah surat kabar setiap harinya yang akan didistribusikan ke wilayah Daerah Istimewa Yogyakarta (DIY) dan Jawa Tengah. Kegiatan distribusi surat kabar Kedaulatan Rakyat dimulai dari depot yang berlokasi di Jalan Solo km 11, Kalitirto, Sleman, Yogyakarta dan berakhir kembali di depot. Pendistribusian dilakukan setiap hari pada pukul 02.30-05.00 WIB dengan menggunakan kendaraan jenis Mobil Box Isuzu Panther sebanyak 2 kendaraan yang mempunyai kapasitas masing-masing yaitu 350 kg dimana 1 kg terdiri dari 9 eksemplar. Terdapat 20 agen surat kabar di wilayah Kabupaten Sleman yang harus dipenuhi jumlah permintaannya. Masalah yang dihadapi perusahaan adalah dalam menentukan rute distribusi yang paling optimal, karena selama ini dalam pendistribusian pihak perusahaan hanya berdasarkan perkiraan saja tanpa mengetahui apakah jarak tempuh yang dipilih sudah minimal atau belum, sehingga mengakibatkan biaya bahan bakar yang dikeluarkan belum tentu minimal. Oleh karena itu penulisan skripsi ini bertujuan


(54)

54

untuk meminimumkan total jarak tempuh dengan mempertimbangkan kendala kapasitas kendaraan untuk memenuhi semua permintaan agen.

Data yang digunakan dalam skripsi ini adalah dari sekunder dari penelitian Wahyu Kartika Cahyaningsih pada tahun 2015 yang berjudul “Penyelesaian Capacitated Vehicle Routing Problem (CVRP) Menggunakan Algoritma Sweep Untuk Optimasi Rute Distribusi Surat Kabar Kedaulatan Rakyat”. Permasalahan CVRP pada pendistribusian surat kabar kedaulatan rakyat dapat didefinisikan sebagai suatu graf . Dimana { } merupakan himpunan simpul yang merepresentasikan agen-agen yang akan dilayani dengan permintaan yang sudah diketahui dan depot berada di simpul 0. Jaringan jalan yang digunakan oleh kendaraan dinyatakan sebagai himpunan rusuk berarah E yaitu penghubung depot dengan agen dan juga penghubung antar agen. { }. Semua rute dimulai dan berakhir di 0. Himpunan kendaraan merupakan kumpulan kendaraan yang homogen dengan kapasitas . Setiap agen untuk setiap memiliki permintaan sehingga panjang rute dibatasi oleh kapasitas kendaraan. Setiap rusuk memiliki jarak tempuh , waktu tempuh , dan juga bahwa

.

Asumsi yang digunakan adalah sebagai berikut : 1. Setiap pesanan agen dapat dipenuhi oleh perusahaan, 2. Jumlah permintaan setiap agen tetap,

3. Kendaraan yang digunakan mempunyai kapasitas yang sama yaitu 350 Kg, dimana 1 Kg = 9 eksemplar,


(55)

55

4. Setiap agen terhubung satu sama lain dan jarak antar agen simetris, artinya

,

5. Waktu pengiriman pada setiap agen dilakukan pada selang waktu pukul 02.30-05.00 WIB.

6. Kecepatan kendaraan konstan yaitu 80 km/jam (data perusahaan) dan juga tidak terjadi kemacetan, kondisi jalan tidak rusak serta kendaraan dalam kondisi bagus.

7. Waktu tempuh antara agen dan , yaitu , sudah termasuk lama pelayanan di agen dimana waktu lama pelayanannya yaitu 5 menit.

Berdasarkan asumsi-asumsi diatas maka model matematika dalam pendistribusian surat kabar Kedaulatan Rakyat di wilayah Kabupaten Sleman adalah:

Didefinisikan :

Untuk setiap dan untuk setiap kendaraan k didefinisikan dengan variabel :

{

Model matematika CVRP untuk distribusi surat kabar Kedaulatan Rakyat di wilayah Kabupaten Sleman adalah sebagai berikut :

∑ ∑ ∑

(2.1)


(56)

56 ∑ ∑ (2.2) ∑ ∑ (2.3) ∑ (2.4) ∑ ∑ (2.5) ∑ (2.6)

{ } (2.7)

Model diatas merupakan model pemrograman bilangan bulat biner yang bertujuan meminimumkan total jarak tempuh perjalanan. Kendala (2.2) memastikan bahwa setiap agen hanya dikunjungi tepat satu kali oleh suatu kendaraan, kendala (2.3) menyatakan permintaan semua agen dalam satu rute tidak melebihi kapasitas kendaraan yaitu 350 kg, kendala (2.4) menyatakan setiap rute berawal dari depot, kendala (2.5) menyatakan bahwa setiap kendaraan yang mengunjungi satu titik pasti akan meninggalkan titik tersebut, kendala (2.6) menyatakan setiap rute berakhir di depot dan kendala (2.7) menyatakan variabel keputusan merupakan variabel biner.


(57)

57

B. Penyelesaian Model Capacitated Vehicle Routing Problem (CVRP) Pendistribusian Surat Kabar Kedaulatan Rakyat di Kabupaten Sleman dengan Menggunakan Algoritma Genetika

Tahap selanjutnya adalah menentukan rute pendistribusian Surat Kabar Kedaulatan Rakyat ke 20 agen yang tersebar di wilayah Kabupaten Sleman. Data agen yang menjadi tujuan pendistribusian berserta jumlah permintaannya terlampir. Berdasarkan data pada lampiran dan dengan bantuan google maps maka diperoleh hasil pemetaan letak agen dan depot seperti gambar 3.1

Gambar 3.1 Hasil pemetaan 20 agen di wilayah Kabupaten Sleman

Pada gambar 3.1 diasumsikan bahwa setiap jalan memiliki kondisi yang sama kemudian dilakukan pengambilan lokasi agen dan depot sebagai simpul dan dapat dibuat graf kosong seperti pada gambar 3.2.


(58)

58

Gambar 3.2 Graf Pendistribusian Surat Kabar Kedaulatan Rakyat di Kabupaten Sleman

Jarak antara titik yang sama selalu nol dan jarak antara titik adalah bersifat simetrik atau jarak titik A ke B sama dengan jarak titik B ke A. Penentuan rute distribusi model CVRP adalah dengan mengunjungi setiap titik tanpa adanya pengulangan atau setiap titik hanya dikunjungi satu kali. Pada lampiran 1 menunjukkan data jarak tempuh antar agen. Selanjutnya pencarian rute terpendek akan diselesaikan menggunakan algoritma genetika dengan bantuan software Matlab.

Urutan langkah-langkah yang digunakan untuk menyelesaikan CVRP dengan menggunakan algoritma genetika adalah sebagai berikut :

1. Penyandian Gen (pengkodean)

Gen dalam hal ini merupakan representasi dari kantor agen yang merupakan tempat awal pendistribusian dan agen pelanggan, dengan kata lain gen


(59)

59

adalah titik suatu graf. Teknik representasi gen menggunakan teknik permutasi yaitu sebagai berikut :

Tabel 3.1 Representasi Gen

Gen Depot / Agen Pelanggan

0 DEPOT (Jalan Solo Km 11, Kalitirto, DIY) 1 Jalan Besi KM 14 (Depan Kampus UII) 2 Palem Kecut CT 10/41 Sleman

3 Jalan Magelang Km 5,2 4 Jalan Tluki I 169 CONCAT

5 Jombor Kidul, Sinduadi, Mlati, Sleman 6 Karangnggeneng, Pakem, Sleman

7 Jalan Gurameh Raya, Minomartani (Warnet Luna) 8 Karanganyar, Sinduadi, Mlati (Yogya Utara) 9 Jalan Bhayangkara Km 13 Morangan

10 Pasar Gentan, Ngaglik, Sleman 11 Hargo Binangun, Pakem

12 Jalan Gejayan Gang Guru Mrican 13 Jalan Merapi Km 4 Beran

14 Perempatan Tugu Yogya 15 Rumah Sakit Panti Nugroho

16 Jalan Tegalrejo, Sardonoharjo, Sleman 17 Lumbungrejo, Tempel, Sleman


(60)

60

2. Membangkitkan populasi awal (Spanning)

Membangkitkan populasi awal dengan membangkitkan sejumlah individu secara acak sehingga membentuk satuan populasi. Satu individu terdapat 20 gen yang berisi gen dari 1 sampai 20 yang membentuk rute pendistribusian surat kabar Kedaulatan Rakyat di wilayah Kabupaten Sleman.

Pembangkitan individu disertai dengan membangkitkan kapasitas individu. Membangkitkan kapasitas individu dilakukan dengan tujuan pembagian rute berdasarkan kapasitas mobil box. Dengan bantuan software Matlab, diambil beberapa rute secara acak. Hasil pengambilan secara acak rute perjalanan yang membentuk populasi pada generasi awal adalah sebagai berikut dan selengkapnya terdapat pada lampiran 5.

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

Permintaan 1 = 47,1 14,7 19,8 4,3 48,9 21,2 67,9 15,6 44,8 19,9 1,8 123,4 24,4 12,6 66,1 10 63,7 6,8 35,4 6,9

Selanjutnya individu dibagi menjadi 2 rute dengan syarat setiap mobil box tidak boleh mendistribusikan surat kabar lebih dari 350 Kg / 3150 eksemplar surat kabar dan jumlah kendaraan sebanyak 2 kendaraan. Rute pendistribusian tiap mobil box berawal dan berakhir di depot. Depot direpresentasikan dengan gen

18 Pasar Terban

19 Donokerto, Turi, Sleman 20 Wadas, Tridadi, Sleman


(61)

61

bernomor 0 dan agen pelanggan direpresentasikan dengan gen nomor 1 sampai dengan 20 seperti pada tabel 3.2

Tabel 3.2 Pembagian Rute

Kendaraan Rute Permintaan

1

0 14 18 19 1 17 3 13 7 8 16 9 0

306 Kg / 2754 eksemplar

2

0 5 15 2 11 6 4 12 10 20 0

349,3 Kg / 3143,7 eksemplar

3. Evaluasi Nilai Fitness (Fitness Value)

Setelah dilakukan pembangkitan populasi awal, langkah selanjutnya adalah menentukan nilai fitness dari setiap individu. Nilai fitness digunakan untuk menentukan rute terpendek. Setiap individu dihitung jarak totalnya, kemudian dihitung nilai fitnessnya dengan menggunakan rumus 2.8 pada bab sebelumnya. Dengan bantuan software matlab ditentukan nilai fitness dari individu (prosedur dan perhitungannya terdapat pada lampiran 4). Nilai fitness yang di dapat dari generasi awal sebagai berikut

Tabel 3.3 Hasil evaluasi nilai fitness generasi awal

Fitness Nilai fitness Fitness Nilai fitness

Fitness 1 0,0041 Fitness 11 0,0048

Fitness 2 0,0044 Fitness 12 0,0042

Fitness 3 0,0042 Fitness 13 0,0052


(62)

62

Fitness 5 0,0056 Fitness 15 0,0047

Fitness 6 0,0042 Fitness 16 0,0043

Fitness 7 0,0049 Fitness 17 0,0039

Fitness 8 0,0046 Fitness 18 0,0047

Fitness 9 0,0046 Fitness 19 0,0041

Fitness 10 0,0040 Fitness 20 0,0045

Setelah dihitung nilai fitness dari setiap individu dengan bantuan software matlab, maka didapatkan nilai fitness terbaik dari populasi awal yaitu pada individu ke-5 dengan nilai fitness sebesar 0,0056. Individu dengan nilai fitness terbaik dari populasi generasi pertama akan dipertahankan dan dibawa ke generasi selanjutnya. Langkah selanjutnya adalah melakukan seleksi untuk menentukan individu sebagai induk.

4. Seleksi (Selection)

Tahap selanjutnya yaitu tahap seleksi, fungsi tahap seleksi adalah memilih secara acak individu dari populasi untuk dijadikan sebagai induk. Induk tersebut akan dilakukan proses pindah silang dengan individu lain yang terpilih. Metode yang digunakan dalam proses seleksi ini adalah metode roulette wheel selection, Metode ini dapat dianalogikan seperti permainan roda putar. Pada permainan roda putar, lingkaran roda dibagi menjadi beberapa wilayah. Pada roulette wheel selection, lebar suatu wilayah kromosom ditentukan menurut nilai fitnessnya, semakin besar nilai fitnessnya maka akan semakin besar wilayahnya, dan semakin besar pula peluang kromosom tersebut untuk dipilih.


(1)

xi

1. Pendekatan Eksak... 25

2. Pendekatan Heuristik Klasik ... 26

3. Pendekatan Heuristik Modern/Metaheuristik ... 26

E. Algoritma Sweep ... 27

F. Algoritma Genetika ... 29

1. Pengertian Algoritma Genetika ... 29

2. Aplikasi Algoritma Genetika ... 30

3. Keuntungan Menggunakan Algoritma Genetika ... 32

4. Karakteristik Algoritma Genetika ... 32

5. Komponen Algoritma Genetika ... 35

a. Teknik Pengkodean ... 35

b. Membangkitkan Populasi Awal (Spanning) ... 36

c. Evaluasi Nilai Fitness ... 37

d. Seleksi ... 38

e. Pindah Silang (Crossover) ... 42

f. Mutasi ... 45

g. Elitism ... 47

h. Pembentukan Populasi Baru ... 47

6. Parameter Algoritma Genetika ... 47

a. Ukuran Populasi ... 48

b. Jumlah Generasi ... 48

c. Probabilitas Crossover (Pc)... 48

d. Probabilitas Mutasi (Pm) ... 49

G. Penelitian yang Relevan ... 50

BAB III PEMBAHASAN A. Model Matematika Capacitated Vehicle Routing Problem (CVRP) Pendistribusian Surat Kabar Kedaulatan Rakyat di Kabupaten Sleman .... 53

B. Penyelesaian Model Capacitated Vehicle Routing Problem (CVRP) Pendistribusian Surat Kabar Kedaulatan Rakyat di Kabupaten Sleman Dengan Menggunakan Algoritma Genetika... 57


(2)

xii

2. Membangkitkan Populasi Awal ... 60

3. Evaluasi Nilai Fitness ... 61

4. Seleksi ... 62

5. Pindah Silang (Crossover) ... 63

6. Mutasi ... 64

7. Pembentukan Populasi Baru ... 65

C. Perbandingan Rute yang Diperoleh Menggunakan Algoritma Sweep dengan Algoritma Genetika ... 73

BAB IV PENUTUP A. Kesimpulan ... 75

B. Saran ... 79

DAFTAR PUSTAKA ... 81


(3)

xiii

DAFTAR GAMBAR

Gambar 2.1 Graf Nol dengan 5 Simpul ... 9

Gambar 2.2 Graf Lengkap Kn, ... 9

Gambar 2.3 Graf Teratur Derajat 2 ... 10

Gambar 2.4 Graf Sederhana, Graf Ganda, dan Graf Semu ... 11

Gambar 2.5 Graf Tak Berarah dan Graf Berarah ... 11

Gambar 2.6 Graf Berbobot ... 12

Gambar 2.7 Graf Terhubung dan Graf Tak terhubung ... 12

Gambar 2.8 Simpul Berdekatan (Adjacent) dengan ... 13

Gambar 2.9 Graf Sederhana G3 ... 14

Gambar 2.10 Graf Terhubung dengan Matriks Ketetanggaannya ... 17

Gambar 2.11 Matriks Ikatan Berukuran 4 x 4... 17

Gambar 2.12 Matriks Kehadiran Berukuran 4 x 6 ... 18

Gambar 2.13 Diagram Alir Algoritma Sweep ... 28

Gambar 2.14 Skema Algoritma Genetika oleh David Goldberg (1989) ... 34

Gambar 2.15 Skema Algoritma Genetika oleh Michalewichz (1996) ... 35

Gambar 2.16 Roulette Wheel Selection ... 39

Gambar 2.17 Segmen untuk Masing-Masing Kromosom ... 41

Gambar 2.18 Sistematika Proses Crossover ... 42

Gambar 2.19 Sistematika Proses Mutasi ... 46

Gambar 3.1 Hasil Pemetaan 20 Agen di wilayah Kabupaten Sleman ... 57

Gambar 3.2 Graf Pendistribusian Surat Kabar Kedaulatan Rakyat di Kabupaten Sleman ... 58

Gambar 3.3 Grafik Pergerakan Nilai Fitness ... 69

Gambar 3.4 Rute 1 dengan Algoritma Genetika ... 70

Gambar 3.5 Rute 2 dengan Algoritma Genetika ... 72

Gambar 4.1 Graf Pendistribusian pada Rute 1 ... 76


(4)

xiv

DAFTAR TABEL

Tabel 2.1 Contoh Populasi Beserta Fitnessnya ... 40

Tabel 2.2 Nilai Probabilitas dan Segmen untuk Masing-Masing Kromosom ... 40

Tabel 2.3 Hasil Kromosom yang Terpilih Setelah 5 kali Putaran... 41

Tabel 3.1 Representasi Gen ... 59

Tabel 3.2 Pembagian Rute ... 61

Tabel 3.3 Hasil Evaluasi Nilai Fitness Generasi Awal ... 61

Tabel 3.4 Hasil Percobaan Algoritma Genetika ... 66

Tabel 3.5 Pembagian Rute pada Percobaan ke-10 ... 69

Tabel 3.6 Lama Waktu Pendistribusian pada Rute 1 ... 71

Tabel 3.7 Lama Waktu Pendistribusian pada Rute 2 ... 72


(5)

xv

DAFTAR LAMPIRAN

Lampiran 1 Matriks Jarak tempuh Awal dan Tujuan Distribusi Surat Kabar Kedaulatan Rakyat di Wilayah Kabupaten Sleman ... 84 Lampiran 2 Matriks Waktu Tempuh Asal dan Tujuan Distribusi Surat Kabar

Kedaulatan Rakyat di Wilayah Kabupaten Sleman ... 85 Lampiran 3 Data Permintaan Harian Setiap Agen di Wilayah Kabupaten

Sleman ... 86 Lampiran 4 Prosedur Algoritma Genetika Menggunakan Software Matlab Dalam

Penyelesaian Capacitated Vehicle Routing Problem (CVRP) Untuk Distribusi Surat Kabar Kedaulatan Rakyat di Kabupaten Sleman .... 87 Lampiran 5 Hasil Pengambilan Rute Secara Acak yang Membentuk Populasi pada Generasi Awal dengan Bantuan Software Matlab ... 100 Lampiran 6 Individu yang Terpilih Sebagai Induk dengan Bantuan Software

Matlab ... 102 Lampiran 7 Hasil Crossover (pindah silang) dengan Bantuan Software

Matlab ... 104 Lampiran 8 Hasil Mutasi dengan Bantuan Software Matlab ... 106 Lampiran 9 Hasil Populasi Baru pada Generasi Selanjutnya dengan Bantuan

Software Matlab ... 108 Lampiran 10 Nilai Fitness Generasi Selanjutnya dengan Bantuan Software

Matlab ... 110 Lampiran 11 Hasil Populasi Baru pada Generasi ke-1000 dengan Bantuan

Software Matlab ... 111 Lampiran 12 Nilai Fitness pada Generasi ke-1000 dengan Bantuan Software


(6)

xvi

DAFTAR SIMBOL

: Suatu graf G dengan titik V dan rusuk E

: Himpunan titik tidak kosong dari suatu graf G

: Himpunan rusuk dari suatu graf G

: Jarak tempuh perjalanan dari agen i ke agen j : Variabel keputusan dan merupakan variabel biner

: Himpunan titik-titik lokasi depot dan agen : Himpunan Kendaraan

: Kapasitas kendaraan

: Jumlah permintaan untuk titik i

: Waktu tempuh kendaraan termasuk pelayanan