Anda di halaman 1dari 15

Integer Integer Programming Model

Programming
 Permasalahan integer programming (IP) adalah suatu Program
Linear (LP) yang beberapa atau seluruh variabel yang digunakan
merupakan bilangan integer positif
 Jenis-jenis permasalahan IP:
Industrial Engineering Department  Pure IP problem: jika semua variabel harus bernilai integer
Institut Teknologi Sepuluh Nopember Maximize z = 3x1 + 4x2
Surabaya subject to 5x1 + 8x2 ≤ 24
x1, x2 ≥ 0, x1 dan x2 integer
 Mixed IP problem: jika hanya beberapa variabel yang bernilai
integer
Maximize z = 3x1 + 4x2
subject to 5x1 + 8x2 ≤ 24
x1, x2 ≥ 0, x1 integer
 0-1 IP problem: jika semua variabel harus bernilai 0 atau 1
Maximize z = 3x1 + 4x2
subject to 5x1 + 8x2 ≤ 24
x1, x2 = 0 or 1

Quantitative Modeling & Industrial Policy Analysis (Q-Lab)

Integer Programming dan LP relaxation Pendekatan sederhana solusi IP


Pendekatan 1:
 Permasalahan IP biasanya lebih sulit untuk diselesaikan  Cari seluruh kemungkinan solusi
dibandingkan dengan permasalahan LP  Tentukan nilai fungsi tujuannya
 Hal ini disebabkan banyaknya kombinasi nilai integer yang harus  Pilih nilai maksimum (minimum)
diuji, dan setiap kombinasi membutuhan penyelesaian “normal”
LP atau NLP Pendekatan 2:
 LP relaxation dari IP adalah LP yang diperoleh dengan  Selesaikan LP relaxation
menghilangkan pembatas semua bilangan integer atau pembatas  Bulatkan pada solusi integer yang feasibel terdekat

 Contoh Pure IP problem :


Maximize z = 3x1 + 4x2
subject to 5x1 + 8x2 ≤ 24 3

x1, x2 ≥ 0, x1 dan x2 integer


2
 Contoh Pure IP problem yang telah di-longgarkan (relax):
Maximize z = 3x1 + 4x2 x2 7x1 + 4x2= 13
1
subject to 5x1 + 8x2 ≤ 24
x1, x2 ≥ 0 x x
1
x
2
x
3
x1

1
Solusi Integer Programming Solusi Integer Programming (2)

Contoh Problem:
Max 1200 x1 + 2000 x2 LP relaxation, kemudian dibulatkan ?
x2
ST: 6

2x1 + 6 x2  27 x2
Pembulatan?
x2  2
6
5
x1 = 5
3x1 + x2  19 Max 1200 x1 + 2000 x2 5
x2 = 3
x1 , x2  0 and Integer 4
ST:
Pembulatan ke atas?
2x1 + 6 x2  27 4
x1 = 6
x2  2
3

x2 = 3
3x1 + x2  19
3

Penyelesaian 2

problem Integer x1 , x2  0 and Integer 2 Pembulatan


Programming, 1 ke bawah?
1
x1 = 5
Apakah solusi LP x1 x2 = 2
dibulatkan untuk 1 2 3 4 5 6 7 8 x1
1 2 3 4 5 6 7 8

mendapakan solusi LP Optimal


IP…? x1 = 5 7/16 LP Optimal
x2 = 2 11/16 x1 = 5 7/16
x2 = 2 11/16

Solusi Integer Programming (3)

x2
6
IP Optimal
x1 = 4
5 x2 = 3
Pemodelan
Integer Programming
4

x1
1 2 3 4 5 6 7 8

Untuk MAX problem:


nilai optimal dari IP ≤ nilai optimal dari LP relaxation

2
Contoh 1: Problem investasi Pengembangan Problem investasi
 Perusahaan Stockco mempertimbangkan empat jenis investasi Perusahaan Stockco mempertimbangkan batasan-batasan “logis”
 Modal yang tersedia untuk investasi sebesar $ 14,000 berikut ini :
 Formulasikan model integer programming ini untuk 1. Tepat 3 investasi yang terpilih
2. Jika investasi ke-2 terpilih, maka investasi ke- 1 juga terpilih
memaksimumkan NPV dari investasi-investasi berikut:
3. Jika investasi ke- 1 terpilih, maka investasi ke- 3 tidak terpilih
4. Salah satu dari investasi ke- 3 atau ke-4 harus terpilih, tetapi tidak
Pilihan Investasi 1 2 3 4 dapat kedua-duanya
Modal $5000 $7000 $4000 $3000
NPV $16000 $22000 $12000 $8000 Tambahan pembatas:
1. Tepat 3 investasi yang terpilih
SOLUSI: x1+ x2+ x3+ x4 =3
xi = banyaknya modal yang diinvestasikan pada jenis ke-i 2. Jika investasi ke-2 terpilih, maka investasi ke- 1 juga terpilih
Maximize x1 ≥ x2
z = 16 x1+ 22 x + 12 x3 + 8 x4 3. Jika investasi ke- 1 terpilih, maka investasi ke- 3 tidak terpilih
Subject to x1 + x3 ≤ 1
5 x1 + 7 x2 + 4 x3 + 3 x4 ≤ 14 4. Salah satu dari investasi ke- 3 atau ke-4 harus terpilih, tetapi tidak
dapat kedua-duanya
x1, x2, x3, x4 = 0, 1 x3 + x4 = 1

Contoh 2: Pemilihan pemain bola basket Pemilihan pemain bola basket


Perkumpulan bola basket “Pasti Menang” sedang menghadapi Pembatas yang dialami pelatih adalah sebagai berikut:
kompetisi tingkat nasional. Sang pelatih hendak memilih 5 dari 7 1. Harus ada tepat lima pemain, dengan syarat:
pemain yang akan diturunkan dalam pertandingan malam nanti.  Sedikitnya empat pemain sebagai penyerang.
Data-data pemain seperti terlihat pada tabel dibawah ini:  Sedikitnya dua pemain sebagai pemain depan.
 Sedikitnya satu pemain sebagai pemain tengah.
Posisi Kemampuan 2. Rata-Rata tingkat ketrampilan pemain paling sedikit 2.
Pemain Guard Forward Center Ball-Handling Shooting Rebounding Total
3. Salah satu dari pemain ke-2 atau pemain ke-3 harus bermain.
1 Yes No No 3 1 2 6
2 No No Yes 1 2 1 4
4. Jika pemain ke-3 bermain, maka pemain ke-6 tidak bisa bermain.
3 Yes Yes No 1 3 1 5 5. Jika pemain ke-1 bermain, maka pemain ke-4 dan ke-5 harus
4 No Yes Yes 1 2 1 4 bermain juga.
5 Yes Yes No 2 1 3 6
6 No Yes Yes 1 3 1 5
7 Yes Yes No 1 2 2 5

3
Solusi : Pemilihan pemain bola basket (1) Solusi : Pemilihan pemain bola basket (2)
Variabel Keputusan 2. Rata-Rata tingkat ketrampilan pemain paling sedikit 2
Xi = 1, jika pemain ke-i diturunkan ke lapangan. (a) Rata-rata ketrampilan pemain menggiring bola lebih dari dua.
= 0, jika pemain ke-i tidak diturunkan (3 x1 + x2 + x3 + x4 + 2 x5 + x6 + x7)/5  2
Fungsi tujuan: 3 x1 + x2 + x3 + x4 + 2 x5 + x6 + x7  10
Max 6 x1 + 4 x2 + 5 x3 + 4 x4 + 6 x5 + 5 x6 + 5 x7 (b) Rata-rata ketrampilan pemain menembak bola lebih dari dua.
Pembatas : x1 + 2 x2 +3 x3 + 2 x4 + x5 + 3 x6 + 2 x7  10
(1a) Harus ada tepat lima pemain turun ke lapangan (c) Rata-rata ketrampilan pemain menghadang lebih dari dua.
x1 + x2 + x3 + x4 + x5 + x6 + x7 = 5 2 x1 + x2 + x3 + x4 + 3 x5 + x6 + 2 x7  10
(1b) Paling sedikit terdapat empat pemain penyerang (guard).
x1 + x3 + x5 + x7  4 3. Salah satu dari pemain ke-2 atau pemain ke-3 harus bermain
(1c) Paling sedikit terdapat dua pemain depan (forward). x2 + x3  1
x3 + x4 + x5 + x6 + x7  2 Variabel kemungkinan yang terjadi:
(1d) Paling sedikit terdapat satu pemain tengah. x2 = 1 & x3 = 0 Feasible
x2 + x4 + x6  1 x2 = 0 & x3 = 1 Feasible
x2 = 1 & x3 = 1 Feasible
x2 = 0 & x3 = 0 Infeasible

Solusi : Pemilihan pemain bola basket (3) Solusi : Pemilihan pemain bola basket (4)
4. Jika pemain ke-3 bermain, maka pemain ke-6 tidak bisa bermain 5. Jika pemain ke-1 bermain, maka pemain ke-4 dan ke-5 harus
x3 + x6  1 bermain juga
Variabel kemungkinan yang terjadi: x1  x4 atau 2x1  x4 + x5
 Pemain 3 bermain, tetapi pemain 6 tidak bermain. x1  x5
x3 = 1, x6 = 0 Feasible Jika x1 = 1, maka x4 = 1 dan x5 =1.
 Pemain 6 bermain, tetapi pemain 3 tidak bermain.
Variabel kemungkinan yang terjadi:
x3 = 0, x6 = 1 Feasible
 Kedua-duanya bermain x1 x4 x5 Interpretasi
x3 = 1, x6 = 1 Infeasible 1 1 1 ketiga pemain bermain (feasibel).
 Kedua-duanya tidak dapat bermain. 0 0 0 ketiga pemain tidak bermain (feasibel).
x3 = 0, x6 = 0 Feasible 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)

4
Contoh 3 : Pengeboran Minyak Solusi Pengeboran Minyak (1)
1. Pemilihan paling sedikit 5 lokasi dari 10 lokasi pengeboran Variabel Keputusan
minyak yang telah direncanakan, dengan variabel keputusan X1, Xi = 1, jika lokasi ke-i dilakukan pengeboran.
X2,…, X10 dan biaya pengeboran C1, C2,…, dan C10. = 0, jika lokasi ke-i tidak dilakukan pengeboran.
2. Batasan: Fungsi tujuan:
 Paling banyak dua dari lokasi X5, X6, X7 dan X8 yang dapat Min C1 x1 + C2 x2 + C3 x3 + C4 x4 +C5 x5 + C6 x6 + C7 x7 + C8 x8 +
dipilih C9 x9 + C10 x10
 Memilih lokasi X3 atau lokasi X4 akan mencegah untuk
Subject to
memilih lokasi X5. (1) Pemilihan paling sedikit 5 lokasi dari 10 lokasi pengeboran
 Memilih kombinasi lokasi X1 dan X7 akan mencegah untuk
x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9 + x10 = 5
memilih lokasi X8.
(2) Paling banyak dua dari lokasi X5, X6, X7 dan X8 yang
dapat dipilih
x5 + x6 + x7 + x8  2

Solusi Pengeboran Minyak (2) Solusi Pengeboran Minyak (3)


(3) Memilih lokasi X3 atau lokasi X4 akan mencegah untuk memilih (4) Memilih kombinasi lokasi X1 dan X7 akan mencegah untuk
lokasi X5 memilih lokasi X8
x3 + x5  1 x1 + x7 + x8  2
x4 + x5  1  kasus 1: tidak memilih lokasi X8
 x3=1 atau x4=1, maka harus x5=0 (jika memilih lokasi X3 atau x8 = 0, maka x1 + x7  2 (dapat memilih lokasi S1, S7, atau
lokasi X4, lokasi X5 tidak boleh dipilih) kedua-duanya, atau tidak keduanya).
 x5=1, maka nilai x3=0 dan x4=0 (jika memilih lokasi X5, maka
lokasi X3 dan lokasi X4 tidak boleh dipilih) x8 x1 x7 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

5
Solusi Pengeboran Minyak (4) Contoh 4: Problem “GANDHI”
(4) Memilih kombinasi lokasi X1 dan X7 akan mencegah  Perusahaan pakaian Gandhi memproduksi 3 jenis pakaian :
untuk memilih lokasi X8 kemeja, celana pendek, atau celana panjang.
x1 + x7 + x8  2  Mesin harus di sewa tiap minggu untuk memproduksi ketiga jenis
 kasus 2: Menyelidiki lokasi S8 pakaian tersebut dengan biaya sewa :
 $ 200 per minggu untuk mesin pembuat kemeja
x8 = 1, maka x1 + x7  1 (dapat memilih lokasi x1atau
 $ 150 per minggu untuk mesin pembuat celana pendek
x7, tetapi tidak kedua-duanya)
 $ 100 per minggu untuk mesin pembuat celana panjang
 Terdapat 150 jam waktu pekerja dan 160 m² bahan pakaian (kain)
x8 x1 x7 Interpretasi yang tersedia per minggunya, dengan data produksi sebagai
1 0 0 Hanya memilih lokasi S8
berikut:
1 1 0 Memilih lokasi S8 dan S1, tetapi S7 tidak
1 0 1 Memilih lokasi S8 dan S7, tetapi S1 tidak Jam kerja yang Kain yang Biaya Keuntungan
1 1 1 Memilih ketiga lokasi (infeasible) dibutuhkan dibutuhkan variabel per unit
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!

Solusi Problem Gandhi Contoh 5 : Problem “Western”


Variabel keputusan:  Penerbangan Western memutuskan untuk memiliki beberapa kota
xi = jumlah pakaian jenis ke-i yang diproduksi per minggunya transit di USA
yi = 1 jika pakaian jenis ke-i diproduksi, dan 0 jika tidak  Jalur penerbangan yang dimiliki mencakup kota-kota berikut :
Atlanta, Boston, Chicago, denver, Houston, Los angeles, New
Formulasi: Orleans, New York, Pittsburgh, Salt Lake city, San Francisco, dan
Max. z = 6x1 + 4x2 + 7x3 – 200 y1 - 150 y2 - 100y3 Seattle
 Western menginginkan untuk mempunyai kota transit dalam 1000
subject to
3x1 + 2x2 + 6x3  150 mil dari tiap kota-kota ini
 Hitunglah jumlah minimum dari kota transit
4x1 + 3x2 + 4x3  160
Kota dalam 1000 miles
x1  M y1, x1 y1 Atlanta (AT) AT, CH, HO, NO, NY, PI
x2  M y2, Boston (BO) BO, NY, PI
Chicago (CH) AT, CH, NY, NO, PI
x3  M y3 Denver (DE) DE, SL
x1, x2, x3  0, dan integer Houston (HO) AT, HO, NO
y1, y2, y3  0, dan biner Los Angeles (LA)
New Orleans (NO)
LA, SL, SF
AT, CH, HO, NO
New York (NY) AT, BO, CH, NY, PI
Pittsburgh (PI) AT, BO, CH, NY, PI
Salt Lake City (SL) DE, LA, SL, SF, SE
San Francisco (SF) LA, SL, SF, SE
Seattle (SE) SL, SF, SE

6
Solusi : Problem “Western” Contoh 6 : Problem “Alada”
Variabel keputusan  Propinsi Alada mempunyai 6 kota
 Xi = 1 jika kota i dilokasikan sebagai kota transit  Propinsi ini memiliki permasalahan pada kota mana akan dibangun
 Xi = 0 jika kota i tidak dijadikan sebagai kota transit stasiun pemadam kebakaran
 Paling lama jarak stasiun pemadam kebakaran 15 menit (waktu
Minimize XAT + XB0 + XCH + XDE + XHO + XLA + XNO + XNY +
XPI + XSL + XSF + XSE tempuh) untuk masing – masing kota
 Waktu yang dibutuhkan dari kota yang satu ke kota yang lain
Pembatas: dilampirkan pada tabel dibawah ini.
AT BO CH DE HO LA NO NY PI SL SF SE Required
 Tentukan jumlah minimum dari pemadam kebakaran
AT 1 0 1 0 1 0 1 1 1 0 0 0 xAT >= 1
BO 0 1 0 0 0 0 0 1 1 0 0 0 xBO >= 1 Kota ke- 1 2 3 4 5 6
CH 1 0 1 0 0 0 1 1 1 0 0 0 xCH >= 1
1 0 10 20 30 30 20
DE 0 0 0 1 0 0 0 0 0 1 0 0 xDE >= 1
HO 1 0 0 0 1 0 1 0 0 0 0 0 xHO >= 1 2 10 0 25 35 20 10
LA 0 0 0 0 0 1 0 0 0 1 1 0 xLA >= 1
3 20 25 0 15 30 20
NO 1 0 1 0 1 0 1 0 0 0 0 0 xNO >= 1
NY 1 1 1 0 0 0 0 1 1 0 0 0 xNY >= 1 4 30 35 15 0 15 25
PI 1 1 1 0 0 0 0 1 1 0 0 0 xPI >= 1
5 30 20 30 15 0 14
SL 0 0 0 1 0 1 0 0 0 1 1 1 xSL >= 1
SF 0 0 0 0 0 1 0 0 0 1 1 1 xSF >= 1 6 20 10 20 25 14 0
SE 0 0 0 0 0 0 0 0 0 1 1 1 xSE >= 1

Solusi : Problem “Alada” Solusi : Problem “Alada”


 Sebuah kota dapat dicover oleh stasiun pemadam kebakaran jika Variabel keputusan :
jarak tempuhnya sebesar 15 menit xi = 1 jika dibangun stasiun pemadam kebakaran pada kota-i
 Covering set untuk setiap kota = 0 jika kota-i tidak dibangun stasiun pemadam
Kota Covering sets (15 menit)
Fungsi tujuan :
1 1,2 Minimum x1+x2+x3+x4+x5+x6
2 1,2,6
Fungsi pembatas:
3 3,4

4 3,4,5 Kota 1 2 3 4 5 6
5 4,5,6 1 1 1 0 0 0 0 xi <= 1
6 2,5,6 2 1 1 0 0 0 1 xi <= 1
3 0 0 1 1 0 0 xi <= 1
4 0 0 1 1 1 0 xi <= 1
5 0 0 0 1 1 1 xi <= 1
6 0 1 0 0 1 1 xi <= 1

xi = 0 or 1

7
Konsep : “Either-Or Constraints” Konsep “If-then constraints”
 Ada 2 konstrain  Jika kita ingin memastikan bahwa,
f ( x1, x 2,..., xn)  0
“Jika f(x1 ,x2,… ,xn) > 0 dipenuhi, maka g(x1 ,x2 ,… ,xn) ≥ 0 juga
g ( x1, x 2,..., xn)  0 dipenuhi”
diasumsikan bahwa paling tidak ada satu yang memenuhi
 Kita dapat menyelesaikan permasalahan ini dengan menambahkan  Kemudian kita tambahkan if-then konstrain
metode “either-or constrains”
f ( x1, x 2,..., xn)  M (1  y )
f ( x1, x 2,..., xn)  My  g ( x1, x 2,..., xn)  My
g ( x1, x 2,..., xn)  M (1  y ) y = 0,1
y = 0,1  Disini, M adalah nilai positif yang besar, pilih yang terbesar
 M adalah besarnya nilai yang dapat menjamin bahwa kedua sehingga f < M and – g < M mencakup semua nilai sehingga
konstrain dapat memenuhi nilai dari x1,x2,…,xn yang dapat memenuhi konstrain lain yang ada pada permasalahan
memenuhi konstrain yang lain pada problem yang ada.

Contoh 7 : “Either-Or Constraints” Solusi “Either-Or Constraints”


Memenuhi paling tidak satu dari pembatas berikut :  Definisikan variabel baru z sebagai variabel binary (biner)
(1) x + y ≤ 4  Nilai M merupakan bilangan besar, konstan positif
(2) 3x + 4y ≤15 Sehingga pembatas ke-1 atau ke-2, dimodifikasi menjadi
(salah satu dari pembatas ke-1, atau ke-2, atau kedua-duanya)
(3) x + y ≤ 4 + M z
Feasibel solusinya adalah ; (4) 3 x + 4 y ≤ 15 + M (1 - z)
1) x = 1, y = 3 (memenuhi kedua pembatas) (5) z bilangan biner
2) x = 0, y = 4 (memenuhi ke-1, tetapi tidak memenuhi ke-2)
3) x = 5, y = 0 (memenuhi ke-2, tetapi tidak memenuhi ke-1) Pembuktian:
4) x = 2, y = 3 (tidak memenuhi kedua-duanya) 1. Untuk mendapat solusi x = 5 dan y = 0, maka z dibuat = 1 :
5 + 0 = 5 < 4 + M, pembatas ke-3 memenuhi
15 + 0 = 15 + M (1 – 1) = 15, pembatas ke-4 memenuhi

2. 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

8
Solusi “Either-Or Constraints” Contoh “If-Then Constraints”

3. Solusi dengan nilai M dibuat = 1000 :  Misalkan, dalam kasus Nickles Lockbox (Wayne Winston),
Solusi x y x + y 3x + 4y OK? z 4+Mz 15 + M(1-z) Feasible jika pelanggan dalam wilayah 1 mengirimkan pembayaran
1a 1 3 4 15 Ya 0 4 1015 Ya ke kota 1, maka tidak ada pelanggan lain yang mengirimkan
1b 1 3 4 15 Ya 1 1004 15 Ya pembayaran ke kota 1.
2a 0 4 4 16 Ya 0 4 1015 Ya If x11 = 1, then x21=x31=x41=0
2b 0 4 4 16 Ya 1 1004 15 Tidak
f ( x1, x 2,..., xn)  M (1  y )
3a 5 0 5 15 Ya 0 4 1015 Tidak
3c 5 0 5 15 Ya 1 1004 15 Ya  g ( x1, x 2,..., xn)  My
4a 2 3 5 18 Tidak 0 4 1015 Tidak
4b 2 3 5 18 Tidak 1 1004 15 Tidak  Contraints:
 If x11 > 0, then x21+x31+x41 <= 0
Kesimpulan: or –x21–x31–x41 >= 0
 Jika solusi yang memenuhi pembatas (1), (2), atau keduanya, dapat
ditemukan nilai yang tepat untuk z sehingga pembatas (3) dan (4) Maka, dimodifikasi menjadi:
juga memenuhi
 Solusi yang tidak memenuhi pembatas (1) dan (2), maka pembatas x11 <= M(1-y)
(3), (4), atau keduanya juga tidak akan terpenuhi, berapapun nilai z x21+x31+x41 <= My

Contoh 8: Aplikasi “Dorian” Solusi aplikasi “Dorian”


 Perusahaan Dorian automotif memproduksi 3 tipe model mobil Variabel keputusan
yaitu ; compact (kecil), midsize (menengah), dan large (besar).  xi = jumlah mobil tipe ke-i yang diproduksi
 Ada 6000 ton baja dan 60,000 jam kerja tersedia  yi = 1 jika mobil tipe ke-i diproduksi, dan yi=0 jika tidak
 Untuk produksi jenis mobil yang feasible secara ekonomi, paling
sedikit 1000 unit harus diproduksi Formulasi :
 Data produksi seperti terlihat di tabel bawah ini: Maks z = 2 x1 + 3 x2 + 4 x3
Subject to:
Compact Midsize Large
x1 ≤ M y1
Kebutuhan baja 1.5 ton 3 ton 5 ton
x2 ≤ M y2
Kebutuhan jam tenaga kerja 30 jam 25 jam 40 jam x3 ≤ M y3
Profit $2000 $3000 $4000 1000 – x1 ≤ M (1 – y1)
1000 – x2 ≤ M (1 – y2)
 Formulasikan permasalahan perencanaan produksi tersebut untuk 1000 – x3 ≤ M (1 – y3)
memaksimumkan profit. 1.5 x1 + 3 x2 + 5 x3 ≤ 6000
30 x1 + 25 x2 + 40 x3 ≤ 60000
x1, x2, x3 ≥ 0 dan integer
y1, y2, y3 = 0 atau 1

9
Metode “Branch and Bound”
 Metode “Branch and Bound” adalah metode paling populer
untuk menyelesaikan problem IP

Metode  Metode ini mencari solusi optimal IP dengan perhitungan


titik-titik di daerah feasibel “sub-problem”.
“Percabangan dan Pembatasan”
 Jika solusi optimal dari LP relaxation adalah integer, maka
(Branch and Bound) solusi LP relaxation tersebut juga merupakan solusi IP

Strategies of Branch and Bound Strategies of Branch and Bound (contd.)


The branch and bound algorithm is a divide and conquer Upper Bounding Strategy: The process of obtaining an upper
algorithm, where a problem is divided into smaller and smaller bound (UB) for each subproblem is called an upper bounding
subproblems. Each subproblem is solved separately, and the strategy.
best solution is taken.

 A solution obtained by solving a subproblem in which all Pruning Strategy: If for a subproblem, UB  LB, then the
variables have integer values is a candidate solution. subproblem need not be explored further.

Lower Bound (LB): Objective function value of the best solution


found so far (the z-value for the candidate solution) Searching Strategy: The order in which subproblems are
examined. Popular search strategies: LIFO and FIFO.

Branching Strategy : The process of decomposing a subproblem


into two or more subproblems is called branching.

10
Contoh Feasible Region for Telfa’s Problem

 Contoh suatu permasalahan IP: Subproblem 1 : The LP relaxation


Maximize z = 8x1 + 5x2 of original
subject to
x1 + x2  6; Optimal LP Solution: x1 = 3.75
9x1 + 5x2  45; and x2 = 2.25 and z = 41.25
x1, x2 ≥ 0; x1, x2 integer
1 Subproblem 2: Subproblem 1 +
Constraint x1  4
 Permasalahan di atas dimulai
dengan membagi menjadi beberapa Subproblem 3: Subproblem 1 +
sub-problem. Sub-problem 1 Constraint x1  3
adalah penyelesaian LP relaxation Subproblem 4: Subproblem 2 +
dari model awal. 2 Constraint x2  2

Optimal LP Solution: Subproblem 5: Subproblem 2 +


Constraint x2  1
x1 = 3.75 dan x2= 2.25
dengan z = 41.25
Feasible Region for Telfa Problem

Daerah Feasible untuk Sub-problem Feasible Region for Subproblems 4 & 5


Percabangan (Branching): Sub-problem 2 dibagi 2:
Proses membagi suatu sub-problem  Subproblem 4: Subproblem 2 +
menjadi dua atau lebih sub-problem Constraint x2  2
dibawahnya (nilai x1 dibulatkan ke atas)
Sub-problem 1 dibagi 2:  Subproblem 5: Subproblem 2 +
 Subproblem 2: Subproblem 1 +
Constraint x2  1
Constraint x1  4  (nilai x1 dibulatkan ke bawah)
(nilai x1 dibulatkan ke atas)
 Subproblem 3: Subproblem 1 +  Solusi Optimal Sub-problem 5:
Constraint x1  3 z = 40.05, x1 = 4.44, x2 = 1
(nilai x1 dibulatkan ke bawah)
 Solusi optimal sub-problem 2
Solusi Optimal Sub-problem 2: belum menghasilkan bilangan
z = 41, x1 = 4, x2 = 9/5 = 1.8 integer, dan perlu dicabangkan lagi
 Solusi optimal sub-problem 1
belum menghasilkan bilangan
integer, dan perlu dicabangkan lagi
(konsep LIFO sub-problem 3 tidak
diproses dahulu)
Feasible Region for Feasible Region for
Subproblems 2 and 3 of Telfa Problem Subproblems 4 and 5 of Telfa Problem

11
The Branch and Bound Tree Feasible Region for Subproblems 6 & 7

Optimal solution of
Subproblem 6:

z = 40, x1 = 5, x2 = 0

3
Optimal solution of
Subproblem 7:

Optimal solution of Subproblem 5: z = 37, x1 = 4, x2 = 1


z = 40.05, x1 = 4.44, x2 = 1

Subproblem 5 dibagi 2:

Subproblem 6: Subproblem 5 + Constraint x1  5


Feasible Region for
Subproblem 7: Subproblem 5 + Constraint x1  4 Subproblems 6 and 7 of Telfa Problem

The Branch and Bound Tree The Branch and Bound Tree

1 2 3 4

12
Knapsack Problems Contoh

 

Solving Knapsack Problems Solving Knapsack Problems


Max z = 16x1+ 22x2 + 12x3 + 8x4  Using Branch and Bound:
subject to

5x1+ 7x2 + 4x3 + 3x4  14 1) We used the LIFO approach to determine which subproblem
xi = 0 or 1 for all i = 1, 2, 3, 4 should be solved.
2) We arbitrarily chose to solve subproblem 3 before subproblem 2.
LP Relaxation:  To solve subproblem 3, we first set x3 = 1 and then solved
the resulting knapsack problem.
Max z = 16x1+ 22x2 + 12x3 + 8x4  After setting x3 = 1, 14 – 4 = $10 million was still available for
subject to investment.
 Applying the technique used to solve the LP relaxation of a
5x1+ 7x2 + 4x3 + 3x4  14
knapsack problem yielded the following optimal solution to
0  xi  1 for all i = 1, 2, 3, 4
subproblem 3: x3 = 1, x1 = 1, x2 = 5/7, x4 = 0, Z = 306/7
Soving the LP Relaxation: 3) Other subproblems were solved similarly; of course,
 Order xi’s in the decreasing order of ci/ai where ci are the  If a subproblem specified xi = 0, the optimal solution to that
cost coefficients and ai’s are the coefficients in the subproblem could not use investment i.
constraint  Subproblem 4 yielded the candidate solution x1 = x3 = x4 = 1,
 Select items in this order until the constraint is satisfied with z = 36. We then set LB = 36.
equality

13
Solving Knapsack Problems The Branch and Bound Tree

 Using Branch and Bound: Subproblem 1


z = 44
1 x1 = x2 = 1
x3 =.5
4) Subproblem 6 yielded a candidate solution with z = 42. Thus,
x3 = 1
subproblem 4 was eliminated from consideration, and the LB was x3 = 0
updated to 42.
Subproblem 3
5) Subproblem 7 was infeasible because it required x1 = x2 = x3 = 1, Subproblem 2
z = 43.7
z = 43.3, LB=42 2
and such a solution requires at least $16 million. 7 x1 = x2=1 x1 =x3= 1,
x3 = 0, x4 =.67 x2 = .7, x4=0
6) Subproblem 8 was eliminated because its z-value (z = 38) did not
x2 = 1
exceed the current LB of 42. x4 = 0 x4 = 1 x2 = 0

7) Subproblem 9 had a z-value of 300/7. Because the z-value for any 3 4


Subproblem 8 Subproblem 9 Subproblem 4 Subproblem 5
all-integer solution must also be an integer, this meant that z = 38, LB=42 z= 42.85, LB=42 z = 36 z = 43.6
branching on subproblem 9 could never yield a z-value larger than 8 x1 = x2=1 9 x1 = x4 =1 x1 = x3=1
x2 = 0, x4 =1
x1 =.6, x2=x3=1
x4 = 0, LB = 36
x3 = x4 = 0 x3 = 0, x2 = .85
42.
 Thus, further branching on subproblem 9 could not beat the x1 = 0 x1 = 1

current LB of 42, and subproblem 9 was eliminated from Subproblem 6


Subproblem 7
consideration. z = 42
x1 =0, x2=x3=1 6
LB = 42
5 Infeasible
x4 = 1, LB = 36

LINDO : Problem Gandhi


 Definisi variabel diletakkan setelah perintah “END”
 Definisi variabel 0-1 atau biner di LINDO
INTE x
 Definisi variabel Integer di LINDO
Menyelesaikan GIN y
 Contoh GANDHI di LINDO:
Integer Programming dengan
LINDO/LINGO

14
LINDO : Problem Gandhi
 Solusi
GANDHI
di LINDO:

15

Anda mungkin juga menyukai