• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2017

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

Copied!
130
0
0

Teks penuh

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

(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

(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

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

(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

(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

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

(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

(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

(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),

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

(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

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

(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

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

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

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

(24)

24

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 :

(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

(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

(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

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

(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

(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

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

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

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

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

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

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

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

(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

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

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

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

(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

(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

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

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

(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

(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

(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

(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

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

(55)

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

(56)

56

(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

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

(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

(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

(61)

61

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,

(63)

63

Dengan bantuan software matlab didapatkan induk-induk yang terpilih pada lampiran 6 dan prosedur seleksi terdapat pada lampiran 4. Berikut hasil individu yang terpilih sebagai induk :

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

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

5. Pindah Silang (Crossover)

Setelah terpilih induk-induk dari proses seleksi, selanjutnya induk-induk tersebut akan dilakukan proses pindah silang. Pindah silang akan menghasilkan individu baru hasil dari 2 induk yang disebut anak. Pindah silang ini diimplementasikan dengan skema order crossover.

(64)

64 1) Induk

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

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

2) Anak

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

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

6. Mutasi

Gambar

Gambar 2.5 (a). Graf tak berarah, (b). Graf berarah
Gambar 2.6 Graf berbobot
Gambar 2.8 Simpul    berdekatan (adjacent) dengan
Gambar 2.9 Graf Sederhana G3
+7

Referensi

Dokumen terkait

Oleh karena itu, perusahaan memerlukan metode khusus yang dapat membantu penentuan rute distribusi produk dari depot ke agen dengan tujuan untuk meminimumkan

Dengan demikian dapat dikatakan bahwa solusi yang dihasilkan metode cycle crossover pada algoritma genetika lebih baik jika dibandingkan metode order crossover

Berdasarkan perhitungan yang dilakukan dalam menyelesaikan permasalahan CVRP menggunakan algoritma sweep , diperoleh total jarak tempuh kendaraan yaitu 142.9 km

Permasalahan pada kasus ini adalah dibutuhkannya sebuah program dalam menyelesaikan kasus Sequential 2L-CVRP dengan menggunakan kombinasi metode Nearest Neighbor

Langkah-langkah menentukan rute terpendek menggunakan algoritma genetika dengan metode roulette wheel selection adalah mendefinisikan rute ke dalam individu dalam

untuk optimasi rute distribusi surat kabar Kedaulatan Rakyat” oleh Wahyu Kartika Cahyaningsih tahun 2015, Pada penelitian tersebut CVRP diselesaikan dengan

Dalam skripsi ini dapat dilihat bahwa algoritma genetika hybrid dapat digunakan untuk menyelesaikan masalah VRPTW, dimana solusi yang diberikan tidak tunggal dengan jarak tempuh

Simulated Annealing (SA) merupakan algoritma pencarian yang diadaptasi dari bidang metalurgi saat pembentukan kristal. Kelemahan dari SA adalah hanya dapat menyimpan