Rute kendaraan
+ +
+ +
+ +
+ +
+ +
+ +
+ +
Gambar 6 Solusi yang mungkin dari VRP pada Gambar 5 dengan tiga kendaraan.
Tujuan dari VRP adalah menentukan sejumlah rute untuk melakukan pengiriman
pada setiap konsumen, dengan mengikuti beberapa ketentuan antara lain :
1. setiap rute berawal dan berakhir di depot, 2. setiap konsumen dikunjungi tepat satu
kali oleh tepat satu kendaraan, 3. jumlah permintaan tiap rute tidak
melebihi kapasitas kendaraan, 4. meminimumkan biaya perjalanan,
Cordeau et al. 2002
Definisi 17 Capacitated Vehicle Routing Problem
Capacitated Vehicle Routing Problem CVRP merupakan salah satu variasi dari
masalah VRP dengan penambahan kendala kapasitas kendaraan. Setiap kendaraan yang
melayani konsumen disyaratkan memiliki batasan kapasitas sehingga banyaknya
konsumen yang dilayani oleh setiap kendaraan dalam satu rute bergantung pada
kapasitas kendaraan. CVRP bertujuan meminimumkan waktu tempuh rute
perjalanan kendaraan dalam mendistribusikan barang dari tempat produksi yang dinamakan
dengan depot ke sejumlah konsumen dan memenuhi batasan kapasitas.
2.8 Metode Branch-and-Bound
Dalam karya ilmiah ini, untuk memperoleh solusi optimum dari masalah PLI
digunakan software LINGO 8.0, yaitu sebuah program yang dirancang untuk menentukan
solusi model linear, taklinear, dan optimisasi integer.
Software LINGO 8.0 ini menggunakan metode branch-and-bound
untuk menyelesaikan masalah PLI. Prinsip dasar metode branch-and-bound
adalah memecah daerah fisibel dari masalah relaksasi-PL dengan membuat subproblem-
subproblem. Terdapat dua konsep dasar dalam algoritme branch-and-bound.
• Branch Cabang Branching pencabangan adalah proses
membagi permasalahan menjadi subproblem- subproblem yang mungkin mengarah ke
solusi fisibel.
• Bound Batas Bounding pembatasan adalah suatu proses
untuk mencari atau menghitung batas atas dalam masalah minimisasi dan batas bawah
dalam masalah maksimisasi untuk solusi optimum pada subproblem yang mengarah ke
solusi.
Taha 1975 Metode branch-and-bound diawali dari
menyelesaikan relaksasi-PL dari suatu pemrograman linear integer. Jika semua nilai
variabel keputusan solusi optimal sudah berupa
integer, maka solusi tersebut merupakan solusi optimal PLI. Jika tidak,
dilakukan pencabangan dan penambahan batasan pada relaksasi-PLnya kemudian
diselesaikan.
Winston 2004 menyebutkan bahwa untuk masalah maksimisasi nilai fungsi
objektif optimum untuk PLI nilai fungsi
objektif optimum untuk relaksasi-PL, sehingga nilai fungsi objektif optimum
relaksasi-PL merupakan batas atas bagi nilai fungsi objektif optimum untuk masalah PLI.
Diungkapkan pula oleh Winston 2004 untuk ≤
Depot
masalah maksimisasi bahwa nilai fungsi objektif optimal untuk suatu kandidat solusi
merupakan batas bawah nilai fungsi objektif optimum untuk masalah PLI asalnya. Suatu
kandidat solusi diperoleh jika solusi dari suatu subproblem sudah memenuhi kendala integer
pada masalah PLI, artinya fungsi objektif dan semua variabelnya sudah bernilai integer.
Sebelumnya akan dibahas terlebih dulu pengertian subproblem yang terukur. Menurut
Winston 2004, suatu subproblem dikatakan terukur fathomed jika terdapat situasi
sebagai berikut: a. Subproblem tersebut takfisibel, sehingga
tidak dapat menghasilkan solusi optimum untuk PLI.
b. Subproblem tersebut menghasilkan suatu solusi optimum dengan semua variabelnya
bernilai integer. Jika solusi optimum ini mempunyai nilai fungsi objektif yang
lebih baik daripada solusi fisibel yang diperoleh sebelumnya, maka solusi ini
menjadi kandidat solusi optimum dan nilai fungsi objektifnya menjadi batas bawah
dalam masalah maksimisasi dan batas atas dalam masalah minimisasi nilai
fungsi objektif optimum bagi masalah PLI pada saat itu, bisa jadi subproblem ini
menghasilkan solusi optimum untuk masalah PLI.
c. Nilai fungsi objektif optimum untuk subproblem tersebut tidak melebihi batas
bawah saat itu untuk masalah maksimisasi, maka subproblem ini dapat
dieliminasi.
Berikut ini adalah langkah-langkah penyelesaian suatu masalah maksimisasi
dengan metode branch-and-bound. • Langkah 0
Didefinisikan z sebagai batas bawah dari nilai fungsi objektif solusi PLI yang optimum.
Pada awalnya ditetapkan dan
• Langkah 1 Subproblem PL
i
dipilih sebagai bagian masalah berikutnya untuk diteliti. Subproblem
PL
i
diselesaikan dan diukur dengan kondisi yang sesuai.
a Jika PL
i
terukur, batas bawah z diperbarui jika solusi PLI yang lebih baik
ditemukan. Jika tidak, bagian masalah subproblem baru i dipilih dan langkah 1
diulangi. Jika semua subproblem telah diteliti, maka proses dihentikan.
b Jika PL
i
tidak terukur, proses dilanjutkan ke langkah 2 untuk melakukan
pencabangan PL
i.
• Langkah 2 Dipilih salah satu variabel x
j
dengan nilai optimumnya adalah x
j
yang tidak memenuhi batasan integer dalam solusi PL
i
. Bidang [x
j
] x
j
[x
j
] + 1 disingkirkan dengan membuat dua subproblem PL yang berkaitan menjadi
dua subproblem yang tidak dapat dipenuhi secara bersamaan, yaitu
x
j
≤ [x
j
] dan x
j
≥ [x
j
] + 1, dengan [x
j
] didefinisikan sebagai integer terbesar yang kurang dari atau sama dengan
x
j
. Jika PL
i
masih tidak terukur, maka kembali ke Langkah 1.
Taha 1996 Untuk memudahkan pemahaman metode
branch-and-bound diberikan contoh sebagai berikut.
Contoh 3 Metode Branch-and-Bound
Misalkan diberikan integer programming IP berikut:
maks z = 5x
1
+ 4x
2
terhadap x
1
+ x
2
≤ 5 10x
1
+ 6x
2
≤ 45 2.7
x
1
, x
2
≥ 0 x
1
, x
2
integer. Solusi optimal relaksasi-PL dari masalah
IP 2.7 adalah dan
yang dapat dilihat di Lampiran 1. Batas atas nilai optimal fungsi objektif
masalah ini adalah Daerah fisibel
masalah 2.7 ditunjukkan pada Gambar 7.
Gambar 7 Daerah fisibel untuk relaksasi-PL dari IP 2.7.
Keterangan : = solusi optimal relaksasi-PL IP 2.7
= titik-titik fisibel bagi IP 2.7 Langkah berikutnya adalah memartisi
daerah fisibel relaksasi-PL menjadi dua bagian berdasarkan variabel yang bernilai
−∞ =
z
. =
i
1
3.75, x
=
2
1.25, x
= 23.75
z =
23.75. z
=
pecahan non-integer. Karena nilai dari kedua variabel yang diperoleh bukan integer,
maka dipilih salah satu variabel untuk dasar pencabangan. Misalkan dipilih x
1
sebagai dasar pencabangan. Jika masalah relaksasi-PL
diberi nama Subproblem 1, maka pencabangan tersebut menghasilkan 2
subproblem, yaitu: • Subproblem 2: Subproblem 1 ditambah
kendala • Subproblem 3: Subproblem 1 ditambah
kendala Hal ini diilustrasikan secara grafis pada
Gambar 8.
Gambar 8 Daerah fisibel untuk Subproblem 2 dan Subproblem 3 dari IP 2.7.
Setiap titik solusi fisibel dari IP 2.7 termuat dalam daerah fisibel Subproblem 2
atau Subproblem 3. Setiap subproblem ini saling lepas. Subproblem 2 dan Subproblem 3
dikatakan dicabangkan oleh x
1
. Sekarang dipilih subproblem yang belum
diselesaikan. Misalkan dipilih Subproblem 2, kemudian diselesaikan. Solusi optimal untuk
Subproblem 2 ini adalah dan
lihat Lampiran 1. Karena solusi optimal yang dihasilkan Subproblem 2
bukan solusi integer, maka dipilih pencabangan pada Subproblem 2 atas
sehingga diperoleh dua subproblem lagi, yakni:
• Subproblem 4: Subproblem 2 ditambah kendala
• Subproblem 5: Subproblem 2 ditambah kendala
Saat ini subproblem yang belum diselesaikan adalah Subproblem 3, 4, dan 5.
Salah satu subproblem dipilih, misalnya dengan aturan LIFO Last In First Out.
Dengan adanya aturan ini berarti dipilih Subproblem 4 atau Subproblem 5. Karena
Subproblem 4 takfisibel lihat pada Lampiran 1, maka subproblem ini tidak dapat
menghasilkan solusi optimal, yang tersisa adalah Subproblem 3 dan Subproblem 5.
Karena aturan LIFO, dipilih Subproblem 5, yang kemudian menghasilkan solusi
optimal dan
lihat pada Lampiran 1. Karena
bukan integer, maka dilakukan kembali pencabangan
atas x
1
, sehingga diperoleh: • Subproblem 6: Subproblem 5 ditambah
kendala • Subproblem 7: Subproblem 5 ditambah
kendala Misalkan dipilih Subproblem 6. Ternyata
subproblem ini juga takfisibel lihat pada Lampiran 1, sehingga tidak dapat
menghasilkan solusi optimal. Dengan demikian subproblem-subproblem yang
belum diselesaikan adalah Subproblem 3 dan Subproblem 7. Karena aturan LIFO, dipilih
Subproblem 7. Subproblem ini kemudian
menghasilkan solusi optimal dan
lihat pada Lampiran 1. Dapat dilihat bahwa solusi optimal subproblem ini
semuanya berupa integer, sehingga merupakan kandidat solusi untuk IP 2.7.
Nilai z pada kandidat solusi ini merupakan batas bawah bagi nilai optimal IP.
Penyelesaian Subproblem 3 menghasilkan
solusi optimal dan
lihat pada Lampiran 1. Batas bawah yang ditetapkan dari solusi optimal Subproblem 7
terlalu lemah dan tidak lebih baik dari nilai solusi optimal yang dihasilkan oleh
Subproblem 3. Dengan demikian, nilai solusi optimal Subproblem 3, yakni
menjadi batas bawah yang baru. Semua solusi optimal
telah berupa integer dan tidak perlu lagi dilakukan pencabangan, sehingga solusi
optimal dari Subproblem 3 merupakan solusi optimal IP 2.7, yakni
dan Pohon pencabangan yang
menunjukkan penyelesaian masalah IP 2.7 secara keseluruhan ditunjukkan pada Gambar
9.
1
4; x
≥
1
3. x
≤
1
4, x
=
2
0.83, x
= 23.33
z =
2
, x
2
1; x
≥
2
0. x
≤
1
4.5, x
=
2
0, x
= 22.5
z =
1
4.5 x
=
1
5; x
≥
1
4. x
≤
1 2
4, 0, x
x =
= 20
z =
1 2
3, 2, x
x =
=
23 z
=
23 z
=
1
3, x
=
2
2, x
= 23.
z =
Subproblem 2 Subproblem 3
Pada Gambar 9, solusi Subproblem 3 dan Subproblem 7 adalah kandidat solusi terbaik
karena semua variabelnya bernilai integer. Namun, karena nilai z untuk Subproblem 3
lebih besar dari Subproblem 7 maka solusi dari Subproblem 3 merupakan solusi optimum
untuk masalah IP pada Contoh 3. Tanda pada Subproblem 3 dan Subproblem 7
menyatakan kandidat solusi untuk masalah IP tersebut.
III DESKRIPSI DAN FORMULASI MASALAH
3.1 Deskripsi Masalah Rute Bus Karyawan