• Tidak ada hasil yang ditemukan

LANDASAN TEORI

3.7. Pengembangan Algoritma Heuristik

Beberapa penelitian telah mencoba mencari solusi bagi permasalahan MTVRP (Multi Trip Vehicle Routing Problem). Pada umumnya algoritma-algoritma ini menggunakan prosedur heuristik, mengingat kompleksitas permasalahan pada MTVRP. Taillard et.al. (1996) mengembangkan algoritma multi trip yang terdiri atas tiga bagian :

1. Pembangkitan sejumlah besar rute yang telah memenuhi pembatas VRP (Vehicle Routing Problem).

2. Memilih subset dari sejumlah besar rute ini dengan menggunakan algoritma enumeratif.

Brandao dan Mercer (1998) mengusulkan metode yang terdiri atas prosedur konstruktif dan improvement. Metode ini terdiri atas 3 fasa yaitu: 1. Fasa inisial yang membangkitkan solusi yang feasible untuk permasalahan

routing tetapi tidak harus feasible untuk permasalahan penjadwalan. 2. Fasa ini mencari solusi feasible dengan waktu perjalanan minimum. 3. Fase ini mencari solusi dengan biaya paling murah.

Berikut ini akan disajikan beberapa defenisi yang terkait dengan MTVRP. a. Pelanggan dan depot

Sebuah permasalahan MTVRP terdiri atas n pelanggan (dituliskan sebagai 1,2,...,n) dan sebuah depot tunggal (dituliskan sebagai 0). Himpunan (0,1,...,n) yang mewakili semua konsumen dan depot disebut site. Jarak antara site i dan j dituliskan sebagai dy. Tiap konsumen i memiliki permintaan (demand) qi≥ 0 dan

waktu pelayanan si≥ 0. Waktu pelayanan juga didefenisikan pada depot, s0≥ 0,

yang menggambarkan waktu muat di depot. b. Alat angkut

Permasalahan ini didefenisikan pada sejumlah tak hingga alat angkut. Masing-masing alat angkut memiliki kapasitas Q dan kecepatan V yang seragam. Bersama dengan jarak antar site, dij , kecepatan V menentukan waktu tempuh antar site tij . c. Time window

Untuk site i, time window dispesifikasikan oleh sebuah interval [ei ,li], dimana ei menggambarkan waktu siap (ready time) dan li menggambarkan waktu tenggat (deadline time). Waktu mulai untuk pelayanan di site i, disimbolkan oleh αi didefenisikan sebagai :

αi = max (ei, δ i-1 + ti-1,i) (1) dimana δi-1 merupakan waktu keberangkatan dari site sebelumnya dan tii-1,i adalah waktu perjalanan menuju site i dari site sebelumnya.

Waktu keberangkatan untuk alat angkut pada site i, disimbolkan oleh

δi = αi+ s1 (2)

Waktu tunggu alat angkut di site i, disimbolkan oleh wi,diberikan oleh wi = �0, ������ (�−1 +�−1,)

�−(��−1+��−1,�) , ������ ≥ (� −1 +��−1,�) (3) Sebuah rute dikatakan memenuhi pembatas waktu untuk site i

jika δi < li (4)

Dalam konteks ini, li merupakan waktu maksimum suatu site/gudang belum dikunjungi. Jika waktu kunjungan melebihi li, maka gudang i akan kekurangan barang. Atau,

li = �� ��

dimana Ci menunjukkan kapasitas gudang pada site i, dan di menunjukkan laju permintaan barang di gudang site i. Secara khusus li dapat disebut sebagai daya tahan gudang site i.

d. Planning horizon

Sebuah horizon perencanaan menggambarkan waktu kerja untuk alat angkut. Horizon perencanaan ini membatasi total waktu (meliputi waktu perjalanan, waktu tunggu, dan waktu pelayanan) yang harus dipenuhi oleh alat angkut dalam perjalanan menyelesaikan tugasnya. Jika diasumsikan horizon

perencanaan dimulai pada e0 maka horizon perencanaan, disimbolkan dengan Hi adalah panjang time window depot, yaitu:

Hi = l0-e0

e. Rute

Sebuah rute menggambarkan urutan kunjungan ke pelanggan-pelanggan, berawal dan berakhir di depot. Rute, disimbolkan oleh R, dapat dituliskan sebagai:

R = {0,...,i...,0} (7) (7)

Total angkutan pada masing-masing rute tidak boleh melebihi kapasitas alat angkut,

�∈��� ≤ � (8)

f. Tour

Sebuah tour terdiri atas satu set rute,

T = {R1,...,RNT} (9)

di mana NT menunjukkan jumlah rute dalam suatu tour. Waktu penyelesaian suatu tour (CT) tidak boleh melebihi horison perencanaan.

CTi < H (10)

g. Jumlah alat angkut

Dalam MTVRP, masing-masing tour dilakukan oleh sebuah alat angkut. Maka permasalahan penentuan jumlah alat angkut sama ekivalen dengan permasalahan penentuan jumlah tour.

Solusi bagi permasalahan MTVRP adalah rencana rute:

Yang memenuhi pembatas kapasitas dan waktu pelayanan (time window) dan mencapai tujuan: minimisasi jumlah alat angkut, total waktu tour, serta utilitas alat angkut.

Pengembangan algoritma heuristik dengan prinsip divide and conquer telah dikembangkan oleh Titah Yudistira, Suprayogi dan Abdul Hakim Halim (2003) yang terdiri atas langkah iterative yakni :

1. Mencari rute terbaik yang belum tentu feasible (mengikuti jalur yang ada) 2. Jika solusi satu tidak feasible, membagi permasalahan awal dengan 2 sub

masalah

Demikian kedua langkah ini terus berulang sampai didapatkan solusi yang feasible. Algoritma ini dapat dibagi kedalam lima langkah yang lebih rinci yaitu: 1. Dari graph permasalahan yang diberikan, cari rute terpendek menurut

traveling salesman problem (alat angkut mengelilingi semua site dan kembali lagi ke depot dalam sekali jalan).

2. Hitung horizon perencanaan, yaitu jadwal pengiriman (shipping) yang sama berulang pada suatu site. Dalam hal ini horizon perencanaan sama dengan waktu pengiriman mengikuti rute pada langkah 1 diatas.

3. Hitung waktu teoritis (estimasi) yang diperlukan untuk memenuhi permintaan di semua pelanggan selama horizon perencanaan. Perhatikan bahwa jumlah pengiriman minimal pada masing-masing site harus sama dengan jumlah demand selama horizon perencanaan.

4. Jika feasible waktu teoritis (horizon perencanaan) terapkan algoritma penugasan (yang sudah mempersiapkan waktu pelayanan). Jika tidak, pecah graph yang bersangkutan menjadi sub graph dan kembali ke langkah 1. 5. Hasil penerapan algoritma penugasan bisa saja menjadi tidak feasible. Kalau

ini terjadi pecah graph dan kembali ke langkah 1.

Adapun ukuran performansi yang ingin dicapai dari algoritma ini adalah : 1. Utilisasi alat angkut yang dapat dihitung dengan rumus-rumus :

Utilisasi per rute = muatan yang dimuat/total kapasitas alat angkut

Utilitas rata-rata tiap tour = Σ utilitas per rute/ jumlah rute dalam satu tour Ur = ∑�����

Utilitas rata-rata tiap tour = ∑ utilitas per rute/ jumlah rute dalam satu tour

Ut= ∑ � ��

Utilitas rat-rata keseluruhan armada = ∑ utilitas per alat angkut/jumlah alat angkut

U = ∑ ��� ∑ �

2. Jarak tempuh total : bisa dihitung dari total jarak tempuh pada rute terbaik pada algoritma diatas.7

1. Hitung jarak total dari depot (sumber) ke depot (sumber) kembali sesuai dengan rute terbaik yang dipecahkan dengan metode pemecahan masalah

Adapun rincian algorima heuristik yang digunakan adalah sebagai berikut: Langkah 0 :

7

Yudihistira, Titah dkk, “Algoritma Heuristik Penjadwalan Alat Angkut untuk Pendistribusian Produk Majemuk dengan Sumber Tunggal dan Destinasi Majemuk,” Seminar Sistem Produksi, VI (2003).

Traveling Salesman Problem (TSP). Dalam hal ini beberapa algoritma heuristik dapat diterapkan.

2. Tetapkan horizon perencanaan, yaitu jarak (selisih) waktu jadwal pngiriman yang sama berulang. Misalkan jika horison perencanaan adalah 10 hari, kalau pada tanggal 1 dilakukan pengiriman sejumlah q1, maka pada tanggal 11 kembali dilakukan kembali pengiriman kembali ke site 1 sejumlah q1. Pada dasarnya, semakin kecil horizon perencanaan semakin baik. Tetapi semakin kecil horizon perencanan artinya dibutuhkan waktu yang lebih cepat dalam pendistribusian barang teradap permintaan barang yang ada. Pada dasarnya horison perencanaan dapat dibuat dengan trial error. Tetapi untuk mengurangi usaha trial error tersebut dapat dipakai patokan berikut:

a. Untuk graph awal : horison perencanaan sama dengan daya tahan terkecil b. Untuk sub-graph

1. Horison perencanaan tidak mungkin lebih besar dari daya tahan terkecil pada sub-graph yang bersangkutan

2. Hitung demand total pada sub-graph yang bersangkutan selama horison perencanaan. Demand total merupakan penjumlahan dari demand pada masing-masing site selama horison perencanaan. Rumus demand untuk tiap site adalah :

Demand selama horison perencanaan :

laju demand x horison perencanaan D = d x H

3. Bagi demand total dengan kapasitas alat angkut yang ada. Angka ini menunjukkan frekuensi kapal harus diisi ( jumlah rute dalam satu tour). NT =

4. Hitung waktu untuk menjalankan tour (semua site dikunjungi) penuh. 5. Kalikan waktu dari nomor 4 dengan k + faktor pengaman ( misalkan 20%

waktu tour).

6. Jika waktu yang diturunkan lebih kecil dari horizon perencanaan hari siklus x 24 jam), maka tetapkan horizon perencanaan tersebut feasible.

7. Lakukan langkah 1 untuk beberapa ari siklus yang diperkirakan feasible. 8. Jika tidak ada yang feasible, berarti jumlah alat angkut kurang. Sub-graph yang

bersangkutan dipecah lagi menjadi sub-sub graph. Langkah 1 :

Hitung waktu teoritis yang dibutuhkan untuk melayani total permintaan: Rumusnya:

Waktu total = (waktu perjalanan total + waktu servis total) x (1 + faktor pengaman)

T = (∑ ���� 1−1�+∑ ���� 1)(1 + ∅)

Dimana:

Waktu perjalanan total = (jarak depot ke depot/kecepatan rata-rata) x faktor konversi angkut

T = ����1−1�

Faktor pengaman (φ ) adalah allowance dan disarankan tidak kurang dari 1 jam per hari siklus (5%).

Faktor konversi (γ ) jenis alat angkut = jumlah jenis produk yang harus didistribusikan/jumlah jenis produk yang dapat diisikan ke alat angkut secara sekaligus.

Langkah 2 :

Hitung batas bawah jumlah alat angkut minimum yang dibutuhkan. Rumusnya : NT min = waktu total/jam avaibilitas alat angkut = ��

Jika batas bawah lebih dari 2 maka bulatkan ke bawah, jika kurang dari 2 bulatkan ke atas. Jika batas bawah jumlah alat angkut = 1, langsung ke langkah 5. Jika batas bawah alat angkut lebih dari 1 ke langkah 3.

Langkah 3:

Bagi graph (network) yang ada menjadi n buah sub-grafh. Usahakan masing-masing sub graph seimbang (dalam hal ini jarak total antara sub-graph dan jumlah site seimbang). Jika tampak sub-grah yang tidak seimbang, maka adanya site transhipment perlu dipertimbangkan.

Lagkah 4:

Kembali ke langkah 0 Langka 5:

Langkah ini merupakan penentuan rute untuk distribusi yang sudah

mempertimbangan jenis produk. Misalkan jenis produk yang dapat dimuat sekali jalan adalah m jenis.

a. Pilih m jenis produk dengan demand total yang lebih kecil dari kapasitas alat angkut dibagi dengan m untuk dimuat ke alat angkut, distribusi dengan menjalankan rute penuh (melewati semua site). Jika jenis produk dengan

demand total yang lebih kecil dari kapasitas kapal lebih dari m, prioritas total demand yang lebih kecil. Lanjutkan ke langkah (c)

b. Jika sudah tidak ada jenis roduk dengan demand yang lebih kecil dari kapasitas kapal dibagi m, pilih sembarang produk dan buat trip untuk mendistribusikan produk tersebut sejumlah kapasitas alat angkut (atau yang paling mendekati). Pendistribusian ini mulai dari site yang terjauh.

c. Buat rute tambahan untuk memenuhi permintaan yang belum selesai (kembali ke langkah a).

Langkah 6 :

Jika feasibel, cek apakah waktu total untuk sub-graph ini tidak melampaui jam availibilitas alat angkut. Jika melampaui kembali ke langkah 3, tambah n menjadi n+1.

Dokumen terkait