Metode Branch and Bound

Dari PL 2.5 didapatkan: A = , b = Misalkan dipilih = T dan = T maka matriks basisnya adalah B = , N = . . Dengan menggunakan matriks basis tersebut diperoleh . 2.6 . Solusi 2.6 merupakan solusi basis, karena solusi tersebut memenuhi kendala PL 2.5 dan kolom-kolom pada matriks kendala yang berpadanan dengan komponen taknol dari 2.6 yaitu B adalah bebas linear kolom yang satu bukan merupakan kelipatan dari kolom yang lain. Solusi 2.6 juga merupakan solusi fisibel basis, karena nilai-nilai variabelnya lebih dari atau sama dengan nol. 2.2 Pemrograman Linear Integer Pemrograman linear integer PLI adalah suatu model pemrograman linear dengan variabel yang digunakan berupa bilangan bulat integer. Jika semua variabel harus berupa integer, maka masalah tersebut dinamakan pure integer programming. Jika hanya sebagian yang harus berupa integer, maka disebut mixed integer programming MIP. PLI dengan semua variabelnya harus bernilai 0 atau 1 disebut 0-1 PLI Garfinkel Nemhauser 1972 Definisi 8 Relaksasi Pemrograman Linear Relaksasi pemrograman linear atau sering disebut relaksasi-PL merupakan suatu pemrograman linear yang diperoleh dari suatu PLI dengan menghilangkan kendala integer atau kendala 0-1 pada setiap variabelnya. Untuk masalah maksimisasi, nilai optimum fungsi objektif relaksasi-PL lebih besar atau sama dengan nilai optimum fungsi objektif PLI, sedangkan untuk masalah minimisasi, nilai optimum fungsi objektif relaksasi-PL lebih kecil atau sama dengan nilai optimum fungsi objektif PLI. Winston 2004

2.3 Metode Branch and Bound

Dalam penulisan 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, nonlinear, 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 algoritma branch-and-bound. 1. Branch Cabang Branching pencabangan adalah proses membagi permasalahan menjadi subproblem- subproblem yang mungkin mengarah ke solusi. 2. 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. Metode branch-and-bound diawali dari menyelesaikan relaksasi-PL dari suatu pemrograman linear integer. Jika semua nilai variabel keputusan solusi optimum sudah berupa integer, maka solusi tersebut merupakan solusi optimum 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 lebih kecil atau sama dengan 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 masalah maksimisasi bahwa nilai fungsi objektif optimum 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 dahulu pengertian subproblem yang terukur. Menurut Winston 2004, suatu subproblem dikatakan terukur fathomed jika salah satu kondisi berikut terpenuhi: a. Subproblem tersebut takfisibel, sehingga tidak dapat menghasilkan solusi optimum bagi 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. Suatu subproblem dapat dieliminasi apabila subproblem tersebut takfisibel dan batas bawah kandidat solusi lebih kecil untuk masalah maksimisasi dari nilai fungsi objektif optimum untuk subproblem tersebut. Berikut ini adalah langkah-langkah penyelesaian suatu masalah maksimisasi dengan metode branch-and-bound : Langkah 0 Didefinisikan z sebagai batas bawah dari solusi PLI yang optimum. Pada awalnya tetapkan z = − dan i = 0. 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, maka batas bawah z dapat diperbarui. Batas bawah z dapat diperbaharui jika solusi PLI yang lebih baik telah ditemukan. Jika tidak, maka bagian masalah subproblem baru i dipilih dan langkah 1 diulangi. Jika semua subproblem telah diteliti, maka proses dihentikan. b Jika PL i tidak terukur, lanjutkan ke langkah 2 untuk melakukan pencabangan PL i . Langkah 2 Pilih satu variabel x j yang nilai optimumnya, yaitu x j , tidak memenuhi batasan integer dalam solusi PL i . Singkirkan bidang [x j ] x j [x j ]+1 dengan membuat dua bagian masalah PL yang berkaitan menjadi dua batasan 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 mengenai metode branch-and-bound diberikan contoh sebagai berikut: Contoh 2 Misalkan diberikan PLI sebagai berikut: Maksimumkan z = 5 x 1 + 4 x 2 terhadap x 1 + x 2 5 10 x 1 + 6 x 2 x 1 , x 2 0 dan integer 2.7 Solusi optimal relaksasi-PL dari masalah PLI 2.7 adalah x 1 =3.75, x 2 =1.25, dan z =23.75 lihat Lampiran 1. Jadi batas atas nilai optimal fungsi objektif masalah PLI 2.7 adalah z= 23.75. Daerah fisibel relaksasi-PL masalah 2.7 ditunjukkan pada Gambar 1 daerah yang diarsir sedangkan titik-titik merupakan solusi fisibel masalah PLI 2.7. Gambar 1 Daerah fisibel PLI 2.7 Langkah berikutnya adalah memartisi daerah fisibel relaksasi-PL menjadi dua bagian berdasarkan variabel yang bernilai pecahan non-integer. Karena x 1 = 3.75 dan x 2 =1.25 variabel bernilai pecahan maka dipilih x 2 x 1 Daerah fisibel x 1 = 3.75 x 2 = 1.25 salah satu variabel, misalkan x 1 , sebagai dasar pencabangan. Jika masalah relaksasi-PL dari PLI 2.7 diberi nama Subproblem 1 dan Subproblem 1 dicabangkan atas x 1 , maka pencabangan tersebut menghasilkan 2 subproblem, yaitu: Subproblem 2: Subproblem 1 ditambah kendala x 1 ≥ 4 Subproblem 3: Subproblem 1 ditambah kendala x 1 ≤ 3. Daerah fisibel untuk kedua subproblem di atas diilustrasikan secara grafis pada Gambar 2. Gambar 2 Daerah fisibel untuk Subproblem 2 x 1 ≥ 4 dan Subproblem 3 x 1 ≤ 3. Setiap titik solusi fisibel dari PLI 2.7 termuat dalam daerah fisibel Subproblem 2 atau Subproblem 3. Setiap subproblem ini saling lepas. Sekarang dipilih subproblem yang belum diselesaikan, misalkan dipilih Subproblem 2. Solusi optimal untuk Subproblem 2 ini adalah x 1 = 4, x 2 = 0.8333 dan z = 23.333, lihat Lampiran 1 bagian Subproblem 2. Karena solusi optimal yang dihasilkan Subproblem 2 bukan solusi integer, maka Subproblem 2 dicabangkan atas x 2 sehingga diperoleh dua subproblem lagi, yakni: Subproblem 4: Subproblem 3 ditambah kendala x 2 ≥ 1; Subproblem 5: Subproblem 3 ditambah kendala x 2 ≤ 0. 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 aturan ini berarti dipilih Subproblem 4 atau Subproblem 5. Subproblem 4 takfisibel lihat Lampiran 1 bagian Subproblem 4 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 x 1 =4.5, x 2 =0 dan z=22.5 lihat Lampiran 1 bagian Subproblem 5. Karena x 1 =4.5 bukan integer, maka dilakukan kembali pencabangan atas x 1 , sehingga diperoleh: Subproblem 6: Subproblem 5 ditambah kendala x 1 ≥5 ; Subproblem 7: Subproblem 5 ditambah kendala x 1 ≤4. Misalkan dipilih Subproblem 6. Ternyata Subproblem 6 ini juga takfisibel lihat Lampiran 1 bagian Subproblem 6, 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 opimal x 1 =4, x 2 = 0, dan z= 20 lihat Lampiran 1 bagian Subproblem 7. Dapat dilihat bahwa solusi optimal subproblem ini semuanya berupa integer, sehingga merupakan kandidat solusi untuk PLI 2.7. Nilai z pada kandidat solusi ini merupakan batas bawah bagi nilai optimal PLI. Penyelesaian Subproblem 3 menghasilkan solusi optimal x 1 = 3, x 2 = 2 dan z= 23 lihat Lampiran 1 bagian Subproblem 3. Batas bawah yang ditetapkan dari solusi optimal Subproblem 7 tidak lebih baik dari nilai solusi optimal yang dihasilkan Subproblem 3. Dengan demikian, nilai solusi optimal Subproblem 3, yakni z = 23 menjadi batas bawah yang baru. Semua solusi optimal telah berupa integer dan tidak perlu dilakukan pencabangan kembali, sehingga solusi optimal dari Subproblem 3 merupakan solusi optimal PLI 2.7, yakni x 1 = 3, x 2 = 2 dan z= 23. Pohon pencabangan yang menunjukkan proses penyelesaian masalah PLI 2.7 secara keseluruhan ditunjukkan pada Gambar 3. x 1 x 2 Subproblem 3 Subproblem 2 Gambar 3 Seluruh pencabangan pada metode branch and bound untuk menentukan solusi PLI 2.7 III DESKRIPSI DAN PEMODELAN MASALAH

3.1 Deskripsi masalah