DENGAN TIME WINDOWS, PENJADWALAN ARMADA
DAN SUPIR
DISERTASI
Oleh ARNITA
118110001/Ilmu Matematika
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2016
UNIVERSITAS SUMATERA UTARA
DELIVERY VEHICLE ROUTING PROBLEM DENGAN TIME WINDOWS,
PENJADWALAN ARMADA DAN SUPIR
DISERTASI
Diajukan Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Doktor dalam Program Studi Doktor Ilmu Matematika pada Fakultas Matematika dan Ilmu Pengetahuan Alam
Universitas Sumatera Utara
Oleh ARNITA
118110001/Ilmu Matematika
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2016
UNIVERSITAS SUMATERA UTARA
ROUTING PROBLEM DENGAN TIME WINDOWS, PENJADWALAN ARMADA DAN SUPIR
Nama Mahasiswa : Arnita
Nomor Pokok : 118110001
Program Studi : Doktor Ilmu Matematika
Menyetujui, Komisi Pembimbing
(Prof. Dr. Saib Suwilo, M.Sc) Promotor
(Prof. Dr. Tulus, M.Si) (Prof. Dr. Opim Salim S, M.Sc)
Co-Promotor Co-Promotor
Dekan
(Dr. Kerista Sebayang, M.Si)
Tanggal lulus: 15 Juni 2016
UNIVERSITAS SUMATERA UTARA
Tanggal 15 Juni 2016
PANITIA PENGUJI DISERTASI
Ketua : Prof. Dr. Saib Suwilo, M.Sc Anggota : 1. Prof. Dr. Tulus, M.Si
2. Prof. Dr. Opim Salim S, M.Sc 3. Prof. Dr. Herman Mawengkang 4. Dr. Marwan Ramli, M.Si
UNIVERSITAS SUMATERA UTARA
Saya menyatakan dengan sebenar-benarnya bahwa segala bentuk pernyataan da- lam disertasi saya yang berjudul:
PROGRAM MIXED INTEGER PADA MODEL SPLIT DELIVERY VEHICLE ROUTING PROBLEM DENGAN TIME WINDOWS,
PENJADWALAN ARMADA DAN SUPIR
merupakan gagasan atau hasil penelitian disertasi saya sendiri dengan pem- bimbingan para komisi pembimbing, kecuali yang dengan ditunjukkan rujukan- nya. Disertasi ini belum pernah diajukan untuk memperoleh gelar pada program sejenis di perguruan tinggi lainnya.
Semua data dan informasi yang digunakan telah dinyatakan secara jelas dan dapat diperiksa kebenarannya.
Medan, Juni 2016 Penulis,
Arnita
i
UNIVERSITAS SUMATERA UTARA
Transportasi merupakan komponen yang vital dalam manajemen logistik suatu perusahaan, karena sangatlah jarang suatu produk diproduksi dan dikonsum- si dalam satu lokasi yang sama. Salah satu faktor yang menentukan dalam manajemen logistik adalah penentuan jalur distribusi yang akan berpengaruh terhadap biaya transportasi. Salah satu permasalahan dalam transportasi ada- lah Vehicle Routing Problem (VRP). Untuk mengurangi biaya transportasi dan juga untuk meningkatkan pelayanan kepada pelanggan, perlu dicari rute atau jalur transportasi terbaik yang dapat meminimalkan jarak/ biaya dan waktu.
Permasalahan-permasalahan pada VRP bertujuan untuk membuat suatu rute yang optimal, untuk suatu kelompok kendaraan, agar dapat melayani sejum- lah konsumen. Penelitian ini fokus pada model komprehensif SDVRP yang berhubungan pada time windows, jadwal armada dan pengemudi. Penelitian ini mengusulkan formulasi mixed integer programming untuk memodelkan masalah.
Algoritma yang diusulkan dalam menyelesaikan permasalahan mixed integer ini adalah algoritma neighborhood Tabu Search yang merupakan algoritma heuristik dalam menyelesaikan permasalahan yang dimodelkan.
Kata kunci: SDVRP, Mixed Integer, Time Windows, Tabu Search
ii
UNIVERSITAS SUMATERA UTARA
Transportation is a vital component in the logistics management of a company, because it is rarely a product is produced and consumed in the same location.
One of the determining factors in logistics management is determining the dis- tribution line will affect the cost of transportation. One of the problems in the transport is Vehicle Routing Problem (VRP). To reduce transportation costs and also to improve service to customers, need to find the best transportation routes or paths to minimize the distance/cost and time. The problems in the VRP aims to create an optimal route, for a group of vehicles, in order to serve a number of customers. This study focuses on the comprehensive model SDVRP relating to the time windows, fleet and driver schedules. This study proposes a mixed integer programming formulation to model problems. Proposed algorithm in solv- ing mixed integer problems are neighborhood Tabu Search algorithm which is a heuristic algorithm to solve the problems that are modeled.
Keywords: SDVRP, Mixed Integer, Time Windows, Tabu Search.
iii
UNIVERSITAS SUMATERA UTARA
Puji dan syukur penulis panjatkan ke hadirat Allah SWT yang telah me- limpahkan rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan diser- tasi ini dengan judul Model Program Mixed Integer pada Permasalahan Split Delivery Vehicle Routing dengan Time Windows, Penjadwalan Armada dan Supir sebagai salah satu syarat untuk memperoleh gelar doktor pada Program Studi Doktor Ilmu Matematika Fakultas Matematika Dan Ilmu Pengetahuan Alam Universitas Sumatera Utara. Dalam menyelesaikan disertasi ini penulis telah banyak mendapat bantuan dan bimbingan, baik moril maupun materil dari berbagai pihak. Pada kesempatan ini juga dengan segala kerendahan hati, penilis sampaikan ucapan terimakasih kepada:
1. Bapak Prof. Dr. Runtung Sitepu, SH, M.Hum. selaku Rektor Universitas Sumatera Utara, yang telah memberikan kesempatan kepada penulis un- tuk mengikuti Program Studi Doktor Ilmu Matematika, Fakultas MIPA, Universitas Sumatera Utara.
2. Bapak Dr. Kerista Sebayang, M.Si selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, yang telah mem- berikan kesempatan kepada penulis untuk menjadi peserta Program Doktor Ilmu Matematika angkatan 2011.
3. Bapak Prof. Dr. Saib Suwilo, M.Sc selaku Sekretaris Program Studi Dok- tor Ilmu Matematika dan sebagai promotor atas ketulusan hati dalam mem- beri bimbingan dan dorongan dari awal hingga selesainya disertasi ini.
iv
UNIVERSITAS SUMATERA UTARA
membimbing penulis hingga disertasi ini selesai.
5. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc selaku co-promotor atas ketulusan hati dalam membimbing penulis hingga disertasi ini selesai.
6. Bapak Prof. Dr. Herman Mawengkang selaku Komisi Penguji, atas keikhla- san dan kesabaran serta ketulusan hati dalam memberi bimbingan dan dorongan dari awal hingga selesainya disertasi ini.
7. Bapak Dr. Marwan Ramli, M.Sc selaku Komisi Penguji atas ketulusan hati dan memberi motivasi, saran bagi penulis dalam melengkapi disertasi ini.
8. Bapak Prof. Dr. Syawal Gultom, M. Pd selaku Rektor Universitas Negeri Medan dan Ibu Dr. Isda Paramuniati, M. Hum selaku Dekan Fakultas Ba- hasa dan Seni yang telah memberikan izin kepada penulis untuk mengiku- ti Program Studi Doktor Ilmu Matematika, Fakultas MIPA, Universitas Sumatera Utara.
9. Seluruh Staf Pengajar Program Studi Doktor Ilmu Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.
10. Seluruh teman mahasiswa Program Studi Doktor Ilmu Matematika, yang tidak dapat disebutkan satu persatu, yang memberi semangat dan doron- gan serta doanya kepada penulis.
11. Sdri. Misiani, S.Si dan Staf Administrasi Departemen Matematika ser- ta Staf Administrasi Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.
v
UNIVERSITAS SUMATERA UTARA
ta Muhammad Yani, ST, MT dan ananda Syarifah Nailatur Rahmah, Aisyah Hilmiya Hazimah, Hasan Musthafa Syakib dan Muhammad Abdurrahim yang telah memberikan doa serta pengertian sehingga penulis dapat menyelesaikan pendidikan S3 ini. Terimakasih yang sebesar-besarnya juga penulis sampaikan kepada para orang tua Bapak Ardian (alm) dan Ibunda Yusnizar, Ayahanda Anas (alm) dan Ibunda Yulidar (almh), serta Ayah Mertua Syahardin dan Ibu Mertua Nurcahaya. Demikian juga kepada Abang, kakak, adik-adik, etek-etek, dan om-om, teristimewa etek Prof. Dr. Rosmayati, M. S dan Om Prof. Dr.
Darma Bakti, M. S atas doa dan dorongan yang diberikan.
Akhir kata, semoga ilmu yang penulis peroleh selama perkuliahan dan hasil penelitian disertasi ini dapat bermanfaat bagi Program Studi Doktor Ilmu Ma- tematika, Fakultas MIPA, Universitas Sumatera Utara Medan dan Universitas Negeri Medan serta memberikan kebaikan bagi orang banyak.
Medan, Juni 2016 Penulis,
Arnita
vi
UNIVERSITAS SUMATERA UTARA
Arnita dilahirkan di Pangkalan Brandan pada tanggal 21 Juni 1976 dari Ayah Anas (alm) dan Ibu Yulidar sebagai anak ke tiga dari tiga bersaudara. Pada tahun 1988 lulus dari SD Muhammdiyah Pangkalan Brandan. Pada tahun 1991 lulus dari MTs KHA Dahlan Sipirok Tapanuli Selatan dan pada tahun 1994 lulus dari MAN 1 Medan.
Pada tahun 1999 lulus sarjana dari Jurusan Matematika Fakultas Matema- tika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara Medan. Kemudian pada tahun 2001 melanjutkan studi S2 di Program studi Statistika Institut Per- tanian Bogor dan pada tahun 2005 lulus dengan memperoleh gelar Magister Sain (M.Si). Pada tahun 2008 diterima sebagai Dosen di Universitas Negeri Medan.
Selanjutnya pada tahun 2011, melanjutkan studi Doktor Ilmu Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam (MIPA) Universitas Sumatera Utara Medan. Saat ini, Arnita bekerja sebagai staf pengajar di Program Studi Pendidikan Bahasa dan Sastra Indonesia Fakultas Bahasa dan Seni Universitas Negeri Medan.
vii
UNIVERSITAS SUMATERA UTARA
Halaman
PERNYATAAN i
ABSTRAK ii
ABSTRACT iii
PENGHARGAAN iv
RIWAYAT HIDUP vii
DAFTAR ISI viii
DAFTAR GAMBAR x
BAB 1 PENDAHULUAN 1
1.1 Latar Belakang 1
1.2 Rumusan Masalah 4
1.3 Tujuan Penelitian 4
1.4 Urgensi Penelitian 4
BAB 2 VEHICLE ROUTING PROBLEM 6
2.1 Graph 6
2.1.1 Definisi graph 6
2.1.2 Terminologi graph 7
2.1.3 Representasi graph 11
2.2 Travelling Salesman Problem 12
2.3 Karakteristik VRP 13
2.4 Vehicle Routing Problem with Time Windows 17 2.5 Split Delivery Vehicle Routing Problem 21 2.6 Kendala eliminasi subtur dan kendala hubungan 27
BAB 3 MIXED INTEGER PROGRAMMING 29
3.1 Metode Branch-and-Bound 31
3.2 Terminologi Branch and Bound 33
viii
UNIVERSITAS SUMATERA UTARA
3.4 Strategi Seleksi 37
3.5 Aturan Pencabangan 38
3.6 Metode Cutting Plane 40
BAB 4 NEIGHBORHOOD SEARCH 42
4.1 Perkembangan Algoritma Neighborhood Search 42
4.2 Algoritma Tabu Search 44
4.3 Algoritma Tabu Search Untuk Menyelesaikan VRP 48
4.3.1 Representasi solusi 48
4.3.2 Pembentukan inisial solusi (solusi awal) 49
4.3.3 Neighbourhood 49
4.3.4 Tabu list 49
4.3.5 Aspiration criteria 50
4.3.6 Termination criteria 51
4.4 Intensification dan Diversification 51
4.5 Langkah-langkah Algoritma TS dalam VRP 52 BAB 5 PROGRAM MIXED INTEGER PADA MODEL SPLIT DELIV-
ERY VEHICLE ROUTING PROBLEM DENGAN TIME WIN-
DOWS, PENJADWALAN ARMADA DAN SUPIR 54
5.1 Formulasi Matematika 54
5.2 Algoritma Tabu search 61
5.3 Pemecahan dengan Metode Branch and Bound 61
BAB 6 KESIMPULAN DAN SARAN 63
DAFTAR PUSTAKA 64
ix
UNIVERSITAS SUMATERA UTARA
Nomor Judul Halaman
2.1 Contoh graph dengan 6 buah titik. 7
2.2 Contoh graph lengkap 9
2.3 Contoh graph berarah 10
2.4 Graph berbobot 11
2.5 Matrik adjacent untuk graph berbobot 12
2.6 Contoh kasus VRPTW 18
2.7 Time Windows 19
2.8 Solusi Kasus VRPTW 20
2.9 Diagram Solusi VRPTW 20
2.10 Contoh Kasus SDVRP 22
2.11 Solusi Kasus SDVRP 22
3.1 Pencarian menggunakan algoritma Branch and Bound 32 3.2 Strategi pencarian dalam Branch and Bound: (a) Best First Search,
(b) Breadth First Search, dan (c) Depth First Search 39
4.1 Skema alur kerja algoritma Tabu Search 46
x
UNIVERSITAS SUMATERA UTARA
PENDAHULUAN
1.1 Latar Belakang
Transportasi merupakan komponen yang vital dalam manajemen logistik suatu perusahaan, karena sangatlah jarang suatu produk diproduksi dan dikonsumsi dalam satu lokasi yang sama. Salah satu faktor yang menentukan dalam manaje- men logistik adalah penentuan jalur distribusi yang akan berpengaruh terhadap biaya transportasi. Pengelolaan kegiatan transportasi yang efektif dan efisien akan memastikan pengiriman barang dari perusahaan ke pelanggan dengan tepat waktu, tepat jumlah, tepat kualitas, dan tepat penerima. Selain itu, biaya trans- portasi merupakan komponen biaya yang terbesar dalam struktur biaya logistik.
Tidak kurang dari 60% dari total biaya logistik perusahaan merupakan biaya transportasi. Oleh karena itu, untuk mengurangi biaya transportasi, diperlukan sistem transportasi yang efisien. Dengan menurunnya biaya transportasi, harga produk juga dapat menurun dan lebih mudah bersaing dengan para kompetitor dalam hal harga (Ballou, 1999).
Peningkatan efisiensi pada sistem transportasi dapat dilakukan dengan memaksimalkan utilitas dari alat transportasi yang ada. Aktivitas transportasi juga akan mengkonsumsi sumber daya keuangan. Biaya transportasi terjadi karena penggunaan tenaga sopir (driver labor), konsumsi bahan bakar minyak (fuel), pemeliharaan kendaraan, modal yang diinvestasikan dalam kendaraan dan peralatan, dan kegiatan administrasi. Selain konsumsi sumber daya keuangan, risiko kehilangan dan kerusakan produk selama aktivitas transportasi juga dapat menimbulkan biaya atau kerugian yang signifikan.
1
UNIVERSITAS SUMATERA UTARA
Salah satu permasalahan dalam transportasi adalah Vehicle Routing Pro- blem (VRP). Dengan VRP dirancang sekumpulan rute kendaraan dengan biaya sekecil mungkin, dimana setiap kendaraan memulai perjalanan dan mengakhiri- nya di depot. Untuk mengurangi biaya transportasi dan juga untuk meningkatkan pelayanan kepada pelanggan, perlu dicari rute atau jalur transportasi terbaik yang dapat meminimalkan jarak/ biaya dan waktu. Permasalahan-permasalahan pada VRP bertujuan untuk membuat suatu rute yang optimal, untuk suatu kelompok kendaraan, agar dapat melayani sejumlah konsumen.
Beberapa dekade belakangan ini, permasalahan VRP mendapat banyak perhatian sehingga VRP berkembang menjadi beberapa variasi, salah satunya adalah Split Delivery Vehicle Routing Problem (SDVRP). Split Delivery Vehi- cle Routing Problem (SDVRP) adalah perluasan VRP dengan ketentuan dimana tiap pelanggan dapat dilayani dengan kendaraan yang berbeda sehingga biaya operasional transportasi dapat berkurang. Perluasan ini perlu dilakukan jika jumlah permintaan pelanggan sama besar atau lebih kecil dari kapasitas kenda- raan. SDVRP mempunyai tujuan meminimalisasi jumlah kendaraan dan total waktu perjalanan untuk pelayanan. Pada permsalahan SDVRP, solusi diang- gap layak jika tiap rute memenuhi batasan standar VRP ditambah dengan tiap pelanggan bisa dilayani oleh lebih dari satu kendaraan. Fungsi tujuan pada per- masalan SDVR adalah meminimalisasi total biaya pada semua rute. Cara yang paling mudah untuk mengubah VRP menjadi SDVRP adalah dengan membagi jumlah permintaan pelanggan menjadi sejumlah kecil permintaan.
Archetti, et al., (2006) mengungkapkan bahwa SDVRP pertama kali diper- kenalkan oleh Dror dan Trudeau. Merekalah yang menurunkan sifat-sifat struk- tural penyelesaian optimal SDVRP dan secara empiris menunjukkan bahwa pemi-
UNIVERSITAS SUMATERA UTARA
sahan pengiriman (split deliveries) dapat mengakibatkan penghematan biaya yang besar, baik jarak total perjalanan maupun jumlah penggunaan kendaraan.
Selain itu Archetti, et al (2006) juga mengatakan bahwa terjadi pengurangan biaya pengiriman lebih dari 50% jika pemisahan pengiriman diberlakukan. Per- mintaan yang kecil (< 25%) atau besar (> 90%) jika dikaitkan dengan kapa- sitas kendaraan maka pemisahan pengiriman dapat meningkatkan penyelesaian.
Potensi perbaikan terbesar terjadi jika permintaan memenuhi 50% – 75% dari kapasitas kendaraan.
Banyak metode yang digunakan dalam menyelesaikan permasalahan op- timasi SDVRP, diantaranya adalah metode eksak dan pendekatan. SDVRP ataupun VRP adalah model permasalahan yang beberapa variabelnya meru- pakan bilangan bulat dan beberapa variabel lainnya bukan bilangan bulat. Oleh karena itu metode eksak mixed integer programming digunakan untuk menye- lesaikan permasalahan dalam VRP. Dror dan Trudeau (1994) juga memperke- nalkan formulasi matematika berdasarkan integer programming dan menyesuai- kannya dengan menggunakan pendekatan cutting plane dalam menyelesaikan permasalahan SDVRP. Gendreau, et al., 2006 juga mengangkat masalah VRP dengan time windows dan menunjukkan pendekatan eksak column generation dan teknik branch and bound dalam menyelesaikan permasalahannya. Salani dan Vacca (2009) juga menggunakan metode branch and price untuk formu- lasi SDVRP mixed integer yang didasari pertimbangan arc flow. Lee, et al,.
(2006) mengusulkan program dinamik dengan status terbatas dan ruang aksi, dan menyelesaikan permasalahan tersebut dengan shortest phat pada digraph yang node dan busurnya berhubungan pada status dan transisi antar status.
UNIVERSITAS SUMATERA UTARA
Penelitian ini berfokus pada model komprehensif SDVRP dengan adanya time windows, jadwal armada dan pengemudi (Split Delivery Vehicle Routing Problem Fleet Driver Time Windows). Kerangka dasar dari bagian vehicle rout- ing dapat dilihat sebagai SDVRP yang heterogen dengan time windows dan jumlah kendaraan yang berbeda dan terbatas, selain itu ditandai dengan kapa- sitas berbeda dan pelanggan memiliki rentang waktu tertentu untuk layanan.
Penelitian ini mengusulkan formulasi mixed integer programming untuk memo- delkan masalah. Pencarian lingkungan yang layak secara heuristik berdasarkan sekumpulan kendala aktif ditujukan untuk mendapatkan solusi bilangan bulat yang fisibel setelah menyelesaikan permasalahan model kontinu.
1.2 Rumusan Masalah
Berdasarkan latar belakang yang telah diuraikan di atas, maka rumusan masalah pada penelitian ini adalah bagaimana memformulasikan model permasalahan Split Delivery Vehicle Routing Problem dengan time windows, penjadwalan ar- mada dan pengemudi menggunakan model Mixed Intger Programming.
1.3 Tujuan Penelitian
Tujuan penelitian ini adalah untuk menghasilkan model Split Delivery Vehicle Routing Problem dengan tersyaratan ime windows, penjadwalan armada dan pengemudi menggunakan model Mixed Intger Programming.
1.4 Urgensi Penelitian
Berkembangnya penelitian mengenai permasalahan transportasi khususnya pe- nentuan rute kendaraan mengindikasikan banyaknya faktor-faktor yang mempe- ngaruhi diperolehnya rute yang optimal. Dengan memodelkan faktor-faktor yangUNIVERSITAS SUMATERA UTARA
mempengaruhi maka diperolehlah model yang optimal dan akan mengakibatkan diperolehnya hasil yang optimum dalam pengeluaran biaya pada suatu perusa- haan. Oleh karena itu, penelitian penentuan rute kendaraan ini perlu terus dilakukan, sehingga diperolehnya berbagai model dengan berbagai kondisi yang dapat menghasilkan formulasi yang optimum dalam menyelesaikan permasalah- an.
UNIVERSITAS SUMATERA UTARA
VEHICLE ROUTING PROBLEM
2.1 Graph
Graph bisa dibayangkan sebagai kumpulan obyek atau aktifitas. Sebagai contoh, rute bis kota dari satu terminal ke terminal lain, rute perjalanan seorang tukang pos pada saat mengantar surat dari satu rumah. ke rumah lain, dan contoh- contoh lain yang bisa disajikan sebagai suatu graph. Contoh diatas merupakan contoh klasik dari teori graph yang lebih dikenal dengan persoalan travelling salesman problem atau shortest path problem, yang pada prinsipnya mencari jalur terpendek dari semua tempat yang harus dikunjungi, sehingga dapat menghemat waktu, tenaga, maupun biaya. Selain contoh persoalan di atas, masih banyak persoalan lain yang bisa disajikan sebagai persoalan graph.
2.1.1 Definisi graph
Graph secara umum dapat didefinisikan sebagai kumpulan titik (nodes atau ver- tices) yang dihubungkan dengan garis (arcs atau edges). Secara singkat graph dapat ditulis sebagai G = (V, E), yang dalam hal ini:
V : Sekumpulan dari titik (nodes atau vertices).
: {v1, v2, v3, . . . , vn}
E : Sekumpulan garis yang menghubungkan titik ke titik yang lain.
: {e1, e2, e3, . . . , en}
6
UNIVERSITAS SUMATERA UTARA
2.1.2 Terminologi graph
Suatu garis selalu diawali pada suatu titik dan diakhiri pada titik yang lain, maka garis dapat dituliskan sebagai pasangan antara dua titik. Dalam notasi graph, garis dituliskan sebagai e = [u, v], yang berarti bahwa garis e berawal pada titik u dan berakhir pada titik v. Dua buah titik yang menghubungkan se- buah garis dikatakan sebagai titik yang bertetangga. Meskipun demikian, tidak harus semua titik yang ada pada sebuah graph dipasangkan dengan titik lain untuk membentuk garis. Titik-titik yang tidak dihubungkan dengan titik lain disebut dengan titik terisolir (isolated node). Gambar 2.1 menunjukkan contoh sebuah graph yang mempunyai 6 buah titik.
Gambar 2.1 Contoh graph dengan 6 buah titik.
Pada Gambar 2.1 dapat dilihat bahwa graph tersebut mempunyai 6 buah titik {A, B, C, D, E, F }, dan 9 buah garis {[A, B], [A, E], [B, C], [C, B], [C, D], [D, E], [C, E], [D, D], [E, B]}, dengan sebuah titik yang terisolir yaitu titik F . Pada gambar di atas juga dapat dilihat bahwa dari titik B ke titik C (atau seba- liknya) terdapat dua buah garis. Kondisi ini disebut sebagai garis ganda (multiple edges). Selain itu juga terdapat sebuah garis yang berujung dan berpangkal pada titik yang sama, yaitu pada titik D, garis ini disebut dengan kalang (loop).UNIVERSITAS SUMATERA UTARA
Sebuah jalur (path) dengan panjang n dari titik u ke titik v didefinisikan sebagai deretan n + 1 buah titik, dan ditulis dengan notasi:
P = (v0, v1, v2, . . . , vn)
sedemikian rupa sehingga titik yang merupakan pangkal dari suatu garis menjadi ujung dari garis berikutnya kecuali titik pertama dan terakhir (titik v0 dan vn).
Dalam notasi di atas, garis pertama akan terbentuk dari titik v0 dan v1, garis kedua terbentuk dari titik v1 dan v2, dan seterusnya. Jalur yang terbentuk dari titik yang berbeda disebut jalur sederhana (simple path).
Dalam Gambar 2.1, (C, D, D, E, A, B) adalah sebuah jalur dengan panjang 5, dan (C, D, E, A, B) disebut sebagai jalur sederhana dengan panjang 4.
Jalur yang kedua titik ujungnya sama (v0 = vn) disebut dengan jalur ter- tutup (closed path). Jalur tertutup yang terbent uk dari jalur sederhana disebut lingkar (cycle). Pada Gambar 2.1, (C, D, D, E, B, C) disebut sebagai jalur ter- tutup, dan (C, D, E, B, C) disebut sebagai lingkar.
Graph disebut terhubung (connected graph) apabila dari sembarang titik yang ada dapat dibuat jalur ke titik yang lain. Dengan demikian, graph pada Gambar 2.1 bukan merupakan graph terhubung, karena terdapat sebuah titik yang terisolir (titik F ). Jika titik terisolir tersebut dihapus, maka graph akan menjadi graph terhubung. Misalnya apabila titik F dihubungkan dengan titik C, maka graph menjadi graph terhubung.
Suatu graph disebut graph lengkap (complete graph) apabila setiap titik yang ada dihubungkan ke titik-titik yang lain. Gambar 2.2 merupakan graph lengkap, dan Gambar 2.1 bukan graph lengkap. Sembarang graph lengkap dengan n buah titik akan mempunyai garis sebanyak n(n − 1)/2 buah.UNIVERSITAS SUMATERA UTARA
Gambar 2.2 Contoh graph lengkap
Graph terhubung yang tidak mempunyai lingkar disebut sebagai graph po- hon (tree graph) atau pohon bebas (free tree) atau pohon. Dengan demikian, suatu pohon adalah salah satu bentuk khusus dari graph.
Graph berarah (directed graph atau digraph) adalah merupakan bentuk yang lebih khusus dari graph seperti dijelaskan di atas, karena di dalam graph berarah terkandung suatu aliran (flow), misalnya aliran beban, dari satu titik ke titik yang lain, dalam gambar biasanya disajikan menggunakan anak panah.
Dengan demikian, pasangan titik yang menyatakan suatu garis harus disusun secara berurutan (ordered pair). Hal ini bisa dipahami dengan membayangkan suatu jalan yang lalu lintasnya hanya bisa dalam satu arah (one-way traffic). Da- lam pasangan berurutan ini titik pertama menunjukkan titik asal aliran (source), dan titik kedua menunjukkan titik tujuan (sink). Dengan kenyataan di atas, ma- ka graph dalam Gambar 2.3 harus dituliskan sebagai:
N = {A, B, C, D, E, F }
E = {[A, B], [A, E], [B, C], [E, B], [C, E], [C, D], [E, D], [D, F ]}
Selain sebutan titik asal dan titik tujuan, titik pertama juga sering disebut sebagai predesesor dari titik kedua, dan titik kedua adalah suksesor dari titikUNIVERSITAS SUMATERA UTARA
Gambar 2.3 Contoh graph berarah
pertama. Dengan demikian, titik A adalah predesesor dari titik B dan E, dan titik B adalah suksesor dari titik A. Dengan memperhatikan banyaknya anak panah yang keluar dan masuk pada suatu titik, dikenal dua istilah yang lain, yaitu indegree dan outdegree. Indegree adalah banyaknya anak panah yang masuk ke suatu titik, dan outdegree adalah banyaknya anak panah yang meninggalkan suatu titik. Dengan mengambil contoh graph berarah pada Gambar 2.3 maka indegree dari titik A adalah 0, dan outdegree dari titik A adalah 2. Dengan cara yang sama dapat diketahui banyaknya indegree maupun outdegree dari setiap titik yang ada pada suatu graph berarah.
Sehubungan dengan graph berarah, graph tak berarah sering dipakai un- tuk menggambarkan graph berarah yang setiap garis pada graph tak berarah mewakili sepasang garis pada graph berarah yang mempunyai arah aliran yang saling berlawanan.
Graph berbobot (weighted graph) adalah graph yang setiap sisinya diberi sebuah nilai atau bobot. Bobot tiap sisi dapat menyatakan jarak antar dua buah kota atau panjang suatu jalan pada sebuah kota, biaya perjalanan antara dua buah kota, ongkos produksi dan sebagainya. Gambar 2.4 adalah contoh dari graph berbobot.
UNIVERSITAS SUMATERA UTARA
Gambar 2.4 Graph berbobot
2.1.3 Representasi graph
Pemrosesan graph dengan program komputer memerlukan representasi graph representasi graph dalam memori. Ada beberapa representasi graph yang mung- kin untuk dilakukan, salah satunya adalah dengan matriks adjacent (adjacency matrix).
Matriks adjacent adalah representasi graph yang paling umum digunakan.
Misalkan G = (V, E) adalah graph dengan n simpul, n ∈ i. Matriks adjacent G adalah matriks yang berukuran n × n, bila matriks tersebut dinamakan matriks A = [a, j] maka bernilai 1 (satu) jika simpul i dan j berbatasan dan bernilai 0 (nol) jika simpul i dan simpul j tidak berbatasan. Matriks adjacent untuk graph sederhana dan tidak berarah selalu simetris dan diagonal tamanya selalu bernilai 0 (nol) karena tidak ada sisi perulangan. Jumlah elemen matriks adjacent untuk graph dengan n simpul adalah n2. Jika tiap elemen membutuhkan ruang memori sebesar p maka ruang memori yang dibutuhkan seluruhnya adalah pn2.
Pada matriks adjacent untuk graph tak berarah sederhana simetris, cukup dengan menyimpan elemen segitiga atas saja, karena matriksnya simetris, se- hingga ruang lingkup memori akan dapat dihemat sebesar pnUNIVERSITAS SUMATERA UTARA2/2. Pada graph
berbobot, aij menyatakan tiap sisi yang menghubungkan simpul i dengan simpul j. Gambar 2.5 merupakan contoh graph berbobot beserta matriks adjacent.
Gambar 2.5 Matrik adjacent untuk graph berbobot
2.2 Travelling Salesman Problem
Travelling Salesman Problem (TSP) termasuk ke dalam persoalan yang sangat terkenal dalam teori graph. Nama persoalan ini diilhami oleh masalah seorang pedagang yang akan mengunjungi sejumlah kota. Uraian persoalannya adalah sebagai berikut:
“Seorang pedagang menggunakan waktunya untuk mengunjungi n kota (nodes) secara siklus perputaran. Didalam satu kali perjalanan keliling, ia harus menen- tukan urutan dari sejumlah kota yang harus dilaluinya, setiap kota hanya boleh dilalui sekali dan hanya sekali dalam perjalanan, dan perjalanan berakhir pada kota awal dimana ia memulai perjalanan”.
Kebanyakan Travelling Salesman Problem merupakan suatu simetris yang berarti untuk dua kota A dan B, jarak dari kota A ke kota B adalah sama dengan jarak dari kota B ke kota A. Dalam hal ini, kita akan mendapatkan panjang per- jalanan keliling yang sama persis jika kita membalikkan rute perjalanan tersebut.
Jadi tidak ada perbedaan antara suatu perjalanan keliling dan kebalikannya.UNIVERSITAS SUMATERA UTARA
Fungsi objektif dari persoalan Travelling Salesman Problem adalah sebagai berikut:
f(x) =
n
X
i,j=0
CijXij, Xij =
0, jika i dan j tidak terpilih, 1, jika i dan j terpilih
2.3 Karakteristik VRP
Vehicle Routing Problem (VRP) merupakan sebuah cakupan masalah yang di dalamnya ada sebuah problem dimana ada sejumlah rute untuk sejumlah kenda- raan yang berada pada satu atau lebih depot yang harus ditentukan jumlahnya agar tersebar secara geografis supaya bisa melayani konsumen-konsumen yang tersebar.
Toth dan Vigo (2002) mengemukakan tujuan yang ingin dicapai dalam VRP diantaranya:
1. Meminimalkan ongkos perjalanan secara keseluruhan yang dipengaruhi oleh keseluruhan jarak yang ditempuh dan jumlah kendaraan yang digunakan.
2. Meminimalkan jumlah kendaraan yang digunakan untuk melayani semua konsumen.
3. Menyeimbangkan rute.
4. Meminimalkan keluhan pelanggan.
VRP adalah sebuah problem pemrograman integer yang masuk kategori NP-Hard Problem, yang berarti usaha komputasi yang digunakan akan semakin sulit dan banyak seiring dengan meningkatnya ruang lingkup masalah. Per- masalahan VRP biasanya digambarkan dalam sebuah grafik. Grafik tersebut
UNIVERSITAS SUMATERA UTARA
menggambarkan permasalahan yang terjadi, yaitu berupa penyebaran konsumen yang harus dilayani dan posisi depot yang merupakan pusat pendistribusian berlangsung. Verteks (v0, . . . , vn) merupakan titik yang menunjukkan posisi de- pot dan konsumen berada.Verteks depot ditunjukkan oleh v0 dan yang lainnya menunjukkan konsumen yang berjumlah n. Garis yang menghubungkan antar verteks disebut arc. Arc menunjukkan waktu, ongkos perjalanan dan jarak yang digunakan untuk perjalanan dari satu titik ke titik yang lain. Solusi dianggap layak jika memenuhi beberapa syarat, yaitu rute yang terbentuk harus dapat melayani semua konsumen, semua konsumen hanya bisa dikunjungi satu kali,dan semua rute harus dimulai dan selesai di home depot. VRP memiliki karakteristik berupa demand yang berada pada setiap konsumen, memiliki satu depot, dan memiliki lebih dari satu kendaraan dengan kapasitas yang terbatas.
Beberapa komponen beserta karakteristik yang terdapat dalam masalah VRP menurut Toth dan Vigo (2002), yaitu sebagai berikut.
1. Jaringan jalan
Jaringan jalan biasanya direpresentasikan dalam sebuah graf. Jaringan jalan terdiri dari edge (rusuk) yang mempresentasikan bagian jalan yang digu- nakan, dan verteks (titik) yang mempresentasikan konsumen dan depot.
2. Konsumen
Konsumen atau pelanggan direpresentasikan dengan verteks (titik). Setiap konsumen memiliki jumlah permintaan yang berbeda-beda yang dapat mempe- ngaruhi lamanya waktu bongkar muat (loading unloading) barang. Pada be- berapa konsumen, biasanya terdapat time windows atau rentang waktu kapan konsumen tersebut dapat dilayani.
UNIVERSITAS SUMATERA UTARA
3. Depot
Depot direpresentasikan oleh verteks (titik). Depot merupakan tempat awal dan akhir dari suatu rute kendaraan. Depot memiliki sejumlah kenda- raan dengan jenis dan kapasitas tertentu yang dapat digunakan dalam mendis- tribusikan barang atau jasa pada jam operasio nal depot yang telah ditentukan (time windows depot).
4. Kendaraan
Kendaraan yang digunakan dalam proses distribusi memiliki kapasitas yang membatasi permintaan konsumen, yaitu dimana jumlah permintaan konsumen tidak boleh melebihi kapasitas kendaraan tersebut. Selain itu, kendaraan juga memiliki biaya yang berhubungan dengan penggunaan kendaraan, baik yang meliputi biaya pengeluaran untuk bahan bakar maupun sewa kendaraan.
5. Pengemudi
Pengemudi memiliki kendala seperti jam kerja harian, tambahan waktu lembur apabila diperlukan, jumlah dan jam istirahat, serta durasi maksimum perjalanan.
Dalam masalah penentuan rute kendaraan agar sesuai dengan tujuan yang telah ditentukan, ada beberapa kendala atau batasan yang harus dipenuhi VRP.
Batasan-batasan yang harus dipenuhi menurut Kallehauge (2001), yaitu sebagai berikut.
1. Setiap konsumen atau pelanggan hanya dikunjungi satu kali oleh satu kendaraan.
2. Semua pelanggan harus dilayani sesuai dengan permintaannya masing-UNIVERSITAS SUMATERA UTARA
masing yang telah diketahui sebelumnya.
3. Kendaraan yang digunakan adalah seragam/homogen dan memiliki kapa- sitas tertentu, Sehingga permintaan pelanggan pada setiap rute yang dilalui tidak boleh melebihi kapasitas kendaraan.
4. Setiap rute kendaraan berawal dari depot dan pada akhirnya juga harus kembali ke depot.
Penelitian mengenai VRP terus mengalami perkembangan sejak VRP per- tama kali diperkenalkan oleh Dantzig dan Ramser (1959) melalui makalah mereka yang berjudul “The Truck Dispatching Problem”. Dantzig dan Ramser meneliti bagaimana memperoleh rute optimal untuk truk tangki distribusi bensin dengan mengunakan pendekatan program linear. Pada tahun 1964, Clark dan Wright melakukan penelitian lanjutan dengan mengenalkan istilah depot sebagat tempat awal keberangkatan dan kembalinya kendaraan. Sejak itulah, VRP mulai dikenal dan terus berkembang dengan berbagai metode yang dipakai untuk memecahkan masalah VRP dan variasinya. Berikut ini terdapat beberapa jenis atau variasi masalah utama dalam VRP menu rut Toth dan Vigo (2002).
1. Capacitated Vehicle Routing Problem (CVRP). CVRP merupakan jenis VRP yang setiap kendaraannya memiliki kapasitas terbatas.
2. Distance Constrained Vehicle Routing Problem (DCVRP). DCVRP meru- pakan jenis VRP dengan kendala batasan panjang rute.
3. Vehicle Routing Problem with Pick up and Delivery (VRPPD). VRPPD merupakan jenis VRP dengan pelayanan jemput dan pelayanan antar da- lam setiap permintaan pelanggan.
UNIVERSITAS SUMATERA UTARA
4. Vehicle Routing Problem with Multiple Depot (MDVRP). MDVRP meru- pakan jenis VRP yang memiliki banyak depot dalam melakukan pelayanan terhadap pelanggan.
5. Split Delivery Vehicle Routing Problem (SDVRP). SDVRP merupakan je- nis VRP dimana pelayanan terhadap pelanggan dilakukan dengan meng- gunakan kendaraan yang berbeda-beda.
6. Vehicle Routing Problem with Time Windows (VRPTW). VRPTW meru- pakan jenis VRP dengan kendala kapasitas kendaraan dan batasan waktu (time windows) pada setiap pelanggan dan batasan waktu (time windows) pada setiap pelanggan dan depot.
Dalam penggunaan VRP untuk dunia nyata, banyak faktor sampingan yang muncul. Faktor-faktor tersebut berpengaruh pada munculnya variasi dari VRP, salah satunya adalah kombinasi dari VRPTW (Vehicle Routing Problem with Time Windws) dan SDVRP (Split Delivery Vehicle Routing Problem).
2.4 Vehicle Routing Problem with Time Windows
Vehicle Routing Problem with Time Windows adalah turunan dari Capacitated Vehicle Routing Problem dengan tambahan properti time windows yang diasosi- asikan pada tiap-tiap customer dan central depot. Time windows yang diasosi- asikan pada tiap customer adalah range waktu dimana customer dapat menerima barang kiriman. Time windows yang diasosiasikan pada central depot adalah range waktu antara semua kendaraan memulai rute dan waktu paling lambat untuk mengakhiri rute.
UNIVERSITAS SUMATERA UTARA
Time windows terdiri dari waktu buka dan waktu tutup customer dan Cen- tral depot. Jika suatu customer buka pukul 7-10 pagi, maka kendaraan harus sampai ke customer tersebut sebelum jam 10 pagi. Jika kendaraan tersebut sampai sebelum pukul 7 pagi, maka kendaraan tersebut harus menunggu sampai waktu itu untuk mulai melayani customer. Pada varian ini juga diperkenalkan istilah service time (waktu pelayanan) yang merepresentasikan waktu yang dibu- tuhkan untuk melayani suatu customer.
Service time dapat berupa waktu yang dibutuhkan untuk menurunkan barang dari suatu kendaraan.
Gambar 2.6 Contoh kasus VRPTW
Time windows yang dijabarkan diatas merupakan single time windows (satu interval). Pada kasus lain, terdapat kemungkinan bahwa interval lebih dari satu, yang biasa disebut multiple time windows. Contoh dari kasus ini adalah sebuah toko yang buka pada jam 7-11 pagi (interval pertama) dan jam 3-6 sore (interval kedua). Jika tiap kendaraan “harus” sampai di suatu customer sebelum cus- tomer itu tutup, maka time windows yang dipakai tergolong sebagai hard. Jika kendaraan “boleh” sampai setelah customer tutup, tetapi harus membayarkan sejumlah denda/penalti, maka time windows tergolong sebagai soft. Diberikan contoh kasus sederhana yang representasi grafnya dapat dilihat pada gambarUNIVERSITAS SUMATERA UTARA
2.6. Terdapat 7 customer yang harus dilayani. Kendaraan yang tersedia di central depot adalah 2. Kapasitas maksimum tiap kendaraan adalah 10 satu- an. Verteks-verteks merepresentasikan central depot dan semua customer. C0 merepresentasikan central depot, sedangkan C1-C7 merepresentasikan customer yang dilayani. Angka yang berada di dalam verteks merepresentasikan akhir dari time windows (end). Edge weight (angka yang berada di tiap-tiap edge) merepre- sentasikan biaya perjalanan yang berupa waktu perjalanan antara 2 lokasi yang dihubungkan oleh edge tersebut dalam suatu satuan waktu. Berikut ini diberi- kan grafik rentang time windows masing-masing customer dan central depot.
Gambar 2.7 Time Windows
Garis horizontal pada grafik di gambar 2.7 menunjukkan garis waktu. Se- dangkan garis vertikal menunjukkan indeks customer, mulai dari central depot (0) sampai dengan customer ke 7. Batang horizontal yang berwarna biru muda pada grafik tersebut menunjukkan rentang waktu antara waktu buka dan tutup para customer dan central depot. Waktu awal keberangkatan kendaraan adalah waktu awal time windows dari central depot, yaitu 0. Untuk representasi graf dari contoh kasus yang diberikan dapat dilihat pada gambar 2.8.
UNIVERSITAS SUMATERA UTARA
Gambar 2.8 Solusi Kasus VRPTW
Dari permasalahan yang telah dijabarkan, solusi yang dicari adalah rute optimal atau rute dengan total waktu perjalanan minimal untuk dua kendaraan yang berangkat dari central depot untuk melayani 7 customer yang masing- masing memiliki time windows. Rute dari kendaraan pertama direpresentasikan oleh edge-edge yang berwarna biru, sedangkan rute dari kendaraan kedua direpre- sentasikan oleh edge-edge yang berwarna hijau. Untuk detail rute dapat dilihat dibawah ini.
Rute #1 : C4 – C3 – C2 – C1 Rute #2 : C5 – C6 – C7 Cost 47
Untuk lebih jelasnya dapat dilihat pada diagram di gambar 2.9.
Gambar 2.9 Diagram Solusi VRPTW
UNIVERSITAS SUMATERA UTARA
Cara menghitung total biaya adalah dengan menjumlahkan semua edge weight (biaya perjalanan) yang merupakan bagian dari rute kendaraan. Kenda- raan pertama menempuh 8+ 5+ 4+ 2+ 6 = 25, dan kendaraan kedua menempuh 5 + 6 + 6 + 5 = 22. Total biaya adalah 25 + 22 = 47 satuan.
2.5 Split Delivery Vehicle Routing Problem
Split Delivery Vehicle Routing Problem (SDVRP) adalah salah satu varian dari Vehicle Routing Problem yang menghapus salah satu kendala yang mendefini- sikan VRP, yaitu tiap pelanggan harus dilayani oleh satu kendaraan saja. Pada SDVRP, satu pelanggan dapat dilayani oleh lebih dari satu kendaraan. Dengan demikian definisi dari SDVRP adalah masalah pencarian rute optimal atau rute dengan biaya minimum untuk sejumlah kendaraan yang melayani permintaan pengiriman barang oleh sejumlah pelanggan yang kuantitas barangnya telah di- tentukan sebelumnya, dan barang permintaan suatu pelanggan dapat dimuat terpisah (di-split) di beberapa kendaraan.
Diberikan contoh kasus sederhana yang representasi grafnya dapat dilihat pada gambar 2.10. Terdapat 3 kendaraan yang tersedia di suatu central depot untuk melayani 8 customer. Kapasitas maksimum kendaraan adalah 10 satu- an. Terdapat 1 pelanggan yang memesan barang melebihi kapasitas maksimum kendaraan, yang membuat customer tersebut harus dilayani oleh 2 kendaraan (split delivery). Verteks yang berwarna merah adalah central depot. Verteks yang berwarna biru merepresentasikan pelanggan yang dilayani oleh lebih dari satu kendaraan (split delivery). Angka-angka yang terdapat di dalam Verteks merepresentasikan kuantitas permintaan pelanggan (demand). Angka yang ter- dapat pada edge (edge weight) adalah biaya perjalanan antara dua lokasi yang
UNIVERSITAS SUMATERA UTARA
dihubungkan edge tersebut, yang satuannya dapat berupa jarak, waktu, atau satuan lainnya.
Gambar 2.10 Contoh Kasus SDVRP
Dari contoh kasus SDVRP yang telah dijabarkan diatas, solusi yang dicari adalah rute optimal atau rute dengan biaya minimal untuk 3 kendaraan da- lam melayani 8 pelanggan, yang salah satunya memesan barang diatas kapasitas maksimum kendaraan. Pelanggan C5 (verteks berwarna biru) memesan barang dengan kuantitas 11 satuan, yang melebihi kapasitas maksimum kendaraan sebe- sar 10 satuan. Oleh karena itu pelanggan C5 akan dilayani oleh 2 kendaraan.
Solusi optimal untuk contoh masalah diatas dapat dilihat di gambar 2.11.
Gambar 2.11 Solusi Kasus SDVRP
UNIVERSITAS SUMATERA UTARA
Edge-edge yang berwarna coklat adalah rute kendaraan pertama, yang melayani customer 1, 2, dan 8. Edge-edge yang berwarna hijau adalah rute kendaraan kedua, yang melayani customer 3, sebagian permintaan customer 5 sebesar 5 satuan, dan 6. Sedangkan edge-edge berwarna oranye merepresen- tasikan rute kendaraan ketiga, yang melayani customer 4, sisa permintaan cus- tomer 5 sebesar 6 satuan, dan 7. Untuk detail rute dapat dilihat dibawah ini.
Rute #1 : C8 – C1 – C2 Rute #2 : C3 – C5(5) – C6 Rute #3 : C4 – C5(6) – C7 Cost 55
Cara menghitung total biaya adalah dengan menjumlahkan semua edge weight (biaya perjalanan) yang merupakan bagian dari rute kendaraan. Kenda- raan pertama menempuh 4 + 3 + 2 + 4 = 13, kendaraan kedua menempuh 5 + 8 + 4 + 6 = 23, dan kendaraan ketiga menempuh 3 + 5 + 7 + 4 = 19.
Total biaya adalah 13 + 23 + 19 = 55 satuan.
Split Delivery Vehicle Routing Problem (SDVRP) didefinisikan jika asumsi bahwa setiap pelanggan dapat dikunjungi lebih dari sekali ditambahkan. SD- VRP dapat juga didefinisi melalui graph G = (V, E) dengan himpunan verteks V = {0, 1, 2, . . . , n}, dimana 0 menunjukkan depot dan selainnya adalah pelang- gan, dan E adalah himpunan edge. Biaya perjalanan (disebut juga dengan length) cij pada edge (i, j) ∈ E yang diasumsikan non negative dan memenuhi segitiga pertidaksamaan. Permintaan (demand) bilangan bulat di berhubungan dengan setiap pelanggan i ∈ V −{0}. Tersedia sejumlah kendaraan yang memliki kapasitas tidak terbatas, masing-masing dengan kapasitas Q ∈ Z+, Z+ adalah bilangn bulat positif. Diasumsikan batas atas m pada sejumlah kendaraan yang
UNIVERSITAS SUMATERA UTARA
dibutuhkan untuk melayani pelanggan yang tersedia, m = Pn i=1
di
Q
. Setiap kendaraan harus memulai perjalan dari depot dan berakhir di depot. Permintaan pelanggan harus dipenuhi, dan kuantitas yang disampaikan dalam tiap perjalan tidak boleh melebihi Q. Tujuannya adalah meminimuman total jarak perjalanan.
Archetti, et al. (2006) memberikan formulasi mixed integer (P) untuk SD- VRP yakni
Fungsi tujuan min
n
X
i=0 n
X
j=0 n
X
v=1
cijxvij Dengan kendala
n
X
i=0 m
X
v=1
xvij ≥ 1 j = 0, . . . , n (2.1)
n
X
i=0
xvip−
n
X
j=0
xvjp = 0 p = 0, . . . , n; v = 1, . . . , m (2.2) X
i∈S
X
j∈S
xvij ≤ |S| − 1 v = 1, . . . , m; S ⊆ V − {0} (2.3) yiv ≤ diPn
j=0xvij i = 1, . . . , n; v = 1, . . . , m (2.4)
m
X
v=1
yiv = di v = 1, . . . , m (2.5)
n
X
i=1
yiv ≤ k i = 1, . . . , n (2.6)
xvij ∈ {0, 1} i, j = 1, . . . , n; v = 1, . . . , m (2.7) yiv ≥ 0 i = 1, . . . , n; v = 1, . . . , m (2.8)
Keterangan indeks:
i : indeks untuk konsumen awal, dimana i = 1, . . . , n j : indeks untuk konsumen tujuan, dimana j = 1, . . . , n v : indeks untuk kendaraan, dimana v = 1, . . . , m
UNIVERSITAS SUMATERA UTARA
Keterangan parameter:
n : banyaknya node m : banyaknya kendaraan Q : kapasitas kendaraan
cij : biaya atau jarak dari node i ke node j di : permintaan pelanggan ke i
M : bilangan positif yang lebih besar atau sama dengan Pn i=1di
Variabel keputusan:
xijv : 1 jika kendaraan v menempuh perjalanan dari pelanggan i lang- sung ke pelanggan j; 0 jika tidak demikian
yiv : kuantitas permintan i yang disampaikan oleh kendaraan ke v
Persamaan (2.1) menunjukan bahwa tiap konsumen dapat dikunjungi lebih dari satu kali oleh kendaraan yang berbeda. Persamaan (2.2) menunjukkan bah- wa kendaraan harus meninggalkan konsumen yang telah dikunjungi, persamaan ini sering disebut dengan istilah kendala flow conservation. Persamaan (2.3) ada- lah kendala eliminasi subtour. Persamaan (2.4) menyatakan bahwa pelanggan ke i dapat dilayani oleh kendaraan v hanya jika kendaraan v melewati i. Persamaan (2.5) menyatakan bahwa seluruh permintaan pada setiap verteks dipenuhi meski dibatasi. Persamaan (2.6) menyatakan bahwa kuantitas yang disampaikan oleh setiap kendaraan tidak melebihi kapasitas kendaraan. Catatan, akibat adanya kendala pada persamaan (2.5) maka dihasilkan kendala konektivitas yang berlaku pada setiap kendaraan. Kendala konektivitas tersebut adalah:
m
X
v=1 n
X
j=0
xvij ≥
m
X
v=1
yiv = 1; i = 1, . . . , m (2.9)
UNIVERSITAS SUMATERA UTARA
Untuk membuktikan bahwa selalu ada solusi bilangan bulat optimal P, maka Archetti, et al (2006) mengembangkan suatu teorema, yaitu
Teorema 2.1 Jika (P ) mempunyai solusi yang feasible, maka selalu ada solusi optimal dimana variable yiv ∈ Z+.
Bukti. Misalkan s∗ adalah notasi solusi optimal dari (P ), misalkan z∗ menja- di nilainya, dan misalkan xvij∗ dan y∗iv menjadi nilai optimal dari variabel. Jika semua variabel y∗iv mempunyai nilai bilangan bulat, maka tak ada yang perlu dibuktikan. Jika tidak, misalkan A adalah notasi himpunan pasangan (i, v) di- mana i ∈ V − {0}, v ∈ {1, . . . , m} dan sedemikian hingga Pn
j=0xvij∗ ≥ 1. Untuk setiap pelanggan i, didefenisikan N+(i) = {v|(i, v) ∈ A}, demikian pula defenisi untuk setiap kendaraan v maka himpunan N−(v) = {i|(i, v) ∈ A}.
Selanjutnya diberikan kendala berikut ini:
X
v∈N+(i)
yiv = di, i = 1, . . . , n (2.10) X
v∈N−(i)
yiv ≤ k, v = 1, . . . , m (2.11)
yiv ≥ 0, (i, v) ∈ A (2.12)
Persamaan (2.10) - (2.12) adalah kendala klasik pada permasalahan penu- gasan, dan nilai yiv∗ mendefenisikan tugas yang feasible. Karena bagian kanan kendala persamaan (2.10) - (2.12) adalah bilangan bulat, hal ini juga mengaki- batkan variabel yiv adalah bilangan bulat. Dengan mengganti nilai-nilai variabel y∗iv dalam s∗ dengan a, maka akan didapatkan satu solusi yang feasible untuk P dan nilai z∗ karena variabel yiv tidak terlihat dalam fungsi tujuan.
Dror dan Trudeau (1989) juga menunjukkan sifat lain yang menarik pada solusi optimal SDVRP. Untuk memahami hasilnya, maka Dror dan Trudeau (1989) memberikan definisi sebagai berikut: UNIVERSITAS SUMATERA UTARA
Definisi 1 Diberikan himpunan C = {i1, i2, . . . , ik} pelanggan danandaikan ada k rute r1, . . . , rk, k ≥ 2, sedemikian hingga rw memuat pelanggan iw dan iw+1, dimana w = 1, . . . , k−1,dan rkmemuat pelanggan i1dan ik. Sehingga konfigurasi ini disebut siklus k-split.
Dror dan Trudeau (1989) telah menunjukkan bahwa jika jarak memenuhi ketidaksamaan segitiga, maka selalu ada solusi optimal untuk SDVRP yang tidak mengandung siklus k-split, dimana k ≥ 2. Khusus untuk k = 2, ini berakibat bahwa ada solusi optimal dimana setiap pasang tur memiliki satu titik yang sama.
2.6 Kendala eliminasi subtur dan kendala hubungan
Bagian ini akan membuktikan kevalidan kendala eliminasi subtur dan kenda- la hubunganpada SDVRP, dan membandingkannya dengan kendala yang sama yang diturunkan dari VRP klasik. Kendala eliminasi subtur dikembangkan dari hubungan antara kendala TSP dan VRP. Berikut ini adalah kendala eliminasi subtur standar yang dikembangkan oleh Dantzig et al pada TSP.
X
i,j∈S
xij ≥ |S| − 1, (S ⊂ N \ {0}; 2 ≤ |S| ≤ n − 1) (2.13)
Kendala pada persamaan (2.13) ini mengeliminasi semua subtur yang telah didefinisikan pada himpunan bagian N \ {0} yang memuat antara 2 sampai n − 1 titik. Karena pada TSP hanya ada 1 kendaraan, maka xij harus didefinikan menjadi xij1 dalam formulasi SDVRP. Hal tersebut jelas memperlihatkan bahwa kendala eliminasi subtur pada persamaan (2.13) sama dengan kendala hubungan pada persamaan berikut ini:
X
i∈S,j∈ ¯S
xij ≥ 1, (S ⊂ N \ {0}; 2 ≤ |S| ≤ n − 1; ¯S = N \ S) (2.14)
UNIVERSITAS SUMATERA UTARA
Dalam kasus VRP klasik, persamaan (2.13) dapat diperkuat dengan per- samaan berikut:
¯ m
X
v=1
X
i,j∈S
xijv ≤ |S| = V (S), (S ⊆ N \ {0}; |S| ≥ 2) (2.15) Dimana V (S) adalah jumlah kendaraan yang dibutuhkan untuk melayani seluruh node pada S dalam solusi VRP yang layak. Nilai V (S) dapat ditentukan dengan menyelesaikan permasalahan bin packing, tetapi batas bawah selalu digunakan.
Agar memberikan solusi, V (S) diperoleh dengan menentukan W (S) = {v; xijk >
0, i ∈ S, j /∈ S}, dan V (S) adalah bilangan terkecil dari kendaraan W (S) yang dibutuhkan untuk menutupi total permintaan S. Persamaan (2.15) juga sama dengan persamaan berikut ini:
¯ m
X
v=1
X
i,j∈S
xijv ≥ V (S), (S ⊆ N \ {0}; |S| ≥ 2) (2.16)
Persamaan (2.15) dan (2.16) menghilangkan dua jenis ketaklayakan yaitu subtur yang diputuskan dari depot, dan rute kendaraan yang terhubung ke depot, tetapi seluruh permintaan melebihi kapasitas kendaraan.
Dalil 1. (Dror, et al, 1994)
¯ m
X
v=1
X
i,j∈S
xvij ≤X
i∈S
di− V (S), (S ⊆ N \ {0}; |S| ≥ 2) (2.17) Eqivalen dengan persamaan (2.16) dan oleh karena itu berlaku ketaksamaan untuk SDVRP.
Bukti. Hasil berikut langsung berasal dari fakta yang menyatakan bahwa bahwa untuk setiap himpunan bagian tak kosong S pada N \ {0}, hubungan berikut ini adalah benar melalui defenisi di.
X
i∈S
di =
m¯ X
v=1
X
i,j∈S
xvij + X
i∈S,j∈ ¯Sxvij
(2.18)
Dalam SDVRP, kendala pada persamaan (2.17) dapat digunakan untuk menghi- langkan subtur terputus dari depot.
UNIVERSITAS SUMATERA UTARA
Program bilangan bulat atau integer programming (IP) adalah bentuk lain dari Pemrograman Linier (LP) dimana asumsi divisibilitasnya melemah atau hilang sama sekali. Bentuk ini muncul karena dalam kenyataannya tidak semua variabel keputusan dapat berupa bilangan pecahan.
Integer Programming pada pokoknya berkaitan dengan program-program linier dimana sebagian atau seluruh variabelnya diasumsikan sebagai bilangan integer. Sebuah integer programming (IP) bersifat campuran atau murni bergan- tung dari semua atau sebagian variabelnya terhadap pembatasan nilai-nilai in- teger. Meskipun terdapat beberapa algoritma yang telah dikembangkan untuk menyelesaikan masalah Integer programming ini, tidak satupun dari metode yang ada merupakan metode yang paling baik dalam perhitungannya. Tidak seper- ti program linier, dimana masalah-masalah dengan ribuan variabel dan ribuan kendala atau batasan dapat diselesaikan dalam jumlah waktu yang wajar, penga- laman dalam perhitungan dengan integer programming (IP), setelah lebih dari 30 tahun pengembangannya, tetap sulit dilakukan.
Kesulitan perhitungan dengan menggunakan integer programming yang tersedia telah menuntun beberapa penggunanya untuk menemukan cara penye- lesain masalah yang bersangkutan. Salah satu pendekatan dalam menyelesai- kan permasalahan tersebuat adalah dengan memodelkan permasalahan tersebut kedalam bentuk ILP dan kemudian membulatkan solusi yang optimum kedalam nilai integer yang terdekat. Akan tetapi, tidak terdapat jaminan dalam kasus ini bahwa pemecahan yang dibulatkan itu akan memenuhi batasan-batasan. Ini
29
UNIVERSITAS SUMATERA UTARA
selalu berlaku jika ILP semula memiliki satu batasan atau lebih yang berbentuk persamaan. Dari teori pemrograman linier, sebuah pemecahan yang dibulatkan dalam kasus ini adalah tidak layak, karena pemecahan itu menyiratkan bahwa basis yang sama dapat menghasilkan dua pemecahan yang berbeda. Berdasarkan teori Linear programing, pembulatan tidaklah fisibel, selama hal itu disamakan kedalam persamaan dasar karena dapat menghasilkan dua buah solusi yang berbeda.
Nilai integer dari beberapa variabel telah membuat metode penyelesaian sulit untuk merencanakan algoritma yang efektif dalam pencarian langsung nilai integer yang fisibel dari solusi yang ada. Dari gambaran kesulitan itu, banyak penelitian prosedur pencarian solusi dikembangkan.
Terdapat dua metode untuk menghasilkan pembatas khusus yang akan menghasilkan suatu solusi yang optimum dari masalah LP relaksasi untuk berge- rak kearah pemecahan integer yang diinginkan yakni Branch-and-Bound dan Cutting Plane.
Pada kedua metode tersebut, penambahan pembatas sangat efektif dalam menghilangkan atau mengurangi ruang solusi yang direlaksasi, tetapi tidak per- nah menyingkirkan satupun titik integer yang layak. Sayangnya, tidak satupun dari dua metode dapat diklaim sebagai solusi integer programming yang efektif.
Akan tetapi dari kedua metode tersebut, metode Branch-and-Bound jauh lebih berhasil dalam pencarian solusi dibandingkan dengan metode cutting plane. Di- mana metode cutting plane merupakan metode pertama yang dikenalkan dalam literature Riset Operasional.
Teknik yang lainya yang dapat digunakan untuk penyelesaian program bi- langan bulat biner (zero-one) adalah metode yang disebut enumerasi implisit.
UNIVERSITAS SUMATERA UTARA
Dimana metode enumerasi implisit tersebut dikenalkan pada tahun 1965 setelah metode Branch-and-Bound maupun cutting plane beredar setidaknya selama 5 tahun. Akan tetapi pada dasarnya enumerasi implisit merupakan kasus-kasus dari algoritma Branch and Bound yang lebih umum.
3.1 Metode Branch-and-Bound
Pemecahan masalah optimasi Travelling Salesman Problem merupakan peker- jaan yang membutuhkan algoritma yang efisien, dan algoritma Branch and Bound merupakan salah satu algoritma untuk memecahkan masalah tersebut. Algorit- ma Branch and Bound mencari sejumlah solusi yang lengkap untuk masalah yang ada dengan hasil yang terbaik. Walaupun begitu, penggunaan satu per satu se- cara eksplisit tidak mungkin dilakukan dalam kaitan penambahan sejumlah solusi yang potensial. Penggunaan batas (bound) untuk fungsi yang akan dioptimalkan dikombinasikan dengan nilai solusi terbaik yang ada memungkinkan algoritma untuk mencari bagian-bagian dari sejumlah solusi secara implisit.
Pada titik sembarang sepanjang proses solusi, status solusi yang berkenaan dengan pencarian sejumlah solusi dijelaskan oleh sekelompok ahli yang mempela- jari dan belum seluruhnya dieksplorasi tetapi sejauh ini merupakan solusi terbaik yang ada saat ini. Pada awalnya hanya ada subset yaitu ruang solusi lengkap (complete solution space) dan solusi terbaik sejauh ini yang ditemukan baru 1.
Subspace yang belum diperiksa direpresentasikan sebagai titik-titik dalam se- buah pohon pencarian yang dihasilkan secara dinamis, dimana awalnya hanya berisi root, dan setiap iterasi dari algoritma Branch and Bound klasik mem- proses satu titik. Iterasi memiliki tiga komponen utama yaitu pemilihan titik untuk diproses, kalkulasi batasan (bound), dan pencabangan. Pada Gambar 3.1 dijelaskan situasi awal dan langkah berikutnya dari proses.
UNIVERSITAS SUMATERA UTARA
(a)
(b)
(c)
Gambar 3.1 Pencarian menggunakan algoritma Branch and Bound
Urutan dari pencarian ini dapat dipertukarkan sembarang sesuai dengan strategi yang dipilih untuk memilih node berikutnya yang akan diproses. Ji- ka pemilihan subproblem berikutnya didasarkan pada nilai batas (bound) dari subproblem, maka operasi pertama dari iterasi setelah pemilihan node adalah pencabangan (branching), yaitu pembagian ruang solusi dari node menjadi dua atau lebih subspace untuk diperiksa dalam sebuah iterasi sub rangkaian. Untuk setiap rangkaian, akan diperiksa apakah subspace terdiri dari satu solusi, yang kemudian dibandingkan.
Pencarian menggunakan algoritma Branch and Bound dengan solusi ter- baik yang ada selama pencarian. Jika tidak, pembatasan fungsi untuk subspace
UNIVERSITAS SUMATERA UTARA
dihitung dan dibandingkan dengan solusi terbaik yang diperoleh. Jika penca- rian tidak dapat dilanjutkan dimana subspace tidak berisi solusi yang optimal, keseluruhan subspace akan dibuang, selain itu subspace akan disimpan dalam kelompok node bersama-sama dengan batasannya (bound). Alternatif lainnya adalah dengan memulai menghitung batas (bound) dari node yang terpilih dan kemudian mencabangkannya jika diperlukan. Node-node yang dibuat kemudian disimpan bersamaan dengan batas dari node yang diproses. Pencarian berakhir saat tidak ada lagi bagian dari ruang solusi yang diperiksa, dan solusi optima l kemudian dicatat sebagai solusi terbaik.
3.2 Terminologi Branch and Bound
Dalam Branch and Bound terdapat metode untuk meminimalkan masalah di- mana kasus maksimalisasi masalah dapat dikerjakan dengan cara yang sama.
Masalahnya adalah meminimalkan fungsi f(x) dari variabel (x1, . . . , xn) sepan- jang ruang solusi yang mungkin, S:
minx∈Sf(x)
Fungsi f disebut fungsi objektif (objective function) dan dapat berupa berbagai tipe. Suatu kemungkinan solusi umumnya ditentukan oleh kondisi umum pada variabel, meskipun begitu variabel ini harus bukan bilangan bu- lat atau biner negatif dan batasan khusus menentukan struktur dari set yang mungkin. Pada satu kesempatan, satu set potensial, P , berisi S dimana f masih dibutuhkan. Fungsi g(x) diperlukan pada S (atau P ) dengan g(x), f(x) untuk semua x dalam S (atau P ). Baik P dan g sangat diperlukan pada konteks Branch and Bound.
UNIVERSITAS SUMATERA UTARA
Istilah subproblem digunakan untuk menandakan masalah yang berasal dari masalah sebenarnya melalui penambahan batasan baru. Subproblem sesuai dengan subspace dari ruang solusi asli, dan dua terminologi yang digunakan da- pat dipertukarkan dan dalam konteks dari pohon pencarian dapat dipertukarkan dengan terminologi titik. Untuk lebih jelas mengenai algoritma Branch and Bound, akan diaplikasikan pada masalah optimalisasi kombinatorial yang terke- nal yaitu Travelling Salesman Problem (TSP). Masalah yang muncul dari TSP berhubungan dengan rute perjalanan untuk mengantarkan atau menjual barang pada beberapa kota dengan seminimal mungkin waktu dan jarak perjalanan.
Berikut ini merupakan contoh dari kasus Travelling Salesman Problem Simetris.
Umumnya TSP simetris dihasilkan oleh simetrik n × n matrik D dengan jarak tidak negatif dan tujuannya adalah mencari panjang minimum dari per- jalanan Hamilton (Hamilton tour). Dalam kaitannya dengan grafik, digunakan undirected graph lengkap dengan n simpul Kn, dan panjang tidak negatif diberi- kan pada sisi-sisinya, dan tujuannya adalah menentukan panjang minimum dari perjalanan Hamilton (Hamilton tour). Masalah dapat juga dinyatakan secara matematika menggunakan variabel keputusan untuk menguraikan sisi-sisi yang akan disertakan didalam perjalanan. Digunakan nilai 0, 1 dengan variabel xij; 1 ≤ i, j ≤ n, dan mengintepretasikan nilai 0 menjadi “Tidak dalam perjalanan” dan sebaliknya untuk nilai 1. Masalahnya kemudian menjadi:
min
n−1
X
i=1 n
X
j=i+1
dijxij
sehingga menjadi
i−1
X
k=1
xki+
n
X
k=i+1
xik = 2, i ∈ {1, . . . , n}
X
i,j∈Z
xij < |Z|, ∅ ⊂ Z ⊂ V
xij ∈ {0, 1}, i, j ∈ {1, . . . , n}UNIVERSITAS SUMATERA UTARA
Satuan pertama dari pembatas memastikan bahwa untuk masing-masing i tepatnya dua variabel yang dihubungkan sisi dengan i yang terpilih. Saat masing-masing sisi mempunyai dua titik akhir yang mengimplikasikan bahwa variabel n dibolehkan untuk mengambil nilai 1. Satuan kedua dari pembatas ter- diri dari batasan sub perjalanan yang di eliminasi. Masing-masing dari batasan ini ditentukan untuk menspesifikasikan subset S dari V dimana nilai dari sisi- sisinya dihubungkan dengan simbol dalam S yang harus kurang dari |S| dengan demikian engesampingkan batasan dari bentuk sub perjalanan. Tetapi banyak yang bersifat eksponen pada pembatasan ini.
Batasan yang diberikan menentukan satuan solusi yang mungkin (S). Satu cara yang jelas memudahkan dalam mengatur sekumpulan solusi yang poten- sial adalah dengan meringankan batasan eliminasi dari sub perjalanan. Satuan solusi potensial P merupakan anggota dari semua satuan sub perjalanan, seper- ti masing-masing i mengacu pada tepatnya salah satu dari sub perjalanan pada setiap satuan yang ditetapkan. Suatu subproblem dari TSP simetris yang diberi- kan dibangun dengan menentukan subset A dari sisi G yang harus disertakan da- lam perjalanan yang akan dibangun. Pengeluaran dari suatu sisi (i, j) biasanya dimodelkan dengan mengatur cij ke, dimana pemasukan dari suatu sisi dapat ditangani dalam berbagai cara. Nilai dari solusi yang mungkin untuk masalah diatas adalah (n + 1)! = 2, dengan n = 50 adalah 3 × 1062.
Algoritma Branch and Bound digunakan untuk meminimalkan masalah.
Oleh karena itu algoritma ini terdiri dari tiga komponen, yaitu:
1. Fungsi pembatas (bounding): fungsi yang disediakan subspace dari ruang solusi dengan batas rendah untuk nilai solusi terbaik yang diperoleh dalam subspace.
UNIVERSITAS SUMATERA UTARA
2. Strategi seleksi: suatu strategi untuk memilih solusi subspace aktif untuk diperiksa dalam iterasi, dan
3. Aturan pencabangan (branching): Suatu aturan yang diaplikasikan jika subspace setelah diperiksa tidak dapat dibatalkan, karena itu pembagian subspace kedalam dua atau lebih subspace untuk diperiksa dalam sub rangkaian iterasi.
3.3 Fungsi pembatas (Bounding)
Fungsi pembatas merupakan kunci komponen dari berbagai algoritma Branch and Bound dalam arti bahwa fungsi pembatas yang berkualitas rendah tidak dapat dikompensasikan melalui pilihan yang baik dari pemilihan strategi dan pencabangan. Idealnya nilai dari fungsi pembatas yang diberikan p ada sub- problem seharusnya sama dengan nilai solusi terbaik dari masalah, tetapi saat mendapatkan nilai ini biasanya dimasukan sendiri kedalam NP-hard.
Tujuannya adalah untuk mendapatkan kemungkinan sejumlah perhitungan komputasi terbatas. Fungsi pembatas disebut kuat (strong), jika fungsi meng- hasilkan nilai mendekati nilai optimal untuk batasan subproblem, dan lemah (weak), jika nilai yang dihasilkan jauh dari optimal. Satu hal yang sering diala- mi dari pertukaran antara kualitas dan waktu saat berhubungan dengan fungsi pembatas. Karena itu semakin banyak waktu dihabiskan untuk menghitung batas, biasanya semakin baik nilai dari batas (bound).
Fungsi pembatas biasanya muncul dalam hubungan dengan satuan solusi potensial P dan fungsi g. Berkaitan dengan fakta bahwa S ˜NP , dan g(x)f(x) pada P , berikut ini merupakan merupakan fungsi lengkapnya.
minx∈P g(x) ≤minx∈Pf(x) minx∈Sg(x)
≤ min
x∈Sf(x)
UNIVERSITAS SUMATERA UTARA
Jika P dan g aktif, maka sekarang akan ada pilihan untuk memilih diantara tiga masalah optimasi, dimana setiap solusi optimal akan menyediakan batas terendah untuk fungsi objektif yang diberikan. Kemampuan disini adalah untuk memilih antara P atau g sehingga salah satunya mudah untuk memecahkan dan menyediakan batasan yang mendekati.
3.4 Strategi Seleksi
Strategi untuk menyeleksi subproblem aktif berikutnya untuk diperiksa biasanya menggambarkan pertukaran diantara menjaga nilai dari titik yang diperiksa da- lam pohon pencarian tetap rendah, dan tinggal di dalam kapasitas memori dari komputer yang digunakan. Jika yang satu selalu memilih diantara salah satu sub- problem aktif, salah satu dari subproblem dengan batas terendah disebut best first search strategy, BeFS, tidak ada kalkukasi batas (bound) yang berlebihan terjadi setelah solusi optimal ditemukan. Gambar 3.2 (a) menunjukan sebuah po- hon pencarian kecil dengan nilai pada setiap node berkaitan dengan rangkaian, dimana node-node diproses saat BeFS digunakan.
Meskipun pilihan dari subproblem dengan batas terendah (lower bound) saat ini berhasil mengenai kemungkinan menghasilkan suatu kemungkinan solusi yang baik, masalah memori muncul jika nilai dari subproblem kritis dari masalah yang diberikan menjadi terlalu besar. Situasinya kurang lebih berkaitan dengan strategi breath first search, dimana seluruh node pada satu level dari pohon pencarian diproses sebelum node berada pada level tertinggi. Gambar 3.2 (b) menunjukkan pohon pencarian dengan nilai-nilai dalam setiap node berkaitan dengan rangkaian proses BFS. Nilai dari setiap node pada masing-masing level dari pohon pencarian tumbuh secara eksponen dengan level yang membuat tidak mungkin untuk melakukan breath first search, untuk masalah yang lebih besar.
UNIVERSITAS SUMATERA UTARA
Alternatif yang digunakan adalah depth first search, DFS. Disini node yang aktif dengan level tertinggi dalam pohon pencarian dipilih untuk eksplo- rasi/pelacakan . Gambar 3.2 (c) menunjukan DFS memproses rangkaian nilai dari node. Kebutuhan memori dalam kaitan dengan jumlah subproblem untuk menyimpan pada saat yang bersamaan sekarang dibatasi diatas oleh banyaknya level dalam pohon pencarian dikalikan dengan jumlah maksimum child dari node, dimana biasanya sejumlah besar yang dapat dikendalikan.
3.5 Aturan Pencabangan
Seluruh aturan pencabangan dalam konteks Branch and Bound dapat terlihat sebagai subdivision dari bagian ruang pencarian melalui penambahan batasan, sering dalam bentuk penandaan nilai pada variabel. Pemusatan dari Branch and Bound dipastikan jika ukuran dari setiap subproblem yang dihasilkan lebih kecil dari masalah awal, dan sejumlah kemungkinan solusi untuk masalah awal terbatas. Secara normal, subproblem yang dihasilkan terpisah sehingga perlu di- hindari adanya masalah dari kemungkinan solusi yang sama yang muncul dalam subspace yang berbeda dari pohon pencarian.
Metode Branch and Bound adalah salah satu metode untuk menghasilkan penyelesaian optimal program linier yang menghasilkan variabel-variabel keputu- san bilangan bulat. Sesuai dengan namanya, metode ini membatasi penyelesaian optimum yang akan menghasilkan bilangan pecahan dengan cara membuat ca- bang atas dan bawah bagi masing-masing variable keputusan yang bernilai peca- han agar bernilai bulat sehingga setiap pembatasan akan menghasilkan cabang baru.
Langkah-langkah penyelesaian masalah program linier menggunakan meto- de branch and bound, adalah: UNIVERSITAS SUMATERA UTARA
(a)
(b)
(c)
Gambar 3.2 Strategi pencarian dalam Branch and Bound: (a) Best First Search, (b) Breadth First Search, dan (c) Depth First SearchUNIVERSITAS SUMATERA UTARA