Integer Programming
Integer Programming
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
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
x2
6
IP Optimal
x1 = 4
5 x2 = 3
Pemodelan
Integer Programming
4
x1
1 2 3 4 5 6 7 8
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
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
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
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
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.
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
9
Metode “Branch and Bound”
Metode “Branch and Bound” adalah metode paling populer
untuk menyelesaikan problem IP
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.
10
Contoh Feasible Region for Telfa’s 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:
Subproblem 5 dibagi 2:
The Branch and Bound Tree The Branch and Bound Tree
1 2 3 4
12
Knapsack Problems Contoh
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
14
LINDO : Problem Gandhi
Solusi
GANDHI
di LINDO:
15