Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming...

54

Transcript of Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming...

Page 1: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan
Page 2: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

PengantarInteger Programming

Page 3: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Model Integer Programming

• Permasalahan integer programming (IP)adalah suatu Program Linear (LP) yangbeberapa atau seluruh variabel yangdigunakan merupakan bilangan integer positif

Page 4: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

• Jenis-jenis permasalahan IP:– Pure IP problem: jika semua variabel harus bernilai integer

Maximize z = 3x1 + 4x2

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

Page 5: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Integer Programming

• Permasalahan IP biasanya lebih sulit untukdiselesaikan dibandingkan denganpermasalahan LP

• Hal ini disebabkan banyaknya kombinasi nilaiinteger yang harus diuji, dan setiap kombinasimembutuhan penyelesaian “normal” LP atauNLP

Page 6: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

LP Relaxation

• LP relaxation dari IP adalah LP yang diperoleh denganmenghilangkan pembatas semua bilangan integer ataupembatas

– Contoh Pure IP problem :

Maximize z = 3x1 + 4x2

subject to 5x1 + 8x2 ≤ 24

x1, x2 ≥ 0, x1 dan x2 integer

– Contoh Pure IP problem yang telah di-longgarkan (relax):

Maximize z = 3x1 + 4x2

subject to 5x1 + 8x2 ≤ 24

x1, x2 ≥ 0

Page 7: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Pendekatan Sederhana Solusi IP

Pendekatan 1:

• Cari seluruh kemungkinan solusi

• Tentukan nilai fungsi tujuannya

• Pilih nilai maksimum (minimum)

Pendekatan 2:

• Selesaikan LP relaxation

• Bulatkan pada solusi integer

yang feasibel terdekatx x xx

x1

x2

1 2 3

1

3

2

7x1 + 4x2= 13

Page 8: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

1

1 2 3 4 5 6 7 8

x1

1

2

3

4

5

6

x2

1 2 3 4 5 6 7 8

x1

1

2

3

4

5

6

x2

LP Optimalx1 = 5 7/16

x2 = 2 11/16

Contoh Problem:Max 1200 x1 + 2000 x2

ST:2x1 + 6 x2 27x2 23x1 + x2 19x1 , x2 0 and

Integer

Penyelesaianproblem Integer Programming, Apakah solusi LP dibulatkan untukmendapakan solusiIP…?

Solusi Integer Programming

Page 9: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

1

1 2 3 4 5 6 7 8

x1

1

2

3

4

5

6

x2

1 2 3 4 5 6 7 8

x1

1

2

3

4

5

6

x2

LP Optimal

x1 = 5 7/16

x2 = 2 11/16

Pembulatan ke atas?

x1 = 6

x2 = 3

Pembulatan?x1 = 5x2 = 3

Pembulatan

ke bawah?

x1 = 5

x2 = 2

Max 1200 x1 + 2000 x2

ST:2x1 + 6 x2 27x2 23x1 + x2 19x1 , x2 0 and Integer

Solusi Integer Programming (2)

LP relaxation, kemudian dibulatkan ?

Page 10: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

1

1 2 3 4 5 6 7 8

x1

1

2

3

4

5

6

x2

1 2 3 4 5 6 7 8

x1

1

2

3

4

5

6

x2 IP Optimal

x1 = 4

x2 = 3

Solusi Integer Programming (3)

Untuk MAX problem:nilai optimal dari IP ≤ nilai optimal dari LP relaxation

Page 11: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

PermodelanInteger Programming

Page 12: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Contoh 1: Problem investasi

• Perusahaan Stockco mempertimbangkanempat jenis investasi

• Modal yang tersedia untuk investasi sebesar$ 14,000

• Formulasikan model integer programming ini untuk memaksimumkan NPV dariinvestasi-investasi berikut:

Pilihan Investasi 1 2 3 4

Modal $5000 $7000 $4000 $3000 NPV $16000 $22000 $12000 $8000

Page 13: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Contoh 1: Problem investasi

SOLUSI:

xi = banyaknya modal yang diinvestasikanpada jenis ke-i

Maximize

z = 16 x1+ 22 x2 + 12 x3 + 8 x4

Subject to

5 x1 + 7 x2 + 4 x3 + 3 x4 ≤ 14

x1, x2, x3, x4 = 0, 1

Page 14: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Pengembangan Problem Investasi

Perusahaan Stockco mempertimbangkan batasan-batasan “logis” berikut ini :

1. Tepat 3 investasi yang terpilih

2. Jika investasi ke-2 terpilih, maka investasi ke- 1 jugaterpilih

3. Jika investasi ke- 1 terpilih, maka investasi ke- 3tidak terpilih

4. Salah satu dari investasi ke- 3 atau ke-4 harusterpilih, tetapi tidak dapat kedua-duanya

Page 15: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Tambahan pembatas:

1. Tepat 3 investasi yang terpilih x1+ x2+ x3+ x4 =3

2. Jika investasi ke-2 terpilih, maka investasi ke- 1 juga terpilih x1 ≥ x2

3. Jika investasi ke- 1 terpilih, maka investasi ke- 3 tidak terpilih x1 + x3 ≤ 1

4. Salah satu dari investasi ke- 3 atau ke-4 harusterpilih, tetapi tidak dapat kedua-duanya x3 + x4 = 1

Page 16: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Contoh 2: Pemilihan pemain bola basket

Perkumpulan bola basket “Pasti Menang” sedangmenghadapi kompetisi tingkat nasional. Sang pelatihhendak memilih 5 dari 7 pemain yang akanditurunkan dalam pertandingan malam nanti. Data-data pemain seperti terlihat pada tabel dibawah ini:

Pemain Guard Forward Center Ball-Handling Shooting Rebounding Total

1 Yes No No 3 1 2 6

2 No No Yes 1 2 1 4

3 Yes Yes No 1 3 1 5

4 No Yes Yes 1 2 1 4

5 Yes Yes No 2 1 3 6

6 No Yes Yes 1 3 1 5

7 Yes Yes No 1 2 2 5

Posisi Kemampuan

Page 17: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Pemilihan Pemain Bola Basket

Pembatas yang dialami pelatih adalah sebagaiberikut:

1. Harus ada tepat lima pemain, dengan syarat: Sedikitnya empat pemain sebagai penyerang.

Sedikitnya dua pemain sebagai pemain depan.

Sedikitnya satu pemain sebagai pemain tengah.

2. Rata-Rata tingkat ketrampilan pemain paling sedikit 2.

Page 18: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Pemilihan pemain bola basket

3. Salah satu dari pemain ke-2 atau pemain ke-3 harus bermain.

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 bermain juga.

Page 19: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

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 6 x1 + 4 x2 + 5 x3 + 4 x4 + 6 x5 + 5 x6 + 5 x7

Page 20: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Solusi : Pemilihan pemain bola basket (1)

Pembatas :

(1a) Harus ada tepat lima pemain turun ke lapangan

x1 + x2 + x3 + x4 + x5 + x6 + x7 = 5

(1b) Paling sedikit terdapat empat pemain penyerang(guard).

x1 + x3 + x5 + x7 4

(1c) Paling sedikit terdapat dua pemain depan (forward).

x3 + x4 + x5 + x6 + x7 2

(1d) Paling sedikit terdapat satu pemain tengah.

x2 + x4 + x6 1

Page 21: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Solusi : Pemilihan Pemain Bola Basket (2)2.Rata-Rata tingkat ketrampilan pemain paling sedikit 2

(a) Rata-rata ketrampilan pemain menggiring bola lebih daridua.

(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 menembak bola lebih daridua.

x1 + 2 x2 +3 x3 + 2 x4 + x5 + 3 x6 + 2 x7 10

(c) Rata-rata ketrampilan pemain menghadang lebih dari dua.

2 x1 + x2 + x3 + x4 + 3 x5 + x6 + 2 x7 10

Page 22: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

3.Salah satu dari pemain ke-2 atau pemain ke-3 harusbermain

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

Page 23: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Solusi : Pemilihan Pemain Bola Basket (3)

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

Page 24: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Solusi : Pemilihan Pemain Bola Basket (4)

5. Jika pemain ke-1 bermain, maka pemain ke-4 danke-5 harus bermain juga

x1 x4

x1 x5

Jika x1 = 1, maka x4 = 1 dan x5 =1.

Variabel kemungkinan yang terjadi: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)

Page 25: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Contoh 3 : Pengeboran Minyak1. Pemilihan paling sedikit 5 lokasi dari 10 lokasi

pengeboran minyak yang telah direncanakan, dengan variabel keputusan X1, X2,…, X10 dan biayapengeboran C1, C2,…, dan C10.

2. Batasan:

– Paling banyak dua dari lokasi X5, X6, X7 dan X8 yang dapatdipilih

– Memilih lokasi X3 atau lokasi X4 akan mencegah untukmemilih lokasi X5.

– Memilih kombinasi lokasi X1 dan X7 akan mencegah untukmemilih lokasi X8.

Page 26: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Solusi Pengeboran Minyak (1)Variabel Keputusan

Xi = 1, jika lokasi ke-i dilakukan pengeboran. Xi = 0, jika lokasike-i tidak dilakukan pengeboran.

Fungsi tujuan:

Min 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

Page 27: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Solusi Pengeboran Minyak (2)

(3) Memilih lokasi X3 atau lokasi X4 akan mencegahuntuk 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)

Page 28: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Solusi Pengeboran Minyak (3)

(4) Memilih kombinasi lokasi X1 dan X7 akan mencegahuntuk 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 kedua-duanya, atau tidak keduanya).

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

Page 29: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Solusi Pengeboran Minyak (4)

(4)Memilih kombinasi lokasi X1 dan X7 akan mencegah

untuk memilih lokasi X8

x1 + x7 + x8 2

– kasus 2: Menyelidiki lokasi S8

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)

Page 30: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Contoh 4 : 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 Kota dalam 1000 miles Atlanta (AT) AT, CH, HO, NO, NY, PI

Boston (BO) BO, NY, PI Chicago (CH) AT, CH, NY, NO, PI

Denver (DE) DE, SL Houston (HO) AT, HO, NO

Los Angeles (LA) LA, SL, SF New Orleans (NO) 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

• Western menginginkan

untuk mempunyai kota

transit dalam 1000 mil

dari tiap kota-kota ini

• Hitunglah jumlah

minimum dari kota transit

Page 31: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

AT BO CH DE HO LA NO NY PI SL SF SE Required

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

CH 1 0 1 0 0 0 1 1 1 0 0 0 xCH >= 1

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

LA 0 0 0 0 0 1 0 0 0 1 1 0 xLA >= 1

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

PI 1 1 1 0 0 0 0 1 1 0 0 0 xPI >= 1

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

SE 0 0 0 0 0 0 0 0 0 1 1 1 xSE >= 1

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 XAT + XB0 + XCH + XDE + XHO + XLA +

XNO + XNY + XPI + XSL + XSF + XSE

Pembatas:

Page 32: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Contoh 5 : 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

Kota ke-

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

• Waktu yang

dibutuhkan dari

kota yang satu ke

kota yang lain

dilampirkan pada

tabel dibawah ini.

• Tentukan jumlah

minimum dari

pemadam

kebakaran

Page 33: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Solusi : Problem “Alada”

• Sebuah kota dapat dicover oleh stasiun

pemadam kebakaran jika jarak tempuhnya

sebesar 15 menit

• Covering set untuk setiap kota

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

Page 34: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Solusi : Problem “Alada”

Variabel keputusan :

xi = 1 jika dibangun stasiun pemadam kebakaran

pada kota-i

xi = 0 jika kota-i tidak dibangun stasiun pemadam

Fungsi tujuan :

Minimum

x1+x2+x3+x4+x5+x6

Fungsi pembatas:

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

Page 35: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Konsep : “Either-Or Constraints”

• Ada 2 konstrain

diasumsikan bahwa hanya ada satu yang memenuhi

• Kita dapat menyelesaikan permasalahan ini dengan

menambahkan metode “either-or constrains” 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.

0),...,,(

0),...,,(

21

21

n

n

xxxg

xxxf

)1(),...,,(

),...,,(

21

21

yMxxxg

Myxxxf

n

n

Page 36: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Konsep “If-then constraints”

• Jika kita ingin memastikan bahwa,

f(x1 ,x2,… ,xn)>0 sama g(x1 ,x2 ,… ,xn)≥0

• Kemudian kita tambahkan if-then konstrain

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

Myxxxg

yMxxxf

n

n

),...,,(

)1(),...,,(

21

21

Page 37: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Contoh 6 : “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 kedua-duanya)

Feasibel solusinya adalah ;

1) x = 1, y = 3 (memenuhi kedua pembatas)

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)

4) x = 2, y = 3 (tidak memenuhi kedua-duanya)

Page 38: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Solusi “Either-Or Constraints”

• Definiskan 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

Page 39: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Solusi “Either-Or Constraints”

Pembuktian:

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

Page 40: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Solusi “Either-Or Constraints”

3.Solusi dengan nilai M 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

Page 41: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

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

Page 42: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Contoh 7: Aplikasi “Dorian”

• Perusahaan Dorian automotif memproduksi 3

tipe model mobil yaitu ; compact (kecil),

midsize (menengah), dan large (besar).

• Ada 6 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: Compact Midsize Large

Kebutuhan baja 1.5 ton 3 ton 5 ton

Kebutuhan jam tenaga kerja 30 jam 25 jam 40 jam

Profit $2000 $3000 $4000

Page 43: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

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

Page 44: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

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

x1, x2, x3 ≥ 0 dan integer

y1, y2, y3 = 0 atau 1

Page 45: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Metode

“Percabangan dan Pembatasan”

(Branch and Bound)

Page 46: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Metode “Branch and Bound”

• Metode “Branch and Bound” adalah metodepaling populer untuk menyelesaikan problem IP

• Metode ini mencari solusi optimal IP denganperhitungan titik-titik di daerah feasibel “sub-problem”.

• Jika solusi optimal dari LP relaxation adalahinteger, maka solusi LP relaxation tersebutjuga merupakan solusi IP

Page 47: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Contoh

• 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 sub-problem. Sub-

problem 1 adalah penyelesaian

LP relaxation dari model awal.

Optimal LP Solution:

x1 = 3.75 dan x2= 2.25

dengan z = 41.25

Page 48: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Feasible Region for Telfa’s Problem

• Subproblem 1 : The LP relaxation of original

• Optimal LP Solution: x1 = 3.75 and x2 = 2.25 and z = 41.25

• Subproblem 2: Subproblem1 + Constraint x1 4

• Subproblem 3: Subproblem1 + Constraint x1 3

• Subproblem 4: Subproblem2 + Constraint x2 2

• Subproblem 5: Subproblem2 + Constraint x2 1

Page 49: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Daerah Feasible untuk Sub-problemPercabangan (Branching):

Proses membagi suatu sub-problem menjadi duaatau lebih sub-problem dibawahnya

Sub-problem 1 dibagi 2:

• Subproblem 2: Subproblem 1+Constraint x1 4

(nilai x1 dibulatkan ke atas)

• Subproblem 3: Subproblem 1+Constraint x1 3

(nilai x1 dibulatkan ke bawah)

Solusi Optimal Sub-problem 2: z = 41, x1 = 4, x2 = 9/5 = 1.8

• Solusi optimal sub-problem 2 belummenghasilkan bilangan integer, dan perludicabangkan lagi (konsep LIFO sub-problem 3 tidak diproses dahulu)

Page 50: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Feasible Region for Subproblems 4 & 5

Sub-problem 2 dibagi 2:

• Subproblem 4: Subproblem 2

+ Constraint x1 ³ 4

(nilai x1 dibulatkan ke atas)

• Subproblem 5: Subproblem 2

+ Constraint x1 £ 3

(nilai x1 dibulatkan ke bawah)

Solusi Optimal Sub-problem 2:

z = 41, x1 = 4,

x2 = 9/5 = 1.8

Page 51: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

The Branch and Bound TreeSubproblem 1

z = 41.25

x1 = 3.75

x2 = 2.25

Optimal solution of Subproblem 5:

z = 40.05, x1 = 4.44, x2 = 1

Subproblem 6: Subproblem 5 + Constraint x1 5

Subproblem 5: Subproblem 5 + Constraint x1 4

3

Subproblem 2

z = 41

x1 = 4

x2 = 1.8

Subproblem 3

Subproblem 4

Infeasible

Subproblem 5

x1 4 x1 3

x2 2 x2 1

1

2

4

Page 52: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

Feasible Region for Subproblems 6 & 7

Optimal solution of

Subproblem 7:

z = 37, x1 = 4, x2

= 1

Optimal solution of

Subproblem 6:

z = 40, x1 = 5, x2

= 0

Page 53: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan

The Branch and Bound Tree

Subproblem 1

z = 41.25

x1 = 3.75

x2 = 2.25

Subproblem 2

z = 41

x1 = 4

x2 = 1.8

Subproblem 3

z = 3

x1 = 3

x2 = 1, LB = 39

Subproblem 4

Infeasible

Subproblem 5

z = 40.55

x1 = 4.44

x2 = 1

x1 4 x1 3

x2 2 x2 1

Subproblem 6

z = 40

x1 = 5

x2 = 0, LB = 37

Subproblem 7

z = 37

x1 = 4

x2 = 1

1

2

3 4

7

6 5

Page 54: Pengantar - Radia Sariradiasari.lecture.ub.ac.id/files/2017/11/10.-Integer...Integer Programming •Permasalahan IP biasanya lebih sulit untuk diselesaikan dibandingkan dengan permasalahan