Algoritma Branch And Bound

Marnangkok B. : Evaluasi Kecukupan Jumlah Armada Tanker PT. Burung Laut Dengan Menggunakan Pemrograman Intege,. 2009. USU Repository © 2009 mana dari kendala tersebut yang akan tetap dipertahankan dilakukan dengan cara menggunakan algoritma yang sesuai bagi keseluruhan masalah sehingga diperoleh solusi optimal bagi semua variable secara simultan.

3.2.2. Algoritma Branch And Bound

3 Integer Linier Programming ILP memulai dengan sejumlah titik pemecahan yang terbatas, tetapi sifat variabel yang berbentuk bilangan bulat mempersulit perancangan sebuah algoritma yang efektif untuk mencari secara langsung diantara titik integer yang layak dari ruang pemecahan. Mengingat kesulitan ini, para peneliti telah mengembangkan sebuah prosedur pemecahan yang didasari oleh pemanfaatan keberhasilan besar dalam memecahkan masalah- masalah linier programming LP. Strategi untuk prosedur ini dapat diringkas dalam tiga langkah, antara lain: 1. Longgarkan ruang pemecahan dari masalah Integer yang bersangkutan dengan mengabaikan batasan integer sama sekali. Langkah ini mengkonversikan ILP menjadi LP biasa. 2. Pemecahan model LP “yang longgar” yang dihasilkan dan identifikasi titik optimum kontinyu dari LP tersebut. 3. Dengan dimulai dengan titik optimum kontinyu, tambahkan batasan khusus yang akan secara berulang-ulang memaksa titik ekstrim optimum dari model LP yang dihasilkan untuk bergerak ke arah batasan integer yang diinginkan. Marnangkok B. : Evaluasi Kecukupan Jumlah Armada Tanker PT. Burung Laut Dengan Menggunakan Pemrograman Intege,. 2009. USU Repository © 2009 Alasan kita memulai pencarian pemecahan optimum ILP di pemecahan optimum LP adalah bahwa terdapat kemungkinan yang lebih besar bahwa kedua pemecahan itu akan berdekatan satu sama lain, sehingga meningkatkan kemungkinan untuk menemukan pemecahan integer tersebut secara cepat. Inti dari prosedur yang diajukan ini adalah pendekatan ini memecahkan masalah- masalah LP yang berturut-turut, yang lebih dapat dikelola dari segi perhitungan dibangdingkan memecahkan masalah-masalah ILP secara langsung. Untuk mempermudah pengertian penggunaan dan langkah-langkah dari algoritma ini akan dibuat dalam sebuah contoh numerik. Pertimbangkan LP berikut ini : Max : Z = 5x 1 + 4x 2 ; Subject To : x 1 + x 2 5 ≤ 10x 1 + 6x 2 45 ≤ x 1 , x 2 ≥ dan integer Ruang pemecahan ILP ini diperlihatkan dengan titik-titik solusi linier yang layak. Ruang pemecahan LP yang berkaitan, LP0, didefinisaikan Z = 5x 1 + 4x 2 dengan mengabaikan batasan integer tersebut. Pemecahan optimum LP0 ini adalah x 1 = 3.75, x 2 = 1.25, dan z = 23.75. Prosedur branch And Bound BB didasari oleh penanganan masalah LP saja. Karena pemecahan LP optimum tidak memenuhi persyaratan integer, algoritma BB menuntut “modifikasi” terhadap ruang pemecahan LP ini dengan cara yang akan pada akhirnya memungkinkan kita untuk mengindentifikasi pemecahan ILP optimum. Pertama kita memilih salah satu variable yang nilainya 3 Riset Operasi Suatu pengantar, Edisi Kelima, Jilid I, Oleh Hamdy A Taha. 1996.Hal 325-332. Marnangkok B. : Evaluasi Kecukupan Jumlah Armada Tanker PT. Burung Laut Dengan Menggunakan Pemrograman Intege,. 2009. USU Repository © 2009 saat ini dalam pemecahan LP0 optimum melanggar persyaratan integer tersebut. Dengan memilih x 1 =3,75 secara sembarang, kita mengamati bahwa bidang 3 x 1 4 dari ruang pemecahan LP0, berdasarkan defenisinya, tidak akan memuat pemecahan ILP yang layak. Karena itu kita memodifikasi ruang pemecahan LP tersebut dengan menyingkirkan bidang yang tidak menjanjikan pemecahan ini, yang pada intinya adalah setara dengan mengganti ruang LP0 semula dengan dua ruang LP, LP1 dan LP2, yang didefenisikan sebagai berikut: 1. Ruang LP1 = ruang LP0 + x 1 ≤ 3 2. Ruang LP2 = ruang LP0 + x 1 ≥ 4 Anda akan melihat bahwa kedua ruang ini memuat titik-titik integer yang layak yang sama dengan model ILP ini. Ini berarti bahwa dari sudut pandang masalah ILP semula, menangani LP1 dan LP2 adalah sama menangani LP0 semula. Perbedaan utamanya adalah bahwa pemilihan batasan baru x 1 ≤ 3 dan x 2 ≥ 4 akan sekarang meningkatkan kemungkinan untuk memaksa titik ekstrim optimum dari LP1 dan LP2 ke arah memenuhi persyaratan integer tersebut. Pada kenyataannya, batasan tersebut berada di “sekitar pemecahan” LP0 yang kontinyu akan meningkatkan peluang mereka untuk menghasilkan pemecahan integer yang “baik”. Karena batasan baru x 1 ≤ 3 dan x 2 ≥ 4 tidak dapat dipenuhi secara bersamaan, LP1 dan LP2 harus ditangani sebagai dua program linier yang berbeda. Dikotomi ini menimbulkan konsep percabangan Branching dalam algoritma BB. Akibatnya, percabangan menunjukkan pemisahan ruang pemecahan saat ini ke dalam beberapa bagian yang terpisah. Gambar 3.1 sebagai Marnangkok B. : Evaluasi Kecukupan Jumlah Armada Tanker PT. Burung Laut Dengan Menggunakan Pemrograman Intege,. 2009. USU Repository © 2009 ilustarasi menunjukkan pembuatan LP1 dan LP2 dari LP. Cabang tersebut didefenisikan dengan batasan x 1 ≤ 3 dan x 2 ≥ 4, dimana x 1 disebut sebagai variabel percabangan. 1 2 3 4 5 x 1 =3 x 1 =4 Gambar 3.1. Contoh Algoritma Branch And Bound Pada Contoh Diatas Kita mengetahui bahwa ILP optimum akan berada di LP1 atau LP2. Tetapi dengan tidak adanya ruang pemecahan grafik, kita tidak memiliki cara untuk menentukan dimana optimum itu berada. Akibatnya, pilihan kita satu-satunya adalah meniliti kedua masalah ini. Kita melakukannya dengan mengerjakan masalah ini satu per satu LP1 atau LP2. Anggaplah bahwa kita secara sembarangan memiliki LP1 yang berkaitan dengan x 1 ≤ 3. jadi kita memecahkan masalah berikut ini: Max : Z = 5x 1 + 4x 2 ; Subject To : x 1 + x 2 5 ≤ 10x 1 + 6x 2 45 ≤ x 1 3 ≤ Marnangkok B. : Evaluasi Kecukupan Jumlah Armada Tanker PT. Burung Laut Dengan Menggunakan Pemrograman Intege,. 2009. USU Repository © 2009 x 1 , x 2 ≥ Seperti dikatakan di atas, LP1 adalah sama dengan LP0 dengan tambahan batas atas x 1 ≤ 3. Ini akan menghasilkan pemecahan optimum baru x 1 = 3, x 2 = 2, dan z = 23. Karena pemecahan ini secara kebetulan memenuhi persyaratan integer, kita mengatakan bahwa LP1 telah terukur, yang berarti bahwa LP1 tidak dapat menghasilkan ILP yang lebih baik dan karena itu tidak perlu diteliti lebih lanjut. Didapatnya pemecahan integer yang layak di tahap awal dari perhitungan adalah penting untuk meningkatkan efisiensi algoritma BB. Pemecahan seperti ini menetapkan batas bawah terhadap nilai tujuan optimum dari masalah ILP tersebut, yang pada gilirannya dapat dipergunakan secara otomatis untuk menyingkirkan bagian-bagian masalah yang tidak diteliti seperti LP2 yang tidak menghasilkan pemecahan integer yang lebih baik. Dalam contoh kita ini, LP1 menghasilkan batas bawah z = 23. Ini berarti bahwa setiap pemecahan integer yang lebih baik akan memiliki nilia z yang lebih tinggi dari 23. Tetapi, karena pemecahan optimum dari masalah LP0 memiliki nilai z = 23,75 dan karena semua koefisien dari fungsi tujuan kebetulan merupakan integer, disimpulkan bahwa tidak ada bagian masalah yang berasal dari LP0 dapat menghasilkan nilai z yang lebih baik dari 23. Sebagian hasilnya, tanpa meneliti lebih lanjut, kita dapat menyingkirkan LP2. dalam kasus ini, LP2 dikatakan terukur karena tidak dapat menghasilkan pemecahan integer yang lebih baik. Dari pembahasan diatas, kita melihat bahwa sebuah bagian masalah menjadi terukur jika salah satu dari kondisi berikut ini dipenuhi, yaitu: Marnangkok B. : Evaluasi Kecukupan Jumlah Armada Tanker PT. Burung Laut Dengan Menggunakan Pemrograman Intege,. 2009. USU Repository © 2009 1. Bagian masalah tersebut menghasilkan pemecahan integer yang layak bagi masalah ILP tersebut. 2. Bagian masalah tersebut tidak dapat menghasilkan pemecahan yang lebih baik daripada batas bawan nilai z terbaik yang tersedia dari masalah ILP tersebut.Satu kasus khusus dari kondisi ini adalah ketika bagian masalah tersebut tidak memiliki pemecahan yang layak sama sekali Dalam contoh ini, LP1 dan LP2 adalah terukur berdasarkan kondisi 1 dan 2, secara berturut-turut. Karena tidak ada lagi bagian masalah yang harus diteliti, prosedur ini berakhir dan pemecahan integer optimum dari masalah ILP tersebut adalah yang berkaitan dengan batas bawah saat ini, yaitu x 1 = 3, x 2 = 2, dan z = 23. Jika anda meneliti prosedur yang digariskan diatas, anda akan menemukan sejumlah pertanyaan yang tetap tidak terjawab, yaitu: 1. Di LP0, dapatkah kita memilih x 2 sebagai variabel pencabangan sebagai pengganti x 1 ? 2. Ketika memilih bagian masalah berikutnya untuk diteliti, dapatkah kita memecahkan LP2 sebagai pengganti LP1? Jawaban untuk kedua pertanyaan tersebut adalah “ya,” tetapi perincian perhitungan yang mengikutinya dapat berbeda secara dramatis. Kesalahan pemilihan variabel yang menjadi dasar penelitian merupakan kelemahan dalam metode algoritma BB. Yaitu, di satu bagian masalah tertentu, bagaimana kita memilih variabel percabangan, dan diantara seluruh bagian masalah yang belum diteliti, bagian masalah mana yang harus diteliti berikutnya?. Kasus kesalahan pemilihan variabel awal tidaklah luar biasa dan dapat ditemukan dalam situasi Marnangkok B. : Evaluasi Kecukupan Jumlah Armada Tanker PT. Burung Laut Dengan Menggunakan Pemrograman Intege,. 2009. USU Repository © 2009 nyata. Walaupun terdapat banyak heuristik untuk menigkatkan kemampuan algoritma BB untuk “melihat ke depan” dan membuat “terkaan” terbaik tentang apakah sebuah cabang akan mengarah pada pemecahan ILP yang lebih baik, tetap terdapat fakta bahwa tidak ada teori yang kuat yang dapat menyatakan diri memberikan hasil yang konsisten secara seragam untuk pemecahan masalah ILP umum. Secara ringkas, langkah-langkah algoritma Branch And Bound dengan asumsi masalah maximisasi, defenisikan z sebagai batas bawah dari pemecahan ILP integer yang optimum. Langkah-langkah algoritma ini adalah sebagai berikut: Langkah 1: Ukurbatasi. Pilih LP i sebagai bagian dari masalah berikutnya untuk diteliti. Pecahkan LP i dan coba ukur bagian masalah itu dengan menggunakan kondisi yang sesuai. a Jika LP i terukur pemecahan inferior, tidak layak atau integer, perbaharui batas bawah z jika pemecahan ILP yang lebih baik ditemui; jika tidak pilih bagian masalah baru i dan ulangi langkah 1. Jika semua bagian masalah telah diteliti, hentikan; ILP optimum berkaitan dengan batas bawah terakhir, jika ada. Jika tidak, b Jika LP i tidak terukur, lanjutkan ke langkah 2 untuk melakukan pencabangan LP i Langkah 2: Pencabangan. Pilih salah satu variabel x j yang nilai optimumnya x j dalam pemecahan LP i tidak memenuhi batasan integer. Singkirkan bidang [ ] [ ] 1 + 〈 〈 j j j x x x dimana [ ] A mendefinisikan integer terbesar ≤ A dengan membuat dua bagian masalah LP yang berkaitan Marnangkok B. : Evaluasi Kecukupan Jumlah Armada Tanker PT. Burung Laut Dengan Menggunakan Pemrograman Intege,. 2009. USU Repository © 2009 dengan dua batasan yang tidak dapat dipenuhi secara bersamaan ini: [ ] [ ] 1 + ≥ ≤ j j j j x x dan x x Kembali ke langkah 1.

3.3. Jenis-Jenis Kapal