Industrial Engineering
Integer Programming
11/3/2016
Permasalahan integer programming (IP) adalah suatu Program Linear (LP) yang
beberapa atau seluruh variabel yang digunakan merupakan bilangan integer positif
Maximize
subject to
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
Maximize
subject to
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
7x1 + 4x2= 13
x2
Pendekatan 2:
Selesaikan LP relaxation
Bulatkan pada solusi integer
yang feasibel terdekat
x1
11/3/2016
x2
6
x2 2
1
x1
1
LP Optimal
x1 = 5 7/16
x2 = 2 11/16
11/3/2016
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
IP Optimal
x1 = 4
x2 = 3
x1
1
11/3/2016
Permodelan
Integer Programming
11/3/2016
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
11/3/2016
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
11/3/2016
11/3/2016
16
11/3/2016
11/3/2016
18
x1
x4
x5
Interpretasi
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
(2) Paling banyak dua dari lokasi X5, X6, X7 dan X8 yang dapat dipilih
x5 + x6 + x7 + x8 2
20
11/3/2016
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
x8 = 0, maka x1 + x7 2 (dapat memilih lokasi S1, S7, atau keduaduanya, atau tidak keduanya).
x8 x1 x7
22
Interpretasi
23
x1
x7
Interpretasi
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
24
11/3/2016
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
26
11/3/2016
27
11/3/2016
Pembatas:
28
11/3/2016
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
30
11/3/2016
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
32
Kota
1,2
1,2,6
3,4
3,4,5
4,5,6
2,5,6
11/3/2016
Fungsi pembatas:
33
11/3/2016
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
Ada 2 konstrain
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
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
37
(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
38
11/3/2016
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
Compact
1.5 ton
30 jam
$2000
Midsize
3 ton
25 jam
$3000
Large
5 ton
40 jam
$4000
11/3/2016
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
42
11/3/2016
43
11/3/2016
Branch-and-Bound Algorithm
44
11/3/2016
Branch-and-Bound Algorithm
11/3/2016
Bounds
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
11/3/2016
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
11/3/2016
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
11/3/2016
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
51
11/3/2016
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
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
Obj = 11.019
0
55
411/3/2016
X1
Problem II
X1 <= 2
X1 >= 3
x i 1
i
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
11/3/2016
Problem IV
60
11/3/2016
Solution to LP Relaxation
X2
Problem III
Problem II
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