penerapan algoritma genetika pada...
TRANSCRIPT
Dewi Agushinta R., Emirul Bahar, Rossi Septy Wahyuni
PENERAPAN ALGORITMA GENETIKA
PADA PERMASALAHAN DISTRIBUSI DAN
RUTE KENDARAAN
PENERBIT GUNADARMA
http://www.scalaformachinelearning.com/
ii
Dewi Agushinta R., Emirul Bahar, Rossi Septy Wahyuni
PENERAPAN ALGORITMA GENETIKA
PADA PERMASALAHAN DISTRIBUSI DAN
RUTE KENDARAAN
PENERBIT GUNADARMA
iii
Penerapan Algoritma Genetika Pada Permasalahan Distribusi
dan Rute Kendaraan
Oleh : Dewi Agushinta R., Emirul Bahar, Rossi Septi Wahyuni
Gambar Sampul : Dewi Agushinta R.
Design dan Layout : Dewi Agushinta R.
Edisi Pertama Cetakan Pertama, Desember 2016
Diterbitkan pertama kali oleh Gunadarma Hak Cipta Dilindungi Undang-Undang Jakarta 2016
ISBN : 9-786029-438703
iv
PRAKATA
Segala puji serta syukur kehadirat Tuhan Yang Maha Esa, karena atas rahmat-
Nya sehingga Penulis dapat menyelesaikan buku ini. Buku “Penerapan
Algoritma Genetika Pada Permasalahan Distribusi dan Rute Kendaraan” dibuat
sebagai buku pengaya atau buku referensi di bidang ilmu komputer dan
teknologi transportasi. Buku ini merupakan luaran dari penelitian yang Penulis
lakukan dalam rangka mengikuti Program DIKTI.
Penulisan ini tidak luput dari bantuan banyak pihak. Oleh karena itu, pada
kesempatan ini Penulis ingin menyampaikan rasa terima kasih yang sebesar-
besarnya kepada:
1. Prof. Dr. E. S. Margianti, SE., MM., selaku Rektor Universitas Gunadarma,
beserta seluruh pimpinan Universitas Gunadarma.
2. Prof. Dr. Ir. Bambang Suryawan, MT. selaku Dekan Fakultas Teknologi
Industri, Universitas Gunadarma.
3. Dr. Ir. Hotniar Siringoringo MSc., selaku Ketua Lembaga Penelitian,
Universitas Gunadarma.
4. Pihak pemberi hibah dalam hal ini Kementrian Riset Teknologi dan
Pendidikan Tinggi.
5. Maesa, Poltak dan Arum, mahasiswa mahasiswi yang membantu Penulis
melakukan penelitian.
6. Pihak-pihak lain yang tidak dapat disebutkan namanya satu per satu.
Penulis menyadari bahwa buku ini masih jauh dari sempurna karena
keterbatasan waktu dan kemampuan yang dimiliki. Penulis berharap agar buku
ini dapat bermanfaat bagi semua pihak yang membacanya. Untuk itu Penulis
mengharapkan saran dan kritik yang membangun demi kesempurnaan buku ini.
Jakarta, Desember 2016
Penulis
v
DAFTAR ISI
PRAKATA iv
DAFTAR ISI v
DAFTAR TABEL vii
DAFTAR GAMBAR ix
BAB 1. ALGORITMA GENETIKA 1
1.1 Sejarah Algoritma Genetika 1
1.2 Pemahaman Dasar Algoritma Genetika 1
1.3 Komponen Algoritma Genetika 3
1.4 Aplikasi Algoritma Genetika 7
1.5 Keuntungan Menggunakan Algoritma Genetika 8
BAB 2. TEORI DISTRIBUSI 10
2.1 Distribusi Produk 10
2.2 Transportasi 10
BAB 3. PENERAPAN ALGORITMA GENETIKA PADA 12
MASALAH DISTRIBUSI
3.1 Kasus Distribusi PT. EDAR 12
3.2 Kondisi Lokasi dan Distribusi 12
3.3 Deskripsi Produk 13
3.4 Perhitungan Jarak Depot dan Pelanggan serta
Jarak Antar Pelanggan 15
3.5 Aplikasi Algoritma Genetika 16
3.6 Skenario Uji Coba Aplikasi 26
3.7 Analisis Perhitungan Jarak 39
BAB 4. PEMODELAN ALGORITMA GENETIKA 43
4.1 Teori Transportasi 43
4.2 Vehicle Routing Problem 43
4.3 Pemodelan Heterogeneous Fleet Vehicle Routing
Problem (HFVRP) 45
4.4 Produk dan Armada Pengiriman 57
vi
4.5 Lokasi Pelanggan (Rute) 48
BAB 5. SOLUSI ALGORITMA GENETIKA PADA MASALAH RUTE
KENDARAAN ANGKUT 50
5.1 Model Simulasi 50
5.2 Hasil Simulasi 63
DAFTAR PUSTAKA 69
vii
DAFTAR TABEL
Tabel 1.1 Contoh Kromosom Dengan Nilai Fitness 5
Tabel 3.1 Data Jenis Kendaraan dan Kapasitas (Sumber: PT. EDAR) 14
Tabel 3.2 Daftar Alamat Konsumen Produk Fiber Optik Tipe Duct 15
(Sumber: PT. EDAR)
Tabel 3.3 Matriks Jarak Antar Pelanggan Perusahaan 16
Tabel 3.4 Penentuan Parameter 16
Tabel 3.5 Pembangkitkan Populasi Awal Secara Acak 17
Tabel 3.6 Nilai Fitness 18
Tabel 3.7 Perhitungan PK dan QK 19
Tabel 3.8 Hasil Seleksi dari Kromosom 20
Tabel 3.9 Crossover Bilangan Random (R) 21
Tabel 3.10 Parent Crossover 22
Tabel 3.11 Offspring Proses Crossover 22
Tabel 3.12 hasil Populasi dari Crossover 23
Tabel 3.13 Posisi Gen yang Akan Dimutasi 24
Tabel 3.14 Posisi Mutasi pada Tabel Crossover 25
Tabel 3.15 Kromosom yang Termutasi 25
Tabel 3.16 Hasil Generasi Ke-1 26
Tabel 4.1 Spesifikasi Kendaraan 47
Tabel 4.2 Volume Kendaraan 47
Tabel 4.3 Daftar Customer (Pelanggan) 47
Tabel 5.1 Inisialisasi Awal 52
Tabel 5.2 Evaluasi Fitness Value Populasi Awal 53
Tabel 5.3 Proses Selection Populasi Awal 54
Tabel 5.4 Hasil Selection Populasi Awal 55
Tabel 5.5 Populasi Hasil Proses Crossover 59
Tabel 5.6. Hasil Proses Mutasi 60
Tabel 5.7 Hasil Populasi Generasi Pertama Pada Tabel Evaluasi 62
Tabel 5.8 Skenario Simulasi Model 63
viii
Tabel 5.9 Koordinat Lokasi 65
Tabel 5.10 Jarak Antar Lokasi 65
ix
DAFTAR GAMBAR
Gambar 1.1 Diagram Alir Algoritma Genetika Sederhana 2
Gambar 1.2 Contoh Roulette-Wheel Dari Tabel 1.1 5
Gambar 3.1 Produk Fiber Optik Tipe Duct 13
Gambar 3.2 Huspel Fiber Optik Tipe Duct (Sumber: PT. EDAR) 14
Gambar 3.3 Inisialisasi Data Awal Skenario Pertama 27
Gambar 3.4 Hasil Seleksi Skenario Pertama 27
Gambar 3.5 Tampilan Crossover Skenario Pertama 28
Gambar 3.6 Populasi Setelah Crossover 1 28
Gambar 3.7 Populasi Setelah Crossover 2 28
Gambar 3.8 Populasi Setelah Crossover 3 29
Gambar 3.9 Tampilan Mutasi Skenario Pertama 29
Gambar 3.10 Kromosom Terbaik dari Skenario Pertama 30
Gambar 3.11 Inisialisasi Awal Skenario Kedua 31
Gambar 3.12 Hasil Seleksi Skenario Kedua 31
Gambar 3.13 Tampilan Crossover Skenario Kedua 32
Gambar 3.14 Populasi Setelah Crossover 1 32
Gambar 3.15 Populasi Setelah Crossover 2 33
Gambar 3.16 Populasi Setelah Crossover 3 33
Gambar 3.17 Tampilan Mutasi Skenario Kedua 33
Gambar 3.18 Kromosom Terbaik dari Skenario Kedua 34
Gambar 3.19 Inisialisasi Awal Skenario Ketiga 35
Gambar 3.20 Hasil Seleksi Skenario Ketiga 35
Gambar 3.21 Tampilan Crossover Skenario Ketiga 36
Gambar 3.22 Populasi Setelah Crossover 1 36
Gambar 3.23 Populasi Setelah Crossover 2 37
Gambar 3.24 Populasi Setelah Crossover 3 37
Gambar 3.25 Tampilan Mutasi Skenario Ketiga 38
Gambar 3.26 Kromosom Terbaik dari Skenario Ketiga 38
Gambar 4.1 Peta Lokasi Depot dan Customer 48
x
Gambar 5.1 Flowchart Proses Manual 50
Gambar 5.2 Pengkodean Kromosom Untuk Permasalahan HFVRP 51
Gambar 5.3 Pembangkitan Bilangan Acak 1 Sampai 30 60
1
BAB 1
ALGORITMA GENETIKA
1.1 Sejarah Algoritma Genetika
Algoritma Genetika pertama kali ditemukan oleh John Holland dari
Universitas Michigan pada awal 1970-an di New York, Amerika Serikat. John
Holland bersama murid-muridnya serta rekan kerjanya menghasilkan buku yang
berjudul “Adaption in Natural and Artificial Systems” pada tahun 1975, yang cara
kerjanya berdasarkan pada seleksi dan Genetika alam. Konsep yang
dipergunakan dalam algoritma Genetika adalah mengikuti apa yang dilakukan
oleh alam.
Algoritma genetik khususnya diterapkan sebagai suatu simulasi dimana
sebuah populasi representasi abstrak (kromosom) dari solusi-solusi calon
(individual) pada sebuah masalah optimisasi akan berkembang menjadi solusi-
solusi yang lebih baik. Secara tradisional solusi-solusi tersebut dilambangkan
dalam biner sebagai string '0' dan '1', walaupun dimungkinkan juga penggunaan
penyandian (encoding) yang berbeda. Evolusi dimulai dari sebuah populasi
individual acak yang lengkap dan terjadi dalam generasi. Dalam tiap generasi
kemampuan keseluruhan populasi dievaluasi, kemudian multiple individuals
dipilih dari populasi sekarang (current) secara stochastic (berdasarkan
kemampuan mereka) lalu dimodifikasi (dengan mutasi atau rekombinasi)
menjadi bentuk populasi baru yang menjadi populasi sekarang (current) pada
iterasi berikutnya dari algoritma (Syarif Admi, 2014).
1.2 Pemahaman Dasar Algoritma Genetika
Algoritma Genetika adalah algoritma pencarian heuristik yang didasarkan
atas mekanisme evolusi biologis. Keberagaman pada evolusi biologis adalah
variasi dari kromosom antar individu organisme. Variasi kromosom ini akan
mempengaruhi laju reproduksi dan tingkat kemampuan organisme untuk tetap
hidup. Algoritma Genetika pertama kali dikembangkan oleh Holland yang
mengatakan bahwa setiap masalah yang berbentuk adaptasi (alami maupun
2
buatan) dapat diformulasikan dalam terminologi Genetika. Algoritma Genetika
adalah simulasi dari proses evolusi Darwin dan operasi Genetika atas
kromosom. Pada algoritma Genetika, teknik pencarian dilakukan sekaligus atas
sejumlah solusi yang mungkin dikenal dengan istilah populasi. Individu yang
terdapat dalam satu populasi disebut dengan istilah kromosom. Kromosom ini
merupakan suatu solusi yang masih berbentuk simbol. Populasi awal dibangun
secara acak, sedangkan populasi berikutnya merupakan hasil evolusi kromosom-
kromosom melalui iterasi yang disebut dengan generasi.
Pada setiap generasi, kromosom akan melalui proses evaluasi dengan
menggunakan alat ukur yang disebut dengan fungsi fitness. Nilai fitness dari
suatu kromosom akan menunjukkan kualitas dari kromosom dalam populasi
tersebut. Generasi berikutnya dikenal dengan istilah anak (offspring) terbentuk
dari gabungan dua kromosom generasi sekarang yang bertindak sebagai induk
(parent) dengan menggunakan operator penyilangan (crossover). Selain operator
penyilangan, suatu kromosom dapat juga dimodifikasi dengan menggunakan
operator mutasi. Populasi generasi yang baru dibentuk dengan cara menyeleksi
nilai fitness dari kromosom induk (parent) dan nilai fitness dari kromosom anak
(offspring), serta menolak kromosom-kromosom yang lainnya sehingga ukuran
populasi (jumlah kromosom dalam suatu populasi) konstan. Setelah melalui
beberapa generasi, maka algoritma ini akan konvergen ke kromosom terbaik
(Liu, 1995).
Struktur umum algoritma Genetika dapat digambarkan dalam diagram
alir secara sederhana pada gambar 1.1.
Gambar 1.1 Diagram Alir Algoritma Genetika Sederhana
3
Pada gambar 1.1 dapat dijelaskan langkah-langkah awal dalam
penyelesaian algoritma Genetika dimulai dari inisialisasi populasi awal (secara
acak atau berdasarkan kriteria tertentu). Evaluasi nilai fitness dari setiap
kromosom. Seleksi, digunakan untuk mendapatkan kumpulan kromosom baru
calon anggota populasi berikutnya. Crossover, menghasilkan kromosom baru
kombinasi dari induknya. Mutasi, dilakukan dengan mengubah karakter-
karakter dari kromosom secara acak. Ulangi langkah-langkah tersebut sampai
konvergen ke kromosom terbaik atau sejumlah iterasi telah dilakukan
(Nurcahyawati Vivine, 2014).
1.3 Komponen Algoritma Genetika
Ada beberapa komponen algoritma Genetika yang perlu diketahui
sebelum proses pengaplikasian pembuatan, yaitu (Wilujeng, 2004):
1. Populasi. Proses pada algoritma Genetika diawali dengan proses
pembentukan populasi awal. Ukuran untuk populasi tergantung pada
masalah yang akan diselesaikan dan jenis operator Genetika yang akan
diimplementasikan. Setelah ukuran populasi ditentukan, kemudian
dilakukan pembangkitan populasi awal. Teknik dalam pembangkitan
populasi awal ini ada beberapa cara, di antaranya adalah:
a) Seperti pada metode random search, pencarian solusi dimulai dari
suatu titik uji tertentu. Titik uji tersebut dianggap sebagai alternatif
solusi yang disebut sebagai populasi.
b) Random Generator, melibatkan pembangkitan bilangan random
untuk nilai setiap gen sesuai dengan representasi kromosom yang
digunakan.
c) Pendekatan tertentu (memasukkan nilai tertentu ke dalam gen dari
populasi awal yang dibentuk). Cara ini adalah dengan
memasukkan nilai tertentu ke dalam gen.
d) Permutasi Gen. Cara ini adalah penggunaan permutasi Josephus
dalam permasalahan kombinatorial seperti TSP.
4
Jumlah kromosom pada populasi awal dibatasi sejumlah titik yang
dikunjungi. Tahap selanjutnya analog pada proses evolusi alam yaitu
seleksi, crossover dan mutasi.
2. Seleksi. Kriteria yang digunakan pada proses seleksi ini adalah kriteria
fungsi fitness. Masing-masing rute pada populasi awal dihitung jarak,
nilai fitness, probabilitas fitness dan probabilitas kumulatif fitnessnya.
Tahap-tahap perhitungan fitness adalah sebagai berikut (Sarwadi,
1995):
a) Mencari jarak tempuh tiap rute (Zi)
b) Mencari total jarak dari seluruh rute (2.1)
c) Mencari nilai fitness tiap rute (fi)
(2.2)
d) Mencari total fitness (2.3)
e) Mencari probabilitas fitness tiap rute (Pi)
(2.4)
f) Mencari probabilitas kumulatif tiap rute (qi)
(2.5)
Keterangan Rumus:
Zi : Jarak tempuh tiap rute untuk tiap kota i
fi : Nilai fitness tiap rute
Pi : Probabilitas fitness
qi : Probabilitas Kumulatif
Pk : nilai probabilitas fitness untuk tiap kromosom
Selanjutnya pemilihan sebuah rute yang menghasilkan populasi
berikutnya dilakukan dengan cara mengambil N buah bilangan random r dengan
0 < r < 1 dan membandingkan bilangan random tersebut dengan probabilitas
5
kumulatif fitness tiap rute. Seleksi akan menentukan individu-individu mana saja
yang akan dipilih untuk dilakukan rekombinasi dan bagaimana offspring
terbentuk dari individu-individu terpilih tersebut.
Suatu metode seleksi yang umum digunakan adalah roulette-wheel (roda
roulette). Sesuai dengan namanya, metode ini menirukan permainan roulette-
wheel, masing-masing kromosom menempati potongan lingkaran pada roda
roulette secara proporsional sesuai dengan nilai fitnessnya. Kromosom yang
memiliki nilai fitness lebih besar menempati potongan lingkaran yang lebih besar
dibandingkan dengan kromosom bernilai fitness rendah (Sarwadi, 1995).
Untuk nilai kromosom yang lebih besar terdapat pada kromosom 2
dengan nilai fitness sebesar 2, penjelasan gambar dapat dilihat pada tabel 1.1.
Tabel 1.1 Contoh Kromosom Dengan Nilai Fitness
Kromosom Nilai Fitness
K1 1
K2 2
K3 0.5
K4 0.5
Jumlah 4
Gambar 1.2 merupakan ilustrasi yang menjelaskan contoh roullete wheel,
dengan kromosom ke-2 memiliki peluang lebih besar daripada kromosom
lainnya.
Gambar 1.2 Contoh Roulette-Wheel Dari Tabel 1.1
Metode ini sangat mudah digunakan. Langkah pertama yang dilakukan
adalah membuat interval nilai kumulatif (dalam interval [0, 1]) dari nilai fitness
masing-masing kromosom dibagi total nilai fitness dari semua kromosom.
6
Sebuah kromosom akan terpilih jika bilangan random yang dibangkitkan berada
dalam interval akumulatifnya. Pada gambar 1.2, K1 menempati interval nilai
kumulatif [0, 0.25], K2 berada dalam interval [0.25, 0.75], K3 dalam interval [0.75,
0.875], dan K4 dalam interval (0.875, 1). Misalkan, jika bilangan random yang
dibangkitkan adalah 0.6 maka kromosom K2 terpilih sebagai orang tua. Tetapi
jika bilangan random yang dibangkitkan adalah 0.99 maka kromosom K4 yang
terpilih (Sarwadi, 1995).
1.3.3 Crossover
Crossover adalah menyilangkan dua kromosom sehingga membentuk
kromosom baru yang harapannya lebih baik dari pada induknya. Tidak semua
kromosom pada suatu populasi akan mengalami proses rekombinasi.
Kemungkinan suatu kromosom mengalami proses crossover didasarkan pada
probabilitas crossover yang telah ditentukan terlebih dahulu. Probabilitas crossover
menyatakan peluang suatu kromosom akan mengalami crossover. Ada beberapa
teknik crossover yang dapat digunakan untuk menyelesaikan Traveling Salesman
Problem, antara lain adalah Partially Mapped Crossover (PMX), order crossover dan
cycle crossover. Teknik rekombinasi yang digunakan adalah teknik order crossover.
Order crossover (OX) diperkenalkan oleh Davis. Teknik ini diawali dengan
membangkitkan dua bilangan acak. Kemudian gen yang berada di antara kedua
bilangan acak akan disalin ke offspring dengan posisi yang sama. Langkah
berikutnya untuk mendapatkan offspring pertama adalah mengurutkan gen yang
berada pada parent 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 di
antara kedua bilangan acak. Kemudian gen yang telah diurutkan tersebut
dibandingkan dengan offspring pertama. Apabila gen tersebut ada pada offspring
kedua maka abaikan gen tersebut dari urutan itu. Kemudian masukkan urutan
yang baru didapat pada offspring dengan cara memasukkan urutan gen pada
posisi setelah bilangan acak kedua terlebih dahulu dan sisanya dimasukkan pada
posisi sebelum bilangan acak pertama (Ramadhani, 2008).
7
1.3.4 Mutasi
List populasi baru hasil dari proses crossover dipilih secara acak untuk
dilibatkan dalam proses mutasi. Pemilihan gen tersebut dilakukan dengan
membandingkan bilangan random (r) dengan nilai probabilitas mutasi (Pm) yang
telah ditetapkan sebelumnya. Pada pembahasan ini metode yang digunakan
untuk proses mutasi adalah swapping mutation. Dalam swapping mutation
dilakukan pertukaran tempat node. Biasanya permutasi diset sebagai 1/n, n
adalah jumlah gen dalam kromosom. Dengan permutasi sebesar ini berarti
mutasi terjadi pada sekitar satu gen saja. Pada Algoritma Genetika sederhana,
nilai permutasi tetap selama evolusi. Beberapa skema mutasi yang digunakan
(Suyanto, 2005):
1. Mutasi biner, Contoh: 11001001 = 10001001
2. Swapping mutation, contoh: (1 2 3 4 5 6 7 9 8) = (1 3 2 4 5 6 9 7 8)
1.4 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 (Dewi, 2009) :
1. Optimasi. Beberapa penggunaan Algoritma Genetika untuk optimasi
antara lain untuk optimasi numerik dan optimasi kombinatorial seperti
Traveling Salesmen Problem (TSP), Perancangan Integrated Circuit atau IC,
Job Scheduling, dan Optimasi video dan suara.
2. Pemrograman otomatis. Algoritma Genetika untuk pemrograman
otomatis, antara lain untuk melakukan proses evolusi terhadap program
komputer dalam merancang struktur komputasional, seperti cellular
automata dan sorting networks.
8
3. 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.
4. Model ekonomi. Dalam bidang ekonomi, Algoritma Genetika digunakan
untuk memodelkan proses-proses inovasi dan pembangunan bidding
strategies.
5. Model sistem imunisasi. Contoh 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.
6. Model ekologis. Algoritma Genetika juga dapat digunakan untuk
memodelkan fenomena ekologis seperti host-parasite co evolutions,
simbiosis dan aliran sumber di dalam ekologi.
1.5 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 (Aris, 2015) :
1. Ruang masalah sangat besar, kompleks, dan sulit dipahami.
2. Kurang atau bahkan tidak ada pengetahuan yang memadai untuk
merepresentasikan masalah ke dalam ruang pencarian yang lebih sempit.
3. Tidak tersedianya analisis matematika yang memadai.
4. Ketika metode-metode konvensional sudah tidak mampu menyelesaikan
masalah yang dihadapi.
9
5. Solusi yang diharapkan tidak harus paling optimal, tetapi cukup “bagus”
atau bisa diterima.
10
BAB 2
TEORI DISTRIBUSI
Distribusi mengacu pada hubungan yang ada di antara titik produksi dan
pelanggan akhir, yang sering terdiri dari beberapa jenis inventory yang harus
dikelola. Tujuan utama dari manajemen distribusi inventory adalah memperoleh
inventory dalam tempat yang tepat, pada waktu yang tepat, spesifikasi kualitas
yang tepat, serta pada biaya yang memadai. Tujuan ini untuk mencapai tingkat
pelayanan pelanggan yang diinginkan pada atau di bawah tingkat biaya yang
telah di tetapkan (Gaspersz, 2009).
2.1 Distribusi Produk
Distribusi suatu produk yang dihasilkan oleh suatu perusahaan
merupakan bagian yang tidak terpisahkan dari kegiatan penjualan. Distribusi
produk harus dilakukan dengan tepat waktu sesuai dengan permintaan
pelanggan sehingga dapat dipenuhi tingkat kepuasaan pelanggan dalam
melakukan pemesanan produk dan perusahaan juga mendapat keuntungan dan
kepercayaan penuh dari pihak pelanggan dalam melakukan pendistribusian
produk. Namun, untuk mendapat kepuasan pelanggan dalam melakukan
pendistribusian produk, perusahaan dituntut untuk melakukan distribusi sesuai
dengan jadwal distribusi yang sudah disepakati. Untuk alasan efisiensi, rute
distribusi harus dipertimbangkan dengan hati-hati untuk menghindari
pemborosan bagi kendaraan yang digunakan perusahaan dalam melakukan
pengiriman.
2.2 Transportasi
Transportasi merupakan bagian penting dari suatu proses distribusi yang
berguna menghantarkan produk/ barang dari satu lokasi ke lokasi lainnya.
Menurut Gaspersz (2009) model transportasi yang sering digunakan dalam
distribusi material dan produk adalah:
1. Transportasi menggunakan pipa
11
Karakteristik model transportasi menggunakan pipa di antaranya adalah
aplikasi terbatas, kebanyakan untuk benda cair dan gas, biaya awal
tinggi, akses terbatas ke rute tertentu.
2. Transportasi melalui sungai atau air
Model transportasi ini memiliki beberapa karakteristik di antaranya
adalah mampu mengangkut beban yang sangat besar, sehingga biaya per
ton menjadi rendah, waktu transportasi lambat, keterbatasan lokasi.
3. Transportasi menggunakan kereta api
Karakteristik model transportasi menggunakan kereta api adalah
mampu mengangkut dalam volume besar pada tingkat biaya yang
memadai, keterbatasan fasilitas dan akses, efisien untuk mengangkut
benda-benda berat atau panjang di atas tanah.
4. Transportasi menggunakan kendaraan truk, container, dan lain-lain
Karakteristik model transportasi menggunakan kendaraan truk, container
adalah paling fleksibel untuk akses ke segala tempat tujuan, kemampuan
yang baik dalam mengangkut benda-benda kecil, memiliki kapasitas
bervariasi, dapat dibuat sesuai kebutuhan.
5. Transportasi menggunakan pesawat udara
Model tranportasi ini memiliki karakteristik seperti waktu penyerahan
paling cepat untuk jarak menengah sampai jauh, biaya transportasi
mahal, cocok untuk beban yang lebih kecil.
12
BAB 3
PENERAPAN ALGORITMA GENETIKA
PADA MASALAH DISTRIBUSI
3.1 Kasus Distribusi PT. EDAR
Penerapan Algoritma Genetika pada masalah distribusi mengambil kasus
pada PT. EDAR. Perusahaan ini adalah perusahaan yang bergerak di bidang
manufaktur kabel, salah satunya jenis fiber optik tipe duct. Berdasarkan data
pengiriman yang diperoleh dari perusahaan, PT. EDAR selaku penghasil kabel
yang terletak di Cileungsi, Bogor Jawa Barat memiliki jangkauan distribusi yang
sangat luas. Tempat-tempat distribusinya pun sudah ditentukan oleh
perusahaan. Oleh karena itu bagaimana jika perusahaan ingin mendistribusikan
produknya ke distributor tertentu dengan ketentuan distributor yang dituju
berbeda-beda setiap harinya. Dari permasalahan ini bagaimana menentukan rute
yang tepat sehingga pendistribusian tersebut dapat sampai ke tempat tujuan
dalam waktu yang singkat dan efisien. Waktu yang singkat dan efisien di sini
adalah difokuskan pada jarak yang terpendek. Untuk menyelesaikan masalah ini
sangat cocok menggunakan Algoritma Genetika. Algoritma Genetika adalah
algoritma pencarian heuristik yang didasarkan atas mekanisme evolusi biologis
(Liu, 1995).
3.2 Kondisi Lokasi dan Distribusi
Perusahaan memiliki dua buah gudang, gudang pertama adalah gudang
tempat penyimpanan raw material dan gudang ke dua adalah tempat
penyimpanan produk jadi. Gudang fiber optik berada di lokasi yang letaknya
tidak terlalu jauh dengan lokasi produksi fiber optik. Pengamatan pertama
dilakukan dengan mengamati jenis kendaraan pada perusahaan untuk
melakukan pengiriman produk. Pada tabel 3.1 menunjukkan banyaknya alat
transportasi yang digunakan perusahaan dalam melakukan pendistribusian.
13
3.3 Deskripsi Produk
Fiber optik tipe duct adalah saluran transmisi atau sejenis kabel yang
terbuat dari serat kaca atau plastik yang sangat halus dan lebih kecil dari sehelai
rambut, serta dapat digunakan untuk mentransmisikan sinyal cahaya dari suatu
tempat ke tempat lain. Sumber cahaya yang biasa digunakan adalah laser.
Cahaya yang ada di dalam serat optik tidak keluar karena indeks bias dari kaca
lebih besar daripada indeks bias dari udara, karena laser mempunyai spektrum
yang sangat sempit. Kecepatan transmisi serat optik sangat tinggi sehingga
sangat bagus digunakan sebagai saluran komunikasi. Bentuk produk fiber optik
tipe duct dapat dilihat pada gambar 3.1.
Gambar 3.1 Produk Fiber Optik Tipe Duct
Dengan lebar jalur yang besar sehingga kemampuan dalam
mentransmisikan data menjadi lebih banyak dan cepat dibandingkan dengan
penggunaan kabel konvensional. Dengan demikian serat optik sangat cocok
digunakan terutama dalam aplikasi sistem telekomunikasi. Pada prinsipnya serat
optik memantulkan dan membiaskan sejumlah cahaya yang merambat di
dalamnya. Efisiensi dari serat optik ditentukan oleh kemurnian dari bahan
penyusun gelas atau kaca. Semakin murni bahan gelas, maka semakin sedikit
cahaya yang diserap oleh serat optik.
Pada gambar 3.2 terlihat bentuk kemasan produk, fiber optik tipe duct
memiliki ukuran dengan diameter ± 3 cm dan lebih ringan sehingga instalasi
kabel serat optik dapat dilakukan melalui beberapa span secara sekaligus.
14
Gambar 3.2 Huspel Fiber Optik Tipe Duct (Sumber: PT. EDAR) Panjang produk fiber optik tipe duct dalam satu huspel dapat mencapai
2000 s/d 4000 meter atau 2 s/d 4 km. Dimensi pada huspel memiliki diameter 130
dan tinggi huspel 100 cm. Pada fisik huspel dapat diketahui tanggal produksi
kabel, ukuran kabel, berat kabel dan tipe kabel.
Tabel 3.1 Data Jenis Kendaraan dan Kapasitas (Sumber: PT. EDAR)
No Kode Truck
No Pol Merek Kapasitas Maks.
(Km)
1 T1 B 9546 FM PICK UP 4.500
2 T2 B 9181 HO COLT DIESEL 13.000
3 T3 B 9117 SDA PICK UP 4.500
4 T4 B 9175 SDA PICK UP 4.500
5 T5 B 9118 SDA COLT DIESEL 14.000
6 T6 B 9116 SDA PICK UP 4.500
7 T7 B 9708 FG COLT DIESEL 14.000
8 T8 B 9784 QA COLT DIESEL 14.000
9 T9 B 9933 MD FUSSO 65.000
10 T10 B 9249 IK FUSSO 85.000
11 T11 B 9075 FZ PICK UP 4.500
12 T12 B 9048 FZ FUSSO 120.000
13 T13 B 9088 MU COLT DIESEL 15.500
14 T14 B 9176 MV COLT DIESEL 15.500
Berdasarkan data pada tabel 3.1 perusahaan memiliki tiga jenis kendaraan
yaitu 5 buah pick up yang mampu mengangkut 4.500 km fiber optik, 6 buah colt
15
diesel yang mampu mengangkut 13.000-15.500 km fiber optik, dan 3 buah fusso
yang mampu mengangkut 65.000-120.000 km. Perusahaan memiliki wilayah
pendistribusian kabel sebanyak 9 konsumen yang tersebar di beberapa wilayah
seperti Jakarta, Bogor, depok, Tangerang, Bekasi, lintas area Jawa Barat.
Sedangkan untuk wilayah selain di luar pulau jawa perusahaan menggunakan
jasa ekspedisi. Untuk data konsumen harian, terdapat nama konsumen beserta
lokasi pengiriman yang akan dikirim pada periode tertentu. Adapun daftar
konsumen perusahaan disajikan dalam tabel 3.2.
Tabel 3.2 Daftar Alamat Konsumen Produk Fiber Optik Tipe Duct
(Sumber: PT. EDAR)
CUSTOMER PT VOKSEL ELECTRIC , TBK
NO CUSTOMER ALAMAT KODE
1 PT. Voksel Electric Tbk Ci leungs i Bogor 1
2 Has ian Prima Tel indo Jl . Bina Marga No. 150 Cipayung Jakarta Timur 2
3 Jambon Electric Jl . Pegangsaan II Kav 30 Klp Gading Jakarta Utara 3
4 Telematika Wahana Solus ion Plaza Klp Gading, Jl Boulevard Raya Klp Gading Jakarta utara 4
5 Barata Jaya Sejahterah Jl Guru Mughni 210 RT 003/02, Karet Semanggi , Setia Budi Jakarta 5
6 Mitkom Persada Pangl ima Sudirman Jl Pangl ima Sudirman 101, Jakarta Timur 6
7 Merbau Prima Sakti Puri Kencana Perk Puri Kencana Bl D-1/2-GMeruya Il i r, Kembangan Jakarta Barat 11620 DKI Jakarta 7
8 Sansaine Exindo Jl . Sul tan Agung No.7,Guntur Setiabudi Jakarta Selatan 12980 8
9 Altelkom Jl . Japati No. 1 – BandungIndones ia Kode Pos : 40133 9
10 Telkom Akses Jl . S Parman Kav 8 Jakarta Barat 11440 10
Pengamatan data dimulai dengan menentukan rute berdasarkan 9 customer
dengan metode Algoritma Genetika yang akan menghasilkan rute terbaik.
3.4 Perhitungan Jarak Depot dan Pelanggan serta Jarak Antar Pelanggan
Perhitungan jarak depot dan pelanggan serta jarak antar pelanggan
diawali dengan cara membuat matriks jarak. Data yang diperlukan untuk
membuat jarak antar setiap pelanggan dan jarak depot dengan pelanggan
menggunakan aplikasi Google maps. Setelah mendapatkan data pelanggan maka
dengan bantuan aplikasi Google maps mendapatkan jarak yang lebih tepat antar
16
pelanggan dan jarak depot dengan pelanggan. Aplikasi ini memberikan
informasi rute terpendek yang harus dilalui oleh kendaraan untuk mengirimkan
barang. Data jarak antar pelanggan dan jarak depot dengan pelanggan dapat
dilihat pada tabel 3.3.
Tabel 3.3 Matriks Jarak Antar Pelanggan Perusahaan
1 2 3 4 5 6 7 8 9 10
1 46 17 35 36 33 29 40 35 124
2 46 38 58 54 29 53 28 41 185
3 17 40 27 26 21 24 28 21 144
4 35 48 28 1,2 18 28 22 13 144
5 36 41 26 2,6 17 27 21 12 143
6 33 31 20 18 19 34 10 7,2 147
7 29 38 18 9,1 9,5 15 20 12 142
8 40 20 25 19 18 8 20 8 161
9 35 26 18 12 12 3,6 14 8 154
10 124 159 138 151 151 153 142 161 154
3.5 Aplikasi Algoritma Genetika
Penentuan rute pendistribusian pengiriman barang yang dilakukan oleh
perusahaan menggunakan metode Algoritma Genetika. Di dalam Algoritma
Genetika itu sendiri terdapat langkah-langkah yang digunakan dan akan
berulang sampai mendapatkan hasil yang optimal pada langkah-langkah
terakhir. Sebelum menjalankan langkah-langkah tersebut, penentuan parameter
sangat penting untuk perhitungan selanjutnya. Parameter-parameter yang akan
digunakan pada proses perhitungan manual dapat dilihat pada tabel 3.4.
Tabel 3.4 Penentuan Parameter
Penentuan Parameter
Ukuran Populasi 16
Probabilitas Crossever (Pc) 0,4
Probabilitas Mutasi (Pm) 0,5
3.5.1 Langkah dari Algoritma Genetika
Dalam penyelesaian masalah optimasi jalur distribusi untuk penyelesaian
masalah Algoritma Genetika dapat diselesaikan melalui beberapa tahapan
17
penyelesaian. Berikut ini adalah langkah-langkah dari Algoritma Genetika untuk
penyelesaian rute distribusi.
3.5.2 Pembentukan Kromosom dan Populasi
Pada tahap ini, dibangkitkan sebuah populasi yang berisi sejumlah
kromosom. Setiap kromosom berisi sejumlah gen dan setiap gen berisi nomor
dari semua kota yang menjadi sampel. Masing-masing nomor urut hanya boleh
muncul satu kali di dalam satu kromosom. Masukan untuk fungsi ini adalah
ukuran populasi yaitu jumlah kromosom dalam populasi dan jumlah gen dalam
satu kromosom. Kromosom yang dibangkitkan adalah sebuah kromosom yang
dibangkitkan secara acak. Untuk membangkitkan kromosom ini, seperti pada
tabel 3.5.
Tabel 3.5 Pembangkitkan Populasi Awal Secara Acak
Kromosom Gen 2 Gen 3 Gen 4 Gen 5 Gen 6 Gen 7 Gen 8 Gen 9 Gen 10
1 6 5 3 10 9 8 4 2 7
2 10 6 9 7 2 8 3 5 4
3 10 3 2 8 4 5 6 7 9
4 4 7 10 9 3 2 6 5 8
5 3 10 6 9 5 4 8 2 7
6 5 9 8 6 7 2 10 3 4
7 7 5 8 4 9 3 6 2 10
8 9 5 7 10 8 4 2 3 6
9 3 2 9 8 7 4 6 10 5
10 3 5 6 4 10 8 9 2 7
11 10 2 9 5 4 3 6 7 8
12 2 3 8 5 10 9 6 7 4
13 5 7 6 4 10 9 3 2 8
14 10 9 7 3 8 2 5 4 6
15 8 3 9 10 2 7 6 5 4
16 7 2 5 6 8 10 3 9 4
Dari tabel 3.5 dapat diperoleh populasi awal yang dibangkitkan secara acak
dengan merepresentasikannya melalui nomor urut setiap kota yang merupakan
jalur yang dilalui pada masing-masing kromosom secara melingkar. Populasi
awal ini diambil secara acak dari sekian banyak solusi jalur yang memungkinkan
untuk dilalui. Masing-masing nomor urut hanya boleh muncul satu kali di dalam
satu kromosom.
18
3.5.3 Evaluasi Fungsi Fitness
Dalam Algoritma Genetika, permasalahannya adalah mencari jarak
terpendek dari 9 kota yang akan dilalui. Pada kasus ini permasalahannya juga
untuk meminimalkan total jarak. Oleh karena itu, nilai fitness yang bisa
digunakan adalah 1 dibagi dengan total jarak. Dalam hal ini yang dimaksud total
jarak adalah jumlah jarak antara satu kota dengan kota yang lainnya secara
melingkar. Untuk menghitung jarak dari satu kota ke kota yang lainnya dapat
dilihat pada tabel 3.3 matriks jarak antar pelanggan perusahaan.
Algoritma Genetika bertujuan untuk meminimalkan jarak, maka nilai
fitnessnya adalah inversi dari total jarak dari jalur yang didapatkan, dengan
menggunakan rumus 1
X , (x) adalah total jarak dari jalur yang didapatkan.
Variabel yang digunakan untuk mencari nilai fitness yaitu populasi, jumlah gen,
dan jarak antar kota dalam suatu kromosom. Berikut ini adalah salah satu contoh
untuk mencari nilai fitness. Fungsi Fitness = 1
498 = 0,002008. Keluaran dari fungsi
ini adalah nilai fitness dalam suatu populasi. Penentuan jalur pada setiap
kromosom dapat dilihat pada tabel 3.6.
Tabel 3.6 Nilai Fitness
Kromosom Jarak Fitness
1 498 0,002008
2 490 0,002041
3 471 0,002123
4 481,2 0,002078
5 482 0,002075
6 472,2 0,002118
7 471,2 0,002122
8 420 0,002381
9 471,2 0,002122
10 478,5 0,00209
11 470,6 0,002125
12 443,3 0,002256
13 482,5 0,002073
14 504 0,001984
15 492 0,002033
16 484,9 0,002062
Total 0,03369
Pada tabel 3.6 dapat dilihat bahwa kromosom 14 memiliki nilai fitness yang
paling rendah daripada kromosom lainnya. Oleh karena itu kromosom 14 adalah
nilai individu yang tidak baik. Sedangkan, pada kromosom 8 memiliki nilai
19
fitness lebih besar, itu berarti pada kromosom 8 adalah individu yang baik. Dapat
disimpulkan pencarian pada inisialisasi awal kromosom yang terpilih adalah
pada kromosom ke-8.
3.5.4 Proses Seleksi
Tahap selanjutnya adalah menyeleksi hasil populasi tersebut. Sebelum
melakukan seleksi ini, pertama-tama adalah mencari probabilitas fitness tiap rute
dan mencari probabilitas kumulatif tiap rute. Probabilitas fitness didapatkan
dengan cara pertama-tama menjumlahkan seluruh nilai fitness yang ada setelah
itu nilai fitness setiap individu dibagi dengan jumlah total nilai fitness. Hasil
probabilitas fitness (PK) yang ada dapat dilihat pada tabel 3.7. Kemudian mencari
probabilitas kumulatif (QK) tiap rute. Berikut ini adalah salah satu contoh
perhitungan untuk mendapatkan PK dan QK.
PK = 0,002008
0,03369=0,059603
QK = 0,059603 + 0,06057 = 0,120179
Hasil dari perhitungan untuk probabilitas fitness (PK) dan probabilitas kumulatif
(QK) tiap rute dapat dilihat pada tabel 3.7.
Tabel 3.7 Perhitungan PK dan QK
K R K QK PK
1 0.15718260086953242 1 0.05960305814962045 0,059603
2 0.10638265147140205 2 0.1201792274527041 0,060576
3 0.15448455210950932 3 0.1831990214198187 0,063024 0.028052908234902703 4 0.2448829843427426 0,0616845 0.6142482033021888 5 0.30646456724421767 0,061582
6 0.3143519316459898 6 0.3693242092571592 0,062867 0.43426937849874225 7 0.43231725458506876 0,0629938 0.20251384734121464 8 0.502989452105333 0,070672
9 0.3378910819374243 9 0.5659824974332426 0,06299310 0.0794466699199531 10 0.6280145203350419 0,062032
11 0.5767571316000071 11 0.6910878797878914 0,063073
12 0.41173594436529315 12 0.7580455223742009 0,06695813 0.029224967691469768 13 0.819563290163861 0,061518
14 0.07638718900509124 14 0.8784567880974146 0,05889315 0.9860878356753371 15 0.9387867128098353 0,06033
16 0.8397082046946454 16 1 0,061213
Setelah mendapatkan hasil PK dan QK tahap selanjutnya adalah memunculkan
bilangan random (0-1) sekali lagi untuk dilakukan proses seleksi. Proses seleksi
dengan menggunakan roullet wheel selection. Untuk bilangan random, nilai random
20
pertama yang keluar adalah 0.15718260086953242, maka pada nilai tersebut
terdapat range nomor 4 karena pada nomor ini bilangan random lebih kecil
daripada bilangan kumulatifnya. Selanjutnya kromosom populasi awal
dipindahkan urutannya berdasarkan bilangan random yang muncul. Hasil seleksi
untuk generasi ke-1 dapat dilihat pada tabel 3.8.
Tabel 3.8 Hasil Seleksi dari Kromosom
3.5.5 Proses Crossover
Proses Crossover merupakan suatu proses persilangan sepasang kromosom
parents untuk menghasilkan offspring atau keturunan yang menjadi generasi
berikutnya. Offspring yang dihasilkan dari proses crossover ini diharapkan
memiliki sifat-sifat unggul yang dimiliki oleh parents mereka. Penentuan crossover
dilakukan dengan cara membandingkan nilai Probabilitas Crossover (PC) tersebut
dengan bilangan yang dibangkitkan secara random. Ada beberapa teknik
rekombinasi yang dapat digunakan untuk menyelesaikan masalah seperti ini,
antara lain adalah Partially Mapped Crossover (PMX), order crossover dan cycle
crossover. Teknik yang digunakan adalah teknik order crossover. Teknik ini diawali
dengan membangkitkan dua bilangan acak. Kemudian gen yang berada di antara
dua bilangan acak akan disalin ke offspring dengan posisi yang sama. Langkah
berikutnya untuk mendapatkan offspring pertama adalah mengurutkan gen yang
berada pada parent kedua dengan urutan gen yang berada pada posisi setelah
bilangan acak kedua diikuti dengan gen yang berada pada posisi sebelum
Kromosom Awal Kromosom Hasil
1 4
2 2
3 14 35 8
6 67 98 7
9 1010 5
11 11
12 1213 13
14 1415 16
16 15
21
bilangan acak pertama dan diakhiri dengan gen yang berada posisi di antara
kedua bilangan acak. Kemudian gen yang telah diurutkan dibandingkan dengan
offspring pertama. Apabila gen tersebut ada pada offspring kedua maka abaikan
gen tersebut dari urutan itu. Kemudian masukan urutan yang baru didapat pada
offspring 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 offspring pada induk kromosom
berikutnya.
Misalnya ditentukan PC = 40%, maka diharapkan dalam satu generasi ada
40% x 16 kromosom = 6 kromosom dari populasi mengalami crossover.
Sebelumnya dibangkitkan bilangan acak crossover (0-1) sebanyak jumlah populasi
yaitu 16 kali seperti tabel 3.9.
Tabel 3.9 Crossover Bilangan Random (R)
Kromsm Nilai Random Parent
1 0.7147218796658683 Bukan Induk
2 0.15635677991958763 Induk
3 0.5962683703630106 Bukan Induk4 0.6829666377767829 Bukan Induk
5 0.7523740679299017 Bukan Induk6 0.33843113727652496 Induk7 0.3315031834713471 Induk8 0.0465077588465006 Induk
9 0.945468335723752 Bukan Induk10 0.3552211130893701 Induk11 0.6347942002517055 Bukan Induk12 0.9727241988117323 Bukan Induk13 0.32734522085501305 Induk
14 0.8205610294409984 Bukan Induk
15 0.8911019328583512 Bukan Induk16 0.961992754712221 Bukan Induk
Dari hasil bilangan random yang muncul pada tabel 3.9 maka yang lolos untuk
menjadi parent untuk dilakukan crossover adalah hasil dari bilangan random yang
kurang dari probabilitas crossover sebesar 0.4. Calon parent dari hasil bilangan
random tersebut adalah kromosom 2, 6, 7, 8, 10 dan 13. Proses selanjutnya adalah
menentukan posisi crossover. Dilakukan dengan membangkitkan bilangan acak
22
antara 1 sampai dengan panjang kromosom – 1 (9 – 1 = 8). Dimisalkan bilangan
acak untuk 6 kromosom induk yang akan dicrossover [1-8]:
C[2] = 4, C[6] = 6, C[7] = 1, C[8] = 2, C[10] = 1, C[13] = 6
Setelah diperoleh bilangan acak untuk penentuan panjang kromosom yang akan
dicrossover, hasil pencarian parent crossover dapat dilihat pada tabel 3.10.
Tabel 3.10 Parent Crossover
Induk I Gen 2 Gen 3 Gen 4 Gen 5 Gen 6 Gen 7 Gen 8 Gen 9 Gen 10 Induk 2 Gen 2 Gen 3 Gen 4 Gen 5 Gen 6 Gen 7 Gen 8 Gen 9 Gen 10
2 10 6 9 7 2 8 3 5 4 > < 6 5 9 8 6 7 2 10 3 4
6 5 9 8 6 7 2 10 3 4 > < 7 3 2 9 8 7 4 6 10 5
7 3 2 9 8 7 4 6 10 5 > < 8 3 5 6 4 10 8 9 2 78 3 5 6 4 10 8 9 2 7 > < 10 9 5 7 10 8 4 2 3 6
10 9 5 7 10 8 4 2 3 6 > < 13 5 7 6 4 10 9 3 2 813 5 7 6 4 10 9 3 2 8 > < 2 10 6 9 7 2 8 3 5 4
Setelah diketahui parent tersebut, tahap selanjutnya adalah melakukan crossover.
Crossover dilakukan dengan menggunakan teknik order crossover. Pada proses ini
induk 1 dan 2 akan menghasilkan generasi baru yang tidak jauh berbeda
mewarisi generasi induknya. Proses ini dapat dilihat pada tabel 3.11.
Tabel 3.11 Offspring Proses Crossover
Offspring Gen 2 Gen 3 Gen 4 Gen 5 Gen 6 Gen 7 Gen 8 Gen 9 Gen 10Offspring 2 10 6 9 7 5 8 2 3 4Offspring 6 5 9 8 6 7 2 3 4 10Offspring 7 3 5 6 4 10 8 9 2 7Offspring 8 3 5 9 7 10 8 4 2 6
Offspring 10 9 5 7 6 4 10 3 2 8
Offspring 13 5 7 6 4 10 9 2 8 3
Setelah tahap pencarian offspring pada proses kawin silang selesai, langkah
selanjutnya adalah mendapatkan generasi populasi terbaru pada tahap crossover
seperti pada tabel 3.12.
23
Tabel 3.12 hasil Populasi dari Crossover
Kromosom Gen 2 Gen 3 Gen 4 Gen 5 Gen 6 Gen 7 Gen 8 Gen 9 Gen 10
1 6 5 3 10 9 8 4 2 7
2 10 6 9 7 5 8 2 3 4
3 4 7 10 9 3 2 6 5 8
4 10 3 2 8 4 5 6 7 9
5 7 5 8 4 9 3 6 2 10
6 5 9 8 6 7 2 3 4 10
7 3 5 6 4 10 8 9 2 7
8 3 5 9 7 10 8 4 2 6
9 3 10 6 9 5 4 8 2 7
10 9 5 7 6 4 10 3 2 8
11 10 2 9 5 4 3 6 7 8
12 2 3 8 5 10 9 6 7 4
13 5 7 6 4 10 9 2 8 3
14 10 9 7 3 8 2 5 4 6
15 8 3 9 10 2 7 6 5 4
16 7 2 5 6 8 10 3 9 4
3.5.6 Proses Mutasi
Proses mutasi ini dilakukan setelah proses rekombinasi dengan cara
memilih kromosom yang akan dimutasi secara acak, dan kemudian menentukan
titik mutasi pada kromosom tersebut secara acak pula. Banyaknya kromosom
yang akan mengalami mutasi dihitung berdasarkan probabilitas mutasi, yang
telah ditentukan terlebih dahulu. Apabila probabilitas mutasi adalah 100% maka
semua kromosom yang ada pada populasi tersebut akan dimutasi. Sebaliknya,
apabila jika probabilitas mutasi yang digunakan adalah 0% maka tidak ada
kromosom yang mengalami mutasi pada populasi tersebut.
Ada beberapa macam teknik mutasi yang digunakan untuk penyelesaian
algoritma Genetika ini. Teknik mutasi yang dapat digunakan untuk penyelesaian
masalah jalur distribusi dengan menggunakan algoritma Genetika adalah
inversion mutation, insertion mutation, swapping mutation dan reciprocal mutation.
Pada kasus ini skema mutasi yang digunakan adalah swapping mutation. Jumlah
kromosom yang mengalami mutasi dalam satu populasi ditentukan oleh
Parameter Mutasi rate (PM). Proses mutasi dilakukan dengan cara menukar gen
yang dipilih secara acak dengan gen sesudahnya. Jika gen tersebut berada di
akhir kromosom, maka ditukar dengan gen pertama.
Contoh perhitungan pada proses mutasi ini, pertama dihitung dahulu
panjang total gen yang ada pada satu populasi:
24
1. Menentukan panjang total gen dari populasi.
Panjang total gen = 9 x 16 = 144 gen.
2. Memilih posisi gen yang akan mengalami mutasi, dilakukan dengan
membangkitkan bilangan acak antara 1 – panjang total gen yaitu 1-144.
Misal, ditentukan PM = 50%. Jumlah Gen yang akan dimutasi = 0.5 x
144 = 72 buah gen yang akan dimutasi.
Berikut ini merupakan bilangan random [1-144] sebanyak 72 posisi gen yang
akan dilakukan proses mutasi. Posisi gen yang akan dilakukan mutasi dapat
dilihat pada tabel 3.13.
Tabel 3.13 Posisi Gen yang Akan Dimutasi
No R No R No R No R1 3 19 38 37 69 55 972 6 20 39 38 70 56 1023 9 21 41 39 72 57 1034 11 22 42 40 73 58 108
5 12 23 44 41 75 59 110
6 14 24 47 42 76 60 1127 15 25 48 43 77 61 113
8 16 26 50 44 78 62 116
9 19 27 51 45 79 63 117
10 20 28 52 46 80 64 119
11 22 29 54 47 82 65 122
12 25 30 56 48 87 66 124
13 28 31 57 49 88 67 126
14 30 32 59 50 89 68 127
15 33 33 60 51 93 69 138
16 34 34 63 52 94 70 140
17 35 35 65 53 95 71 141
18 36 36 66 54 96 72 143
Setelah didapatkan posisi gen yang akan dilakukan mutasi, selanjutnya adalah
melakukan tahap proses mutasi dengan mengurutkan posisi gen dari 72 bilangan
random (lihat tabel 4.13) terhadap kromosom hasil populasi crossover. Proses
tersebut dapat dilihat pada tabel 3.14.
Setelah tahap melakukan posisi mutasi dari tiap gen, tahap selanjutnya
adalah mengubah gen yang akan dimutasi dengan cara menukar gen yang
dipilih secara acak dengan gen sesudahnya. Jika gen tersebut berada di akhir
kromosom, maka ditukar dengan gen yang pertama.
25
Tabel 3.14 Posisi Mutasi pada Tabel Crossover
Kromosom Gen 2 Gen 3 Gen 4 Gen 5 Gen 6 Gen 7 Gen 8 Gen 9 Gen 10
1 6 5 3 10 9 8 4 2 7
2 10 6 9 7 5 8 2 3 4
3 4 7 10 9 3 2 6 5 8
4 10 3 2 8 4 5 6 7 9
5 7 5 8 4 9 3 6 2 10
6 5 9 8 6 7 2 3 4 10
7 3 5 6 4 10 8 9 2 7
8 3 5 9 7 10 8 4 2 6
9 3 10 6 9 5 4 8 2 7
10 9 5 7 6 4 10 3 2 8
11 10 2 9 5 4 3 6 7 8
12 2 3 8 5 10 9 6 7 4
13 5 7 6 4 10 9 2 8 3
14 10 9 7 3 8 2 5 4 6
15 8 3 9 10 2 7 6 5 4
16 7 2 5 6 8 10 3 9 4
Hasil proses mutasi dapat dilihat pada tabel 3.15.
Tabel 3.15 Kromosom yang Termutasi
Kromosom Gen 2 Gen 3 Gen 4 Gen 5 Gen 6 Gen 7 Gen 8 Gen 9 Gen 10
1 7 5 10 3 9 4 8 2 6
2 10 9 7 6 8 2 3 5 4
3 7 10 4 3 9 2 5 6 8
4 5 10 8 2 4 6 7 9 3
5 7 8 4 5 3 6 9 10 2
6 10 8 6 9 2 3 4 7 5
7 7 6 4 5 8 9 10 2 3
8 6 9 7 5 10 4 2 8 3
9 10 3 9 5 4 8 2 7 6
10 5 9 7 6 4 3 2 8 10
11 10 2 5 4 3 6 7 9 8
12 4 3 5 10 8 9 6 7 2
13 8 6 7 10 9 4 2 3 5
14 6 7 9 3 2 8 4 5 10
15 3 8 9 10 2 7 6 5 4
16 7 2 6 5 10 3 8 4 9
3.5.7 Pelestarian Individu Terbaik
Setelah melalui semua proses tahapan Algoritma Genetika, maka akan
didapatkan hasil yang optimal, walaupun belum menghasilkan yang paling
optimal. Untuk mendapatkan hasil yang paling optimal harus dibuat sampai
dengan generasi ke-100. Hasil dari populasi akhir generasi ke-1 ini (lihat tabel
3.16), nantinya akan dijadikan sebagai populasi awal untuk dilakukan proses di
generasi ke-2 sampai generasi selanjutnya yang dimulai dari tahap seleksi,
26
crossover, mutasi hingga pelestarian individu terbaik lagi. Proses ini akan selalu
berulang sampai memiliki nilai fitness yang paling optimal yaitu maksimum
generasi ke-100. Walaupun perhitungan cukup dijabarkan hingga pada generasi
ke-1 saja, namun solusi yang mendekati optimal telah didapatkan. Hasil dari
generasi ke-1 dapat dilihat pada tabel 3.16.
Tabel 3.16 Hasil Generasi Ke-1
Kromosom Gen 2 Gen 3 Gen 4 Gen 5 Gen 6 Gen 7 Gen 8 Gen 9 Gen 10 Jarak Fitness
1 7 5 10 3 9 4 8 2 6 494 0,002024
2 10 9 7 6 8 2 3 5 4 435 0,002299
3 7 10 4 3 9 2 5 6 8 502,6 0,00199
4 5 10 8 2 4 6 7 9 3 539 0,001855
5 7 8 4 5 3 6 9 10 2 423 0,002364
6 10 8 6 9 2 3 4 7 5 419,2 0,002385
7 7 6 4 5 8 9 10 2 3 450,7 0,002219
8 6 9 7 5 10 4 2 8 3 503 0,001988
9 10 3 9 5 4 8 2 7 6 458 0,002183
10 5 9 7 6 4 3 2 8 10 457,1 0,002188
11 10 2 5 4 3 6 7 9 8 457,6 0,002185
12 4 3 5 10 8 9 6 7 2 482,6 0,002072
13 8 6 7 10 9 4 2 3 5 488 0,002049
14 6 7 9 3 2 8 4 5 10 472 0,002119
15 3 8 9 10 2 7 6 5 4 461 0,002169
16 7 2 6 5 10 3 8 4 9 464 0,002155
3.6 Skenario Uji Coba Aplikasi
Skenario uji coba aplikasi dilakukan sebanyak tiga kali, dengan pola
distribusi awal yang sama yaitu, 0-2-3-4-5-6-7-8-9-10. Skenario yang pertama
yaitu dengan menggunakan Crossover Probability (PC) dan Mutation Rate (PM)
yang rendah yaitu kurang dari 50%. Skenario yang kedua dengan menggunakan
PC dan PM yang sedang yaitu sama dengan 50%. Skenario yang ketiga dengan
menggunakan PC dan PM yang tinggi yaitu lebih dari 50%. Pengolahan software
uji coba aplikasi dilakukan dengan menggunakan acuan parameter yang sudah
ditentukan. Pengujian aplikasi menggunakan software NetBean IDE 8.0.2
3.6.1 Skenario Pertama
Pada gambar 3.3 terlihat inisialisasi data awal yang menghasilkan rute
distribusi dengan nilai fitness terendah 393.2 (A) dengan rute distribusi 0-9-3-4-5-
27
6-7-10-8-2 (B). Inisialisasi data awal didapatkan dari pilihan yang ditentukan user
dengan memilih “Kota Asal: sampai “Kota Ke-n”. Selanjutnya setelah ditentukan
jumlah kromosom yang diinginkan, menghasilkan rute distribusi yang acak.
Terakhir akan dihitung nilai fitness dengan menghitung total jarak antara kota
yang didapat dari data pada gambar 3.3.
Gambar 3.3 Inisialisasi Data Awal Skenario Pertama
Proses seleksi tersebut menghasilkan perubahan urutan kromosom yang dapat
dilihat pada gambar 3.4.
Gambar 3.4 Hasil Seleksi Skenario Pertama
Input untuk probabilitas crossover pada skenario pertama ini adalah 0.3, yang
menghasilkan 5 induk crossover yang dapat dilihat pada Gambar 3.5.
B
A
28
Gambar 3.5 Tampilan Crossover Skenario Pertama
Proses crossover tersebut menghasilkan generasi yang baru yaitu hasil
perkawinan silang dari setiap induk yang dilakukan crossover. Tampilan populasi
setelah crossover dapat dilihat pada gambar 3.6, gambar 3.7 dan gambar 3.8.
Gambar 3.6 Populasi Setelah Crossover 1
Gambar 3.7 Populasi Setelah Crossover 2
29
Gambar 3.8 Populasi Setelah Crossover 3
Input untuk probabilitas mutasi pada skenario pertama ini adalah 0.4. Pada
proses mutasi menghasilkan posisi mutasi sebanyak 58 gen yang dapat dilihat
pada gambar 3.9.
Gambar 3.9 Tampilan Mutasi Skenario Pertama
Hasil akhir setelah dilakukan proses seleksi, crossover dan mutasi diperoleh jalur
terbaik pada skenario pertama yang dapat dilihat pada gambar 3.10.
30
Gambar 3.10 Kromosom Terbaik dari Skenario Pertama
Dari hasil akhir ini dapat dilihat bahwa kromosom yang pertama dengan nilai
fitness terendah yaitu 378.2 (A), dengan rute distribusi 0-2-6-7-5-3-4-8-9-10 (B).
Dari proses pada skenario pertama ini dapat disimpulkan bahwa dengan nilai
PC dan PM yang rendah (< 50%) menghasilkan rute distribusi dengan nilai
fitness yang lebih rendah daripada nilai fitness pada tahap inisialisasi data awal.
3.6.2 Skenario Kedua
Pada gambar 3.11 dapat dilihat inisialisasi data awal yang menghasilkan
rute distribusi dengan nilai fitness terendah 412.2 (A) dengan rute distribusi 0-8-
3-4-9-5-7-10-6-2 (B).
B
A
31
Gambar 3.11 Inisialisasi Awal Skenario Kedua
Proses seleksi tersebut menghasilkan perubahan urutan kromosom yang dapat
dilihat pada gambar 3.12.
Gambar 3.12 Hasil Seleksi Skenario Kedua
Input untuk probabilitas crossover pada skenario kedua ini adalah 0.5, yang
menghasilkan 8 induk crossover yang dapat dilihat pada gambar 3.13.
B A
32
Gambar 3.13 Tampilan Crossover Skenario Kedua
Proses crossover tersebut menghasilkan generasi yang baru yaitu hasil
perkawinan silang dari setiap induk yang dilakukan crossover. Tampilan populasi
setelah crossover dapat dilihat pada gambar 3.14, gambar 3.15 dan gambar 3.16.
Gambar 3.14 Populasi Setelah Crossover 1
33
Gambar 3.15 Populasi Setelah Crossover 2
Gambar 3.16 Populasi Setelah Crossover 3
Input untuk probabilitas mutasi pada skenario pertama ini adalah 0.5. Pada
proses mutasi menghasilkan posisi mutasi sebanyak 72 gen yang dapat dilihat
pada gambar 3.17.
Gambar 3.17 Tampilan Mutasi Skenario Kedua
34
Hasil akhir setelah dilakukan proses seleksi, crossover dan mutasi diperoleh jalur
terbaik pada skenario kedua yang dapat dilihat pada gambar 3.18.
Gambar 3.18 Kromosom Terbaik dari Skenario Kedua
Dari hasil akhir ini dapat dilihat bahwa kromosom 13 dengan nilai fitness
terendah yaitu 412.5 (A), dengan rute distribusi 0-7-9-6-3-4-5-8-2-10 (B). Dari
proses pada skenario kedua ini dapat disimpulkan bahwa dengan nilai PC dan
PM yang sedang (= 50%) menghasilkan rute distribusi dengan nilai fitness yang
lebih tinggi daripada nilai fitness pada tahap inisialisasi data awal walaupun
perbedaan hanya sedikit saja namun mempengaruhi jarak pada tiap kota.
3.6.3 Skenario Ketiga
Pada gambar 3.19 adalah inisialisasi data awal yang menghasilkan rute
distribusi dengan nilai fitness terendah 380.8 (A) dengan rute distribusi 0-9-6-2-8-
7-10-5-4-3 (B).
A
B
35
Gambar 3.19 Inisialisasi Awal Skenario Ketiga
Proses seleksi tersebut menghasilkan perubahan urutan kromosom yang dapat
dilihat pada gambar 3.20.
Gambar 3.20 Hasil Seleksi Skenario Ketiga
Input untuk probabilitas crossover pada skenario ketiga ini adalah 0.6, yang
menghasilkan 10 induk crossover yang dapat dilihat pada gambar 3.21.
B A
36
Gambar 3.21 Tampilan Crossover Skenario Ketiga
Proses crossover tersebut menghasilkan generasi yang baru yaitu hasil
perkawinan silang dari setiap induk yang dilakukan crossover. Tampilan populasi
setelah crossover dapat dilihat pada gambar 3.22, gambar 3.23 dan gambar 3.24.
Gambar 3.22 Populasi Setelah Crossover 1
37
Gambar 3.23 Populasi Setelah Crossover 2
Gambar 3.24 Populasi Setelah Crossover 3
Input untuk probabilitas mutasi pada skenario ketiga ini adalah 0.8. Pada proses
mutasi menghasilkan posisi mutasi sebanyak 115 gen yang dapat dilihat pada
gambar 3.25.
Hasil akhir setelah dilakukan proses seleksi, crossover dan mutasi diperoleh jalur
terbaik pada skenario ketiga yang dapat dilihat pada gambar 3.26.
38
Gambar 3.25 Tampilan Mutasi Skenario Ketiga
Gambar 3.26 Kromosom Terbaik dari Skenario Ketiga
B
A
39
Dari hasil akhir ini dapat dilihat bahwa kromosom ke-4 dengan nilai fitness
terendah yaitu 387.7 (A), dengan rute distribusi 0-10-9-8-5-7-2-6-4-3 (B). Dari
proses pada skenario ketiga ini dapat disimpulkan bahwa dengan nilai PC dan
PM yang lebih dari 50% (> 50%) menghasilkan rute distribusi dengan nilai fitness
yang lebih tinggi daripada nilai fitness pada tahap inisialisasi data awal
walaupun perbedaan hanya sedikit saja namun mempengaruhi jarak pada tiap
kota.
3.7 Analisis Perhitungan Jarak
Perhitungan jarak matriks dilakukan secara manual dengan mencari titik
koordinat dari para pelanggan setelah itu dengan menelusuri jalan yang terdapat
dalam google maps. Jarak yang didapatkan merupakan jarak yang terpendek yang
dapat ditempuh oleh kendaraan nantinya. Matriks jarak merupakan suatu
matriks yang menunjukkan hubungan jarak antara depot dengan semua
pelanggan, serta hubungan jarak antar setiap pelanggan. Pencarian jarak
dilakukan dengan bantuan google maps, hal ini disebabkan karena hasil pencarian
yang didapatkan dari hasil GPS ini memberikan nilai jarak melalui jalan darat
dengan pilihan jalur, serta memberikan jarak tempuh dan waktu tempuh yang
paling minimum.
Google maps memberikan hasil jalan yang harus dilewati oleh kendaraan
untuk menuju ke masing-masing tempat pelanggan. Google maps ini memberikan
data yang sesuai dengan realita, karena GPS ini memiliki navigasi yang lebih
baik daripada GPS yang lain serta memiliki pemilihan setting yang lengkap.
3.7.1 Analisis Perhitungan Manual
Rute pendistribusian barang menggunakan metode Algoritma Genetika
dilakukan dengan beberapa tahapan seperti proses seleksi, crossover, mutasi dan
pelestarian individu terbaik. Proses seleksi populasi dilakukan dengan mencari
nilai probabilitas fitness dari setiap kromosom dan mencari probabilitas
kumulatif. Setelah mendapatkan probabilitas fitness dan kumulatif, tahap
40
selanjutnya adalah memunculkan nilai bilangan random sebanyak jumlah
populasi yang dihasilkan. Bilangan random ini digunakan untuk melakukan
seleksi populasi. Setiap bilangan random yang muncul dilihat terdapat di range
kumulatif berapa bilangan random tersebut.
Tahap berikutnya adalah dilakukan proses crossover. Pada proses crossover
digunakan teknik order crossover. Teknik ini diawali dengan membangkitkan dua
bilangan acak. Kemudian gen yang berada di antara dua bilangan acak akan
disalin ke offspring dengan posisi yang sama. Langkah berikutnya untuk
mendapatkan offspring pertama adalah mengurutkan gen yang berada pada
parent 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 posisi di antara kedua bilangan
acak. Kemudian gen yang telah diurutkan dibandingkan dengan offspring
pertama. Apabila gen tersebuat ada pada offspring kedua maka abaikan gen
tersebut dari urutan itu. Kemudian masukkan urutan yang baru saja didapat
pada offspring dengan cara memasukkan urutan gen pada posisi setelah bilangan
acak kedua terlebih dahulu dan sisanya dimasukkan pada posisi sebelum
bilangan acak pertama. Probabilitas crossover yang digunakan adalah 0.4,
sehingga apabila nilai random yang muncul lebih besar dari 0.4 maka kromosom
tersebut tidak dapat dijadikan sebagai calon parent, akan tetapi apabila bilangan
random yang muncul kurang dari 0.4 maka kromosom tersebut akan dijadikan
calon parent yang nantinya akan menghasilkan keturunan atau anak yang lebih
baik dari orang tuanya.
Setelah melakukan crossover tahap selanjutnya adalah melakukan mutasi.
Pada kasus ini skema mutasi yang digunakan adalah swapping mutation. Jumlah
kromosom yang mengalami mutasi dalam satu populasi ditentukan oleh
Parameter Mutasi rate (PM) yang digunakan 0.5. Proses pertama yang dilakukan
adalah menentukan panjang total gen yaitu 9 x 16 = 144, lalu memilih posisi gen
yang akan mengalami mutasi dengan cara 144 x 0.4 = 72 posisi gen, dilakukan
dengan membangkitkan bilangan acak 1 – 144 (panjang total gen). Probabilitas
mutasi yang digunakan adalah 0.5. Fungsi dari probabilitas mutasi ini adalah
41
untuk menentukan berapa banyak jumlah gen yang akan dilakukan proses
mutasi. Proses mutasi dilakukan dengan cara menukar gen yang dipilih secara
acak dengan gen sesudahnya. Jika gen tersebut berada di akhir kromosom, maka
ditukar dengan gen pertama. Setelah proses crossover selesai maka langkah
selanjutnya adalah pelestarian individu baru.
Didapat populasi terbaru terlihat pada tabel 3.16. Pada populasi tersebut
nilai fitness terbesar dimiliki oleh kromosom ke-6 dengan nilai fitness sebesar
0.002385 dengan jarak 419.2 sehingga didapatkan solusi optimal jalur distribusi
terpendek untuk generasi ke-1 dengan total jarak adalah sebesar 419.2 Km. Kota
yang akan dilalui oleh seorang salesman untuk mendistribusikan produk fiber
optik tipe duct dimulai dari tempat keberangkatan awal yaitu PT. EDAR –
Telkom Access – Sansaine Exindo – Mitkom Persada – Altelkom – Hasian Prima
Telindo – Jambon Electric – Telematika Wahana Solution – Merbau Prima Sakti –
Barata jaya Sejahterah (0-10-8-6-9-2-3-4-7-5).
3.7.2 Analisis Perhitungan Software
Analisis perhitungan software digunakan untuk menguji probabilitas
crossover dan probabilitas mutasi dengan menggunakan aplikasi NetBean IDE
8.0.2 untuk penyelesaian masalah distribusi Algoritma Genetika. Penulis
menggunakan tiga perbandingan yaitu skenario pertama menggunakan
probabilitas crossover dan mutasi di bawah 50% (< 50%), skenario kedua
menggunakan probabilitas crossover dan mutasi sama dengan 50% (= 50%) dan
skenario ketiga menggunakan probabilitas crossover dengan mutasi lebih dari
50% (> 50%). Dari ketiga proses pengujian aplikasi dengan menggunakan
NetBean IDE 8.0.2 bahwa proses Algoritma Genetika yang menghasilkan nilai
jarak tempuh terendah dihasilkan pada skenario pertama yaitu kurang dari 50%
(< 50%) dengan nilai probabilitas crossover sebesar 0.3 dan probabilitas mutasi
sebesar 0.4 dengan nilai fitness terendah yaitu 378.2 dengan rute distribusi PT.
EDAR – Hasian Prima Telindo – Mitkom Persada – Merbau Prima Sakti – Barata
Jaya Sejahterah – Jambon Electric – Telematika Wahana Solution – Sansaine
Exindo – Altelkom – Telkom Access (0-2-6-7-5-3-4-8-9-10). Dari proses pada
42
skenario pertama ini dapat disimpulkan bahwa dengan nilai PC dan PM yang
rendah (< 50%) menghasilkan rute distribusi dengan nilai fitness yang lebih
rendah daripada nilai fitness pada tahap inisialisasi data awal, sehingga dapat
diberi kesimpulan terdapat pengaruh perubahan nilai fitness akhir yang tidak
optimal dibanding dengan nilai fitness inisialisasi awal jika pengujian terhadap
probabilitas crossover dan probabilitas mutasi sama dengan 50% (= 50%) atau
lebih besar dari 50% (> 50%).
43
BAB 4
MASALAH RUTE KENDARAAN ANGKUT
4.1 Teori Transportasi
Transportasi sebagai dasar untuk pembangunan ekonomi dan
perkembangan masyarakat serta pertumbuhan industrialisasi. Dengan adanya
transportasi menyebabkan adanya spesialisasi atau pembagian pekerjaan
menurut keahlian sesuai dengan budaya, adat-istiadat, dan budaya suatu bangsa
atau daerah (Dunn, 1994).
Metode transportasi adalah suatu teknik kuantitatif yang digunakan untuk
menentukan cara menyelenggarakan transportasi dengan biaya seminimal
mungkin. Persoalan transportasi melibatkan pengangkutan barang dari berbagai
sumber dengan jumlah penawaran tetap ke tujuan–tujuan tertentu, serta dengan
biaya serendah mungkin (Russel dan Taylor, 2003).
4.2 Vehicle Routing Problem
Salah satu masalah pada aspek transportasi adalah masalah rute
kendaraan angkut atau yang dikenal dengan istilah Vehicle Routing Problem
(VRP), yang merupakan model perencanaan optimal rute transportasi
sekelompok kendaraan. Setiap kendaraan digunakan untuk berbagai
penghantaran barang dalam rute tersebut. Pada permasalahan sederhana,
misalkan terdapat sekelompok pelanggan yang tinggal di berbagai daerah
geografis, setiap pelanggan dapat dikirim sejumlah barang. Setiap pelanggan
dikaitkan dengan sebuah titik pada daerah yang diinginkan. Juga diketahui jarak
yang merupakan pasangan dari beberapa lokasi pelanggan. Titik lainnya
merupakan titik keberangkatan, komoditas harus diangkut melalui armada
kendaraan dengan kapasitas tertentu. Juga diketahui jarak antara titik
keberangkatan dan lokasi pelanggan. Tujuannya adalah mengirim sejumlah
komoditas ke seluruh pelanggan dengan biaya minimum yang bergantung pada
total jarak, total waktu, maupun kombinasi keduanya.
44
Terdapat 2 (dua) masalah utama yang dihadapi, yaitu penugasan
kendaraan pada setiap pelanggan dengan kendala kapasitas dan merencanakan
sebuah rute untuk setiap kendaraan agar dapat meminimalkan jarak perjalanan.
Kenyataannya masalah VRP merupakan kerumitan tersendiri dalam konteks
biaya dan kendalanya. Biaya dapat dikaitkan dengan ruang dan waktu, berupa
biaya tetap untuk penggunaan kendaraan, pengiriman merupakan kendala
rentang waktu, armada kendaraan bersifat heterogen, dan kapasitas bersifat
multi dimensi (volume dan bobot).
Menurut Winston (2004), secara umum implementasi solusi masalah VRP
dapat didekati melalui 2 (dua) cara berbeda, yaitu metode eksak dan heuristik.
Metode eksak menonjolkan hal-hal yang bersifat sistematik, dan bertujuan
mendapatkan solusi secara eksak, sedangkan heuristik lebih mengutamakan
penyelesaian lateral dan sering bersifat paralel dalam rangka mendapatkan
solusi optimum yang terbaik, relatif terhadap beberapa kandidat solusi yang ada.
Kedua metode tersebut dapat menyelesaikan berbagai masalah optimasi.
Implementasi VRP pada kehidupan nyata dapat ditemukan pada banyak
hal, seperti pada permasalahan pengantaran produk dari supplier/ pemasok
kepada agen, pengangkutan sampah, pengambilan surat pada kotak pos,
pengantaran koran pada para pelanggan, dan sebagainya. Tentunya tidak semua
perusahaan pengangkut sampah mempunyai armada yang sama persis, tidak
semua loper koran menggunakan kendaraan yang sama, dan tidak semua
supplier menggunakan jenis pengangkutan yang sama, dapat juga menggunakan
kendaraan darat, sepeda motor, mobil, truk, atau bahkan kapal laut dan pesawat
terbang. Permasalahan-permasalahan tersebut di atas dapat diefisiensikan
dengan mencari nilai optimalnya menggunakan pemodelan VRP. Sayangnya,
parameter-parameter dari proses pengiriman barang tidak sesederhana itu. Pada
aplikasinya, ada berbagai kendala tambahan yang harus dipertimbangkan,
seperti biaya perjalanan yang asimetris, depot yang lebih dari satu, jangka waktu
pengiriman (misalnya pada produk mudah rusak), adanya penjemputan barang
selain pengiriman, dan masih banyak lagi kemungkinan-kemungkinan lain yang
spesifik pada aplikasi tertentu. Karena banyaknya kemungkinan yang bisa
45
terjadi, buku ini hanya membahas penyelesaian VRP dengan beberapa tipe
kendaraan yang mempunyai kapasitas yang berbeda, yang dikenal dengan
Heterogeneous Fleet VRP.
4.3 Pemodelan Heterogeneous Fleet Vehicle Routing Problem (HFVRP)
Perumusan masalah pada tahap persiapan perlu dibuat objektivitasnya
melalui pemodelan matematika sehingga dapat diselesaikan solusinya agar
mencapai tujuan yang optimal.
Dinyatakan sebuah graf berarah G = (V, A) dengan V = {0, 1, 2,..., n}
merupakan suatu himpunan n+1 node dan A merupakan himpunan jalur/
lintasan. Node 0 menyatakan depot, dan sisanya himpunan 𝑉′ = 𝑉\{0}
menyatakan sejumlah n pelanggan.
Setiap pelanggan 𝑖 𝜖 𝑉′ membutuhkan sejumlah 𝑞𝑖 unit/kardus bunga
krisan dari depot (asumsi 𝑞0 = 0). Suatu armada kendaraan angkut berbeda
(heterogen) yang ditempatkan di depot dan digunakan untuk mengirim bunga
krisan ke para pelanggan, merupakan berbagai jenis kendaraan yang berbeda,
khususnya perbedaan jenis kapasitas angkut, dinyatakan dengan himpunan M =
{1, 2, ..., m}. Untuk setiap jenis kendaraan angkut𝑘 𝜖 𝑀, sejumlah 𝑚𝑘 kendaraan
tersedia di depot, dan setiap kendaraan tersebut mempunyai kapasitas 𝑄𝑘.
Setiap kendaraan angkut juga mempunyai biaya tetap, yaitu 𝐹𝑘. Untuk setiap
lintasan/ jalur (𝑖, 𝑗) 𝜖 𝐴 dan setiap kendaran angkut 𝑘 𝜖 𝑀 mempunyai biaya
perjalanan 𝑐𝑖𝑗𝑘 yang bernilai non negatif.
Sebuah rute didefinisikan sebagai pasangan (R, k), 𝑅 = (𝑖1, 𝑖2, … , 𝑖|𝑅|)
dengan 𝑖1 = 𝑖|𝑅| = 0 dan (𝑖2, 𝑖3, … , 𝑖|𝑅|−1) ⊆ 𝑉′, yang merupakan sebuah sirkuit
sederhana di G yang berisikan depot dan sejumlah jenis kendaraan k pada rute
tersebut. Selanjutnya R akan digunakan untuk mengacu pada kedua kondisi,
yaitu himpunan kedatangan dan himpunan pelanggan (termasuk depot) pada
rute. Sebuah rute (R,k) disebut layak, jika total permintaan pelanggan yang
dikunjungi tidak melebihi kapasitas angkut kendaraan. Biaya total merupakan
penjumlahan biaya seluruh perjalanan pada rute dengan biaya tetap kendaraan
angkut.
46
Variabel biner dengan tiga buah indeks 𝑥𝑖𝑗𝑘 merupakan variabel
pergerakan kendaraan angkut, yang bernilai 1 jika sebuah kendaraan angkut
jenis k melintas dari pelanggan i ke pelanggan j, dan bernilai 0 untuk yang
lainnya. Sedangkan variabel 𝑦𝑖𝑗 menyatakan jumlah/volume barang yang
dibawa sebuah kendaraan angkut ketika meninggalkan pelanggan i untuk
melayani pelanggan j (Gheysens et al., 1984).
Berikut ini adalah model matematika dari permasalahan Heterogenous
Fleet Vehicle Routing Problem (HFVRP):
Fungsi Tujuan :
𝑀𝑖𝑛𝑖𝑚𝑎𝑠𝑖 𝑧 (𝐹) = ∑ 𝐹𝑘 𝑘∈𝑀 ∑ 𝑥0𝑗𝑘
𝑗∈𝑉′ + ∑ ∑ 𝑐𝑖𝑗𝑥𝑖𝑗𝑘
𝑖,𝑗∈𝑉𝑘∈𝑀 (4.1)
Kendala-kendala :
∑ ∑ 𝑥𝑖𝑗𝑘
𝑖∈𝑉𝑘∈𝑀 = 1, ∀ 𝑗 ∈ 𝑉′ (4.2)
∑ 𝑥𝑖𝑝𝑘
𝑖∈𝑉 − ∑ 𝑥𝑝𝑗𝑘
𝑗∈𝑉 = 0, ∀𝑝 ∈ 𝑉′ , ∀𝑘 ∈ 𝑀 (4.3)
∑ 𝑥0𝑗𝑘
𝑗∈𝑉′ ≤ 𝑚𝑘 , ∀𝑘 ∈ 𝑀 (4.4)
∑ 𝑦𝑖𝑗 − ∑ 𝑦𝑗𝑖𝑖∈𝑉 = 𝑞𝑗𝑖∈𝑉 , ∀𝑗 ∈ 𝑉′ (4.5)
𝑞𝑗𝑥𝑖𝑗𝑘 ≤ 𝑦𝑖𝑗 ≤ (𝑄𝑘 − 𝑞𝑖)𝑥𝑖𝑗
𝑘 , ∀𝑖, 𝑗 ∈ 𝑉 , 𝑖 ≠ 𝑗 , ∀𝑘 ∈ 𝑀 (4.6)
𝑦𝑖𝑗 ≥ 0 , ∀𝑖, 𝑗 ∈ 𝑉 , 𝑖 ≠ 𝑗 (4.7)
𝑥𝑖𝑗𝑘 ∈ {0, 1} , ∀𝑖, 𝑗 ∈ 𝑉 , 𝑖 ≠ 𝑗 , ∀𝑘 ∈ 𝑀 (4.8)
Pada fungsi tujuan terdapat dua penentu minimasi biaya total, yaitu
berdasarkan biaya tetap dan biaya perjalanan dalam rute. Pada kendala (4.2)
memastikan bahwa tiap pelanggan hanya dikunjungi 1 kali oleh kendaraan
angkut, dan kendala (4.3) menyatakan jika sebuah pelanggan dikunjungi oleh
kendaraan angkut, maka kendaraan angkut tersebut juga wajib meninggalkan
pelanggan. Jumlah ketersediaan maksimum tiap jenis kendaraan angkut,
dibatasi oleh kendala (4.4). Sedangkan kendala (4.5) menyatakan bahwa selisih
jumlah/volume bunga krisan yang diangkut sebelum dan sesudah mengunjungi
pelanggan, harus sama dengan permintaan/ demand pelanggan yang
bersangkutan. Adapun jumlah/ volume bunga krisan yang diangkut tidak boleh
melampaui kapasitas kendaraan angkut, dinyatakan oleh kendala (4.6). Kendala
47
(4.7) memastikan bahwa jumlah/volume bunga krisan harus bernilai non
negatif, dan terakhir kendala (4.8) menyatakan variabel biner status kondisi
pergerakan kendaraan angkut pada setiap pelanggan.
4.4 Produk dan Armada Pengiriman
Alat transportasi yang digunakan untuk melakukan pengiriman bunga
menggunakan mobil boks berpendingin dengan suhu rata-rata 8ºC. Selain itu
untuk menjaga kondisi bunga agar tetap baik maka bunga dikemas dan
dilakukan pengepakan menggunakan karton dus (kardus) yang cukup kuat
sehingga tidak akan rusak saat disusun secara bertindihan di dalam kendaraan.
Spesifikasi dan karakteristik kendaraan yang digunakan dijabarkan di dalam
tabel 4.1 dan tabel 4.2. Data pelanggan (customer) digambarkan dalam tabel 4.3.
Tabel 4.1 Spesifikasi Kendaraan
Kendaraan Nama Kapasitas
Kardus A Kardus B
1 Mobil boksL-300 58 385
2 Mobil boksengkle 34 226
3 Mobil boksdouble 19 124
Tabel 4.2 Volume Kendaraan
Jenis kendaraan Ukuran Ruang Dalam Kap. Ruang
(m3) Panjang (m) Lebar (m) Tinggi (m)
Mobil boksdouble 4.07 1.7 1.7 11.76
Mobil boksengkle 2.94 1.57 1.5 6.92
Mobil boks L300 2.3 1.5 1.1 3.80
Tabel 4.3 Daftar Customer (Pelanggan)
No. Tujuan Demand (kardus)
1 Bandara Soekarno-Hatta 1500
2 Cikarang 75
3 Cipanas 250
4 Pulo Gadung 150
5 Serpong 100
6 Tangerang 75
48
4.5 Lokasi Pelanggan (Rute)
Lokasi pendistribusian bunga krisan tersebar ke beberapa titik distribusi
di berbagai wilayah. Data jarak yang diperlukan untuk pengolahan adalah jarak
antara depot dengan titik distribusi (customer) dan jarak antar titik-titik distribusi
tersebut. Ilustrasi lokasi titik distribusi bunga krisan dapat dilihat pada gambar
4.1.
Gambar 4.1 Peta Lokasi Depot dan Customer
Untuk mempermudah pengidentifikasian, digunakan pengkodean titik
distribusi berupa pengurutan nomor seperti pada gambar 4.1. Depot diberi
nomor 0 dan titik distribusi lain (customer) diberi nomor 1 sampai 6 sesuai
dengan jumlah customer. Pengukuran jarak antara dua titik dilakukan dengan
mengikuti alur jalan yang ada pada peta sehingga data jarak yang diperoleh
dapat mendekati jarak aktual yang ditempuh oleh vehicle (kendaraan).
Pengukuran jarak antara dua titik disesuaikan dengan rute yang memberikan
jarak terpendek. Pada pengumpulan data jarak ini, diasumsikan jarak tempuh
dari titik A ke titik B sama dengan jarak tempuh dari B ke titik A, sehingga jarak
yang dihasilkan akan simetris. Data jarak dari depot menuju titik distribusi dan
jarak antar titik-titik distribusi dituangkan dalam bentuk matriks jarak,
ditunjukkan di tabel 4.4. Hasil data jarak yang diperoleh digunakan sebagai
dasar proses perhitungan Algoritma Genetika.
49
Tabel 4.4 Matriks Jarak Antar Titik Distribusi
Node Lokasi
0 1 2 3 4 5 6
Depot Bandara Cikarang Cipanas Pulo
Gadung Serpong Tangerang
0 Depot 0 86 88 36 61 74 88
1 Bandara 86 0 77 116 41 35 22
2 Cikarang 88 77 0 112 41 70 75
3 Cipanas 36 116 112 0 90 103 118
4 Pulo
Gadung 61 41 41 90 0 51 52
5 Serpong 74 35 70 103 51 0 19
6 Tangerang 88 22 75 118 52 19 0
50
BAB 5
SOLUSI ALGORITMA GENETIKA
PADA MASALAH RUTE KENDARAAN ANGKUT
Data yang telah dikumpulkan akan diproses secara manual
menggunakan Algoritma Genetika. Tahap ini dilakukan untuk menghasilkan
analisis sistem secara keseluruhan, asumsi-asumsi, serta batasan-batasan
sehingga mempermudah perancangan aplikasi yang akan dibuat nantinya.
Berikut ini tahap pengolahan data manual yang dimodelkan dalam bentuk
flowchart pada gambar 5.1.
Gambar 5.1 Flowchart Proses Manual
5.1 Model Simulasi
Pada bagian ini akan dijelaskan simulasi proses dari Algoritma Genetika
dengan menggunakan masalah rute kendaraan. Simulasi akan terdiri dari
langkah Algoritma Genetika yaitu pemodelan kromosom, inisialisasi populasi,
51
evaluasi, selection, crossover, mutasi, proses elitisme, pergantian populasi hingga
proses repair.
5.1.1 Pemodelan Kromosom
Kromosom menyatakan salah satu solusi yang mungkin. Terdiri dari
kumpulan gen baik dalam bentuk biner, float maupun kombinatorial. Di dalam
kromosom berisi informasi banyaknya vehicle serta penugasan vehicle terhadap
tiap customer (HFVRP). Karena VRP merupakan permasalahan yang berkaitan
dengan rute, sebaiknya digunakan tipe kromosom yang non repetitif. Oleh
karena itu kromosom yang terdiri dari angka-angka biner tidak dapat
digunakan. Kromosom yang digunakan berisi angka-angka numerik di mana
setiap angkanya mewakili sebuah customer (gen). Visualisasi kromosom dapat
dilihat pada gambar 5.2.
1 :
2 :
3 :
Gambar 5.2 Pengkodean Kromosom Untuk Permasalahan HFVRP
Kromosom menggunakan sebuah gen khusus bernilai 0 yang merupakan
pemisah antar setiap rute, dengan asumsi tidak boleh ada kota yang
menggunakan id 0, sehingga ilustrasi pada gambar 5.2 jika dituliskan dalam
bentuk kromosom akan menjadi A {1, 5, 0, 4, 3, 0, 2, 0, 6}.
5.1.2 Inisialisasi Populasi
Tahap inisialisasi populasi merupakan tahap pembangkitan populasi
awal secara random berdasarkan masukan titik awal dan titik tujuan. Inisialisasi
populasi awal ditunjukkan pada tabel 5.1 dengan menggunakan popsize = 5,
akan menghasilkan 5 buah parent yang hanya muncul tepat 1 dari masing-
masing node. Setiap parent memiliki 6 buah node (gen) sesuai dengan jumlah
customer yang akan dikunjungi vehicle.
1 5 0 4 3 0 2 0 6
5 2 0 1 6 0 3 0 4
4 0 1 5 0 3 2 0 6
52
Tabel 5.1 Inisialisasi Awal
Parent Ke- Vehicle ke- Kromosom
P1
V1 1
V2 5 6 4
V3 2 3
P2
V1 3
V2 2 4 1
V3 5 6
P3
V1 1
V2 3 2 4
V3 5 6
P4
V1 4
V2 5 6 1
V3 2 3
P5
V1 5
V2 2 3
V3 1 6 4
Pada tabel 5.1 model kromosom dirancang sebagai model solusi untuk
suatu permasalahan HFVRP, perlu diawali dengan pertimbangan beberapa hal,
di antaranya bahwa kromosom harus dapat mengandung informasi banyaknya
vehicle pada solusi tersebut, serta informasi penugasan vehicle terhadap tiap
customer (pada gambar ditunjukkan dengan variabel V1, V2 dan V3). Variabel
V1 menunjukkan jenis mobil boks L300, V2 mobil boks engkle dan V3 mobil boks
double.
5.1.3 Evaluasi
Fungsi evaluasi akan menghasilkan suatu nilai yang disebut sebagai fitness
value, hasil nilai tersebut dapat mengukur kualitas dari suatu kromosom (yang
mewakili sebuah solusi). Nilai fitness dilihat dari total jarak yang harus ditempuh
vehicle dalam sebuah solusi rute. Pada kasus ini, semakin rendah nilai fitness atau
total jarak yang ditempuh, maka solusi semakin baik. Ini dikarenakan jarak
tempuh vehicle semakin minim yang akan berbanding lurus dengan biaya yang
harus dikeluarkan vehicle untuk melakukan aktivitas distribusi.
53
Evaluasi bukan hanya memproses inisialisasi solusi awal, namun juga
memproses solusi akhir berupa kromsom yang dihasilkan dari proses
optimalisasi Algoritma Genetika nantinya. Semua solusi hasil seleksi, crossover,
dan mutasi akan dijadikan satu dalam tabel evaluasi sebagai individu-individu
terbaik. Untuk fitness value dari populasi awal yang telah dibentuk pada tahap
inisialisasi populasi sebelumnya, ditunjukkan pada tabel 5.2.
Tabel 5.2 Evaluasi Fitness Value Populasi Awal
Parent Ke-
Vehicle ke-
Kromosom Fitness (i) Total
Fitness
P1
V1 1
172
614 V2 5 6 4 206
V3 2 3
236
P2
V1 3
72
509 V2 2 4 1 256
V3 5 6
181
P3
V1 1
172
603 V2 3 2 4 250
V3 5 6
181
P4
V1 4
122
559 V2 5 6 1 201
V3 2 3
236
P5
V1 5
148
544 V2 2 3
236
V3 1 6 4 160
Sum
2829
Average
565.8
Minimum
509
Nilai fitness didapat dari total jarak masing-masing rute yang ditempuh
vehicle. Untuk inisialisasi awal, parent 2 memiliki nilai fitness minimum yang
berarti kromosom paling optimal sebelum seluruh chromosome dikenai proses
Algoritma Genetika.
5.1.4 Selection
Tahap selection merupakan proses pemilihan beberapa kromosom dari
keseluruhan populasi untuk dikenai operasi-operasi Algoritma Genetika
54
lainnya. Metode selection yang digunakan pada kasus ini adalah Roulette Wheel
Selection. Menggunakan teknik Roulette Wheel, berarti pemilihan individu
dilakukan berdasarkan pengaruh nilai fitness-nya. Individu dengan nilai fitness
terendah berarti individu yang baik dan akan memiliki peluang yang lebih besar
untuk terpilih. Tabel 5.3 menunjukkan proses selection untuk populasi awal.
Tabel 5.3 Proses Selection Populasi Awal
Parent Ke-
Fitness (i)
Total Fitness
Inverse Probabilitas Persentase
Probabilitas Expected
Count Actual Count
P1
172
614 0.00163 0.183 18.30% 0.917 0 206
236
P2
72
509 0.00196 0.221 22.10% 1.106 2 256
181
P3
172
603 0.00166 0.187 18.70% 0.934 0 250
181
P4
122
559 0.00179 0.201 20.10% 1.007 1 201
236
P5
148
544 0.00184 0.207 20.70% 1.035 2 236
160
Sum
2829 0.00888 1.000 99.90% 5 5
Average
565.8 0.00178 0.200 19.98% 1.000 1
Minimum
509 0.00196 0.221 22.10% 1.106 2
Dari tabel 5.3, nilai fitness masing-masing kromosom didefinisikan dari
jarak total sebuah rute. Hasil fitness value terkecil mempunyai kemungkinan
terpilih besar atau mempunyai nilai probabilitas yang tinggi. Untuk itu
dilakukan pencarian inverse berupa kebalikan nilai fitness (1/ fitness value) untuk
menyatakan probabilitas suatu solusi P[i] = inverse[i]/ total_inverse. Kemudian
nilai probabilitas diubah dalam bentuk persentase sehingga didapat range
masing-masing kromosom dari angka 1 sampai 100 pada actual count. Expected
count menggambarkan gagasan parent yang akan dikenai proses crossover dan
mutasi di mana expected count = inverse[i]/ avg_inverse. Hasil seleksi membentuk
populasi baru untuk digunakan pada proses crossover yang digambarkan pada
55
tabel 5.4. Tanda panah pada tabel menunjukkan keterkaitan antar dua parent
yang akan dikenai proses persilangan.
Tabel 5.4 Hasil Selection Populasi Awal
Parent Fitness
(i) Inverse
(i) Probabilitas
(i) Persentase
Probabilitas
P2 509 0.00196 1.040 21.30%
P4 559 0.00179 0.947 18.50%
P5 544 0.00184 0.936 20.40%
P2 509 0.00196 0.186 18.60%
Sum
0.00196 3.109 100%
Average
0.00189 0.777 20%
Maximum
0.00196 1.040 21.30%
5.1.5 Crossover
Pada tahap ini, melibatkan dua parent yang diambil dari hasil selection
tahap sebelumnya untuk membentuk suatu kromosom baru. Crossover tidak
selalu dilakukan pada semua individu yang ada. Hanya individu yang terpilih
secara acak yang akan dikenai proses ini. Individu yang akan mengalami operasi
crossover adalah parent yang dihasilkan pada proses selection yaitu P2, P4 dan P5.
Metode crossover yang dipilih pada kasus ini adalah Partial-Mapped Crossover
(PMX). Metode ini diciptakan oleh Goldberg dan Linle yang merupakan
rumusan modifikasi dari crossover dua-poin. Hal yang penting dari PMX adalah
pindah silang 2-poin ditambah dengan beberapa prosedur tambahan. Prosedur
PMX meliputi :
1. Menentukan dua posisi pada kromosom dengan aturan acak. Substring
yang berada dalam dua posisi ini dinamakan daerah pemetaan.
2. Menukar dua substring antar induk untuk menghasilkan proto-child.
3. Menentukan hubungan pemetaan di antara dua daerah pemetaan.
4. Menentukan kromosom keturunan yang mengacu pada hubungan
pemetaan.
56
Penentuaan dua titik posisi pada kromosom dengan aturan acak pada
permasalahan optimalisasi ini dipilih gen ke-3 dan ke-4 yang akan dilakukan
persilangan. Berikut ini penjabaran masing-masing proses ke-3 kromosom yang
akan dikenai proses crossover.
Kromosom[2] = Kromosom[2]>< Kromosom[4]
Kromosom[4] = Kromosom[4] >< Kromosom[5]
Kromosom[5] = Kromosom[5] >< Kromosom[2]
1. Kromosom[2] >< Kromosom[4]
Parent 1
Parent 2
Penggunaan kromosom pada proses crossover tanpa mengikutsertakan
gen depot (0), susunan kromosom hanya mengambil gen dari customer (1-
6).
Penukaran substring antar parent
Proto-child 1
Proto-child 2
Menentukan hubungan mapping
6-1 6 1
4-1 4 1
Menentukan child yang mengacu pada hubungan mapping
Child 1
Child 2
3 2 4 1 5 6
4 5 6 1 2 3
3 2 6 1 5 6
4 5 4 1 2 3
3 2 6 1 5 4
6 5 4 1 2 3
57
Proses persilangan antara kromosom 2 dan 4 menukarkan daerah
pemetaan yaitu gen yang terletak pada posisi 3 dan 4 dari kedua
kromosom sehingga menghasilkan susunan kromosom baru seperti pada
proto-child 1 dan 2. Susunan kromosom pada tahap proto-child masih
terjadi duplikasi gen sehingga dibutuhkan proses normalisasi perubahan
gen di luar daerah pemetaan dengan menentukan hubungan mapping
pada kedua parent. Proses normalisasi tersebut menghasilkan kromosom
baru ditunjukkan pada child 1 dan 2. Dari proses ini didapat susunan
kromosom[2] yaitu 0, 3, 2, 6, 1, 5, 4, 0.
2. Kromosom[4] >< Kromosom[5]
Parent 1
Parent 2
Penukaran substring antar parent
Proto-child 1
Proto-child 2
Menentukan hubungan mapping
3-1 3 1
6-1 6 1
Menentukan child yang mengacu pada hubungan mapping
Child 1
Child 2
Persilangan antara kromosom 5 dan 2 sama dengan teknik persilangan
sebelumnya, menghasilkan susunan kromosom baru child 1 dan child 2
dengan menukarkan daerah pemetaan (gen di posisi titik 3 dan 4) dari
4 5 6 1 2 3
5 2 3 1 6 4
4 5 3 1 2 3
5 2 6 1 6 4
4 5 3 1 2 6
5 2 6 1 3 4
58
kedua parent. Dari proses ini didapat susunan kromosom[4] yaitu 0, 4, 5,
3, 1, 2, 6, 0.
3. Kromosom[5] >< Kromosom[2]
Parent 1
Parent 2
Penukaran substring antar parent
Proto-child 1
Proto-child 2
Menentukan hubungan mapping
4-1 4 1
3-4 1 3
Menentukan child yang mengacu pada hubungan mapping
Child 1
Child 2
Persilangan antara kromosom 5 dan 2 juga menghasilkan susunan kromosom
baru child 1 dan child 2 dengan menukarkan daerah pemetaan (gen di posisi titik
3 dan 4) dari kedua parent. Dari proses ini didapat susunan kromosom[5] yaitu
0-5-2-4-1-6-3-0.
Semua kromosom hasil proses crossover yang telah didapat dari ketiga
bagian proses di atas kemudian dimasukkan ke dalam tabel yang membentuk
populasi baru seperti pada tabel 5.5.
5 2 3 1 6 4
3 2 4 1 5 6
5 2 4 1 6 4
3 2 3 1 5 6
5 2 4 1 6 3
4 2 3 1 5 6
59
Tabel 5.5 Populasi Hasil Proses Crossover
Parent Inisialisasi Nilai Fitness
(i) Inverse
(i) Probabilitas
(i)
Persentase
Populasi Probabilitas
P1 0-1-5-6-4-2-3-0 614 0.00163 0.162 16.20%
PC2 0-3-2-6-1-5-4-0 392 0.00255 0.253 25.30%
P3 0-1-3-2-4-5-6-0 603 0.00166 0.165 16.50%
PC4 0-4-5-3-1-2-6-0 571 0.00175 0.174 17.40%
PC5 0-5-2-4-1-6-3-0 402 0.00249 0.247 24.70%
Sum 0.01008 1.000 100%
Average 0.00202 0.200 20.02%
Maksimum 0.00255 0.253 25.30%
Populasi hasil persilangan pada tabel 5.5 menunjukkan kromosom atau
rute terbaik yaitu pada PC2 dengan presentase probabilitas sebesar 25.3%. PC
merupakan inisialisasi untuk parent yang telah dikenai proses crossover. Nilai
probabilitas pada hasil proses crossover di atas memberi perubahan signifikan di
mana hasil probabilitas PC2 lebih optimal jika dibandingkan parent P2 pada
inisialisasi populasi awal yang belum dikenai proses persilangan dengan
probabilitas sebesar 21.3%.
5.1.6 Mutasi
Seperti pada operator crossover, proses mutasi juga dirancang untuk
digunakan pada suatu masalah yang spesifik sehingga tidak setiap proses mutasi
dapat diterapkan pada suatu masalah yang akan diselesaikan. Teknik mutasi
yang dipilih juga harus sesuai dengan teknik encoding yang digunakan.
Pada kasus ini, skema mutasi yang digunakan adalah swapping mutation.
Jumlah kromosom yang mengalami mutasi dalam satu populasi ditentukan oleh
parameter mutation rate (ρm). Parameter mutation rate (ρm) pada kasus ini
diambil sebesar 10% (0.1) sesuai dari rekomendasi penentuan parameter kontrol
Algoritma Genetika di mana jika fitness dari individu terbaik dipantau pada
setiap generasi, maka ukuran populasi dan mutation rate yang digunakan sebesar
(popsize; ρm) = (80; 0.1).
60
Jumlah gen yang akan dimutasi adalah perkalian antara mutation rate
dengan jumlah gen dalam satu populasi (0.1*30 = 3). Tiga buah gen akan
dimutasi pada kasus ini.
Posisi gen mana saja yang akan dimutasi didapat dari pembangkitan
bilangan acak antara 1 sampai panjang_total_gen (1 – (6*5)) yaitu 1 sampai 30.
Bilangan acak dibangkitkan dengan menggunakan Microsoft Excel dengan fungsi
= RANDBETWEEN(1, 30), fungsi ini akan membangkitkan bilangan acak dari 1
sampai 30. Hasil pembangkitan bilangan acak dapat dilihat pada gambar 5.3.
Gambar 5.3 Pembangkitan Bilangan Acak 1 Sampai 30
Dari pembangkitan bilangan acak pada gambar 5.3 didapat tiga titik gen
yang akan terkena proses mutase, yaitu posisi ke-3, 11 dan 17. Dalam proses
mutasi, populasi yang digunakan adalah dari hasil proses crossover sebelumnya.
Proses mutasi dilakukan dengan cara menukar gen pada posisi yang dipilih
secara acak (3, 11, 17) dengan gen sesudahnya. Jika posisi gen berada di akhir
kromosom, maka ditukar dengan gen yang pertama. Hasil proses mutasi
ditampilkan pada tabel 5.6.
Tabel 5.6. Hasil Proses Mutasi
Parent Inisialisasi Populasi
Titik Mutasi
Kromosom Baru
Nilai Fitness
(i)
Inverse (i)
Probabilitas (i)
Persentase
Probabilitas
PM1 0-1-5-6-4-2-3-0 3 0-1-5-4-6-2-3-0 447 0.00224 0.205 20.50
PM2 0-3-2-6-1-5-4-0 11 0-3-2-6-1-4-5-0 411 0.00243 0.223 22.30
PM3 0-1-3-2-4-5-6-0 17 0-1-3-2-4-6-5-0 500 0.00200 0.183 18.30
PC4 0-4-5-3-1-2-6-0
571 0.00175 0.161 16.10
PC5 0-5-2-4-1-6-3-0
402 0.00249 0.228 22.80
Sum
0.01091 1.000 100
Average
0.00218 0.200 20.02
Max
0.00249 0.228 22.80
61
Pada tabel 5.6, parent 1, 2 dan 3 dikenai proses mutasi dan menghasilkan
susunan rute yang lebih optimal dari sebelumnya. PM merupakan inisialisasi
untuk parent yang telah dikenai proses mutasi. Hasil fitness menunjukkan
perubahan baik pada kromosom yang dikenai proses mutasi di mana persentase
probabilitas meningkat hingga 0.4% dari kromosom sebelumnya (PM1). Namun
PM2 merubah komposisi kromosom hasil crossover PC2 yang memiliki hasil
paling optimal sebelumnya. Meskipun kromosom hasil mutasi tidak
memperoleh nilai fitness yang optimal sebaik pada tahap crossover sebelumnya,
ada kemungkinan kromosom hasil mutasi tetap dimasukkan ke dalam populasi.
Proses ini diperlukan untuk memperkaya populasi dengan berbagai variasi
kromosom yang berakibat memperlebar ruang pencarian dan mendapatkan
hasil yang lebih optimal.
5.1.7 Proses Elitisme
Operator crossover dan mutasi merupakan proses penting Algoritma
Genetika, menghasilkan beberapa kromosom baru dengan value beragam yang
diharapkan menghasilkan sebuah nilai paling optimal. Tahap elitisme ini
bertujuan untuk mempertahankan kromosom dari inisialisasi populasi awal
dengan menyertakan kembali pada populasi baru hasil proses Algoritma
Genetika. Secara teori, tahap elitisme dapat meningkatkan kemampuan dari
Algoritma Genetika karena mempertahankan kromosom yang baik pada
populasi awal. Namun kadang tahap ini juga dapat menyebabkan konvergensi
prematur karena nilai fitness terjebak pada optimum lokal.
Setelah melewati proses crossover dan mutasi pada generasi pertama,
kromosom hasil kedua proses serta kromosom terbaik disalin ulang dan
disimpan pada tabel evaluasi, langkah tersebut akan terus dilakukan pada tiap
generasi sampai nilai terbaik keseluruhan diperoleh. Kromosom pada tabel
evaluasi tidak akan mengalami proses crossover dan mutasi, sehingga kromosom
terbaik dapat dipertahankan pada tiap iterasi.
Pada proses penghitungan manual ini, pencarian solusi optimal diproses
hanya sampai 1 kali iterasi (generasi pertama). Untuk memperkaya hasil
62
perhitungan, iterasi dilakukan berkali-kali untuk menghasilkan keberagaman
solusi. Populasi yang terbentuk dari hasil proses manualisasi Algoritma
Genetika pada generasi pertama ditunjukkan pada tabel 5.7.
Tabel 5.7 Hasil Populasi Generasi Pertama Pada Tabel Evaluasi
Parent Inisialisasi Populasi
Nilai Fitness (i)
Inverse (i)
Probabilitas Persentase Probabilitas (i)
P1 0-1-5-6-4-2-3-0 614 0.00163 0.073 7.30%
P2 0-3-2-4-1-5-6-0 509 0.00196 0.088 8.80%
P3 0-1-3-2-4-5-6-0 603 0.00166 0.074 7.40%
P4 0-4-5-6-1-2-3-0 559 0.00179 0.080 8.00%
P5 0-5-2-1-3-6-4-0 544 0.00184 0.082 8.20%
PC2 0-3-2-6-1-5-4-0 392 0.00255 0.114 11.40%
PC4 0-4-5-3-1-2-6-0 571 0.00175 0.078 7.80%
PC5 0-5-2-4-1-6-3-0 402 0.00249 0.111 11.10%
PM1 0-1-5-4-6-2-3-0 447 0.00224 0.100 10.00%
PM2 0-3-2-6-1-4-5-0 411 0.00243 0.109 10.90%
PM3 0-1-3-2-4-6-5-0 500 0.00200 0.090 0.00%
Sum
0.02234 1.000 100%
Average
0.00203 0.091 9.10%
Max
0.00255 0.114 11.40%
5.1.8 Pergantian Populasi
Prosedur pergantian dilakukan dengan membentuk populasi baru yang
diambil dari hasil crossover dan mutasi serta ditambah kromosom hasil elitisme.
Populasi pada generasi sebelumnya yang merupakan parent diganti seluruhnya
dengan populasi baru yang merupakan anak atau turunannya (offspring).
Pergantian populasi diharapkan dapat memperkaya keberagaman solusi seperti
yang telah dibahas sebelumnya di mana iterasi sebaiknya dilakukan berkali-kali.
Proses tahapan Algoritma Genetika akan berlaku sama untuk generasi
berikutnya dan untuk tiap generasi. Perhitungan dilakukan hingga mencapai
generasi paling maksimum sehingga didapat kromosom terbaik dari seluruh
generasi sebagai solusi permasalahan.
63
5.1.9 Repair
Pada pembahasan inisialisasi populasi di awal, pemisahan rute yang
dilakukan pada masing-masing kromosom ke dalam 3 bagian yang tidak merata
untuk menangani kendala Heterogeneous Fleet VRP sering menghasilkan
kromosom yang tidak feasible karena penyebaran demand yang tidak merata.
Oleh karena itu, digunakan sebuah operator bantuan (repair) yang bekerja pada
saat aplikasi akan menambahkan sebuah kromosom/ solusi hasil dari proses
Algoritma Genetika ke dalam populasi pada tabel evaluasi. Seperti yang telah
dibahas sebelumnya bahwa tabel evaluasi menyimpan kromosom hasil
inisialisasi awal serta hasil proses crossover dan mutasi pada tiap generasi
sehingga menjaga kromosom yang memiliki value optimal tidak hilang akibat
proses Algoritma Genetika.
Cara kerja operator ini dijabarkan sebagai berikut:
1. Kromosom hasil proses Algoritma Genetika akan dikenai proses repair
apabila sub-rute dari sebuah solusi rute memiliki total demand lebih besar
dari kapasitas atau daya angkut vehicle.
2. Pencarian titik gen secara random pada sub-rute tersebut, kemudian gen
dipindahkan ke akhir sub-rute lain yang juga ditentukan secara acak.
3. Proses ini dilakukan setiap kali ada kromosom route baru yang akan
dimasukkan ke dalam populasi.
5.2 Hasil Simulasi
Simulasi model menggunakan perangkat lunak Excel yang
menggabungkan antara metode Algoritma Genetika dengan Heterogeneous Fleet
Vehicle Routing Problem (HFVRP). Skenario simulasi dibuat berdasarkan data real
dan hasil pemodelan sebelumnya, dapat dilihat pada tabel 5.8.
Tabel 5.8. Skenario Simulasi Model
Pengaturan awal
Parameter Nilai
0.Lisensi GIS
Bing Maps Key SL7hzMPmq7lqGxqDxRzU~hdDqEoyPCM0-ZzTCfBR3jA~AthjIznBmJHOj-3sFQjlc-hVDE44CwwrAIujTQzZtiOVC2h2HOaMFK_3_4n_cq
64
mG
1. Lokasi Jumlah distribusi (customer)
6
Pengambilan / Pengiriman?
Pengiriman
2. Jarak Jarak / durasi waktu
Bing Maps
Ukuran Pencarian Jalur Bing Maps
Jalur Tercepat
Rata-rata kecepatan kendaraan
70
3. Kendaraan
Jumlah dari jenis kendaraan
3
4. Solusi Semua kendaraan digunakan?
iya
Kendaraan harus kembali ke depot?
iya
Menggunakan Tipe Time window
Hard
Jam mulai berkerja
08:00
Batas waktu perjalanan
8:00
Batas waktu bekerja
10:00
Batas Jarak minimum
560
5.Tampilan Visual
Tampilan visual Bing Maps
Tanda lokasi Lokasi IDs
6.Solusi Warm start? iya
Batas waktu iterasi
60
Mutasi 10%
Rekombinasi 40%
Populasi 2
Kromosom 123456789
Koordinat Lokasi di tabel 5.9 memakai koordinat polar yang langsung
memanfaatkan akses Sistem Informasi Geografis melalui layanan
www.bingsmapsportal.com.
65
Tabel 5.9 Koordinat Lokasi
ID Lokasi
Status Lokasi
Nama lokasi Latitude
(y) Longitude
(x) Lokasi semua dikunjungi?
0 Depot ciawi -6,6613598 106,8539963
Pencarian Lokasi Dimulai
1 Customer 1
bandara soekarno hatta
-6,1162000 106,6808014 Semua Lokasi dikunjungi
2 Customer 2 cikarang -6,9541702 106,9039993
Semua Lokasi dikunjungi
3 Customer 3 cipanas -7,1788001 107,8700027
Semua Lokasi dikunjungi
4 Customer 4 pulogadung -6,1874599 106,8960037
Semua Lokasi dikunjungi
5 Customer 5 serpong -6,3169398 106,6640015
Semua Lokasi dikunjungi
6 Customer 6 tangerang -6,1676502 106,6387177
Semua Lokasi dikunjungi
Jarak antar lokasi merupakan perhitungan berdasarkan kordinat lokasi
yang bersifat real ditunjukkan di tabel 5.10.
Tabel 5.10 Jarak Antar Lokasi
Lokasi Awal Lokasi Tujuan Jarak
Tempuh Durasi Waktu
ciawi ciawi 0,00 0:00
ciawi bandara soekarno hatta 81,89 2:24
ciawi cikarang 55,09 1:08
ciawi cipanas 170,75 3:36
ciawi pulogadung 63,84 2:00
ciawi serpong 51,93 1:28
ciawi tangerang 68,33 2:09
bandara soekarno hatta ciawi 79,65 2:30
bandara soekarno hatta bandara soekarno hatta 0,00 0:00
bandara soekarno hatta cikarang 130,10 3:27
bandara soekarno hatta cipanas 250,94 5:43
bandara soekarno hatta pulogadung 35,25 1:16
bandara soekarno hatta serpong 29,86 0:58
bandara soekarno hatta tangerang 9,88 0:20
cikarang ciawi 54,91 1:07
cikarang bandara soekarno hatta 133,56 3:19
cikarang cikarang 0,00 0:00
cikarang cipanas 157,71 3:14
cikarang pulogadung 118,06 2:58
cikarang serpong 101,96 2:19
66
cikarang tangerang 120,01 3:04
cipanas ciawi 171,51 3:38
cipanas bandara soekarno hatta 256,41 5:45
cipanas cikarang 157,89 3:15
cipanas cipanas 0,00 0:00
cipanas pulogadung 227,65 4:52
cipanas serpong 240,54 5:18
cipanas tangerang 250,42 5:44
pulogadung ciawi 63,03 1:58
pulogadung bandara soekarno hatta 32,39 1:06
pulogadung cikarang 116,61 2:58
pulogadung cipanas 225,63 4:46
pulogadung pulogadung 0,00 0:00
pulogadung serpong 42,88 1:32
pulogadung tangerang 33,51 1:04
serpong ciawi 51,82 1:28
serpong bandara soekarno hatta 31,37 1:03
serpong cikarang 102,40 2:25
serpong cipanas 241,37 5:20
serpong pulogadung 41,67 1:34
serpong serpong 0,00 0:00
serpong tangerang 20,12 0:42
tangerang ciawi 70,21 2:12
tangerang bandara soekarno hatta 11,47 0:22
tangerang cikarang 120,65 3:09
tangerang cipanas 250,11 5:34
tangerang pulogadung 34,41 1:06
tangerang serpong 20,42 0:40
tangerang tangerang 0,00 0:00
Output simulasi terbagi dua yaitu yang berbentuk tabel dan grafik
(visualisasi). Keduanya merupakan hasil pengolahan simulasi berdasarkan
tujuan meminimumkan biaya total perjalanan oleh ketiga jenis kendaraan
angkut. Biaya total perjalanannya dapat dihitung sebesar Rp. 2,932.400,-
Kendaraan: A 1 Pemberhentian: 3
Biaya Angkut: -1268602,00
Lokasi Nama Lokasi Jarak
Waktu Perjalanan
Waktu Kedatangan
Waktu Keberangkatan
Jam Kerja
0 Depot 0,00 0 0:00 08:00 08:00 0:00
1 Customer 2 55,09 0 1:08 09:08 09:08 1:08
2 Customer 3 212,79 0 4:22 12:22 12:22 4:22
3 Depot 384,30 0 8:00 16:00 16:00 8:00
4
67
5 6 7
Kendaraan: B 1 Pemberhentian: 3
Biaya Angkut: -850412,50
Lokasi Nama Lokasi Jarak
Waktu Perjalanan
Waktu Kedatangan
Waktu Keberangkatan
Jam Kerja
0 Depot 0,00 0 0:00 08:00 08:00 0:00
1 Customer 1 81,89 0 2:24 10:24 10:24 2:24
2 Customer 4 117,13 0 3:40 11:40 11:40 3:40
3 Depot 180,17 0 5:38 13:38 13:38 5:38
4 5 6 7
Kendaraan: C 1 Pemberhentian: 3
Biaya Angkut: -813385,50
Lokasi Nama Lokasi Jarak
Waktu Perjalanan
Waktu Kedatangan
Waktu Keberangkatan
Jam Kerja
0 Depot 0,00 0 0:00 08:00 08:00 0:00
1 Customer 5 51,93 0 1:28 09:28 09:28 1:28
2 Customer 6 72,05 0 2:10 10:10 10:10 2:10
3 Depot 142,26 0 4:22 12:22 12:22 4:22
4 5 6 7
Berdasarkan simulasi pemodelan transportasi yang menggunakan model
Heterogeneous Fleet Vehicle Routing Problem dan solusinya melalui Algoritma
Genetika, didapat hasil berupa 3 rute optimal pengangkutan bunga krisan
dengan 2 kendaraan angkut berbeda, yaitu Rute-1 (Depot–Cipanas–Depot
menggunakan mobil boks L300), Rute-2 (Depot–Cikarang–Tangerang–Depot
untuk mobil boks engkle) dan Rute-3 (Depot–Bandara–Sepong–Pulo
Gadung–kembali ke Depot untuk mobil boks engkle) dengan total biaya
perjalanan minimum yang ditempuh ketiga kendaraan sebesar Rp. 2,932.400,-
Selanjutnya disarankan memakai lebih dari 1 metode solusi metaheuristik
lainnya agar dapat dilakukan komparasi detail dengan merujuak pada beberapa
parameter yaitu kecepatan pencarian solusi, efisiensi algoritma, dan optimasi
68
biaya (minimasi). Metode-metode solusi tersebut antara lain Simulated Annealing,
Ant Colony, Tabu Search, dan sebagainya.
69
DAFTAR PUSTAKA Ballou, R. H. 1999. Business Logistics Management, 4th Ed. Prentice Hall International. Bahar, Emirul. 2003. Analisis Penentuan Jalur Transportasi Limbah Minyak Pada Aktivitas Pelayaran Laut Untuk Menghasilkan Total Biaya Pelayaran Minimum. Jurnal Ilmiah Ekonomi & BisnisUniversitas Gunadarma. Terakreditasi Nomor 2 Jilid 8 Agustus 2003, ISSN : 0853 – 862 X hal. 88 – 102. Bahar, Emirul. 2011. Optimasi Biaya Sistem Transportasi Berbasis Waktu, Jurnal Ilmiah Ekonomi Bisnis Universitas Gunadarma. Terakreditasi Volume 16 Nomor 2 Agustus 2011, ISSN 0853 – 862 X hal. 135 – 146. Crainic, T.G., Laporte, G. 1997. Planning Models for Freight Transportation. European Journal of Operational Research 97 (3): 409 438. Dewi Agushinta Rahayu. 1994. A Genetic Algorithm on Coin Recognition System. Thesis. AIT. Thailand. Dewi, E. P. 2009. “Optimasi Rute Multiple-Travelling Salesman Problem Melalui Pemrograman Integer dengan Metode Branch and Bound”. Tidak Diterbitkan. Jurnal Skripsi. Jember: Jurusan Matematika Fakultas MIPA Universitas Jember. Dunn, N. W. 1994. Analisis Kebijakan Publik, edisi kedua. Yogyakarta: Gadjah Mada University Press. Departemen Pertanian. 2013. Pusat Data Dan Sistem Informasi Pertanian No. 01/03/I, 5 Maret 2013. F.G. Gheysens, B.L. Golden, and A.A. Assad. A comparison of techniques for solving the fleet size and mix vehicle routing problem. OR Spectrum, 6(4):207-216, 1984. Gaspersz, V. 2009. Production Planning and Inventory Control Berdasarkan Pendekatan Sistem Terintegrasi MRP II dan JIT Menuju Manufakturing 21. Jakarta: Gramedia Pustaka Utama. http://www.slideshare.net/ArisPrasetyo3/kondisi-disekitar-gunung-yang-menjadi-indikator-aktivitas-gunung-akan-meletus (Diunduh 18 Maret 2015) Liu, C. L. 1995. Dasar-Dasar Matematika Diskret (Edisi Kedua). Jakarta. PT Gramedia Pustaka Utama.
70
M. Fisher. 1995. Vehicle routing. Handbooks of Operations Research and Management Science, Chapter 1, 8:1-31. M. Gendreau, G. Laporte, and J-Y. Potvin. 1999. Metaheuristics for The Vehicle Routing Problem. Technical Report G-98-52, GERAD. Nurcahyawati Vivine. 2014. “Penentuan Jalur Terpendek Pada Jalur Distribusi Barang Di Pulau Jawa Dengan Menggunakan Algoritma Genetika”. Tidak Diterbitkan. Jurnal Skripsi. Surabaya. Jurusan Teknik Informatika. Fakultas Teknologi Informasi. Universitas Brawijaya. Pankratz, Giselher. 2005. A Grouping Genetic Algorithm for the Pickup and Delivery Problem with Time Windows. OR Spectrum 27:21–41. Pisinger, David, Ropke, Stefan. 2007. A General Heuristic for Vehicle Routing Problems. Computers & Operations Research 34 2403–2435, Elsevier. Purnomo Dwi Hindriyanto. 2014. Cara mudah Belajar Metode Optimasi Metaheuristik Menggunakan Matlab. Yogyakarta. Gava Media. Ramadhani, M. 2008. “Penyelesaian Masalah Optimasi Menggunakan Algoritma Genetika”. Tidak Diterbitkan. Jurnal Skripsi. Jember: Jurusan Matematika Fakultas MIPA Universitas Jember. Russel, R. S., Taylor, B. W. 2003. Operations Management. New Jersey: Prentice Hall. Liu, Shuguang, Weilai, Huang, Huiming, Ma. 2009. An Effective Genetic Algorithm For The fleet Size and Mix Vehicle Routing Problems. Transportation Research Part E45 (2009) 434–445, Elsevier. Sarwadi. 1995. Penyelesaian Heuristik pada Masalah Vehicle Routing Klasik. Majalah Ilmiah FMIPA-Undip. ISSN:0854-0675, Semarang. S.M. Sait and H. Youssef, editors. 1999. Iterative Computer Algorithms with Application in Engineering: Solving Combinatorial Optimization Problems, Chapter 3. IEEE Computer Society. Suyanto. 2005. Algoritma Genetika Dalam Matlab. Yogyakarta. Andi. Syarif Admi. 2014. Algoritma Genetika Teori dan Aplikasi edisi 2. Yogyakarta.
Graha Ilmu. Wilujeng, Anjar KS. 2004. Algoritma Genetika Untuk Penyelesaian Masalah Vehicle
Routing. Jurnal Skripsi FMIPA-Undip, Semarang.
Penerapan Algoritma Genetika Pada Permasalahan Distribusi dan Rute Kendaraan
Dewi Agushinta R., Emirul Bahar, Rossi Septy Wahyuni
Diterbitkan pertama kali oleh Gunadarma Hak Cipta Dilindungi Undang-Undang Jakarta 2016