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