Integer Programming Metode Branch and Bound

2 1 2 3 1 2 4 1 5 1 2 3 4 5 2 4 2 11 5 , , , , 0 4 x x x x x x x x x x x x x − + + = − + + = + = ≥ B N x Ax B N x ⎛ ⎞ = ⎜ ⎟ ⎝ ⎠ B N Bx Nx b = + = . 2 Karena B adalah matriks taksingular, maka B memiliki invers, sehingga dari 2 B x dapat dinyatakan sebagai: 1 1 B N x B b B Nx − − = − . 3 Definisi 2 Solusi Basis Solusi dari suatu LP disebut solusi basis jika: i. Solusi tersebut memenuhi kendala pada LP. ii. Kolom-kolom dari matriks koefisien yang berpadanan dengan komponen taknol adalah bebas linear. Nash Sofer, 1996 Definisi 3 Solusi Basis Fisibel Vektor x disebut solusi basis fisibel jika x merupakan solusi basis dan x ≥ . Nash Sofer, 1996 Ilustrasi solusi basis dan solusi basis fisibel dapat dilihat dalam contoh berikut: Contoh 1 Misalkan diberikan linear programming berikut: Minimumkan 1 2 2 3 z x x = − − terhadap Dari LP tersebut didapatkan: 2 1 1 1 2 1 1 1 A − ⎛ ⎞ ⎜ ⎟ = − ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ , 4 11 5 b ⎛ ⎞ ⎜ ⎟ = ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ Misalkan dipilih 3 4 5 T B x x x x = dan 1 2 T N x x x = maka matriks basis 1 1 1 B ⎛ ⎞ ⎜ ⎟ = ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ Dengan menggunakan matriks basis tersebut, diperoleh T N x = , 1 4 11 5 T B x B b − = = 5 Solusi 5 merupakan solusi basis, karena solusi tersebut memenuhi kendala pada LP 4 dan kolom-kolom pada matriks kendala yang berpadanan dengan komponen taknol dari 5 yaitu B adalah bebas linear kolom yang satu bukan merupakan kelipatan dari kolom yang lain. Solusi 5 juga merupakan solusi basis fisibel, karena nilai-nilai variabelnya lebih dari atau sama dengan nol.

2.2 Integer Programming

Integer programming IP adalah suatu model linear programming dengan variabel yang digunakan berupa bilangan bulat integer. Jika semua variabel harus berupa integer, maka masalah tersebut disebut pure integer programming. Jika hanya sebagian yang harus integer maka disebut mixed integer programming. IP dengan semua variabelnya harus bernilai 0 atau 1 disebut 0-1 IP. Garfinkel Nemhausher, 1972 Definisi 4 Linear Programming Relaksasi LP-relaksasi merupakan linear programming yang diperoleh dari suatu IP dengan menghilangkan kendala integer atau kendala 0-1 pada setiap varibelnya. Untuk masalah memaksimumkan, nilai fungsi objektif yang optimal di LP-relaksasi lebih besar atau sama dengan nilai fungsi objektif optimal di IP, sedangkan untuk masalah meminimumkan nilai fungsi objektif yang optimal di LP-relaksasi lebih kecil atau sama dengan nilai fungsi objektif yang optimal di IP. Winston, 1995

2.3 Metode Branch and Bound

Masalah integer programming dapat dipecahkan dengan metode branch and bound. Metode ini sering dipakai dalam program komputer untuk aplikasi masalah riset operasi yang dibuat oleh perusahaan software. Keunggulan metode branch and bound terletak pada tingkat efektifitasnya dalam memecahkan masalah dengan hasil yang akurat. Prinsip dasar metode branch and bound adalah membagi daerah fisibel dari masalah LP-relaksasi dengan cara membuat subproblem-subproblem baru sehingga masalah integer programming terpecahkan. Daerah fisibel suatu linear programming adalah daerah yang memuat titik-titik yang dapat memenuhi kendala linear masalah linear programming. Berikut adalah langkah-langkah dalam metode branch and bound untuk masalah maksimisasi: 3 x 2 x 1 x 2 • Langkah 0 Definisikan z sebagai batas bawah dari solusi IP yang optimum. Pada awalnya tetapkan z = −∞ dan i = 0. • Langkah 1 Pilih LP i sebagai bagian masalah berikutnya untuk diteliti. LP i dikatakan terukur jika salah satu kondisi berikut dipenuhi: 1. LP i menghasilkan solusi integer yang fisibel bagi IP. 2. LP i tidak dapat menghasilkan solusi yang lebih baik daripada batas bawah terbaik yang tersedia dari masalah IP. Taha, 1996 Selesaikan LP i dan coba ukur bagian masalah itu dengan kondisi yang sesuai. a Jika LP i terukur, perbarui batas bawah z jika solusi IP yang lebih baik ditemui. Jika tidak pilih bagian masalah baru i dan ulangi langkah 1. Jika semua bagian masalah telah diteliti, hentikan. b Jika LP i tidak terukur, lanjutkan ke langkah 2 untuk melakukan pencabangan LP i . • Langkah 2 Pilih satu variabel x j yang nilai optimumnya adalah x j tidak memenuhi batasan integer dalam solusi LP i . Singkirkan bidang [x j ] x j [x j ] + 1 dengan membuat dua bagian masalah LP yang berkaitan menjadi dua batasan yang tidak dapat dipenuhi secara bersamaan yaitu : [ ] dan [ ] 1 j j j j x x x x + dengan [x j ] didefinisikan sebagai integer terbesar yang kurang dari atau sama dengan x j Kembali ke langkah 1. Untuk memudahkan pemahaman metode branch and bound diberikan contoh sebagai berikut: Contoh 1: Misalkan diberikan IP sebagai berikut: Maksimumkan z = 5x 1 + 4x 2 terhadap x 1 + x 2 5 10x 1 + 6x 2 45 x 1 , x 2 0 dan integer. 6 Solusi IP di atas diperlihatkan oleh titik-titik pada gambar berikut: 1 2 3 4 5 1 2 3 4 5 6 7 Gambar 1 Daerah Fisibel IP. Dari gambar di atas solusi optimum dari LP relaksasi LP adalah x 1 = 3,75, x 2 = 1,25 dan z = 23,75. Solusi optimum tersebut tidak memenuhi persyaratan integer. Berdasarkan algoritma branch and bound subproblem yang baru harus dibuat. Pilih variabel x i yang optimum secara sembarang yang tidak memenuhi persyaratan integer, misalnya x 1 =3,75. Amati bahwa bidang 3x 1 4 bukan daerah fisibel bagi masalah IP. Oleh karena itu buang bidang tersebut dan ganti ruang LP semula dengan dua ruang LP yaitu LP 1 dan LP 2 yang didefinisikan sebagai berikut: 1. Ruang LP 1 = ruang LP + x 1 3. 2. Ruang LP 2 = ruang LP + x 1 4. Gambar berikut memperlihatkan ruang LP 1 dan LP 2 . 1 2 3 4 5 1 2 3 4 5 6 7 Gambar 2 LP 1 dan LP 2 dalam grafik. Dari gambar di atas karena batasan baru 1 3 x ≤ dan 1 4 x ≥ tidak dapat dipenuhi secara bersamaan, maka LP 1 dan LP 2 harus ditangani sebagai dua linear programming yang berbeda. IP optimum akan berada di LP 1 atau LP 2 . Selesaikan masalah LP 1 dan LP 2 satu per satu. Misalkan LP 1 dipilih pertama kali untuk diselesaikan, yaitu: LP 1 LP 2 4 LP x 2 x 2 1 x 1 3 x 1 4 LP 3 LP 4 LP 1 LP 2 1 2 3, 75 , 1, 25 dan 23, 75 x x z = = = 1 2 4, 0, 8333 dan 23, 3333 x x z = = = 1 2 3, 2 dan 23 x x z = = = 1 2 4, 5 , 0 dan 22, 5 x x z = = = Tanpa Solusi x 1 5 x 1 4 LP 5 LP 6 Tanpa Solusi 1 2 4, 0 dan 20 x x z = = = Maksimumkan z = 5 x 1 + 4 x 2 terhadap x 1 + x 2 5 10x 1 + 6x 2 45 x 1 3 x 1 , x 2 0 dan integer. 7 Dengan menyelesaikan LP di atas maka akan dihasilkan solusi optimum yang baru yaitu: 1 2 3, 2 dan 23 x x z = = = 8 Karena LP 1 sudah terukur, tidak perlu dilakukan pencabangan di LP 1 . Persamaan 8 dijadikan kandidat solusi bagi masalah IP. Sekarang akan dipecahkan LP 2 , yaitu: Maksimumkan z = 5 x 1 + 4 x 2 terhadap x 1 + x 2 5 10x 1 + 6x 2 45 x 1 4 x 1 , x 2 0 dan integer. 9 Solusi dari 9 adalah sebagai berikut: 1 2 4, 0, 8333 dan 23, 333 10 x x z = = = Perhatikan 10, LP 2 tidak terukur akibatnya pencabangan harus dilakukan lagi. Karena x 1 bernilai integer, pilih x 2 untuk membuat pencabangan yang baru. Gambar 3 adalah hasil pencabangan yang dilakukan dengan menggunakan metode branch and bound, penghitungan nilai – nilai variabel dilakukan dengan menggunakan LINDO 6.1 dan dapat dilihat pada lampiran1. Gambar 3 Pencabangan yang dilakukan metode branch and bound untuk menemukan solusi IP. Dari Gambar 3, solusi LP 1 dan LP 5 adalah kandidat solusi untuk 6. Namun karena nilai z untuk LP 1 lebih besar dari LP 5 maka solusi dari LP 1 adalah solusi untuk 2. 2.4 Graf Definisi 5 Graf Sebuah graf yang dinotasikan G=V,E adalah pasangan terurut V,E dari himpunan V yang takkosong dan terbatas dengan himpunan E. Setiap anggota himpunan V disebut verteks. Himpunan E adalah pasangan takterurut dari setiap verteks yang berbeda di V. Setiap , { } p q E ∈ dimana , p q V ∈ disebut sisi dan verteks p dengan verteks q dikatakan mempunyai hubungan. Foulds, 1992 5 Berikut adalah contoh dari sebuah graf: G=V,E dengan 1 2 3 4 { , , , } V v v v v = dan 1 2 2 3 4 1 1 3 { , , , } E v v v v v v v v = . v 1 v 2 v 4 v 3 Gambar 4 Graf G = V,E. Definisi 6 Digraf Misalkan G = V, A adalah sebuah graf. G = V,A disebut digraf graf berarah jika setiap sisi di dalam G = V,A mempunyai arah. Dengan kata lain, sebuah digraf didefinisikan sebagai pasangan terurut V,A dengan V adalah himpunan tak kosong dan terbatas dan A adalah himpunan pasangan terurut dari verteks-verteks yang berbeda di V. Setiap anggota A disebut arc sisi berarah. Jika , u v adalah sebuah arc sisi berarah maka u disebut predesesor dari v dan v disebut suksesor dari u. Foulds, 1992 Berikut adalah sebuah digraf G =V,A dengan 1 2 3 4 { , , , } V v v v v = dan 1 2 2 3 3 4 4 1 { , , , } A v v v v v v v v = . v 1 v 2 v 3 v 4 Gambar 5 Digraf G=V,A. Definisi 7 Walk Misalkan G = V,E adalah sebuah graf. Walk adalah barisan verteks dan sisi di G yang berbentuk : 1 1 2 2 2 3 3 -1 -1 ,{ , }, ,{ , }, , ..., ,{ , }, n n n n v v v v v v v v v v v Secara sederhana walk dinotasikan sebagai berikut: 1 2 3 , , , ...., n v v v v Foulds, 1992 Definisi 8 Graf Terbobot G = V,E disebut graf terbobot jika ada fungsi : E ω → ℜ ℜ adalah himpunan bilangan real yang menghubungkan setiap sisi di E dengan tepat satu bilangan real. Foulds, 1992 Definisi 9 Walk Tertutup Misalkan 1 2 3 , , , ...., n v v v v adalah walk. 1 2 3 , , , ...., n v v v v disebut walk tertutup bila v 1 = v n . Foulds, 1992 Definisi 10 Trail Trail adalah walk dengan seluruh sisi yang berbeda. Foulds, 1992 Definisi 11 Path Path adalah walk dengan seluruh verteks yang berbeda. Foulds, 1992 Definisi 12 Cycle Sebuah walk tertutup yang mempunyai paling sedikit 3 verteks yang berbeda disebut cycle. Foulds, 1992 2.5 Vehicle Routing Problem Vehicle Routing Problem VRP merupakan masalah pendistribusian setiap kendaraan yang terletak di depot untuk memenuhi permintaan para pelanggan yang tersebar di banyak tempat. Masalah utama dari VRP adalah membuat rute yang fisibel dengan biaya yang rendah untuk setiap kendaraan dengan ketentuan bahwa setiap kendaraan memulai dan mengakhiri perjalanan dari depot. Marinakis Migdalas, 2002 Misalkan V` adalah himpunan pelanggan yang harus dilayani. Fungsi objektif dari sebuah VRP adalah mencari sebanyak m buah rute kendaraan dengan total biaya yang minimum sehingga setiap pelanggan di V’ dikunjungi oleh tepat satu kendaraan. Sebuah rute R i dikatakan fisibel jika setiap pelanggan dikunjungi tepat satu kali oleh sebuah kendaraan dan total waktu dari sebuah rute kendaraan tidak melebihi batasan waktu yang ditentukan. Gambar berikut mencoba menjelaskan input dari sebuah VRP dan solusi yang mungkin terjadi. 6 + + + + + + + + + + + + + + Gambar 6 Input dari sebuah VRP. + + + + + + + + + + + + + + Gambar 7 Solusi yang mungkin dari VRP pada gambar 5. VRP mempunyai beragam kendala tambahan yang sering ditemukan pada masalah dunia nyata. Beberapa kendala tersebut adalah sebagai berikut: 1. Setiap kendaraan dapat beroperasi pada lebih dari sebuah rute selama total waktu operasi kendaraan tersebut tidak melebihi waktu yang ditentukan. 2. Setiap pelanggan harus dikunjungi dalam waktu yang telah ditentukan time window. 3. Kendaraan dapat melakukan pengiriman dan pengambilan barang 4. Kendaraan harus beroperasi selama waktu yang telah ditentukan.

2.5.1 Vehicle Routing with Scheduling

Problem VRSP Vehicle routing with scheduling problem VRSP adalah VRP dengan tambahan kendala berupa periode waktu untuk setiap aktivitas yang harus dilakukan setiap kendaraan. Tiga kendala umum yang ada di VRSP adalah sebagai berikut: 1. Ada batasan waktu untuk setiap kendaraan untuk melakukan seluruh tugas yang ada. 2. Setiap kendaraan tidak dapat menjalankan seluruh tugas yang ada. 3. Ada lebih dari satu depot untuk menempatkan kendaraan. Marinakis Migdalas, 2002 Pelanggan Depot Rute kendaraan vehicle route Depot 7 III DESKRIPSI DAN FORMULASI MASALAH PENGANGKUTAN SAMPAH DI JAKARTA PUSAT

3.1 Studi Literatur tentang Pengelolaan