Operations Research
Industrial Engineering
Integer Programming
11/3/2016
Model Integer 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:
Pure IP problem: jika semua variabel harus bernilai integer
Maximize
subject to
Mixed IP 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: jika semua variabel harus bernilai 0 atau 1 (Binary Integer Programming/BIP)
Maximize
subject to
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
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)
7x1 + 4x2= 13
x2
Pendekatan 2:
Selesaikan LP relaxation
Bulatkan pada solusi integer
yang feasibel terdekat
x1
11/3/2016
Solusi Integer Programming
Contoh Problem:
Max z = 1200 x1 + 2000 x2
ST:
2x1 + 6 x2 27
x2 2
3x1 + x2 19
x1 , x2 0 and Integer
x2
6
x2 2
1
Penyelesaian problem Integer
Programming, Apakah solusi LP
dibulatkan untuk mendapakan
solusi IP?
x1
1
LP Optimal
x1 = 5 7/16
x2 = 2 11/16
11/3/2016
Solusi Integer Programming (2)
Max z = 1200 x1 + 2000 x2
ST:
2x1 + 6 x2 27
x2 2
3x1 + x2 19
x1 , x2 0 and Integer
x2
6
Pembulatan?
x1 = 5
x2 = 3
Pembulatan ke atas?
x1 = 6
x2 = 3
Pembulatan
ke bawah?
x1 = 5
x2 = 2
x1
1
LP Optimal
x1 = 5 7/16
x2 = 2 11/16
11/3/2016
Solusi Integer Programming (3)
x2
IP Optimal
x1 = 4
x2 = 3
x1
1
Untuk MAX problem:
nilai optimal dari IP nilai optimal dari LP relaxation
8
11/3/2016
Permodelan
Integer Programming
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
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
x2 + x4 + x6 1
14
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 2
3 x1 + x2 + x3 + x4 + 2 x5 + x6 + x7 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 10
15
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:
x2 = 1 & x3 = 0
Feasible
x2 = 0 & x3 = 1
Feasible
x2 = 1 & x3 = 1
Feasible
x2 = 0 & x3 = 0
Infeasible
16
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 ketiga pemain bermain (feasibel).
0 ketiga pemain tidak bermain (feasibel).
0 hanya pemain 4 yang bermain (feasibel).
1 hanya pemain 5 yang bermain (feasibel).
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:
19
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.
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
21
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)
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 Tidak memilih ketiga lokasi tersebut
1 Hanya memilih lokasi S7
0 Hanya memilih lokasi S1
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
Hanya memilih lokasi S8
Memilih lokasi S8 dan S1, tetapi S7 tidak
Memilih lokasi S8 dan S7, tetapi S1 tidak
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
$12
$6
celana pendek
$8
$4
celana panjang
$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
PI
SL
SF
SE
29
AT BO CH DE HO LA NO NY
1 0 1 0 1 0 1 1
0 1 0 0 0 0 0 1
1 0 1 0 0 0 1 1
0 0 0 1 0 0 0 0
1 0 0 0 1 0 1 0
0 0 0 0 0 1 0 0
1 0 1 0 1 0 1 0
1 1 1 0 0 0 0 1
1 1 1 0 0 0 0 1
0 0 0 1 0 1 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0
PI SL SF SE
1 0 0 0 xAT
1 0 0 0 xBO
1 0 0 0 xCH
0 1 0 0 xDE
0 0 0 0 xHO
0 1 1 0 xLA
0 0 0 0 xNO
1 0 0 0 xNY
1 0 0 0 xPI
0 1 1 1 xSL
0 1 1 1 xSF
0 1 1 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-
10
20
30
30
20
10
25
35
20
10
20
25
15
30
20
30
35
15
15
25
30
20
30
15
14
20
10
20
25
14
31
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,2
1,2,6
3,4
3,4,5
4,5,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
34
1
1
2
1
3
0
4
0
5
0
6
0
1
0
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
0
0
0
0
1
0
0
1
0
1
1
1
1
x1
x2
x3
x4
x5
x6
<=
<=
<=
<=
<=
<=
11/3/2016
1
1
1
1
1
1
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 ;
37
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)
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
OK?
z 4+Mz 15 + M(1-z) Feasible
1a 1 3
4
15
Ya
0
4
1015
Ya
1b 1 3
4
15
Ya
1 1004
15
Ya
2a 0 4
4
16
Ya
0
4
1015
Ya
2b 0 4
4
16
Ya
1 1004
15
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 1: The LP relaxation of
original
Optimal LP Solution:
x1 = 3.75 and x2 = 2.25 and z = 41.25
Subproblem 2:
Subproblem 1 + Constraint x1 >= 4
Subproblem 3:
Subproblem 1 + Constraint x1 <= 3
Subproblem 4:
Subproblem 2 + Constraint x2 >= 2
Subproblem 5:
Subproblem 2 + Constraint x2 <= 1
48
11/3/2016
Daerah Feasible untuk Sub-problem
Percabangan (Branching):
Proses membagi suatu sub-problem menjadi dua atau lebih
sub-problem dibawahnya
Sub-problem 1 dibagi 2:
Subproblem 2: Subproblem 1 + Constraint x1 >= 4
(nilai x1 dibulatkan ke atas)
Solusi Optimal Sub-problem 2:
z = 41, x1 = 4, x2 = 9/5 = 1.8
Solusi optimal sub-problem 2 belum menghasilkan
bilangan integer, dan perlu dicabangkan lagi (konsep
LIFO sub-problem 3 tidak diproses dahulu)
Subproblem 3: Subproblem 1 + Constraint x1 <= 3
(nilai x1 dibulatkan ke bawah)
49
11/3/2016
Feasible Region for Subproblems 4 & 5
Sub-problem 2 dibagi 2:
Subproblem 4:
Subproblem 2 + Constraint x2 >= 2
(nilai x2 dibulatkan ke atas) => infeasible
Subproblem 5:
Subproblem 2 + Constraint x2 <= 1
(nilai x2 dibulatkan ke bawah)
Solusi Optimal Sub-problem 5:
z = 40.05, x1 = 4.44, x2 = 1
Solusi optimal sub-problem 5 belum
menghasilkan bilangan integer, dan perlu
dicabangkan lagi (konsep LIFO sub-problem
4 tidak diproses dahulu)
50
11/3/2016
The Branch and Bound Tree
1
Subproblem 1
z = 41.25
x1 = 3.75
x2 = 2.25
x1 3
x1 4
Subproblem 2
z = 41
x1 = 4
x2 = 1.8
x2 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
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
Optimal Relaxed Solution
X1 = 2.769
X2 = 1.826
Obj = 11.019
0
55
411/3/2016
X1
The Branch-And-Bound Algorithm
Problem I
Problem II
MAX: 2X1 + 3X2
S.T.
X1 + 3X2 <= 8.25
2.5X1 + X2 <= 8.75
MAX: 2X1 + 3X2
S.T.
X1 + 3X2 <= 8.25
2.5X1 + X2 <= 8.75
X1 <= 2
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
X1=2, X2=2.083, Obj = 10.25
Problem II
1
0
0
57
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: 2X1 + 3X2
S.T.
X1 + 3X2 <= 8.25
2.5X1 + X2 <= 8.75
X1 <= 2
X2 <= 2
X1, X2 >= 0 and integer
MAX: 2X1 + 3X2
S.T.
X1 + 3X2 <= 8.25
2.5X1 + X2 <= 8.75
X1 <= 3
X2 >= 3
X1, X2 >= 0 and integer
60
11/3/2016
Solution to LP Relaxation
X2
Problem III
X1=2, X2=2, Obj = 10
Problem II
X1=3, X2=1.25, Obj = 9.75
0
61
11/3/2016
4
X1
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
X2<=2
Problem I
X2>=3
Problem III
X1=2
X2=2
Obj = 10
62
X1=3
X2=1.25
Obj = 9.75
Problem IV
infeasible
11/3/2016
Tugas
Fungsi Tujuan :
Maks Z = 100 X1 + 150X2
Fungsi konstrains :
8.000 X1 + 4.000 X2 < 40.000
15 X1 + 30 X2 < 200
X1, X2 > 0 dan integer
Selesaikan ILP di atas dengan metode branch and bound