Operations Research Industrial Engineering
Integer Programming
2
11/3/2016
Integer Programming
2
11/3/2016
Model Integer I nteger Programming Permasalahan integer programming (IP) adalah suatu Program Linear (LP) yang bebe bebera rapa pa atau atau selu seluru ruh h vari variab abel el yang yang digu diguna naka kan n meru merupa paka kan n bila bilang ngan an intege integerr positi positif f
Jenis-jenis permasalahan IP:
Pure IP problem: problem: jika semua variabel harus bernilai integer
Maximize subject to
Mixed IP problem problem:: jika hanya beberapa variabel yang bernilai integer
Maximize subject to
z = 3x1 + 4x2 5x1 + 8x2 ≤ 24 x1, x2 ≥ 0, x1 integer
0-1 IP problem: problem: jika semua variabel variabel harus bernilai 0 atau 1 (Binary Integer Programming/BIP) Programming/BIP)
Maximize subject to
3
z = 3x1 + 4x2 5x1 + 8x2 ≤ 24 x1, x2 ≥ 0, x1 dan x2 integer
z = 3x1 + 4x2 5x1 + 8x2 ≤ 24 x1, x2 = 0 or 1
11/3/2016
Integer Programming dan LP relaxation Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan LP Hal ini disebabkan banyaknya kombinasi nilai integer yang harus diuji, dan setiap kombinasi membutuhan penyelesaian “normal” LP atau NLP LP relaxation dari IP adalah LP yang diperoleh dengan menghilangkan pembatas semua bilangan integer atau pembatas
Contoh Pure IP problem :
Maximize subject to
Contoh Pure IP problem yang telah di-longgarkan (relax):
Maximize subject to
4
z = 3x1 + 4x2 5x1 + 8x2 ≤ 24 x1, x2 ≥ 0, x1 dan x2 integer
z = 3x1 + 4x2 5x1 + 8x2 ≤ 24 x1, x2 ≥ 0 11/3/2016
Pendekatan sederhana solusi IP Pendekatan 1:
Cari seluruh kemungkinan solusi
Tentukan nilai fungsi tujuannya
Pilih nilai maksimum (minimum)
3
2
7x1 + 4x2= 13
x2 1
Pendekatan 2:
5
Selesaikan LP relaxation
Bulatkan pada solusi integer yang feasibel terdekat
x
x
1
x
x
2
3
x1 11/3/2016
Solusi Integer Programming Contoh Problem: x2
Max z = 1200 x1 + 2000 x2 ST:
5
2x1 + 6 x2 x2
6
27
2
4
3
3x1 + x2 19 2
x1 , x2
0 and Integer
x2 ≥ 2 1
Penyelesaian problem Integer Programming, Apakah solusi LP dibulatkan untuk mendapakan solusi IP…?
6
x1 1
2
3
4
5
6
LP Optimal x1 = 5 7 / 16 x2 = 2 11 / 16
11/3/2016
7
8
Solusi Integer Programming (2) Max z = 1200 x1 + 2000 x2 ST:
x2
2x1 + 6 x2
27
x2 2
Pembulatan?
5
x1 = 5 x2 = 3
Pembulatan ke atas? x1 = 6 x2 = 3
4
3x1 + x2 19 x1 , x2
6
0 and Integer
3
Pembulatan ke bawah? x1 = 5 x2 = 2
2
1
x1 1
2
3
4
5
6
LP Optimal x1 = 5 7 / 16 x2 = 2 11 / 16
7
11/3/2016
7
8
Solusi Integer Programming (3) x2
I P Optimal x 1 = 4 x 2 = 3
6
5
4
3
2
1
x1 1
2
3
4
5
6
7
8
Untuk MAX problem: nilai optimal dari IP ≤ nilai optimal dari LP relaxation 8
11/3/2016
Permodelan Integer Programming
9
11/3/2016
Contoh 1: Problem investasi
Perusahaan Stockco mempertimbangkan empat jenis investasi (tiap investasi hanya bisa dilakukan sekali) Modal yang tersedia untuk investasi sebesar $ 14,000 Formulasikan model integer programming ini untuk memaksimumkan NPV dari investasi-investasi berikut:
Pilihan Investasi
1
2
3
4
Modal
$5000
$7000
$4000
$3000
NPV
$16000
$22000
$12000
$8000
SOLUSI: xi = investasi ke-i Maximize z = 16 x1+ 22 x2 + 12 x3 + 8 x4 (dalam ribuan) Subject to 5 x1 + 7 x2 + 4 x3 + 3 x4 ≤ 14 (batasan modal dlm ribuan) x1, x2, x3, x4 = 0, 1 (0 = jika tdk investasi, 1=jika memilih investasi) 10
11/3/2016
Pengembangan Problem investasi Perusahaan Stockco mempertimbangkan batasan-batasan“logis” berikut ini: Tepat 3 investasi yang terpilih Jika investasi ke-2 terpilih, maka investasi ke- 1 juga terpilih Jika investasi ke- 1 terpilih, maka investasi ke- 3 tidak terpilih Salah satu dari investasi ke- 3 atau ke-4 harus terpilih, tetapi tidak dapat keduaduanya Tambahan pembatas: Tepat 3 investasi yang terpilih x1+ x2+ x3+ x4 =3 Jika investasi ke-2 terpilih, maka investasi ke- 1 juga terpilih x1 ≥ x2 Jika investasi ke- 1 terpilih, maka investasi ke- 3 tidak terpilih x1 + x3 ≤ 1 Salah satu dari investasi ke- 3 atau ke-4 harus terpilih, tetapi tidak dapat keduaduanya x3 + x4 = 1 11
11/3/2016
Contoh 2: Pemilihan pemain bola basket
Perkumpulan bola basket “Pasti Menang” sedang menghadapi kompetisi tingkat nasional. Sang pelatih hendak memilih 5 dari 7 pemain yang akan diturunkan dalam pertandingan malam nanti. Data-data pemain seperti terlihat pada tabel dibawah ini:
Pemain Guard 1 Yes 2 No 3 Yes 4 No 5 Yes 6 No 7 Yes 12
Posisi Kemampuan Forward Center Ball-Handling Shooting Rebounding Total No No 3 1 2 6 No Yes 1 2 1 4 Yes No 1 3 1 5 Yes Yes 1 2 1 4 Yes No 2 1 3 6 Yes Yes 1 3 1 5 Yes No 1 2 2 5 11/3/2016
Pemilihan pemain bola basket Pembatas yang dialami pelatih adalah sebagai berikut: Harus ada tepat lima pemain, dengan syarat:
Sedikitnya empat pemain sebagai guard. Sedikitnya dua pemain sebagai forward. Sedikitnya satu pemain sebagai center.
Rata-Rata tingkat ketrampilan pemain paling sedikit 2. Salah satu dari pemain ke-2 atau pemain ke-3 harus bermain. Jika pemain ke-3 bermain, maka pemain ke-6 tidak bisa bermain. Jika pemain ke-1 bermain, maka pemain ke-4 dan ke-5 harus bermain juga.
13
11/3/2016
Solusi : Pemilihan pemain bola basket (1) Variabel Keputusan Xi = 1, jika pemain ke-i diturunkan ke lapangan. = 0, jika pemain ke-i tidak diturunkan Fungsi tujuan: Max z = 6 x1 + 4 x2 + 5 x3 + 4 x4 + 6 x5 + 5 x6 + 5 x7 Pembatas : Harus ada tepat lima pemain turun ke lapangan x1 + x2 + x3 + x4 + x5 + x6 + x7 = 5 Paling sedikit terdapat empat pemain guard. x1 + x3 + x5 + x7 ≥ 4 Paling sedikit terdapat dua pemain forward. x3 + x4 + x5 + x6 + x7 ≥ 2 Paling sedikit terdapat satu pemain center 14
x2 + x4 + x6 ≥ 1
11/3/2016
Solusi : Pemilihan pemain bola basket (2) Rata-Rata tingkat ketrampilan pemain paling sedikit 2 (a) Rata-rata ketrampilan pemain ball handling (menggiring bola) lebih dari dua. (3 x1 + x2 + x3 + x4 + 2 x5 + x6 + x7)/5 3 x1 + x2 + x3 + x4 + 2 x5 + x6 + x7
2
10
(b) Rata-rata ketrampilan pemain shooting (menembak bola) lebih dari dua. x1 + 2 x2 +3 x3 + 2 x4 + x5 + 3 x6 + 2 x7
10
(c) Rata-rata ketrampilan pemain rebounding (menghadang lebih dari dua) 2 x1 + x2 + x3 + x4 + 3 x5 + x6 + 2 x7 15
10
11/3/2016
Solusi : Pemilihan pemain bola basket (2) Salah satu dari pemain ke-2 atau pemain ke-3 harus bermain x2 + x3
1
Variabel kemungkinan yang terjadi:
16
x2 = 1 & x3 = 0
Feasible
x2 = 0 & x3 = 1
Feasible
x2 = 1 & x3 = 1
Feasible
x2 = 0 & x3 = 0
Infeasible
11/3/2016
Solusi : Pemilihan pemain bola basket (3) Jika pemain ke-3 bermain, maka pemain ke-6 tidak bisa bermain x3 + x6 1 Variabel kemungkinan yang terjadi: Pemain 3 bermain, tetapi pemain 6 tidak bermain. x3 = 1, x6 = 0
Feasible
Pemain 6 bermain, tetapi pemain 3 tidak bermain. x3 = 0, x6 = 1 Feasible Kedua-duanya bermain x3 = 1, x6 = 1 Infeasible Kedua-duanya tidak dapat bermain. x3 = 0, x6 = 0 Feasible 17
11/3/2016
Solusi : Pemilihan pemain bola basket (4) Jika pemain ke-1 bermain, maka pemain ke-4 dan ke-5 harus bermain juga x1 ≤ x4 x1 ≤ x5 Jika x1 = 1, maka x4 = 1 dan x5 =1. Variabel kemungkinan yang terjadi:
18
x1
x4
x5
Interpretasi
1
1
1 ketiga pemain bermain (feasibel).
0
0
0 ketiga pemain tidak bermain (feasibel).
0
1
0 hanya pemain 4 yang bermain (feasibel).
0
0
1 hanya pemain 5 yang bermain (feasibel).
0
1
1 pemain 4 dan 5 bermain, sedangkan pemain 1 tidak (feasibel) 11/3/2016
Contoh 3 : Pengeboran Minyak
Pemilihan paling sedikit 5 lokasi dari 10 lokasi pengeboran minyak yang telah direncanakan, dengan variabel keputusan X1, X2,…, X10 dan biaya pengeboran C1, C2,…, dan C10.
Batasan:
Paling banyak dua dari lokasi X5, X6, X7 dan X8 yang dapat dipilih
Memilih lokasi X3 atau lokasi X4 akan mencegah untuk memilih lokasi X5.
Memilih kombinasi lokasi X1 dan X7 akan mencegah untuk memilih lokasi X8.
19
11/3/2016
Solusi Pengeboran Minyak (1) Variabel Keputusan Xi = 1, jika lokasi ke-i dilakukan pengeboran. = 0, jika lokasi ke-i tidak dilakukan pengeboran. Fungsi tujuan: Min z = C1 x1 + C2 x2 + C3 x3 + C4 x4 +C5 x5 + C6 x6 + C7 x7 + C8 x8 + C9 x9 + C10 x10 Subject to (1) Pemilihan paling sedikit 5 lokasi dari 10 lokasi pengeboran x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9 + x10 > 5 (2) Paling banyak dua dari lokasi X5, X6, X7 dan X8 yang dapat dipilih x5 + x6 + x7 + x8 2
20
11/3/2016
Solusi Pengeboran Minyak (2) Memilih lokasi X3 atau lokasi X4 akan mencegah untuk memilih lokasi X5 x3 + x5
1
x4 + x5
1
x3=1 atau x4=1, maka harus x5=0 (jika memilih lokasi X3 atau lokasi X4, lokasi X5 tidak boleh dipilih)
x5=1, maka nilai x3=0 dan x4=0 (jika memilih lokasi X5, maka lokasi X3 dan lokasi X4 tidak boleh dipilih)
21
11/3/2016
Solusi Pengeboran Minyak (3) Memilih kombinasi lokasi X1 dan X7 akan mencegah untuk memilih lokasi X8 x1 + x7 + x8
2
kasus 1: tidak memilih lokasi X8
x8 = 0, maka x1 + x7 2 (dapat memilih lokasi S1, S7, atau keduaduanya, atau tidak keduanya). x8 x1 x7
22
Interpretasi
0
0
0 Tidak memilih ketiga lokasi tersebut
0
0
1 Hanya memilih lokasi S7
0
1
0 Hanya memilih lokasi S1
0
1
1 Memilih lokasi S1 dan S7, tetapi lokasi S8 tidak 11/3/2016
Solusi Pengeboran Minyak (4) Memilih kombinasi lokasi X1 dan X7 akan mencegah untuk memilih lokasi X8 x1 + x7 + x8
2
kasus 2: Menyelidiki lokasi S8
23
x8 = 1, maka x1 + x7 1 (dapat memilih lokasi x1atau x7, tetapi tidak kedua-duanya) x8
x1
x7
Interpretasi
1
0
0
Hanya memilih lokasi S8
1
1
0
Memilih lokasi S8 dan S1, tetapi S7 tidak
1
0
1
Memilih lokasi S8 dan S7, tetapi S1 tidak
1
1
1
Memilih ketiga lokasi (infeasible) 11/3/2016
Contoh 4: Problem “GANDHI”
Perusahaan pakaian Gandhi memproduksi 3 jenis pakaian : kemeja, celana pendek, dan celana panjang. Mesin harus di sewa tiap minggu untuk memproduksi ketiga jenis pakaian tersebut dengan biaya sewa :
$ 200 per minggu untuk mesin pembuat kemeja $ 150 per minggu untuk mesin pembuat celana pendek $ 100 per minggu untuk mesin pembuat celana panjang
Terdapat 150 jam waktu pekerja dan 160 m² bahan pakaian (kain) yang tersedia per minggunya, dengan data produksi sebagai berikut: Jam kerja yang dibutuhkan
Kain yang dibutuhkan
Harga Jual
Biaya Variabel
kemeja
3
4
$12
$6
celana pendek
2
3
$8
$4
celana panjang
6
4
$15
$8
Formulasikan permasalahan diatas untuk memaksimumkan keuntungan per minggunya!
24
11/3/2016
Solusi Problem Gandhi Variabel keputusan: xi = jumlah pakaian jenis ke-i yang diproduksi per minggunya (i=1, 2, 3) yi = 1 jika pakaian jenis ke-i diproduksi, dan 0 jika tidak Formulasi: Max z = 6x1 + 4x2 + 7x3 – 200 y1 - 150 y2 - 100y3 subject to 3x1 + 2x2 + 6x3 <= 150 4x1 + 3x2 + 4x3 <= 160 x1 <= M y1 x2 <= M y2, x3 <= M y3 x1, x2, x3 >= 0, dan integer y1, y2, y3 >= 0, dan biner 25
11/3/2016
Contoh 5 : Problem “Western”
Penerbangan western memutuskan untuk memiliki beberapa kota transit di USA Jalur penerbangan yang dimiliki mencakup kota-kota berikut : Atlanta, Boston, Chicago, denver, Houston, Los angeles, New Orleans, New York, Pittsburgh, Salt Lake city, San Francisco, dan Seattle
Western menginginkan untuk mempunyai kota transit dalam 1000 mil dari tiap kota-kota ini
Hitunglah jumlah minimum dari kota transit
26
11/3/2016
Contoh 5 : Problem “Western” (AT) (BO) (CH) (DE) Houston (HO) (LA) (NO) (NY) (PI) (SL) (SF) Seattle (SE)
27
Kota dalam 1000 miles AT, CH, HO, NO, NY, PI BO, NY, PI AT, CH, NY, NO, PI DE, SL AT, HO, NO LA, SL, SF AT, CH, HO, NO AT, BO, CH, NY, PI AT, BO, CH, NY, PI DE, LA, SL, SF, SE LA, SL, SF, SE SL, SF, SE
11/3/2016
Solusi : Problem “Western” Variabel keputusan Xi = 1 jika kota i dilokasikan sebagai kota transit Xi = 0 jika kota i tidak dijadikan sebagai kota transit Minimize Z = X1AT + X2B0 + X3CH + X4DE + X5HO + X6LA + X7NO + X8NY + X9PI + X10SL + X11SF + X12SE Pembatas:
28
11/3/2016
Solusi : Problem “Western” AT BO CH DE HO LA NO NY AT BO CH DE HO LA NO NY PI SL SF SE
29
1 0 1 0 1 0 1 1 1 0 0 0
0 1 0 0 0 0 0 1 1 0 0 0
1 0 1 0 0 0 1 1 1 0 0 0
0 0 0 1 0 0 0 0 0 1 0 0
1 0 0 0 1 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0 0 1 1 0
1 0 1 0 1 0 1 0 0 0 0 0
1 1 1 0 0 0 0 1 1 0 0 0
PI SL SF SE 1 1 1 0 0 0 0 1 1 0 0 0
0 0 0 1 0 1 0 0 0 1 1 1
0 0 0 0 0 1 0 0 0 1 1 1
0 xAT 0 xBO 0 xCH 0 xDE 0 xHO 0 xLA 0 xNO 0 xNY 0 xPI 1 xSL 1 xSF 1 xSE
11/3/2016
Required >= >= >= >= >= >= >= >= >= >= >= >=
1 1 1 1 1 1 1 1 1 1 1 1
Contoh 6 : Problem “Alada”
Propinsi Alada mempunyai 6 kota
Propinsi ini memiliki permasalahan pada kota mana akan dibangun stasiun pemadam kebakaran
Paling sedikit jarak stasiun pemadam kebakaran 15 menit (waktu tempuh) untuk masing – masing kota
Waktu yang dibutuhkan dari kota yang satu ke kota yang lain dilampirkan pada tabel dibawah ini.
Tentukan jumlah minimum dari pemadam kebakaran
30
11/3/2016
Contoh 6 : Problem “Alada” Tabel waktu yang dibutuhkan dari kota yang satu ke kota yang lain dilampirkan pada tabel dibawah ini. Kota ke-
31
1
2
3
4
5
6
1
0
10
20
30
30
20
2
10
0
25
35
20
10
3
20
25
0
15
30
20
4
30
35
15
0
15
25
5
30
20
30
15
0
14
6
20
10
20
25
14
0
11/3/2016
Solusi : Problem “Alada”
Sebuah kota dapat dicover oleh stasiun pemadam kebakaran jika jarak tempuhnya sebesar 15 menit
Covering set untuk setiap kota
32
Kota
Covering sets (15 menit)
1
1,2
2
1,2,6
3
3,4
4
3,4,5
5
4,5,6
6
2,5,6 11/3/2016
Solusi : Problem “Alada” Variabel keputusan: xi = 1 jika dibangun stasiun pemadam kebakaran pada kota-i = 0 jika kota-i tidak dibangun stasiun pemadam Fungsi tujuan : Minimum Z = x1+x2+x3+x4+x5+x6 Fungsi pembatas:
33
11/3/2016
Solusi : Problem “Alada” Kota
1
2
3
4
5
6
1
1
1
0
0
0
0
x1
<=
1
2
1
1
0
0
0
1
x2
<=
1
3
0
0
1
1
0
0
x3
<=
1
4
0
0
1
1
1
0
x4
<=
1
5
0
0
0
1
1
1
x5
<=
1
6
0
1
0
0
1
1
x6
<=
1
34
11/3/2016
Konsep : “Either-Or Constraints”
Ada 2 konstrain
f ( x1, x 2,..., xn) 0 g ( x1, x 2,..., xn) 0 diasumsikan bahwa hanya ada satu yang memenuhi
Kita dapat menyelesaikan permasalahan ini dengan menambahkan metode “either-or constrains”
f ( x1, x 2,..., xn) My g ( x1, x 2,..., xn) M (1 y ) y = 0,1
M adalah besarnya nilai yang dapat menjamin bahwa kedua konstrain dapat memenuhi nilai dari x1,x2,…,xn yang dapat memenuhi konstrain yang lain pada problem yang ada. 35
11/3/2016
Konsep “If -then constraints”
Jika ada dua konstrain f(x1 ,x2,… ,xn) dan g(x1 ,x2 ,… ,xn)
Kemudian kita tambahkan if-then konstrain jika kontsrain f(x) dipenuhi maka g(x) dipenuhi juga
f ( x1, x 2,..., xn) M (1 y ) g ( x1, x 2,..., xn ) My
y = 0,1
Disini, M adalah nilai positif yang besar, pilih yang terbesar sehingga f < M and – g < M mencakup semua nilai sehingga memenuhi konstrain lain yang ada pada permasalahan 36
11/3/2016
Contoh 7 : “Either-Or Constraints”
Memenuhi paling tidak satu dari pembatas berikut : (1) x + y ≤ 4 (2) 3x + 4y ≤15 (salah satu dari pembatas ke-1, atau ke-2, atau keduaduanya)
Feasibel solusinya adalah ;
x = 1, y = 3 (memenuhi kedua pembatas)
x = 0, y = 4 (memenuhi ke-1, tetapi tidak memenuhi ke-2)
x = 5, y = 0 (memenuhi ke-2, tetapi tidak memenuhi ke-1)
x = 2, y = 3 (tidak memenuhi kedua-duanya)
37
11/3/2016
Solusi “Either-Or Constraints”
Definisikan variabel baru z sebagai variabel binary (biner) Nilai M merupakan bilangan besar, konstan positif
Sehingga pembatas ke-1 atau ke-2, dimodifikasi menjadi
(3) x + y ≤ 4 + M z (4) 3 x + 4 y ≤ 15 + M (1 - z) (5) z bilangan biner Pembuktian: Untuk mendapat solusi x = 5 dan y = 0, maka z dibuat = 1 : 5 + 0 = 5 ≤ 4 + M, pembatas ke-3 memenuhi 15 + 0 = 15 ≤ 15 + M (1 – 1), pembatas ke-4 memenuhi
Untuk mendapat solusi x = 0 dan y = 4, maka z dibuat = 0: 0 + 4 = 4 ≤ 4 + M (0) = 4, pembatas ke-3 memenuhi 0 + (4) (4) = 16 ≤ 15 + M (1 – z) = 15 + M, pembatas ke-4 memenuhi
38
11/3/2016
Solusi “Either-Or Constraints”
Solusi dengan nilai z dibuat = 1000 :
Solusi x y x + y 3x + 4y 1a 1 3 4 15 1b 1 3 4 15 2a 2b
0 4 0 4
4 4
16 16
OK? Ya Ya Ya Ya
z 4+Mz 15 + M(1-z) Feasible 0 4 1015 Ya 1 1004 15 Ya 0 4 1 1004
1015 15
Ya Tidak
3a 5 0 5 15 Ya 0 4 1015 Tidak 3c 5 0 5 15 Ya 1 1004 15 Ya 4a 2 3 5 18 Tidak 0 4 1015 Tidak 4b 2 3 5 18 Tidak 1 1004 15 Tidak Kesimpulan: Jika solusi yang memenuhi pembatas (1), (2), atau keduanya, dapat ditemukan nilai yang tepat untuk z sehingga pembatas (3) dan (4) juga memenuhi Solusi yang tidak memenuhi pembatas (1) dan (2), maka pembatas (3), (4), atau keduanya juga tidak akan terpenuhi, berapapun nilai z
39
11/3/2016
Contoh 8: Aplikasi “Dorian” Perusahaan Dorian automotif memproduksi 3 tipe model mobil yaitu ; compact (kecil), midsize (menengah), dan large (besar). Ada 6,000 ton baja dan 60,000 jam kerja tersedia Jika suatu tipe mobil diproduksi, maka mobil itu harus diproduksi paling sedikit 1,000 unit mobil Data produksi seperti terlihat di tabel bawah ini:
Kebutuhan baja Kebutuhan jam tenaga kerja Profit
Compact 1.5 ton 30 jam $2000
Midsize 3 ton 25 jam $3000
Large 5 ton 40 jam $4000
Formulasikan permasalahan perencanaan produksi tersebut untuk memaksimumkan profit. 40
11/3/2016
Solusi aplikasi “Dorian” Variabel keputusan xi = jumlah mobil tipe ke-i yang diproduksi
yi = 1 jika mobil tipe ke-i diproduksi, dan yi=0 jika tidak Formulasi : Maks z = 2 x1 + 3 x2 + 4 x3 (dalam ribuan) Subject to: x1 ≤ M y1 x2 ≤ M y2 x3 ≤ M y3 1000 – x1
≤ M (1 – y1)
1000 – x2
≤ M (1 – y2)
1000 – x3
≤ M (1 – y3)
1.5 x1 + 3 x2 + 5 x3
≤ 6000
30 x1 + 25 x2 + 40 x3
≤ 60000
41
x1, x2, x3 ≥ 0 dan integer y1, y2, y3 = 0 atau 1 11/3/2016
Metode “Percabangan dan Pembatasan” (Branch and Bound)
42
11/3/2016
Metode “Branch and Bound”
Metode “Branch and Bound” adalah metode paling populer untuk menyelesaikan problem IP
Metode ini mencari solusi optimal IP dengan perhitungan titik-titik di daerah feasibel “sub-problem”.
Jika solusi optimal dari LP relaxation adalah integer, maka solusi LP relaxation tersebut juga merupakan solusi IP
43
11/3/2016
Branch-and-Bound Algorithm
Branch and bound algorithms are the most popular methods for solving integer programming problems
Branching: among the remaining sub-problems, select the one that was created most recently.
Bounding: for each new sub-problem, obtain its bound by solving its LP relaxation problem.
44
11/3/2016
Branch-and-Bound Algorithm
Sub-problems are generated by branching on an appropriately chosen fractional-valued variable .
Suppose that in a given sub-problem (call it all subproblem), assumes a fractional value between the integers i and i+1. Then the two newly generated subproblems are:
New Subproblem 1 Old subproblem + Constraint Xi <= i
New Subproblem 2 Old subproblem + Constraint xi >= i + 1 45
11/3/2016
Bounds
The optimal solution to an LP relaxation of an ILP problem gives us a bound on the optimal objective function value.
For maximization problems, the optimal relaxed objective function values is an upper bound on the optimal integer value.
For minimization problems, the optimal relaxed objective function values is a lower bound on the optimal integer value.
46
11/3/2016
Contoh 1 Contoh suatu permasalahan IP: Maximize z = 8x1 + 5x2 subject to x1 + x2 <= 6; 9x1 + 5x2 <= 45; x1, x2 >= 0; x1, x2 integer
Permasalahan diatas dimulai dengan membagi menjadi beberapa subproblem. Sub-problem 1 adalah penyelesaian LP relaxation dari model awal. Optimal LP Solution: x1 = 3.75 dan x2 = 2.25 dengan z = 41.25
47
11/3/2016
Feasible Region for the Problem Subproblem Subproblem 1: The LP relaxati relaxation on of original
Optimal LP Solution: x1 = 3.75 and x2 = 2.25 and z = 41.25 Subpr Subproble oblem m 2: Subproblem Subproblem 1 + Constraint Constraint x1 >= 4 Subpro Subproblem blem 3: Subproblem Subproblem 1 + Constraint Constraint x1 <= 3 Subpr Subproble oblem m 4: Subproblem Subproblem 2 + Constraint Constraint x2 >= 2 Subpr Subproble oblem m 5: Subpro Subproblem blem 2 + Constraint Constraint x2 <= 1
48
11/3/2016
Daerah Feasible untuk Sub-problem Percabangan Percabangan (Branching): (Branching): Pros Proses es memb membag agii suat suatu u subsub-pr prob oble lem m men menja jadi di dua dua atau atau lebi lebih h sub-problem dibawahnya Sub-pr Sub-proble oblem m 1 dibagi dibagi 2: Subproblem 2: Subproblem Subproblem 1 + Constraint Constraint x1 >= 4 Subproblem (nil (nilai ai x1 dibu dibula latk tkan an ke atas atas)) Solusi Optimal Optimal Sub-problem Sub-problem 2: z = 41, x1 = 4, x2 = 9/5 = 1.8
Solusi Solusi optimal optimal sub-pr sub-probl oblem em 2 belum belum menghas menghasilk ilkan an bila bilanga ngan n integ integer er,, dan perl perlu u dicab dicabang angka kan n lagi lagi (kon (konsep sep LIFO sub-p sub-prroblem oblem 3 tidak tidak dipro diproses ses dahulu) dahulu)
Subproblem 1 + Constraint Constraint x1 <= <= 3 Subp Subprroble oblem m 3: Subproblem (nil (nilai ai x1 dibu dibula latk tkan an ke bawa bawah) h)
49
11/3/2016
Feasible Region for Subproblems 4 & 5 Sub-proble Sub-problem m 2 dibag dibagii 2: Subp Subprroble oblem m 4: Subpr Subprobl oblem em 2 + Constr Constrain aintt x2 >= 2 (nil (nilai ai x2 dibu dibula latk tkan an ke atas atas)) => infe infeas asib ible le
Subp Subprroble oblem m 5: Subpr Subprobl oblem em 2 + Const Constrai raint nt x2 <= 1 (nil (nilai ai x2 dibul dibulat atka kan n ke bawa bawah) h) Solusi Solusi Optimal Optimal Sub-problem Sub-problem 5: z = 40.05, x1 = 4.44, x2 = 1
Solusi optimal optimal sub-pr sub-problem oblem 5 belum belum mengha menghasil silkan kan bilang bilangan an integer integer,, dan perlu perlu dicaba dicabangk ngkan an lagi lagi (kons (konsep ep LIFO LIFO sub-pr sub-probl oblem em 4 tida tidak k dipr diprose osess dahu dahulu lu)) 50
11/3/2016
The Branch and Bound Tree 1 x1
2
x2
3
Subproblem 1 z = 41.25 x1 = 3.75 x2 = 2.25 x1
4
Subproblem 2 z = 41 x1 = 4 x2 = 1.8
2 Subproblem 4 Infeasible
Subproblem 3
x2
1
Subproblem 5
Optimal solution of Subproblem 5: z = 40.05, x1 = 4.44, x2 = 1
Subproblem 6: Subproblem 5 + Constraint x1 >= 5 Subproblem 7: Subproblem 5 + Constraint x1 <= 4
51
3
4
11/3/2016
Feasible Region for Subproblems 6 & 7
Subproblem 7: Subproblem 5 + Constraint x1 >= 5 Optimal solution: z = 37, x1 = 4, x2 = 1
Subproblem 6: Subproblem 5 + Constraint x1 <= 4
Optimal solution: z = 40, 52
x1 = 5,
x2 = 0 11/3/2016
The Branch and Bound Tree
53
Optimal solution:
11/3/2016
Contoh 2 MAX:
2X1 + 3X2
S.T.
X1 + 3X2 <= 8.25 2.5X1 + X2 <= 8.75
X1, X2 >= 0 and integer
54
11/3/2016
Solution to LP Relaxation
X2
Feasible Integer Solutions
3
2
Optimal Relaxed Solution X1 = 2.769 X2 = 1.826 Obj = 11.019
1
0 55
0
1
2
3
411/3/2016
X1
The Branch-And-Bound Algorithm Problem I
Problem II
MAX:
MAX:
2X1 + 3X2
2X1 + 3X2
S.T.
S.T.
X1 + 3X2 <= 8.25
X1 + 3X2 <= 8.25
2.5X1 + X2 <= 8.75
2.5X1 + X2 <= 8.75
X1 <= 2
x
i
i
X1, X2 >= 0 and integer 56
X1 >= 3
x i 1 i
X1, X2 >= 0 and integer 11/3/2016
X Solution to LP Relaxation 2
Problem I
3
X1=2, X2=2.083, Obj = 10.25 2
Problem II 1
0 0 57
1
2
3
4 11/3/2016
X1
Branching Original Problem
X1<=2
X1=2 X2=2.083 Obj = 10.25
58
X1=2.769 X2=1.826 Obj = 11.019
Problem I
X1>=3
X1=3 X2=1.25 Obj = 9.75
Problem II
11/3/2016
Branching Original Problem
X1<=2
X1=2.769 X2=1.826 Obj = 11.019
X1>=3
Problem II X1=2 X2=2.083 Obj = 10.25
Problem I
X1=3 X2=1.25 Obj = 9.75
Branch Problem I into Problem III and Problem IV 59
11/3/2016
The Branch-And-Bound Algorithm Problem III
Problem IV
MAX:
MAX:
2X1 + 3X2
2X1 + 3X2
S.T.
S.T.
X1 + 3X2 <= 8.25
X1 + 3X2 <= 8.25
2.5X1 + X2 <= 8.75
2.5X1 + X2 <= 8.75
X1 <= 2
X1 <= 3
X2 <= 2
X2 >= 3
X1, X2 >= 0 and integer
X1, X2 >= 0 and integer
60
11/3/2016
Solution to LP Relaxation X2
Problem III
3
X1=2, X2=2, Obj = 10
Problem II
2
X1=3, X2=1.25, Obj = 9.75
1
0 61
0
1
2
3
11/3/2016 4
X
Branching Original Problem
X1<=2
X1=2 X2=2.083 Obj = 10.25
X2<=2
X1=2.769 X2=1.826 Obj = 11.019
62
Problem II
Problem I
X1=3 X2=1.25 Obj = 9.75
X2>=3 Problem III
X1=2 X2=2 Obj = 10
X1>=3
Problem IV infeasible
11/3/2016