ti 2001 or 1 - pemrogr bilangan bulat - kuliah 12 - 25 mar 14
TRANSCRIPT
-
TI 2001 Penelitian Operasional I 1
Pemrograman Bilangan Bulat
(Integer Programming)
Kuliah 10-11
-
TI 2001 Penelitian Operasional I 2
Materi Bahasan
Pengantar pemrograman bilangan bulat
Beberapa contoh model pemrograman bilangan bulat
Metode pemecahan bilangan bulat Metode cutting-plane
Metode branch-and-bound (termasuk untuk
pemrograman bilangan bulat biner)
-
TI 2001 Penelitian Operasional I 3
Pengantar Pemrograman Bilangan Bulat
-
TI 2001 Penelitian Operasional I 4
Pemrograman Bilangan Bulat
Pemrograman bilangan bulat (integer
programming) mensyaratkan bahwa beberapa
variabel keputusan harus mempunyai nilai
yang bulat (bukan pecahan)
Pembahasan hanya ditujukan untuk masalah
pemrograman linier bilangan bulat (integer
linear programming problem)
-
TI 2001 Penelitian Operasional I 5
Jenis Pemrograman Bilangan Bulat
Pemrograman linier bilangan bulat murni,
(pure integer linear programming, PILP)
Pemrograman linier bilangan bulat campuran,
(mixed integer linear programming, MILP)
Pemrograman linier bilangan bulat biner,
(binary integer linear programming, BILP)
-
TI 2001 Penelitian Operasional I 6
Fungsi Variabel Biner
Penangangan pembatas either-or
Penanganan nilai lebih dari satu yang mungkin
dari suatu pembatas
Representasi bentuk lain dari variabel bilangan
bulat
-
TI 2001 Penelitian Operasional I 7
Pembatas Either-Or
1823 21 xx
164 21 xx
1823 21 xx
Mxx 1823 21
164 21 xx
dan
dan
Myxx 1823 21
)1(164 21 yMxx
atau
PL format:
atau
Mxx 164 21
bila y = 0
10,ybila y = 1
-
TI 2001 Penelitian Operasional I 8
Fungsi dengan N Nilai yang Mungkin (1)
Nn dddxxxf atau atau atau ,,, 2121
N
i
iin ydxxxf1
21 ,,,
Perumusan PLBB:
11
N
i
iy
Niyi ,,2,1 ,1,0
-
TI 2001 Penelitian Operasional I 9
Fungsi dengan N Nilai yang Mungkin (2)
32121 1812623 yyyxx
maka perumusan PLBB-nya adalah :
1321 yyy
3,2,1 ,1,0 iyi
Bila diinginkan : 18atau 12,atau ,6x2x3 21
-
TI 2001 Penelitian Operasional I 10
Representasi Biner untuk
Variabel Bilangan Bulat (1)
ux 0 122 dimana NN u
Representasi biner:
N
i
i
i yx0
2
Niyi ,,,,,, 210 10
Batas-batas untuk variabel x:
-
TI 2001 Penelitian Operasional I 11
Representasi Biner untuk
Variabel Bilangan Bulat (2)
51 x
Representasi biner:
542 210 yyy
2,1,0 ,1,0 iyi
3032 21 xx
308423422 3210210 wwwwyyy
u untuk x1 = 5 22 5 23
u untuk x2 = 10 23 10 24
3,2,1,0 ,1,0 iwi
x1, x2 bil. bulat
-
TI 2001 Penelitian Operasional I 12
Beberapa Contoh Model Pemrograman Bilangan Bulat
-
TI 2001 Penelitian Operasional I 13
Beberapa Contoh Model-model Pemrograman
Bilangan Bulat
Fixed charge problem
Knapsack problem
Set covering problem
Set Partitioning Problem
Traveling salesman problem
Job (Machine) scheduling problem
-
TI 2001 Penelitian Operasional I 14
Fixed Charge Problem (1)
Misalkan terdapat n jenis produk
pj = harga satuan produk j
Kj = biaya tetap untuk memproduksi produk j (independen
terhadap jumlah produksi, bila produk j yang dibuat > 0)
cj = biaya variabel untuk memproduksi produk j (proporsional
terhadap jumlah produksi)
bi = kapasitas sumber i (i = 1, m)
aij = kebutuhan sumber i untuk per unit produk j
-
TI 2001 Penelitian Operasional I 15
Fixed Charge Problem (2)
Permasalahan :
Menentukan produk mana yang perlu diproduksi dan jumlah produksinya masing-masing agar diperoleh profit (selisih penjualan dengan biaya tetap dan variabel) total yang maksimum dengan memperhatikan kondisi:
- ketersediaan kapasitas
- jika suatu produk diputuskan untuk tidak diproduksi maka
jumlah produksinya nol.
Variabel keputusan :
xj = jumlah produk j yang diproduksi
yj = keputusan untuk memproduksi produk j atau tidak;
yj = 1 jika produk j diproduksi
yj = 0 jika produk j tidak diproduksi
-
TI 2001 Penelitian Operasional I 16
Fixed Charge Problem (3)
n
j
jjjj
n
j
jj xcyKxpZ11
Maksimasi
dengan pembatas-pembatas:
mibxa i
n
j
jij ,,1 ,1
njMyx jj ,,1 ,
njx j ,,1 ,0
njy j ,...,1 ,1,0
-
TI 2001 Penelitian Operasional I 17
Knapsack Problem (1)
Misalkan terdapat n item.
wj = berat item j
vj = nilai item j
W = kapasitas muatan (berat) dari kantong
Permasalahan :
Menentukan banyaknya setiap item yang perlu dimasukkan ke dalam kantong agar diperoleh nilai total yang maksimum dengan memperhatikan kondisi kapasitas muatan (berat) dari kantong
Variabel keputusan :
xj = jumlah item yang dimasukkan ke kantong
-
TI 2001 Penelitian Operasional I 18
Knapsack Problem (2)
n
j
jj xvZ1
Maksimasi
dengan pembatas-pembatas:
Wxwn
j
jj 1
bulatbilangan dan 0jx
-
TI 2001 Penelitian Operasional I 19
Set Covering Problem (1)
Jalan C
Jalan D
Jalan B Jalan A
Jalan E
Jala
n G
Jala
n K
Ja
lan
J
Jala
n I
Ja
lan H
1 2
6 7
4
8
5
3
Contoh masalah set covering problem dalam menentukan
lokasi pendirian pos siskamling
-
TI 2001 Penelitian Operasional I 20
Set Covering Problem (2)
Misalkan terdapat n lokasi pendirian pos dan m jalan. cj = biaya mendirikan pos di lokasi j aij = konstanta biner (0-1) aij = 1 jika jalan i dilayani oleh pos yang berlokasi di j aij = 0 jika sebaliknya Pertanyaan: Menentukan lokasi pendirian pos dimana tiap jalan dapat dilayani minimal oleh satu pos sehingga diperoleh biaya total pendirian yang minimum Variabel keputusan xj = variabel biner (0-1) yang menentukan keputusan untuk mendirikan pos di lokasi j (xj = 1 jika pos dididikan di lokasi j, xj = 0 sebaliknya)
-
TI 2001 Penelitian Operasional I 21
Set covering problem (3)
n
j
jj xcZ1
Minimasi
dengan pembatas-pembatas:
mixan
j
jij ,...,1 ,11
njx j ,...,1 ,1,0
-
TI 2001 Penelitian Operasional I 22
Set Partitioning Problem
n
j
jj xcZ1
Minimasi
dengan pembatas-pembatas:
mixan
j
jij ,...,1 ,11
njx j ,...,1 ,1,0
Tiap jalan
tepat dilayani
oleh satu pos
-
TI 2001 Penelitian Operasional I 23
Traveling Salesman Problem (1)
1
2
3
4
5
5
6
3
4
3
8
2
6
1
7
(jarak)
-
TI 2001 Penelitian Operasional I 24
Traveling Salesman Problem (2)
Misalkan terdapat n titik.
cij = jarak antara titik i ke titik j (cij = untuk i = j)
Permasalahan
Menentukan rute salesman yang berangkat dari suatu titik dan mengunjungi setiap titik yang lain paling banyak sekali, serta kembali ke titik asal agar diperoleh jarak total yang minimum
Variabel keputusan
xij = keputusan untuk melintasi atau tidak busur (i, j)
xij = 1 jika busur (i, j) dilintasi
xij = 0 jika busur (i, j) tidak dilintas
-
TI 2001 Penelitian Operasional I 25
Traveling Salesman Problem (3)
n
j
n
j
ijij xcZ1 1
Minimasi
dengan pembatas-pembatas:
nixn
j
ij ,,1 ,11
njxn
i
ij ,,1 ,11
jinjninnxuu ijji ;,,2;,,2 ,1
njnixij ,1;,,1 ,1,0
niui ,...,1 ,0
Subtour breaking
constraint
-
TI 2001 Penelitian Operasional I 26
Traveling Salesman Problem (4)
1
2
3
4
5
Subtour
Subtour breaking constraint bertujuan untuk mengeliminasi
terjadinya solusi subtour
-
TI 2001 Penelitian Operasional I 27
Traveling Salesman Problem (5)
1
2
3
4
5
Tour
Suatu solusi traveling salesman problem yang layak (terbentuknya
suatu tour).
-
TI 2001 Penelitian Operasional I 28
Job Scheduling Problem (1)
Misalkan
-terdapat n job dengan operasi-tunggal
-terdapat satu mesin tunggal
pj = waktu pengerjaan job j
wj = bobot kepentingan job j
Permasalahan:
Menentukan saat awal (juga secara implisit menentukan saat akhir) pengerjaan job agar diperoleh waktu penyelesaian tertimbang total (total weighted completion time) yang minimum dengan memperhatikan bahwa pada suatu saat mesin hanya dapat mengerjakan satu operasi (job)
-
TI 2001 Penelitian Operasional I 29
Job Scheduling Problem (2)
Variabel keputusan:
Bj = saat awal pengerjaan job j
Cj = saat akhir pengerjaan job j
yij = keputusan apakah job i mendahului job j
yij = 1 jika job i mendahului job j
yij = 0 jika sebaliknya
0
3 1 4 5 2
p3 p1 p4 p5 p2
Suatu solusi (jadwal) pengerjaan job yang layak
-
TI 2001 Penelitian Operasional I 30
Job Scheduling Problem (3)
n
j
jjCwZ1
Minimasi
dengan pembatas-pembatas:
nipC jj ,,1 ,
jinjnipyMCC iijij ,,1;,,1 ,1
niC j ,...,1 ,0
jinjnipMyCC jijji ;,1;,,1 ,
njniyij ,1,,...,1 ,1,0
nipCB jjj ,,1 ,
Disjunctive constraint
(Either-or constraint)
-
TI 2001 Penelitian Operasional I 31
Metode Pemecahan Model Pemrograman Bilangan Bulat
-
TI 2001 Penelitian Operasional I 32
Metode Pemecahan Model Pemrograman
Bilangan Bulat
Cutting method
Cutting Plane
Search method
Branch and Bound
-
TI 2001 Penelitian Operasional I 33
Algoritma Cutting Plane
Dikembangkan oleh R.E. Gomory
Algoritma
Fractional algorithm untuk masalah pemrograman
bilangan bulat murni (PILP)
Mixed algorithm untuk masalah pemrograman
bilangan bulat campuran (MILP)
-
TI 2001 Penelitian Operasional I 34
Ilustrasi Suatu Masalah PLBB
Maximasi : Z = 7x1 + 9x2
s/t : x1 + 3x2 6
7x1 + x2 35
x1, x2 0 dan bilangan bulat
-
TI 2001 Penelitian Operasional I 35
Daerah layak x2
x1
-
TI 2001 Penelitian Operasional I 36
Solusi Optimal Kontinyu (dengan mengabaikan kondisi integralitas) x2
x1
21
21
21 34 ,),( xx
63Z
-
TI 2001 Penelitian Operasional I 37
Ide Dasar dari Cutting Plane
Mengubah convex set dari daerah daerah
feasible (solution space) sehingga titik ekstrem
yang diperoleh berupa bilangan bulat
Perubahan dibuat tanpa memotong (slicing off)
daerah layak sehingga menghilangkan
bilangan bulat yang ada.
Perubahan dilakukan dengan penambahan
beberapa secondary constraint.
-
TI 2001 Penelitian Operasional I 38
Penambahan Pembatas Sekunder x2
x1
secondary constraint
3421 ,),( xx
55Z
-
TI 2001 Penelitian Operasional I 39
Fractional Algorithm (1)
Digunakan untuk memecahkan masalah
pemrograman linier bilangan bulat murni (PILP).
Mensyaratkan bahwa semua koefisien teknologi dan
konstanta ruas kanan adalah bilangan bulat.
Pada awalnya, masalah PILP dipecahkan sebagai PL
reguler, yaitu dengan mengabaikan persyaratan
bilangan bulat (= PL relaksasi).
2
13
3
121 xx 3926 21 xx
-
TI 2001 Penelitian Operasional I 40
Fractional Algorithm (2)
Basis x1 xi xm w1 wj wn Solusi
X1 1 0 0 11 1
j 1n 1
Xi 0 1 0 i1 i
j in i
xm 0 0 1 m1 m
j mn m
0 0 0 0 jc 1c jc
nc
Tabel akhir optimal untuk PL
-
TI 2001 Penelitian Operasional I 41
Fractional Algorithm (3)
Variabel xi (i = 1, , m) menunjukkan variabel basis
Variabel wj (j = 1, , n) menunjukkan variabel non basis
Misalkan persamaan ke-i dimana variabel xi diasumsikan
bernilai bilangan bulat
bulatbilangan bukan , i1
n
j
j
j
iii wx
(baris sumber)
-
TI 2001 Penelitian Operasional I 42
Fractional Algorithm (4)
Misal: iii f
ijjiji f
dimana :
N = [a] adalah bilangan bulat terbesar sehingga N a
0 < fi < 1
0 fij < 1
-
TI 2001 Penelitian Operasional I 43
Fractional Algorithm (5)
Dari baris sumber diperoleh:
n
j
j
j
iii
n
j
iiji wxwff11
Agar semua xi dan wj adalah bilangan bulat,
maka ruas kanan dari persamaan harus bilangan bulat
Akibatnya, ruas kiri harus bilangan bulat
bulatbilangan bukan , i1
n
j
j
j
iii wx
bulat bilangan bukan ;w}f{}f{x in
j
jij
j
iiii
1
-
TI 2001 Penelitian Operasional I 44
Fractional Algorithm (6)
Karena fij 0 dan wj 0 untuk semua i dan j maka
01
n
j
jijwf
Akibatnya
i
n
j
jiji fwff 1
-
TI 2001 Penelitian Operasional I 45
Fractional Algorithm (7)
11
n
j
jiji wff
Karena fi < 1 maka
Karena ruas kiri harus bilangan bulat, maka syarat perlu
untuk memenuhi integralitas adalah:
01
n
j
jiji wff
-
TI 2001 Penelitian Operasional I 46
Fractional Algorithm (8)
Pertidaksamaan terakhir dapat dijadikan sebagai pembatas
dalam bentuk:
i
n
j
jiji fwfS 1
(fractional cut)
0
1
i
n
j
jiji Swff
-
TI 2001 Penelitian Operasional I 47
Fractional Algorithm (9)
Basis x1 xi xm w1 wj wn Si Solusi
x1 1 0 0 11 1
j 1n 0 1
xi 0 1 0 i1 i
j in 0 i
xm 0 0 1 m1 m
j mn 0 m
Si 0 0 0 -fi1 -fi
j -fim 1 -fi
0 0 0 0 0 jc 1c jc
nc
Tabel setelah penambahan fractional cut
-
TI 2001 Penelitian Operasional I 48
Fractional Algorithm (10)
Dengan penambahan fractional cut, tabel
terakhir menjadi tidak layak walaupun optimal
sehingga metode dual simplex diterapkan
untuk meniadakan ketidaklayakan.
Algoritma berhenti jika solusi optimal
bilangan bulat diperoleh.
-
TI 2001 Penelitian Operasional I 49
Fractional Algorithm (11)
i
n
j
jij fwf 1
k
n
j
jkj fwf 1
Cut (1) dikatakan lebih kuat dari cut (2) jika
fi fk dan fij fkj untuk semua j dengan strict inequality
terpenuhi paling sedikit satu
Kekuatan fractional cut
..(1)
..(2)
-
TI 2001 Penelitian Operasional I 50
Fractional Algorithm (12)
Aturan :
ii
fmax
n
j
ij
i
i
f
f
1
max
-
TI 2001 Penelitian Operasional I 51
Contoh Penerapan Fractional Algorithm (1)
Maximasi Z = 7x1 + 9x2
s/t :
x1 + 3x2 6
7x1 + x2 35
x1, x2 0 dan bilangan bulat
-
TI 2001 Penelitian Operasional I 52
Contoh Penerapan Fractional Algorithm (2)
Basis x1 x2 x3 x4 Solusi
x2 0 1 7/22 1/22 3 1/2
x1 1 0 -1/22 3/22 4 1/2
cj zj 0 0 -28/11 -15/11 Z = 63
Tabel optimal kontinyu
-
TI 2001 Penelitian Operasional I 53
Contoh Penerapan Fractional Algorithm (3)
2
7
22
1
22
7432 xxx
2
13
22
10
22
70 432 xxx
2
1
22
1
22
7431 xxS
Fractional cut:
Bila baris sumber cut yang diambil adalah persamaan x2
-
TI 2001 Penelitian Operasional I 54
Contoh Penerapan Fractional Algorithm (4)
Basis x1 x2 x3 x4 S1 Solusi
x2 0 1 7/22 1/22 0 7/2
x1 1 0 -1/22 3/22 0 9/2
S1 0 0 -7/22 -1/22 1 -1/2
cj zj 0 0 -28/11 -15/11 0
Tabel setelah penambahan fractional cut
-
TI 2001 Penelitian Operasional I 55
Contoh Penerapan Fractional Algorithm (5)
Basis x1 x2 x3 x4 S1 Solusi
x2 0 1 0 0 1 3
x1 1 0 0 1/7 -1/7 4 4/7
x3 0 0 1 1/7 -22/7 1 4/7
cj zj 0 0 0 -1 -8 Z = 59
Tabel yang diperoleh dengan dual simplex:
-
TI 2001 Penelitian Operasional I 56
Contoh Penerapan Fractional Algorithm (6)
7
44
7
1
7
1141 Sxx
7
44
7
61
7
10 141 Sxx
7
4
7
6
7
1142 SxS
Fractional cut:
Bila baris sumber cut yang diambil adalah persamaan x1
-
TI 2001 Penelitian Operasional I 57
Contoh Penerapan Fractional Algorithm (7)
Basis x1 x2 x3 x4 S1 S2 Solusi
x2 0 1 0 0 1 0 3
x1 1 0 0 1/7 -1/7 0 4 4/7
x3 0 0 1 1/7 -22/7 0 1 4/7
S2 0 0 0 -1/7 -6/7 1 -4/7
cj zj 0 0 0 -1 -8 0
Tabel setelah penambahan fractional cut
-
TI 2001 Penelitian Operasional I 58
Contoh Penerapan Fractional Algorithm (8)
Basis x1 x2 x3 x4 S1 S2 Solusi
x2 0 1 0 0 1 0 3
x1 1 0 0 0 -1 1 4
x3 0 0 1 0 -4 1 1
x4 0 0 0 1 6 -7 4
cj zj 0 0 0 -2 -7 0 Z = 55
Solusi bilangan bulat optimal, x1 = 4, x2 = 3; Z = 55
Tabel yang diperoleh dengan dual simplex:
-
TI 2001 Penelitian Operasional I 59
2
1
22
1
22
7431 xxS
Ilustrasi Fractional Cut secara Grafis (1)
2
1735
22
136
22
721211 xxxxS
321 xS
32 x
Fractional cut 1:
-
TI 2001 Penelitian Operasional I 60
Ilustrasi Fractional Cut secara Grafis (2) x2
x1
32 x
Dg.fractional cut 1,
solusi optimal integer
belum diperoleh
-
TI 2001 Penelitian Operasional I 61
7
4
7
6
7
1142 SxS
Ilustrasi Fractional Cut secara Grafis (3)
7
43
7
6735
7
12212 xxxS
7212 xxS
721 xx
Fractional cut 2:
-
TI 2001 Penelitian Operasional I 62
Ilustrasi Fractional Cut secara Grafis (4) x2
x1
32 x
721 xx
Dg.ditambah fractional
cut 2, diperoleh solusi
optimal integer
-
TI 2001 Penelitian Operasional I 63
Mixed Algorithm (1)
Digunakan untuk memecahkan masalah
pemrograman linier bilangan bulat campuran
(MILP)
Pada awalnya, masalah MILP dipecahkan sebagai PL
reguler, yaitu dengan mengabaikan kondisi
integralitas.
-
TI 2001 Penelitian Operasional I 64
Mixed Algorithm (3)
Maximasi Z = 7x1 + 9x2
s/t :
x1 + 3x2 6
7x1 + x2 35
x1 0 dan bilangan bulat
x2 0
-
TI 2001 Penelitian Operasional I 65
Mixed Algorithm (3)
n
j
j
j
kkk wx1
Misal xk adalah variabel bilangan bulat dari masalah MILP.
Persamaan-xk dalam solusi kontinyu optimal:
n
j
j
j
kkkk wfx1
n
j
j
j
kkkk wfx1
(baris sumber)
-
TI 2001 Penelitian Operasional I 66
Mixed Algorithm (4)
Untuk xk adalah bilangan bulat, maka
1atau kkkk xx harus dipenuhi
k
n
j
k
j
k fw 1
Dari baris sumber :
11
k
n
j
k
j
k fw
(1)
(2)
kondisi 1) :
n
j
j
j
kkkk wfx1
n
j
jjkk wf
1
0
ekivalen dengan : kk x
2) : 1 kk x ekivalen dengan :
n
j
jjkk wf
1
1
-
TI 2001 Penelitian Operasional I 67
Mixed Algorithm (5)
Misal : J+ = himpunan subscripts j untuk kj 0
J- = himpunan subscripts j untuk kj < 0
Dari (1) diperoleh : k
n
Jj
k
j
k fw
k
n
Jj
k
j
k
k
k fwf
f
1
(3)
(4)
11
k
n
j
k
j
k fw 1
k
n
Jj
kjk fw
dan dari (2) diperoleh :
-
TI 2001 Penelitian Operasional I 68
Mixed Algorithm (6)
Karena (1) dan (2) tidak dapat terjadi secara simultan,
maka :
k
n
Jj
kjk
k
kn
Jj
kjk fw
f
fw
1
k
n
Jj
k
j
k fw
(3) dan
k
n
Jj
k
j
k
k
k fwf
f
1
(4)
dapat digabungkan menjadi satu pembatas dalam bentuk :
-
TI 2001 Penelitian Operasional I 69
Mixed Algorithm (6)
k
n
Jj
k
j
k
k
kn
Jj
k
j
kk fwf
fwS
1
(mixed cut)
kk
n
Jj
kjk
k
kn
Jj
kjk fSw
f
fw
1
-
TI 2001 Penelitian Operasional I 70
Contoh Penerapan Mixed Algorithm (1)
Maksimasi : Z = 7x1 + 9x2
dengan pembatas-pembatas:
x1 + 3x2 6
7x1 + x2 35
x1 0 dan bilangan bulat
x2 0
-
TI 2001 Penelitian Operasional I 71
Contoh Penerapan Mixed Algorithm (2)
Basis x1 x2 x3 x4 Solusi
x2 0 1 7/22 1/22 7/2
x1 1 0 -1/22 3/22 9/2
cj zj 0 0 -28/11 -15/11 Z = 63
Tabel optimal kontinyu:
-
TI 2001 Penelitian Operasional I 72
Contoh Penerapan Mixed Algorithm (3)
2
14
22
3
22
1431 xxx
2
1
22
1
122
33
21
21
41
xxS
2
1
22
3
22
1431 xxS
Mixed cut:
Baris sumber persamaan-x1
21
1 ,4 ,3 fJJ
-
TI 2001 Penelitian Operasional I 73
Contoh Penerapan Mixed Algorithm (4)
Basis x1 x2 x3 x4 S1 Solusi
x2 0 1 7/22 1/22 0 7/2
x1 1 0 -1/22 3/22 0 9/2
S1 0 0 -1/22 -3/22 1 -1/2
cj zj 0 0 -28/11 -15/11 0
Tabel setelah penambahan mixed cut
-
TI 2001 Penelitian Operasional I 74
Contoh Penerapan Mixed Algorithm (5)
Basis x1 x2 x3 x4 S1 Solusi
x2 0 1 10/33 0 -1/3 10/3
x1 1 0 -1/11 0 1 4
x4 0 0 1/3 1 -22/3 11/3
cj zj 0 0 -23/11 -10 0 Z= 58
Tabel yang diperoleh dengan dual simplex:
Solusi optimal, x1 = 4, x2 = 10/3; Z = 58
-
TI 2001 Penelitian Operasional I 75
Algoritma Branch-and-Bound (1)
Metode yang paling banyak digunakan dalam
praktek untuk memecahkan masalah
pemrograman bilangan bulat baik murni
maupun campuran.
Digunakan sebagian besar software komersial
Pada dasarnya merupakan prosedur enumerasi
yang efisien untuk memeriksa semua solusi
layak yang mungkin.
-
TI 2001 Penelitian Operasional I 76
Algoritma Branch-and-Bound (2)
Algoritma BB untuk PLBB (Murni &
Campuran)
Algoritma BB untuk PLBB Biner
-
TI 2001 Penelitian Operasional I 77
Algoritma BB untuk PLBB (1)
Misalkan diberikan suatu masalah pemrograman
bilangan bulat sebagai berikut:
Maksimasi Z = cx
dengan pembatas
Ax = b
x 0
xj bilangan bulat untuk j I
dimana I adalah himpunan variabel bilangan bulat
-
TI 2001 Penelitian Operasional I 78
Algoritma BB untuk PLBB (2)
Langkah pertama adalah memecahkan masalah PLBB sebagai PL dengan mengabaikan pembatas bilangan bulat (langkah ini disebut langkah bounding)
Misalkan masalah PL ini dinyatakan sebagai PL-1 dan mempunyai nilai optimal dg. nilai fungsi tujuan Z1.
PL-1
Maksimasi Z = cx
dengan pembatas
Ax = b
x 0
-
TI 2001 Penelitian Operasional I 79
Algoritma BB untuk PLBB (3)
Asumsikan bahwa solusi optimal dari PL-1 mengandung beberapa variabel yg.seharusnya bernilai bulat tetapi nilai optimum kontinu saat ini adalah pecahan.
Oleh karena solusi optimal bilangan bulat untuk PLBB belum diperoleh, Z1
menjadi batas atas (upper bound) dari nilai maksimum Z untuk PLBB.
Langkah berikutnya adalah membagi daerah layak dari PL-1 dengan mencabangkan (branching) salah satu variabel bilangan bulat yang nilainya saat ini pecahan
-
TI 2001 Penelitian Operasional I 80
Algoritma BB untuk PLBB (4)
Misalkan variabel xj dipilih untuk dicabangkan
dengan nilai pecahan j dalam PL-1.
Misalkan dibuat dua masalah pemrograman
linier baru, PL-2 dan PL-3 dengan
memasukkan masing-masing pembatas baru
xj [] dan xj []+1
-
TI 2001 Penelitian Operasional I 81
Algoritma BB untuk PLBB (5)
Maksimasi Z = cx
dengan pembatas
Ax = b
xj []
x 0
Maksimasi Z = cx
dengan pembatas
Ax = b
xj []+1 x 0
PL-2 PL-3
-
TI 2001 Penelitian Operasional I 82
Algoritma BB untuk PLBB (6)
PL-1
PL-2 PL-3
Solusi pecahan
Z1
Solusi pecahan
Z2
][ jjx 1 +][ jjx
Solusi pecahan
Z3
-
TI 2001 Penelitian Operasional I 83
Algoritma BB untuk PLBB (7)
Memecahkan (bounding) PL-2 dan PL-3
Asumsikan solusi PL-2 dan PL-3 masih
pecahan
Langkah berikutnya adalah memilih node
(masalah PL) yang akan dicabangkan.
-
TI 2001 Penelitian Operasional I 84
Algoritma BB untuk PLBB (8)
Setelah masalah PL sdh dipilih untuk dicabangkan
lebih lanjut, langkah selanjutnya adalah
memilih variabel bilangan bulat dengan nilai pecahan
yang akan dicabangkan untuk membentuk 2 masalah PL
baru (proses branching)
memecahkan masalah PL yang baru (proses bounding)
Jika solusi bilangan bulat telah diperoleh dari suatu
masalah PL maka nilai Z-nya menjadi batas bawah
(lower bound) dari nilai maksimum Z untuk masalah
PLBB.
-
TI 2001 Penelitian Operasional I 85
Algoritma BB untuk PLBB (9)
Proses branching dan bounding berlanjut hingga
semua node dalam kondisi fathomed.
Fathoming suatu node (masalah PL):
Solusi optimal PL merupakan bilangan bulat
Masalah PL adalah tak layak
Nilai optimal Z dari masalah PL tidak lebih baik daripada
batas bawah (lower bound) saat ini untuk masalah maksimisasi
batas atas (upper bound) saat ini untuk masalah minimisasi
-
TI 2001 Penelitian Operasional I 86
Algoritma BB untuk PLBB (10)
PL-1
PL-2 PL-3
Solusi pecahan
Z0 = Z1
Solusi pecahan
Z2
][ jjx 1 + ][ jjx
Solusi pecahan
Z3
PL-4 PL-5
Tidak layak Solusi bulat
Z4
][ iix 1 +][ iix
-
TI 2001 Penelitian Operasional I 87
Algoritma BB untuk PLBB (11)
PL-1
PL-2
PL-4 PL-5
PL-3
PL-6 PL-7
Solusi pecahan
Z0 = Z1
Solusi pecahan
Z2
Tidak layak Solusi bulat
Z4
Solusi pecahan
Z6 < Z4
][ jjx
][ iix ][ kkx
Solusi pecahan
Z3
Solusi pecahan
Z7 > Z4
1 + ][ jjx
1 +][ kkx1 +][ iix
-
TI 2001 Penelitian Operasional I 88
Algoritma BB untuk PLBB (12)
Esensi dari algoritma BB
Bounding
Branching
Fathoming
-
TI 2001 Penelitian Operasional I 89
Contoh Penerapan Algoritma BB (1)
Maximasi Z = 2x1 + 3x2
s/t :
5x1 + 7x2 35
4x1 + 9x2 36
x1, x2 0 dan bilangan bulat
-
TI 2001 Penelitian Operasional I 90
PL1
Maximasi Z = 2x1 + 3x2 dengan pembatas-pembatas:
5x1 + 7x2 35
4x1 + 9x2 36
x1, x2 0
Feasible
Solution
Area
7 9
4
5
X1
X2
0
6121 217 17
817
3 , 2
14
x x
Z
-
TI 2001 Penelitian Operasional I 91
Solusi Grafis (Kontinyu)
7 9
4
5
X1
X2
0
-
TI 2001 Penelitian Operasional I 92
Contoh Penerapan Algoritma BB (2)
PL-1 178
176
21712
1
14
2,3
Z
xx
-
TI 2001 Penelitian Operasional I 93
PL2
Maximasi Z = 2x1 + 3x2 dengan pembatas-pembatas:
5x1 + 7x2 35
4x1 + 9x2 36
x2 < 2 x1, x2 0
Feasible
Solution Area
7 9
4
5
X1
X2
0
11 25
25
4 , 2
14
x x
Z
-
TI 2001 Penelitian Operasional I 94
PL3
Maximasi Z = 2x1 + 3x2 dengan pembatas-pembatas:
5x1 + 7x2 35
4x1 + 9x2 36
x2 > 3 x1, x2 0
Feasible
Solution Area
7 9
4
5
X1
X2
0
11 24
12
2 , 3
13
x x
Z
-
TI 2001 Penelitian Operasional I 95
Contoh Penerapan Algoritma BB (3)
PL-1
PL-2 PL-3
178
176
21712
1
14
2,3
Z
xx
22 x32 x
21
241
1
13
3,2
Z
xx
52
251
1
14
2,4
Z
xx
-
TI 2001 Penelitian Operasional I 96
PL4
Maximasi Z = 2x1 + 3x2 dengan pembatas-pembatas:
5x1 + 7x2 35
4x1 + 9x2 36
x2 < 2
x1 < 4 x1, x2 0
Feasible
Solution Area
7 9
4
5
X1
X2
0
1 24, 2
14
x x
Z
-
TI 2001 Penelitian Operasional I 97
PL5
FSA
7 9
4
5
X1
X2
0
31 2 7
27
5, 1
14
x x
Z
Maximasi Z = 2x1 + 3x2 dengan pembatas-pembatas:
5x1 + 7x2 35
4x1 + 9x2 36
x2 < 2
x1 > 5 x1, x2 0
-
TI 2001 Penelitian Operasional I 98
Contoh Penerapan Algoritma BB (4)
PL-1
PL-2 PL-3
178
176
21712
1
14
2,3
Z
xx
22 x32 x
21
241
1
13
3,2
Z
xx
52
251
1
14
2,4
Z
xx
PL-4 PL-5
41 x 51 x
14
2,4 21
Z
xx
72
73
21
14
1,5
Z
xx
-
TI 2001 Penelitian Operasional I 99
Contoh Penerapan Algoritma BB (5)
PL-1
PL-2 PL-3
178
176
21712
1
14
2,3
Z
xx
22 x32 x
21
241
1
13
3,2
Z
xx
52
251
1
14
2,4
Z
xx
PL-4 PL-5
41 x 51 x
14
2,4 21
Z
xx
72
73
21
14
1,5
Z
xx
-
TI 2001 Penelitian Operasional I 100
Contoh Penerapan Algoritma BB (6)
PL-1
PL-2 PL-3
178
176
21712
1
14
2,3
Z
xx
22 x32 x
21
241
1
13
3,2
Z
xx
52
251
1
14
2,4
Z
xx
PL-4 PL-5
41 x 51 x
14
2,4 21
Z
xx
72
73
21
14
1,5
Z
xx
-
TI 2001 Penelitian Operasional I 101
Contoh Penerapan Algoritma BB (7)
PL-1
PL-2 PL-3
178
176
21712
1
14
2,3
Z
xx
22 x32 x
21
241
1
13
3,2
Z
xx
52
251
1
14
2,4
Z
xx
PL-4 PL-5
41 x 51 x
14
2,4 21
Z
xx
72
73
21
14
1,5
Z
xx
Fathomed karena perbedaan
nilai Z dengan lower bound < 1
dan semua koefisien fungsi tujuan
adalah bulat
Solusi bilangan bulat
optimal
x1 = 4, x2 = 2
Z = 14
-
TI 2001 Penelitian Operasional I 102
Solusi Optimal
7 9
4
5
X1
X2
0
1 24, 2
14
x x
Z
-
TI 2001 Penelitian Operasional I 103
Contoh Penerapan Algoritma BB (8)
PL-1 178
176
21712
1
14
2,3
Z
xx
Jika pencabang-
annya dipilih dari
PL-3 (bukan dari
PL-2)
-
TI 2001 Penelitian Operasional I 104
Contoh Penerapan Algoritma BB (9)
PL-1
PL-2 PL-3
178
176
21712
1
14
2,3
Z
xx
22 x32 x
21
241
1
13
3,2
Z
xx
52
251
1
14
2,4
Z
xx
-
TI 2001 Penelitian Operasional I 105
Contoh Penerapan Algoritma BB (10)
PL-1
PL-2 PL-3
178
176
21712
1
14
2,3
Z
xx
22 x32 x
21
241
1
13
3,2
Z
xx
52
251
1
14
2,4
Z
xx
PL-5 PL-4
21 x 31 x
Tidak layak
31
91
21
13
3,2
Z
xx
-
TI 2001 Penelitian Operasional I 106
Contoh Penerapan Algoritma BB (11)
PL-1
PL-2 PL-3
178
176
21712
1
14
2,3
Z
xx
22 x32 x
21
241
1
13
3,2
Z
xx
52
251
1
14
2,4
Z
xx
PL-5 PL-4
21 x 31 x
Tidak layak
31
91
21
13
3,2
Z
xx
-
TI 2001 Penelitian Operasional I 107
Contoh Penerapan Algoritma BB (12)
PL-1
PL-2 PL-3
178
176
21712
1
14
2,3
Z
xx
22 x32 x
21
241
1
13
3,2
Z
xx
52
251
1
14
2,4
Z
xx
PL-5 PL-4
21 x 31 x
Tidak layak
31
91
21
13
3,2
Z
xx
PL-6 PL-7 13
3,2 21
Z
xx
32 x 42 x
12
4,0 21
Z
xx
-
TI 2001 Penelitian Operasional I 108
Contoh Penerapan Algoritma BB (13)
PL-1
PL-2 PL-3
178
176
21712
1
14
2,3
Z
xx
22 x32 x
21
241
1
13
3,2
Z
xx
52
251
1
14
2,4
Z
xx
PL-5 PL-4
21 x 31 x
Tidak layak
31
91
21
13
3,2
Z
xx
PL-6 PL-7 13
3,2 21
Z
xx
32 x 42 x
12
4,0 21
Z
xx
-
TI 2001 Penelitian Operasional I 109
Contoh Penerapan Algoritma BB (14)
PL-1
PL-2 PL-3
178
176
21712
1
14
2,3
Z
xx
22 x32 x
21
241
1
13
3,2
Z
xx
52
251
1
14
2,4
Z
xx
PL-5 PL-4
21 x 31 x
Tidak layak
31
91
21
13
3,2
Z
xx
PL-6 PL-7 13
3,2 21
Z
xx
32 x 42 x
12
4,0 21
Z
xx
-
TI 2001 Penelitian Operasional I 110
Contoh Penerapan Algoritma BB (15)
PL-1
PL-2 PL-3
178
176
21712
1
14
2,3
Z
xx
22 x32 x
21
241
1
13
3,2
Z
xx
52
251
1
14
2,4
Z
xx
PL-5 PL-4
21 x 31 x
Tidak layak
31
91
21
13
3,2
Z
xx
PL-6 PL-7 13
3,2 21
Z
xx
32 x 42 x
12
4,0 21
Z
xx
PL-8 PL-9
41 x 51 x
14
2,4 21
Z
xx
72
73
21
14
1,5
Z
xx
-
TI 2001 Penelitian Operasional I 111
Contoh Penerapan Algoritma BB (16)
PL-1
PL-2 PL-3
178
176
21712
1
14
2,3
Z
xx
22 x32 x
21
241
1
13
3,2
Z
xx
52
251
1
14
2,4
Z
xx
PL-5 PL-4
21 x 31 x
Tidak layak
31
91
21
13
3,2
Z
xx
PL-6 PL-7 13
3,2 21
Z
xx
32 x 42 x
12
4,0 21
Z
xx
PL-8 PL-9
41 x 51 x
14
2,4 21
Z
xx
72
73
21
14
1,5
Z
xx
-
TI 2001 Penelitian Operasional I 112
Contoh Penerapan Algoritma BB (17)
PL-1
PL-2 PL-3
178
176
21712
1
14
2,3
Z
xx
22 x32 x
21
241
1
13
3,2
Z
xx
52
251
1
14
2,4
Z
xx
PL-5 PL-4
21 x 31 x
Tidak layak
31
91
21
13
3,2
Z
xx
PL-6 PL-7 13
3,2 21
Z
xx
32 x 42 x
12
4,0 21
Z
xx
PL-8 PL-9
41 x 51 x
14
2,4 21
Z
xx
72
73
21
14
1,5
Z
xx
Fathomed karena perbedaan
nilai Z dengan lower bound < 1
dan semua koefisien fungsi tujuan
adalah bulat
-
TI 2001 Penelitian Operasional I 113
Aturan Pencabangan (1)
Aturan-aturan pencabangan variabel adalah sebagai berikut:
Pilih variabel bilangan bulat yang mempunyai nilai pecahan terbesar dalam solusi PL.
Pilih variabel bilangan bulat yang mempunyai prioritas paling tinggi.
Menunjukkan keputusan yang terpenting dalam model
Mempunyai koefisien profit/biaya paling besar
Mempunyai nilai yang kritis yang didasarkan pengalaman pengguna
Aturan pemilihan bebas, misal, pilih variabel bilangan bulat dengan indeks paling kecil
-
TI 2001 Penelitian Operasional I 114
Aturan Pencabangan (2)
Aturan penentuan masalah PL yang hendak
dicabangkan:
Nilai optimal dari fungsi tujuan
LIFO (Last-In First-Out), yaitu masalah PL yang
dipecahkan paling belakangan.
-
TI 2001 Penelitian Operasional I 115
Contoh Algoritma BB untuk PLBB Biner (1)
Maximasi Z = 9x1 + 5x2 + 6x3 + 4x4
dengan pembatas-pembatas:
6x1 + 3x2 + 5x3 + 2x4 10
x3 + x4 1
-x1 + x3 + 0
-x2 + x4 0 x1, x2, x3, x4 = {0, 1}
-
TI 2001 Penelitian Operasional I 116
Contoh Algoritma BB untuk PLBB Biner (2)
PL-1 );,,,( 4321 Zxxxx
21
65 16;1,0,1,
-
TI 2001 Penelitian Operasional I 117
Contoh Algoritma BB untuk PLBB Biner (3)
PL-1
PL-2 PL-3
);,,,( 4321 Zxxxx
21
65 16;1,0,1,
01 x 11 x
9;1,0,1,0 515454 16;,0,,1
-
TI 2001 Penelitian Operasional I 118
Contoh Algoritma BB untuk PLBB Biner (4)
PL-1
PL-2 PL-3
);,,,( 4321 Zxxxx
21
65 16;1,0,1,
01 x 11 x
9;1,0,1,0 515454 16;,0,,1
-
TI 2001 Penelitian Operasional I 119
Contoh Algoritma BB untuk PLBB Biner (5)
PL-1
PL-2 PL-3
);,,,( 4321 Zxxxx
21
65 16;1,0,1,
01 x 11 x
9;1,0,1,0 515454 16;,0,,1
PL-4 PL-5
02 x 12 x
54
54 13;0,,0,1
16;,0,1,121
-
TI 2001 Penelitian Operasional I 120
Contoh Algoritma BB untuk PLBB Biner (6)
PL-1
PL-2 PL-3
);,,,( 4321 Zxxxx
21
65 16;1,0,1,
01 x 11 x
9;1,0,1,0 515454 16;,0,,1
PL-4 PL-5
02 x 12 x
54
54 13;0,,0,1
16;,0,1,121
PL-6 PL-7
03 x 13 x
16;,0,1,121
Tidak layak
-
TI 2001 Penelitian Operasional I 121
Contoh Algoritma BB untuk PLBB Biner (7)
PL-1
PL-2 PL-3
);,,,( 4321 Zxxxx
21
65 16;1,0,1,
01 x 11 x
9;1,0,1,0 515454 16;,0,,1
PL-4 PL-5
02 x 12 x
54
54 13;0,,0,1
16;,0,1,121
PL-6 PL-7
03 x 13 x
16;,0,1,121
Tidak layak
PL-8 PL-9 14;0,0,1,1
04 x 14 x
Tidak layak
-
TI 2001 Penelitian Operasional I 122
Contoh Algoritma BB untuk PLBB Biner (8)
PL-1
PL-2 PL-3
);,,,( 4321 Zxxxx
21
65 16;1,0,1,
01 x 11 x
9;1,0,1,0 515454 16;,0,,1
PL-4 PL-5
02 x 12 x
54
54 13;0,,0,1
16;,0,1,121
PL-6 PL-7
03 x 13 x
16;,0,1,121
Tidak layak
PL-8 PL-9 14;0,0,1,1
04 x 14 x
Tidak layak
-
TI 2001 Penelitian Operasional I 123
Contoh Algoritma BB untuk PLBB Biner (9)
PL-1
PL-2 PL-3
);,,,( 4321 Zxxxx
21
65 16;1,0,1,
01 x 11 x
9;1,0,1,0 515454 16;,0,,1
PL-4 PL-5
02 x 12 x
54
54 13;0,,0,1
16;,0,1,121
PL-6 PL-7
03 x 13 x
16;,0,1,121
Tidak layak
PL-8 PL-9 14;0,0,1,1
04 x 14 x
Tidak layak