Pencabangan dan Pembatasan Branch and Bound

b Daerah feasible dari masalah master baik lebih dibatasi. Lihat Magnanti dan Wong,. Dan Sherali c Bila mungkin, kendala harus dimasukkan dalam masalah master menghalangi solusi layak yang belum realistis suboptimal untuk keseluruhan masalah. Lihat kendala mesin minimum di Danok, McCarl dan White, 1978. Bruce A. McCarl dan T.H.Spreen, 1997.

2.3 Pencabangan dan Pembatasan Branch and Bound

Branch and bound bukan sebuah teknik solusi khusus terbatas untuk masalah integer programming. Branch and bound adalah pendekatan solusi yang dapat diterapkan pada beberapa jenis masalah. Pendekatan Branch and bound didasarkan pada prinsip bahwa himpunan total solusi layak dapat dipartisi menjadi subset yang lebih kecil dari solusi. Subset yang lebih kecil ini kemudian dapat dievaluasi secara sistematis sampai solusi terbaik ditemukan. Ketika pendekatan Branch and bound diterapkan untuk masalah integer programming, akan digunakan konjungsi dengan pendekatan solusi noninteger yang normal Paul R. Thie, 1979. Menurut Taha 1975, untuk melaksanakan teknik pencabangan dan pembatasan branch and bound ada dua operasi dasar, yaitu: 1. Pencabangan Branching, merupakan pembagian persoalan jawab kontinu menjadi subpersoalan di mana semuanya juga kontinu. 2. Pembatasan Bounding, merupakan pembatasan setiap subpersoalan yang dibuat dengan pencabangan. Batas ini penting untuk tingkatan jawab optimal dari sub persoalan dan penemuan jawab optimal bilangan bulat. Teknik pencabangan dan pembatasan branch and bound mencari solusi optimal dari suatu persoalan pemrograman bilangan bulat Integer Programming dengan mengenumerasi titik-titik dalam daerah fisibel dari suatu subpersoalan Dimyati dan A. Dimyati, 1992. Universitas Sumatera Utara Branch and Bound adalah algoritma umum untuk mencari solusi optimal dari berbagai masalah optimasi. Metode ini pertama kali diperkenalkan oleh A.H. Land dan A.G. Doig pada tahun 1960. Gagasan penting dari cabang-dan-terikat adalah untuk membagi daerah layak dan mengembangkan batas pada z . Untuk masalah maksimisasi, batas bawah adalah nilai tertinggi dari setiap titik bulat layak yang diperoleh. Batas atas diberikan oleh nilai optimal dari program linier yang asli atau dengan nilai terbesar untuk fungsi tujuan pada setiap kotak yang menggantung. Langkah selanjutnya, harus mencabangkan ke pindah ke subdivisi lain dan menganalisanya. Begitu selanjutnya, jika solusi belum diperoleh i Program linier atas L j tidak layak ii Solusi optimal program linier atas L j adalah integer; atau iii Nilai dari solusi program linier z j atas L j memenuhi z j ≤ jika maksimasi, maka L j tidak perlu dibagi. Dalam kasus ini, IP terminologi mengatakan bahwa L j telah terukur fathomed. kasus i disebut fathoming oleh ketidaklayakan, ii fathoming oleh kebulatan dan iii fathoming oleh batas Bradley dkk, 1977. Prinsip dasar metode ini adalah memecah daerah fisibel suatu masalah program linier dengan membuat subproblem-subproblem. Ada dua konsep dasar dalam algoritma branch and bound : 1. Branching adalah proses membagi-bagi permasalahan menjadi subproblem- subproblem yang mungkin mengarah ke solusi. 2. Bounding adalah suatu proses untuk mencarimenghitung batas atas dalam masalah minimisasi dan batas bawah dalam masalah maksimisasi untuk solusi optimal pada subproblem yang mengarah ke solusi. Metode branch and bound diawali dengan menyelesaikan program linier dari suatu masalah program integer. Jika semua nilai variabel keputusan solusi optimal sudah berupa integer, maka solusi tersebut merupakan solusi optimal program linier integer. Jika tidak, dilakukan pencabangan dan penambahan batasan pada program liniernya kemudian diselesaikan. Universitas Sumatera Utara Winston 2004 menyebutkan bahwa nilai fungsi objektif optimal untuk program linier integer lebih kecil sama dengan nilai fungsi objektif optimal untuk program linier masalah maksimisasi, sehingga nilai fungsi objektif optimal program linier merupakan batas atas bagi nilai fungsi objektif optimal untuk masalah program linier integer. Diungkapkan pula oleh Winston 2004 bahwa nilai fungsi objektif optimal untuk suatu kandidat solusi merupakan batas bawah nilai fungsi objektif optimal untuk masalah program linier integer asalnya. Suatu kandidat solusi diperoleh jika solusi dari suatu subproblem sudah memenuhi kendala integer pada masalah program linier integer, artinya semua variabelnya sudah bernilai integer. Berikut ini adalah langkah-langkah penyelesaian suatu masalah maksimisasi dengan metode branch and bound : 1 Langkah 0 Didefinisikan z sebagai batas bawah dari nilai fungsi objektif solusi program linier integer yang optimal. Pada awalnya ditetapkan z = - ∞ dan i = 0. 2 Langkah 1 Subproblem program linier PL i dipilih sebagai bagian masalah berikutnya untuk dipecahkan. Subproblem PL i diselesaikan. a Jika PL i terukur dan solusi program linier yang ditemukan lebih baik maka batas bawah z diperbarui. Jika tidak bagian masalah subproblem baru i dipilih dan langkah 1 diulangi. Jika semua subproblem telah dipecahkan, maka proses dihentikan. b Jika PL i tidak terukur, proses dilanjutkan ke langkah 2 untuk melakukan pencabangan PL i Suatu subproblem dikatakan terukur fathomed jika terdapat kondisi sebagai berikut : 1. Subproblem tersebut tak fisibel, sehingga tidak dapat menghasilkan solusi optimal untuk program linier integer. 2. Subproblem tersebut menghasilkan suatu solusi optimal dengan semua variabelnya bernilai integer. Jika solusi optimal ini mempunyai nilai fungsi Universitas Sumatera Utara objektif yang lebih baik daripada solusi fisibel yang diperoleh sebelumnya, maka solusi ini menjadi kandidat solusi optimal dan nilai fungsi objektifnya menjadi batas bawah nilai fungsi objektif optimal bagi masalah program linier integer pada saat itu. Bias jadi subproblem ini menghasilkan solusi optimal untuk masalah program linier integer. 3. Nilai fungsi objektif optimal untuk subproblem tersebut tidak melebihi batas bawah saat itu, maka subproblem ini dapat dieliminasi. 3 Langkah 2 Dipilih salah satu variabel x j yang nilai optimalnya adalah yang tidak memenuhi batasan integer dalam solusi PL i . Bidang disingkirkan dengan membuat dua subproblem program linier, yaitu dan , sehingga diperoleh kendala subproblem baru sebagai berikut : a. Subproblem baru 1 : kendala subproblem lama + kendala b. Subproblem baru 2 : kendala subproblem lama + kendala dengan didefinisikan sebagai integer terbesar yang kurang dari atau sama dengan . Selanjutnya kembali ke langkah 1 Winston, 1975. Ringkasan langkah-langkah metode branch and bound dalam menentukan solusi integer optimal untuk model maksimisasi adalah sebagai berikut: a Dapatkan solusi simpleks optimal dari model program linear dengan batasan integer yang dilepaskan b Tentukan solusi simpleks relaxed sebagai batas atas sedangkan solusi hasil pembulatan ke bawah sebagai batas bawah pada node 1. c Pilih peubah dengan bagian pecahan yang terbesar untuk percabangan. Ciptakan dua batasan baru untuk peubah ini yang mencerminkan pembagian nilai integer. Hasilnya adalah sebuah batasan ≤ dan sebuah batasan ≥. d Ciptakan dengan node baru, satu dengan batasan ≤ dan satu dengan batasan ≥ e Selesaikan model program linear relaxed dengan batasan baru yang ditambahkan pada tiap node Universitas Sumatera Utara f Solusi simpleks relaxed adalah merupakan batas atas pada tiap node, dan solusi maksimum integer merupakan batas bawah dari node. g Jika proses ini menghasilkan solusi integer feasible dengan nilai batas atas terbesar pada akhir node mana saja, maka solusi integer optimal tercapai. Jika tidak muncul suatu solusi integer fisibel, lakukan percabangan dari node dengan batas atas terbesar. h Ulangi langkah c. Winston, 2004 Suatu bentuk khusus dari algoritma cabang dan terikat untuk nol-satu program yang dikembangkan oleh Balas. Algoritma ini disebut enumerasi implisit. Metode ini juga telah diperluas untuk kasus bilangan bulat campuran seperti yang diterapkan di LINDO Schrage, 1981b Bruce A. McCarl dan T.H.Spreen, 1997. Universitas Sumatera Utara Inisialisasi pohon ruang solusi Branch and bound Mulai Ambil submasalah Lakukan iterasi untuk setiap kemungkinan Apakah a tidak mungkin mengarah ke solusi atau a b? Apakah variabel bertipe pecahan? Apakah solusi bertipe integer? Bunuh cabang Buat cabang b b = maks Ya Y a Tidak Tidak Tidak Output solusi Pohon kosong? Ya Akhir Gambar 2.1 Flowchart Algoritma Branch and Bound untuk IP optimasi maksimum Universitas Sumatera Utara Inisialisasi pohon ruang solusi Branch and bound Mulai Ambil submasalah Lakukan iterasi untuk setiap kemungkinan Pohon kosong? Apakah a tidak mungkin mengarah ke solusi atau a b? Apakah variabel Tidak Ya Bunuh cabang Buat cabang b b = minb,a Tidak Apakah solusi bertipe integer? Ya Output solusi Akhir Ya Tidak Gambar 2.2 Flowchart Algoritma Branch and Bound untuk IP optimasi minimum Universitas Sumatera Utara Keuntungan dari cara pencabangan dan pembatasan adalah cara yang efisien untuk mendapatkan seluruh jawaban layak fisibel, sedangkan kerugian cara ini adalah ia akan rnencari seluruh jawaban program linier pada setiap titik. Pada persoalan yang besar akan memerlukan waktu yang cukup lama, terutama bila yang dibutuhkan hanya keterangan mengenai nilai objektif yang optimum Aswan, 1979. Universitas Sumatera Utara Mulai Data harga perumahan dan ketersediaan bahan baku Formulasi permasalahan penentuan peubah keputusan Sesuai dengan permasalahan Formulasi fungsi tujuan Maksimasi keuntungan Pemrograman linier Solusi optimal dan non integer Solusi integer Ya Pemograman Bilangan Bulat Integer Programming Metode Branch and Bound Tidak Selesai Gambar 2.3 Skema Pengolahan Data Universitas Sumatera Utara BAB 3 PEMBAHASAN

3.1 Pengumpulan Data