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