TI 2001 or 1 - Pemrogr Bilangan Bulat - Kuliah 12 - 25 MAR 14
October 16, 2017 | Author: BrYan Wpe | Category: N/A
Short Description
Download TI 2001 or 1 - Pemrogr Bilangan Bulat - Kuliah 12 - 25 MAR 14...
Description
Pemrograman Bilangan Bulat (Integer Programming) Kuliah 10-11
TI 2001 Penelitian Operasional I
1
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
2
① Pengantar Pemrograman Bilangan Bulat
TI 2001 Penelitian Operasional I
3
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
4
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
5
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
6
Pembatas Either-Or 3x1 2 x2 18 dan x1 4 x2 16 M
3x1 2 x2 18 atau
atau
x1 4 x2 16
3x1 2 x2 18 M dan x1 4 x2 16
PL format:
bila y = 1
bila y = 0
3x1 2 x2 18 My x1 4 x2 16 M (1 y) y 0,1
TI 2001 Penelitian Operasional I
7
Fungsi dengan N Nilai yang Mungkin (1) f x1 , x2 ,, xn d1 atau d 2 atau atau d N
Perumusan PLBB: N
f x1 , x2 ,, xn d i yi i 1
N
y i 1
i
1
yi 0,1,
i 1,2,, N
TI 2001 Penelitian Operasional I
8
Fungsi dengan N Nilai yang Mungkin (2) Bila diinginkan : 3x1 2x 2 6, atau 12, atau 18 maka perumusan PLBB-nya adalah : 3x1 2 x2 6 y1 12 y2 18 y3 y1 y2 y3 1 yi 0,1,
i 1,2,3
TI 2001 Penelitian Operasional I
9
Representasi Biner untuk Variabel Bilangan Bulat (1) Batas-batas untuk variabel x:
0 x u dimana 2 N u 2 N 1 Representasi biner: N
x 2i yi i 0
yi 0,1,
i 0,1,2, , N
TI 2001 Penelitian Operasional I
10
Representasi Biner untuk Variabel Bilangan Bulat (2) x1 5 2 x1 3x2 30
u untuk x1 = 5 22 5 23
x1, x2 bil. bulat
u untuk x2 = 10 23 10 24
Representasi biner:
y0 2 y1 4 y2 5 2 y0 2 y1 4 y2 3w0 2w1 4w2 8w3 30 yi 0,1, wi 0,1,
i 0,1,2 i 0,1,2,3 TI 2001 Penelitian Operasional I
11
② Beberapa Contoh Model Pemrograman Bilangan Bulat
TI 2001 Penelitian Operasional I
12
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
13
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
14
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
15
Fixed Charge Problem (3) Maksimasi Z p j x j K j y j c j x j n
n
j 1
j 1
dengan pembatas-pembatas: n
a x j 1
ij
j
bi , i 1,, m
x j My j , x j 0,
j 1,, n
j 1,, n
y j 0,1,
j 1,..., n
TI 2001 Penelitian Operasional I
16
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
17
Knapsack Problem (2)
n
Maksimasi
Z vjxj j 1
dengan pembatas-pembatas: n
w x j 1
j
j
W
x j 0 dan bilangan bulat TI 2001 Penelitian Operasional I
18
Set Covering Problem (1) Contoh masalah set covering problem dalam menentukan lokasi pendirian pos siskamling 2
Jalan B
Jalan H
Jalan E 6
5 Jalan J
Jalan G
Jalan C
4
3
Jalan K
Jalan A
Jalan I
1
Jalan D
7 TI 2001 Penelitian Operasional I
8 19
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
20
Set covering problem (3)
n
Z cjxj
Minimasi
j 1
dengan pembatas-pembatas: n
a x j 1
ij
j
1,
i 1,..., m
x j 0,1,
j 1,..., n
TI 2001 Penelitian Operasional I
21
Set Partitioning Problem Tiap jalan tepat dilayani oleh satu pos
n
Z cjxj
Minimasi
j 1
dengan pembatas-pembatas: n
a x j 1
ij
j
1,
i 1,..., m
x j 0,1,
j 1,..., n
TI 2001 Penelitian Operasional I
22
Traveling Salesman Problem (1) 2
5
3 8
6
1
3 3
7
6
4 (jarak)
2 5
1 4
TI 2001 Penelitian Operasional I
23
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
24
Traveling Salesman Problem (3) n
n
Z cij xij
Minimasi
j 1 j 1
dengan pembatas-pembatas: n
x j 1 n
ij
x i 1
ij
1, i 1,, n
1,
j 1,, n
ui u j nxij n 1,
Subtour breaking constraint
i 2,, n; j 2,, n; i j
xij 0,1, i 1,, n; j 1,n
ui 0,
i 1,..., n
TI 2001 Penelitian Operasional I
25
Traveling Salesman Problem (4) 2
Subtour 1 3
5 4
Subtour breaking constraint bertujuan untuk mengeliminasi terjadinya solusi subtour TI 2001 Penelitian Operasional I
26
Traveling Salesman Problem (5) 2
Tour 1 3
5 4
Suatu solusi traveling salesman problem yang layak (terbentuknya suatu tour). TI 2001 Penelitian Operasional I
27
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
28
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
p3
p1
p4
p5
p2
3
1
4
5
2
Suatu solusi (jadwal) pengerjaan job yang layak TI 2001 Penelitian Operasional I
29
Job Scheduling Problem (3) n
Minimasi
Z w jC j j 1
dengan pembatas-pembatas:
Cj pj,
i 1,, n
Disjunctive constraint (Either-or constraint)
C j Ci M 1 yij pi , i 1,, n; j 1,n, i j Ci C j Myij p j , i 1,, n; j 1,n; i j C j 0,
i 1,..., n
yij 0,1,
Bj C j p j ,
i 1,..., n, j 1,n
i 1,, n
TI 2001 Penelitian Operasional I
30
③ Metode Pemecahan Model Pemrograman Bilangan Bulat
TI 2001 Penelitian Operasional I
31
Metode Pemecahan Model Pemrograman Bilangan Bulat • Cutting method – Cutting Plane
• Search method – Branch and Bound
TI 2001 Penelitian Operasional I
32
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
33
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
34
x2
Daerah layak
x1 TI 2001 Penelitian Operasional I
35
Solusi Optimal Kontinyu x2 (dengan mengabaikan kondisi integralitas)
( x1 , x2 ) 4 12 ,3 12
Z 63
TI 2001 Penelitian Operasional I
36
x1
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
37
x2
Penambahan Pembatas Sekunder
secondary constraint
( x1 , x2 ) 4,3 Z 55
x1 TI 2001 Penelitian Operasional I
38
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. 1 13 x1 x2 3 2
6 x1 2 x2 39
• Pada awalnya, masalah PILP dipecahkan sebagai PL reguler, yaitu dengan mengabaikan persyaratan bilangan bulat (= PL relaksasi). TI 2001 Penelitian Operasional I
39
Fractional Algorithm (2) Tabel akhir optimal untuk PL Basis
x1
xi
xm
w1
wj
wn
Solusi
X1
1
0
0
11
1j
1n
1
Xi
0
1
0
i1
ij
in
i
xm
0
0
1
m1
mj
mn
m
cj
0
0
0
c1
cj
cn
0
TI 2001 Penelitian Operasional I
40
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 n
xi i i j w j , j 1
i bukan bilangan bulat (baris sumber)
TI 2001 Penelitian Operasional I
41
Fractional Algorithm (4) Misal:
i i f i i
j
f j
i
ij
dimana : N = [a] adalah bilangan bulat terbesar sehingga N a 0 < fi < 1 0 fij < 1
TI 2001 Penelitian Operasional I
42
Fractional Algorithm (5) Dari baris sumber diperoleh: n
xi i i j w j , j 1
i bukan bilangan bulat n
xi { i f i } { i j f ij }w j ; i bukan bilangan bulat j 1
n
n
j 1
j 1
f i f ij wi xi i i j w j
Agar semua xi dan wj adalah bilangan bulat, maka ruas kanan dari persamaan harus bilangan bulat Akibatnya, ruas kiri harus bilangan bulat TI 2001 Penelitian Operasional I
43
Fractional Algorithm (6) Karena fij 0 dan wj 0 untuk semua i dan j maka n
f j 1
ij
wj 0
Akibatnya n
f i f ij w j f i j 1
TI 2001 Penelitian Operasional I
44
Fractional Algorithm (7) Karena fi < 1 maka n
f i f ij w j 1 j 1
Karena ruas kiri harus bilangan bulat, maka syarat perlu untuk memenuhi integralitas adalah: n
f i f ij w j 0 j 1
TI 2001 Penelitian Operasional I
45
Fractional Algorithm (8) Pertidaksamaan terakhir dapat dijadikan sebagai pembatas dalam bentuk: n
fi
f w ij
j
S i 0
j 1 n
Si
f w ij
j
fi
(fractional cut)
j 1
TI 2001 Penelitian Operasional I
46
Fractional Algorithm (9) Tabel setelah penambahan fractional cut Basis
x1
xi
xm
w1
wj
wn
Si
Solusi
x1
1
0
0
11
1j
1n
0
1
xi
0
1
0
i1
ij
in
0
i
xm
0
0
1
m1
mj
mn
0
m
Si
0
0
0
-fi1
-fij
-fim
1
-fi
cj
0
0
0
c1
cj
cn
0
0
TI 2001 Penelitian Operasional I
47
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
48
Fractional Algorithm (11) Kekuatan fractional cut n
f j 1
ij
w j fi
………………………..(1)
wj fk
………………………..(2)
n
f j 1
kj
Cut (1) dikatakan lebih kuat dari cut (2) jika fi fk dan fij fkj untuk semua j dengan strict inequality terpenuhi paling sedikit satu TI 2001 Penelitian Operasional I
49
Fractional Algorithm (12)
Aturan :
max f i i
f i max n i f ij j 1 TI 2001 Penelitian Operasional I
50
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
51
Contoh Penerapan Fractional Algorithm (2)
Tabel optimal kontinyu 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
TI 2001 Penelitian Operasional I
52
Contoh Penerapan Fractional Algorithm (3) Bila baris sumber “cut” yang diambil adalah persamaan x2 7 1 7 x3 x4 22 22 2 7 1 1 x2 0 x3 0 x4 3 22 22 2
x2
Fractional cut: 7 1 1 S1 x3 x4 22 22 2 TI 2001 Penelitian Operasional I
53
Contoh Penerapan Fractional Algorithm (4)
Tabel setelah penambahan fractional cut
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
TI 2001 Penelitian Operasional I
54
Contoh Penerapan Fractional Algorithm (5)
Tabel yang diperoleh dengan dual simplex:
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
TI 2001 Penelitian Operasional I
55
Contoh Penerapan Fractional Algorithm (6) Bila baris sumber “cut” yang diambil adalah persamaan x1 1 1 4 x1 x4 S1 4 7 7 7
1 6 4 x1 0 x4 1 S1 4 7 7 7
Fractional cut: 1 6 4 S 2 x4 S1 7 7 7 TI 2001 Penelitian Operasional I
56
Contoh Penerapan Fractional Algorithm (7) Tabel setelah penambahan fractional cut 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
c j – zj
0
0
0
-1
-8
0
TI 2001 Penelitian Operasional I
57
Contoh Penerapan Fractional Algorithm (8) Tabel yang diperoleh dengan dual simplex: 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
c j – zj
0
0
0
-2
-7
0
Z = 55
Solusi bilangan bulat optimal, x1 = 4, x2 = 3; Z = 55 TI 2001 Penelitian Operasional I
58
Ilustrasi Fractional Cut secara Grafis (1) Fractional cut 1: 7 1 1 S1 x3 x4 22 22 2
7 1 1 S1 6 x1 3x2 35 7 x1 x2 22 22 2
S1 x2 3 x2 3 TI 2001 Penelitian Operasional I
59
Ilustrasi Fractional Cut secara Grafis (2)
x2
Dg.fractional cut 1, solusi optimal integer belum diperoleh
x2 3
x1 TI 2001 Penelitian Operasional I
60
Ilustrasi Fractional Cut secara Grafis (3) Fractional cut 2: 1 6 4 S 2 x4 S1 7 7 7 1 6 4 S 2 35 7 x1 x2 3 x2 7 7 7
S2 x1 x2 7 x1 x2 7 TI 2001 Penelitian Operasional I
61
Ilustrasi Fractional Cut secara Grafis (4)
x2
x2 3
x1 x2 7
Dg.ditambah fractional cut 2, diperoleh solusi optimal integer
x1 TI 2001 Penelitian Operasional I
62
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
63
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
64
Mixed Algorithm (3) Misal xk adalah variabel bilangan bulat dari masalah MILP. Persamaan-xk dalam solusi kontinyu optimal: n
xk k kj w j j 1
n
xk k f k kj w j
(baris sumber)
j 1 n
xk k f k kj w j j 1
TI 2001 Penelitian Operasional I
65
Mixed Algorithm (4) Untuk xk adalah bilangan bulat, maka
xk k atau xk k 1 harus dipenuhi n
j x f Dari baris sumber : k k wj k k
kondisi 1) : xk βk ekivalen dengan : j 1
n
fk
n
α kj w j
j 1
0
j 1
j k
wk f k
(1)
2) : xk βk 1 ekivalen dengan : n
fk
n
α kj w j
j 1 k wk f k 1 (2)
j TI12001 Penelitian OperasionaljI1
66
Mixed Algorithm (5) Misal : J+ = himpunan subscripts j untuk kj 0 J- = himpunan subscripts j untuk kj < 0 n
j Dari (1) diperoleh : k wk f k
(3)
jJ
dan dari (2) diperoleh : n
wk f k 1 j 1
j k
n
α kj w k fk 1
jJ
fk n j k wk f k f k 1 jJ TI 2001 Penelitian Operasional I
(4) 67
Mixed Algorithm (6) Karena (1) dan (2) tidak dapat terjadi secara simultan, maka : n kj wk f k (3) dan
jJ
fk n j k wk f k f k 1 jJ
(4)
dapat digabungkan menjadi satu pembatas dalam bentuk : n n f j j k α k w k fk αkwk fk 1 jJ j J
TI 2001 Penelitian Operasional I
68
Mixed Algorithm (6) n n f j j k α k w k Sk fk αkwk fk 1 jJ j J
fk n j n j S k k wk k wk f k f k 1 jJ jJ
TI 2001 Penelitian Operasional I
(mixed cut)
69
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
70
Contoh Penerapan Mixed Algorithm (2)
Tabel optimal kontinyu: 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
TI 2001 Penelitian Operasional I
71
Contoh Penerapan Mixed Algorithm (3) Baris sumber persamaan-x1 1 3 1 x1 x3 x4 4 22 22 2
J 3, J 4,
f1 12
Mixed cut:
12 1 1 3 S1 x4 1 x3 2 22 2 1 22 1 3 1 S1 x3 x4 22 22 2 TI 2001 Penelitian Operasional I
72
Contoh Penerapan Mixed Algorithm (4)
Tabel setelah penambahan mixed cut
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
TI 2001 Penelitian Operasional I
73
Contoh Penerapan Mixed Algorithm (5) Tabel yang diperoleh dengan dual simplex: 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
Solusi optimal, x1 = 4, x2 = 10/3; Z = 58 TI 2001 Penelitian Operasional I
74
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
75
Algoritma Branch-and-Bound (2) • Algoritma BB untuk PLBB (Murni & Campuran) • Algoritma BB untuk PLBB Biner
TI 2001 Penelitian Operasional I
76
Algoritma BB untuk PLBB (1)
Misalkan diberikan suatu masalah pemrograman bilangan bulat sebagai berikut:
Maksimasi Z = cx dengan pembatas Ax = b x0 xj bilangan bulat untuk j I dimana I adalah himpunan variabel bilangan bulat TI 2001 Penelitian Operasional I
77
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 x0 TI 2001 Penelitian Operasional I
78
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
79
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
80
Algoritma BB untuk PLBB (5) PL-2
PL-3
Maksimasi Z = cx dengan pembatas Ax = b xj [] x0
Maksimasi Z = cx dengan pembatas Ax = b xj []+1 x0
TI 2001 Penelitian Operasional I
81
Algoritma BB untuk PLBB (6)
PL-1
Solusi pecahan Z1
x j [ j ] Solusi pecahan PL-2 Z2
x j ≥[ β j ] + 1
PL-3
TI 2001 Penelitian Operasional I
Solusi pecahan Z3
82
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
83
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
84
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
85
Algoritma BB untuk PLBB (10) PL-1
Solusi pecahan Z0 = Z1
x j [ j ]
x j ≥[ β j ] + 1
Solusi pecahan PL-2 Z2
xi [ i ]
PL-4 Solusi bulat Z4
PL-3
Solusi pecahan Z3
xi ≥ [ βi ] + 1
PL-5 Tidak layak TI 2001 Penelitian Operasional I
86
Algoritma BB untuk PLBB (11) PL-1
Solusi pecahan Z0 = Z1
x j [ j ]
x j ≥[ β j ] + 1
Solusi pecahan PL-2 Z2
xi [ i ]
PL-4 Solusi bulat Z4
PL-3 xi ≥ [ βi ] + 1
PL-5 Tidak layak
xk [ k ]
PL-6
Solusi pecahan Z3 xk ≥ [ βk ] + 1
Solusi pecahan PL-7 Z 7 > Z4
Solusi pecahan Z 6 < Z4
TI 2001 Penelitian Operasional I
87
Algoritma BB untuk PLBB (12) • Esensi dari algoritma BB – Bounding – Branching – Fathoming
TI 2001 Penelitian Operasional I
88
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
89
PL1 Maximasi Z = 2x1 + 3x2 dengan pembatas-pembatas: X 5x1 + 7x2 35 4x1 + 9x2 36 5 x1 , x2 ≥ 0 4
2
12 x1 3 17 , x2 2 176
Z 14 178 Feasible Solution Area 0
TI 2001 Penelitian Operasional I
7
X1
9
90
Solusi Grafis (Kontinyu) X2 5 4
0
7
TI 2001 Penelitian Operasional I
9
X1
91
Contoh Penerapan Algoritma BB (2) 12 x1 3 17 , x2 2 176
Z 14 178
PL-1
TI 2001 Penelitian Operasional I
92
PL2 Maximasi Z = 2x1 + 3x2 dengan pembatas-pembatas: X2 5x1 + 7x2 35 4x1 + 9x2 36 5 x2 < 2 4 x1 , x2 ≥ 0
x1 4 15 , x2 2 Z 14 52 Feasible Solution Area
0
TI 2001 Penelitian Operasional I
7
X1
9
93
PL3 Maximasi Z = 2x1 + 3x2 dengan pembatas-pembatas: X 5x1 + 7x2 35 4x1 + 9x2 36 5 x2 > 3 4 x1 , x2 ≥ 0
2
Feasible Solution Area
x1 2 14 , x2 3 Z 13 12
0
TI 2001 Penelitian Operasional I
7
9
X1
94
Contoh Penerapan Algoritma BB (3) 12 x1 3 17 , x2 2 176
Z 14 178
x2 2
x1 4 , x2 2 1 5
Z 14 52
PL-1
PL-2
x2 3
x1 2 14 , x2 3
PL-3
TI 2001 Penelitian Operasional I
Z 13 12
95
PL4 Maximasi Z = 2x1 + 3x2 dengan pembatas-pembatas: 5x1 + 7x2 35 4x1 + 9x2 36 x2 < 2 x1 < 4 x1 , x2 ≥ 0
X2 5 4 x1 4, x2 2 Z 14
Feasible Solution Area 0
TI 2001 Penelitian Operasional I
7
9
X1
96
PL5 Maximasi Z = 2x1 + 3x2 dengan pembatas-pembatas: 5x1 + 7x2 35 X 4x1 + 9x2 36 5 x2 < 2 4 x1 > 5 x1 , x2 ≥ 0
2
x1 5, x2 1 73 Z 14 72 0
TI 2001 Penelitian Operasional I
FSA 7
9
X1
97
Contoh Penerapan Algoritma BB (4) 12 x1 3 17 , x2 2 176
Z 14 178
x2 2
x1 4 , x2 2 1 5
Z 14 52
PL-2
x1 4 PL-4 x1 4, x2 2 Z 14
PL-1
x2 3
x1 2 14 , x2 3
PL-3
Z 13 12
x1 5 PL-5 x1 5, x2 1 73 Z 14 72
TI 2001 Penelitian Operasional I
98
Contoh Penerapan Algoritma BB (5) 12 x1 3 17 , x2 2 176
Z 14 178
x2 2
x1 4 , x2 2 1 5
Z 14 52
PL-2
x1 4 PL-4 x1 4, x2 2 Z 14
PL-1
x2 3
x1 2 14 , x2 3
PL-3
Z 13 12
x1 5 PL-5 x1 5, x2 1 73 Z 14 72
TI 2001 Penelitian Operasional I
99
Contoh Penerapan Algoritma BB (6) 12 x1 3 17 , x2 2 176
Z 14 178
x2 2
x1 4 , x2 2 1 5
Z 14 52
PL-2
x1 4 PL-4 x1 4, x2 2 Z 14
PL-1
x2 3
x1 2 14 , x2 3
PL-3
Z 13 12
x1 5 PL-5 x1 5, x2 1 73 Z 14 72
TI 2001 Penelitian Operasional I
100
Contoh Penerapan Algoritma BB (7) 12 x1 3 17 , x2 2 176
Z 14 178
x2 2
x1 4 , x2 2 1 5
Z 14 52
PL-2
x1 4 PL-4
x2 3
x1 2 14 , x2 3
PL-3
Z 13 12
x1 5 PL-5
x1 4, x2 2 Z 14
PL-1
x1 5, x2 1
3 7
Z 14 2
7 perbedaan Fathomed karena nilai Z dengan lower bound < 1 dan semua koefisien fungsi tujuan adalah bulat
TI 2001 Penelitian Operasional I
Solusi bilangan bulat optimal x1 = 4, x2 = 2 Z = 14 101
Solusi Optimal X2 5 4 x1 4, x2 2 Z 14
0
7
TI 2001 Penelitian Operasional I
9
X1
102
Contoh Penerapan Algoritma BB (8) 12 x1 3 17 , x2 2 176
Jika pencabangannya dipilih dari PL-3 (bukan dari PL-2)
Z 14 178
PL-1
TI 2001 Penelitian Operasional I
103
Contoh Penerapan Algoritma BB (9) 12 x1 3 17 , x2 2 176
Z 14 178
x2 2
x1 4 , x2 2 1 5
Z 14 52
PL-1
PL-2
x2 3
x1 2 14 , x2 3
PL-3
TI 2001 Penelitian Operasional I
Z 13 12
104
Contoh Penerapan Algoritma BB (10) 12 x1 3 17 , x2 2 176
Z 14 178
x2 2
x1 4 , x2 2 1 5
Z 14 52
PL-1
x2 3
PL-2
x1 2 14 , x2 3
PL-3 x1 2, x2 3 Z 13 13
1 9
x1 2 PL-4
Z 13 12
x1 3 PL-5 Tidak layak
TI 2001 Penelitian Operasional I
105
Contoh Penerapan Algoritma BB (11) 12 x1 3 17 , x2 2 176
Z 14 178
x2 2
x1 4 , x2 2 1 5
Z 14 52
PL-1
x2 3
PL-2
x1 2 14 , x2 3
PL-3 x1 2, x2 3 Z 13 13
1 9
x1 2 PL-4
Z 13 12
x1 3 PL-5 Tidak layak
TI 2001 Penelitian Operasional I
106
Contoh Penerapan Algoritma BB (12) 12 x1 3 17 , x2 2 176
Z 14 178
x2 2
x1 4 , x2 2 1 5
Z 14 52
PL-1
x2 3
x1 2 14 , x2 3
PL-2
PL-3 x1 2, x2 3
1 9
Z 13 13
x1 2, x2 3 Z 13
x1 2
Z 13 12
x1 3
PL-4
PL-5
x2 3
x2 4
PL-6
PL-7 x 0, x 4 1 2
Tidak layak
Z 12
TI 2001 Penelitian Operasional I
107
Contoh Penerapan Algoritma BB (13) 12 x1 3 17 , x2 2 176
Z 14 178
x2 2
x1 4 , x2 2 1 5
Z 14 52
PL-1
x2 3
x1 2 14 , x2 3
PL-2
PL-3 x1 2, x2 3
1 9
Z 13 13
x1 2, x2 3 Z 13
x1 2
Z 13 12
x1 3
PL-4
PL-5
x2 3
x2 4
PL-6
PL-7 x 0, x 4 1 2
Tidak layak
Z 12
TI 2001 Penelitian Operasional I
108
Contoh Penerapan Algoritma BB (14) 12 x1 3 17 , x2 2 176
Z 14 178
x2 2
x1 4 , x2 2 1 5
Z 14 52
PL-1
x2 3
x1 2 14 , x2 3
PL-2
PL-3 x1 2, x2 3
1 9
Z 13 13
x1 2, x2 3 Z 13
x1 2
Z 13 12
x1 3
PL-4
PL-5
x2 3
x2 4
PL-6
PL-7 x 0, x 4 1 2
Tidak layak
Z 12
TI 2001 Penelitian Operasional I
109
Contoh Penerapan Algoritma BB (15) 12 x1 3 17 , x2 2 176
Z 14 178
x2 2
x1 4 , x2 2 1 5
Z 14 52
x2 3
x1 2 14 , x2 3
PL-2
x1 4 PL-8 x1 4, x2 2 Z 14
PL-1
PL-3
x1 5 PL-9
x1 2, x2 3 Z 13 13
x1 5, x2 1 73 Z 14 72
1 9
x1 2, x2 3 Z 13
x1 2
Z 13 12
x1 3
PL-4
PL-5
x2 3
x2 4
PL-6
PL-7 x 0, x 4 1 2
Tidak layak
Z 12
TI 2001 Penelitian Operasional I
110
Contoh Penerapan Algoritma BB (16) 12 x1 3 17 , x2 2 176
Z 14 178
x2 2
x1 4 , x2 2 1 5
Z 14 52
x2 3
x1 2 14 , x2 3
PL-2
x1 4 PL-8 x1 4, x2 2 Z 14
PL-1
PL-3
x1 5 PL-9
x1 2, x2 3 Z 13 13
x1 5, x2 1 73 Z 14 72
1 9
x1 2, x2 3 Z 13
x1 2
Z 13 12
x1 3
PL-4
PL-5
x2 3
x2 4
PL-6
PL-7 x 0, x 4 1 2
Tidak layak
Z 12
TI 2001 Penelitian Operasional I
111
Contoh Penerapan Algoritma BB (17) 12 x1 3 17 , x2 2 176
Z 14 178
x2 2
x1 4 , x2 2 1 5
Z 14 52
x2 3
x1 2 14 , x2 3
PL-2
x1 4 PL-8
PL-3
x1 5
x1 2, x2 3 19 Z 13 13
PL-9
x1 4, x2 2 Z 14
PL-1
x1 5, x2 1 73 Z 14 72
Fathomed karena perbedaan nilai Z dengan lower bound < 1 dan semua koefisien fungsi tujuan adalah bulat
x1 2, x2 3 Z 13
x1 2
Z 13 12
x1 3
PL-4
PL-5
x2 3
x2 4
PL-6
PL-7 x 0, x 4 1 2
TI 2001 Penelitian Operasional I
Tidak layak
Z 12
112
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
113
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
114
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
115
Contoh Algoritma BB untuk PLBB Biner (2) ( x1 , x2 , x3 , x4 ; Z )
PL-1
56 ,1,0,1;16 12
TI 2001 Penelitian Operasional I
116
Contoh Algoritma BB untuk PLBB Biner (3) ( x1 , x2 , x3 , x4 ; Z )
PL-1
x1 0
0,1,0,1;9
56 ,1,0,1;16 12 x1 1
PL-2
PL-3
TI 2001 Penelitian Operasional I
1, 54 ,0, 54 ;16 15
117
Contoh Algoritma BB untuk PLBB Biner (4) ( x1 , x2 , x3 , x4 ; Z )
PL-1
x1 0
0,1,0,1;9
56 ,1,0,1;16 12 x1 1
PL-2
PL-3
TI 2001 Penelitian Operasional I
1, 54 ,0, 54 ;16 15
118
Contoh Algoritma BB untuk PLBB Biner (5) ( x1 , x2 , x3 , x4 ; Z )
PL-1
x1 0
0,1,0,1;9
56 ,1,0,1;16 12 x1 1
PL-2
PL-3
x2 0
1,0, 54 ,0;13 54
PL-4
TI 2001 Penelitian Operasional I
1, 54 ,0, 54 ;16 15 x2 1
1,1,0, 12 ;16
PL-5
119
Contoh Algoritma BB untuk PLBB Biner (6) ( x1 , x2 , x3 , x4 ; Z )
PL-1
x1 0
0,1,0,1;9
56 ,1,0,1;16 12 x1 1
PL-2
PL-3
1, 54 ,0, 54 ;16 15
x2 0
1,0, 54 ,0;13 54
x2 1
PL-4
PL-5
x3 0
1,1,0, 12 ;16
1,1,0, 12 ;16
PL-6
x3 1 PL-7 Tidak layak
TI 2001 Penelitian Operasional I
120
Contoh Algoritma BB untuk PLBB Biner (7) ( x1 , x2 , x3 , x4 ; Z )
PL-1
x1 0
0,1,0,1;9
56 ,1,0,1;16 12 x1 1
PL-2
PL-3
1, 54 ,0, 54 ;16 15
x2 0
1,0, 54 ,0;13 54
x2 1
PL-4
1,1,0, 12 ;16
PL-5
x3 0
1,1,0, 12 ;16 1,1,0,0;14
x3 1
PL-6
PL-7
x4 0
x4 1
PL-8
PL-9
TI 2001 Penelitian Operasional I
Tidak layak
Tidak layak
121
Contoh Algoritma BB untuk PLBB Biner (8) ( x1 , x2 , x3 , x4 ; Z )
PL-1
x1 0
0,1,0,1;9
56 ,1,0,1;16 12 x1 1
PL-2
PL-3
1, 54 ,0, 54 ;16 15
x2 0
1,0, 54 ,0;13 54
x2 1
PL-4
1,1,0, 12 ;16
PL-5
x3 0
1,1,0, 12 ;16 1,1,0,0;14
x3 1
PL-6
PL-7
x4 0
x4 1
PL-8
PL-9
TI 2001 Penelitian Operasional I
Tidak layak
Tidak layak
122
Contoh Algoritma BB untuk PLBB Biner (9) ( x1 , x2 , x3 , x4 ; Z )
PL-1
x1 0
0,1,0,1;9
56 ,1,0,1;16 12 x1 1
PL-2
PL-3
1, 54 ,0, 54 ;16 15
x2 0
1,0, 54 ,0;13 54
x2 1
PL-4
1,1,0, 12 ;16
PL-5
x3 0
1,1,0, 12 ;16 1,1,0,0;14
x3 1
PL-6
PL-7
x4 0
x4 1
PL-8
PL-9
TI 2001 Penelitian Operasional I
Tidak layak
Tidak layak
123
View more...
Comments