OR I 09 Integer Programming.pdf

  Operations Research

Industrial Engineering Integer Programming

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 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 (Binary Integer Programming/BIP) 0-1 IP problem: jika semua variabel harus bernilai 0 atau 1 (Binary Integer Programming/BIP) Maximize z = 3x1 + 4x2 subject to 5x1 + 8x2 ≤ 24 x1, x2 = 0 or 1 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 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 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 Pendekatan sederhana solusi IP

  Pendekatan 1:

  Cari seluruh kemungkinan solusi solusi

  3 Tentukan nilai fungsi tujuannya

  2 Pilih nilai maksimum (minimum)

  7x + 4x = 13 x

  1

  2

  2

  1 Pendekatan 2: Pendekatan 2: x x x x Selesaikan LP relaxation

  3

  1

  2 Bulatkan pada solusi integer x

  1 yang feasibel terdekat

Solusi Integer Programming

  Contoh Problem: 6 6 x x 2 2 Max z = 1200 x1 + 2000 x2 ST: ST: 5 5 5 5 2x1 + 6 x2

  27 ≤ 4 4 x2

  2 ≥ 3 3

  3x1 + x2

  19 ≤ 2 2 x1 , x2 0 and Integer

  ≥ 1 1 Penyelesaian problem x x x x 1 1 Integer Programming, Integer Programming,

1

1

2 2 3 3 4 4 5 5 6 6 7 7 8 8 Apakah solusi LP dibulatkan LP Optimal untuk mendapakan solusi

  7 x = 5 /

  1

  11 x = 2 /

  16 IP…?

  2

  16

Solusi Integer Programming (2)

  Max z = 1200 x1 + 2000 x2 ST: x x 2 2

  2x1 + 6 x2 2x1 + 6 x2

  27

  27

  ≤ ≤ 6 6 Pembulatan? x = 5 1 x = 3

  x2

  2 5 5

  ≥ 2 4 4 Pembulatan ke atas ?

  3x1 + x2

  19

  ≤ x = 6 1 3 3 x = 3 2

  x1 , x2 0 and Integer

  ≥ 2 2 Pembulatan 1 1 1 1 ke bawah ? x = 5 x = 5 1 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 x x 1 1 x = 2 2 LP Optimal 7 x = 5 / 1 11 16 x = 2 / 2 16 Solusi Integer Programming (3) x x 2 2 6 6 IP Optimal x = 4 5 5

  1 x = 3 4 4

  2 2 3

  3 2 1

  1 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 x x 1 1 Untuk MAX problem:

  nilai optimal dari IP ≤ nilai optimal dari LP relaxation

  Permodelan Integer Programming 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 Formulasikan model integer programming ini untuk memaksimumkan NPV dari investasi-investasi berikut: investasi-investasi berikut:

  Pilihan Investasi

  1

  2

  3

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

  SOLUSI: xi = banyaknya modal yang diinvestasikan pada jenis ke-i xi = banyaknya modal yang diinvestasikan pada jenis ke-i Maximize z = 16 x1+ 22 x + 12 x3 + 8 x4 Subject to 5 x1 + 7 x2 + 4 x3 + 3 x4 ≤ 14 x1, x2, x3, x4 = 0, 1

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 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 kedua- duanya

  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 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 kedua- duanya x3 + x4 = 1

  Contoh 2: Pemilihan pemain bola basket

  6

  1

  2

  1

  4

  5 Yes Yes No

  2

  1

  3

  6 No Yes Yes

  5

  1

  3

  1

  5

  7 Yes Yes No

  1

  2

  2

  4 No Yes Yes

  1

  Perkumpulan bola basket “Pasti Menang” sedang menghadapi kompetisi tingkat nasional. Sang pelatih hendak memilih 5 dari 7 pemain yang akan diturunkan hendak memilih 5 dari 7 pemain yang akan diturunkan dalam pertandingan malam nanti. Data-data pemain seperti terlihat pada tabel dibawah ini:

  2

  Pemain Guard Forward Center Ball-Handling Shooting Rebounding Total

  1 Yes No No

  3

  1

  2

  6

  2 No No Yes

  1

  1

  3

  4 Posisi Kemampuan

  2 No No Yes

  1

  2

  1

  4

  3 Yes Yes No

  1

  5 Pemilihan pemain bola basket

  Pembatas yang dialami pelatih adalah sebagai berikut: Harus ada tepat lima pemain, dengan syarat: Sedikitnya empat pemain sebagai guard. 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 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.

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

  

Solusi : Pemilihan pemain bola basket (2)

Rata-Rata tingkat ketrampilan pemain paling sedikit 2 (a) Rata-rata ketrampilan pemain 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 3 x1 + x2 + x3 + x4 + 2 x5 + x6 + x7

  10 ≥ ≥ (b) Rata-rata ketrampilan pemain menembak bola lebih dari dua. x1 + 2 x2 +3 x3 + 2 x4 + x5 + 3 x6 + 2 x7

  10

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

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

  10 ≥

  Salah satu dari pemain ke-2 atau pemain ke-3 harus bermain x2 + x3

  1 ≥

  Variabel kemungkinan yang terjadi: Variabel kemungkinan yang terjadi: x2 = 1 & x3 = 0 Feasible x2 = 0 & x3 = 1 Feasible x2 = 1 & x3 = 1 Feasible x2 = 0 & x3 = 0 Infeasible Solusi : Pemilihan pemain bola basket (3)

  Jika pemain ke-3 bermain, maka pemain ke-6 tidak bisa bermain x3 + x6 x3 + x6

  1

  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 x3 = 0, x6 = 1 Feasible Feasible Kedua-duanya bermain x3 = 1, x6 = 1 Infeasible Kedua-duanya tidak dapat bermain. x3 = 0, x6 = 0 Feasible Solusi : Pemilihan pemain bola basket (4)

  Jika pemain ke-1 bermain, maka pemain ke-4 dan ke-5 harus bermain juga x1 ≤ x4 x1 ≤ x4 x1 ≤ x5

  Jika x1 = 1, maka x4 = 1 dan x5 =1. Variabel kemungkinan yang terjadi:

  x1 x4 x5 Interpretasi

  1

  1

  1 1 1 ketiga pemain bermain (feasibel). 1 ketiga pemain bermain (feasibel).

  0 ketiga pemain tidak bermain (feasibel).

1 0 hanya pemain 4 yang bermain (feasibel).

  1 hanya pemain 5 yang bermain (feasibel). 1 1 pemain 4 dan 5 bermain, sedangkan pemain 1 tidak (feasibel) 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, keputusan X1, X2,…, X10 dan biaya pengeboran C1, C2,…, dan C10.

Batasan:

  

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

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

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 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 ≤ Solusi Pengeboran Minyak (2)

  Memilih lokasi X3 atau lokasi X4 akan mencegah untuk memilih lokasi X5 x3 + x5 x3 + x5

  1

  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 x5=1, maka nilai x3=0 dan x4=0 (jika memilih lokasi X5, maka lokasi X3 dan lokasi X4 tidak boleh dipilih) Solusi Pengeboran Minyak (3)

  Memilih kombinasi lokasi X1 dan X7 akan mencegah untuk memilih lokasi X8 x1 + x7 + x8 x1 + x7 + x8

  2

  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 x8 x1 x7 Interpretasi Interpretasi

  0 Tidak memilih ketiga lokasi tersebut

  1 Hanya memilih lokasi S7

  1

  0 Hanya memilih lokasi S1

  1

  1 Memilih lokasi S1 dan S7, tetapi lokasi S8 tidak Solusi Pengeboran Minyak (4)

  Memilih kombinasi lokasi X1 dan X7 akan mencegah untuk memilih lokasi X8 x1 + x7 + x8

  ≤

  2 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 x8 x1 x7 Interpretasi

  1

  1

  1 Memilih lokasi S8 dan S7, tetapi S1 tidak

  1

  1

  1 Memilih ketiga lokasi (infeasible) 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 $ 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 Kain yang Harga Biaya dibutuhkan dibutuhkan Jual Variabel kemeja

  4 $6

  3 $12 celana pendek

  2 3 $8 $4 celana panjang

  6 4 $15 $8 Formulasikan permasalahan diatas untuk memaksimumkan keuntungan per minggunya!

Solusi Problem Gandhi

  Variabel keputusan: xi = jumlah pakaian jenis ke-i yang diproduksi per minggunya 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 x1 <= M y1 x2 <= M y2, x3 <= M y3 x1, x2, x3 >= 0, dan integer y1, y2, y3 >= 0, dan biner

Contoh 5 : Problem “Western”

  Penerbangan western memutuskan untuk memiliki beberapa kota transit di USA Jalur penerbangan yang dimiliki mencakup kota-kota 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 dalam 1000 mil dari tiap kota-kota ini Hitunglah jumlah minimum dari kota transit

Contoh 5 : Problem “Western”

  Kota dalam 1000 miles (AT) AT, CH, HO, NO, NY, PI (BO) BO, NY, PI (CH) AT, CH, NY, NO, PI (CH) AT, CH, NY, NO, PI (DE) DE, SL Houston (HO) AT, HO, NO (LA) LA, SL, SF (NO) AT, CH, HO, NO (NY) AT, BO, CH, NY, PI (PI) AT, BO, CH, NY, PI (SL) DE, LA, SL, SF, SE (SL) DE, LA, SL, SF, SE (SF) LA, SL, SF, SE Seattle (SE) SL, SF, SE

Solusi : Problem “Western”

  Variabel keputusan Xi = 1 jika kota i dilokasikan sebagai kota transit Xi = 0 jika kota i tidak dijadikan sebagai kota transit Xi = 0 jika kota i tidak dijadikan sebagai kota transit

  Minimize Z = XAT + XB0 + XCH + XDE + XHO + XLA +

  XNO + XNY + XPI + XSL + XSF + XSE Pembatas: Pembatas:

Solusi : Problem “Western”

  1

  1 PI

  >=

  xPI

  1

  1

  1

  1

  1

  1 PI

  1 1 xNY >=

  1

  1

  1

  1 NY

  xNO >=

  1

  1

  1

  1 SF

  1

  1 1 xSE >=

  1

  1 SE

  1 1 xSF >=

  1

  1

  1 1 xSL >=

  1

  1

  1

  1

  1 SL

  >=

  xPI

  1

  1

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

  1

  xBO

  xBO

  1

  1

  1

  1 BO

  >=

  1

  1 CH

  1

  1

  1 BO

  1 1 xAT >=

  1

  1

  1

  >=

  1

  1

  1

  1 NO

  1 1 xLA >=

  1

  1 LA

  xHO >=

  1

  1

  1 HO

  1

  >=

  xDE

  1

  1

  1 DE

  1 1 xCH >=

  1

  1

Contoh 6 : Problem “Alada”

  Propinsi Alada mempunyai 6 kota Propinsi ini memiliki permasalahan pada kota mana akan dibangun stasiun pemadam kebakaran 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 Tentukan jumlah minimum dari pemadam kebakaran

Contoh 6 : Problem “Alada”

  5

  15

  30

  20

  4

  30

  35

  15

  15

  25

  30

  20

  20

  30

  15

  14

  6

  20

  10

  20

  25

  14

  25

  Kota ke-

  1

  20

  2

  3

  4

  5

  6

  1

  10

  20

  30

  30

  2

  10

  10

  25

  35

  20

  10

  2

  10

  25

  35

  20

  3 Solusi : Problem “Alada”

  Sebuah kota dapat dicover oleh stasiun pemadam kebakaran jika jarak tempuhnya sebesar 15 menit

Covering set untuk setiap kota Covering set untuk setiap kota

  Kota Covering sets (15 menit) 1 1,2 2 1,2,6 3 3 3,4 3,4 4 3,4,5 5 4,5,6 6 2,5,6

Solusi : Problem “Alada”

  Variabel keputusan: xi = 1 jika dibangun stasiun pemadam kebakaran pada kota-i kota-i

  = 0 jika kota-i tidak dibangun stasiun pemadam Fungsi tujuan :

  Minimum Z = x1+x2+x3+x4+x5+x6 Fungsi pembatas: Solusi : Problem “Alada”

Kota

  1

  1

  4

  1

  1 1 x

  4 <=

  1

  5

  1 1 x

  1 1 x

  5 <=

  1

  6

  1

  1 1 x

  6 <=

  1

  3 <=

  1

  2

  1 <=

  3

  4

  5

  6

  1

  1

  1 x

  1

  1

  2

  1

  1 1 x <=

  1

  2

  1

  1 1 x

  2 <=

  3

  Konsep : “Either-Or Constraints” Ada 2 konstrain

  1 2 n f ( x , x ,..., x )

  ≤

  1

  1

  2 n n g g ( ( x x , , x x ,..., ,..., x x ) )

  2

  ≤ ≤ diasumsikan bahwa hanya ada satu yang memenuhi

Kita dapat menyelesaikan permasalahan ini dengan menambahkan metode

“either-or constrains”

  1 2 n f ( x , x ,..., x ) My

  ≤

  1 2 n g ( x , x ,..., x ) 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.

  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

  1 2 n f ( x , x ,..., x ) M ( 1 y )

  ≤ −

  1 2 n g ( x , x ,..., x ) 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

Contoh 7 : “Either-Or Constraints”

  Memenuhi paling tidak satu dari pembatas berikut : (1) x + y ≤ 4 (2) 3x + 4y ≤15 (2) 3x + 4y ≤15

  (salah satu dari pembatas ke-1, atau ke-2, atau kedua- duanya)

Feasibel solusinya adalah ;

  x = 1, y = 3 (memenuhi kedua pembatas) 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)

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 + x ≤ 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 + M (1 – 1) = 15, pembatas ke-4 memenuhi 15 + 0 = 15 + M (1 – 1) = 15, 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 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

  5

  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

  18 Tidak 1 1004

  5

  18 Tidak 4 1015 Tidak 4b 2 3

  5

  15 Ya 4a 2 3

  15 Ya 1 1004

  5

  15 Ya 4 1015 Tidak 3c 5 0

  15 Tidak 3a 5 0

  4

  16 Ya 1 1004

  4

  16 Ya 4 1015 Ya 2b 0 4

  4

  15 Ya 2a 0 4

  15 Ya 1 1004

  4

  1b 1 3

  15 Ya 4 1015 Ya

Kesimpulan:

  Contoh 8: 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 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 Kebutuhan jam tenaga kerja 30 jam 30 jam 25 jam 25 jam 40 jam 40 jam Profit $2000 $3000 $4000

  

Formulasikan permasalahan perencanaan produksi tersebut

untuk memaksimumkan profit.

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 Subject to: x1 ≤ M y1 x2 ≤ M y2 x3 ≤ M y3 1000 – x1 ≤ M (1 – y1) 1000 – x2 ≤ M (1 – y2) 1000 – x3 1000 – x3 ≤ M (1 – y3) ≤ 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

  Metode “Percabangan dan Pembatasan” (Branch and Bound)

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 solusi LP relaxation tersebut juga merupakan solusi IP

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

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 sub- Suppose that in a given sub-problem (call it all sub- problem), assumes a fractional value between the integers i and i+1. Then the two newly generated subproblems are: New Subproblem 1 New Subproblem 1

  Old subproblem + Constraint Xi <= i New Subproblem 2

  Old subproblem + Constraint xi >= i + 1

Bounds

  The optimal solution to an LP relaxation of an ILP problem gives us a bound on the optimal objective function value. 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 function values is a lower bound on the optimal integer value.

Contoh 1

  Contoh suatu permasalahan IP: Maximize z = 8x1 + 5x2 subject to 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. awal.

  Optimal LP Solution: x1 = 3.75 dan x2 = 2.25 dengan z = 41.25

Feasible Region for the Problem

  Subproblem 1: The LP relaxation of original Optimal LP Solution: 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 2 + Constraint x2 >= 2 Subproblem 5: Subproblem 2 + Constraint x2 <= 1

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) 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 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)

Feasible Region for Subproblems 4 & 5

  Sub-problem 2 dibagi 2: Subproblem 4: Subproblem 2 + Constraint x1 >= 2 (nilai x2 dibulatkan ke atas) (nilai x2 dibulatkan ke atas) Subproblem 5: Subproblem 2 + Constraint x1 <= 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)

The Branch and Bound Tree

  Subproblem 1 z = 41.25

  1 x = 3.75 1 x = 2.25 2 x 3 x

  4 1 ≥≥≥≥ 1 ≤≤≤≤ Subproblem 2

  Subproblem 3 z = 41

  2 x = 4 1 x = 1.8 2 x 2 ≤≤≤≤

  1 x 2 ≥≥≥≥

  4 Infeasible

  z = 40.05, x1 = 4.44, x2 = 1 Subproblem 6: Subproblem 5 + Constraint x1 >= 5 Subproblem 7: Subproblem 5 + Constraint x1 <= 4

Feasible Region for Subproblems 6 & 7

  Optimal solution of Subproblem 7: z = 37, x1 = 4, x2 = 1 Optimal solution of Optimal solution of Subproblem 6: z = 40, x1 = 5, x2 = 0

The Branch and Bound Tree

  Subproblem 1 z = 41.25

  1 x = 3.75 1 x = 2.25 2 x x 1 ≥≥≥≥ ≥≥≥≥

  4 x x 1

  4

  3 ≤≤≤≤ ≤≤≤≤

  3

  Subproblem 2 Subproblem 3 z = 41 z = 3

  7

  2 x = 4 1 x = 3 1 x = 1.8 2 x = 1, LB = 39 2 x 2 ≤≤≤≤

  1 x 2 ≥≥≥≥

  2 Subproblem 5 Subproblem 4 z = 40.55

  3 Infeasible 4 x = 4.44 1 x x = 1 = 1 2 Subproblem 7 Subproblem 6 z = 37 z = 40

  5

  6 x = 4 1 x = 5 1 x = 1 2 x = 0, LB = 37 2

Contoh 2

  MAX: 2X1 + 3X2 S.T. X1 + 3X2 <= 8.25

  2.5X1 + X2 <= 8.75 X1, X2 >= 0 and integer

  2.5X1 + X2 <= 8.75 Solution to LP Relaxation

  3 X

  2 Feasible Integer Solutions

  1

  X

  1

  = 2.769

  X

  2

  = 1.826 Obj = 11.019

  1

  2

  3

  4 X

  1

Problem II

  2.5X1 + X2 <= 8.75 X1 >= 3 i x

  MAX: 2X1 + 3X2 MAX: 2X1 + 3X2 MAX: 2X1 + 3X2 S.T.

  X1 + 3X2 <= 8.25

  The Branch-And-Bound Algorithm Problem I

  X1 + 3X2 <= 8.25

  ≤

  X1 <= 2 MAX: 2X1 + 3X2 S.T.

  i x

  X1 <= 2 X1, X2 >= 0 and integer

  X1 >= 3 X1, X2 >= 0 and integer

  i x i

  ≤

  1

  i x i

  1 X

  2 Solution to LP Relaxation

  3 Problem I X =2, X =2.083, Obj = 10.25

  1

  2

  2 Problem II

  1

  3

  4 X

  1

  2

  1 Branching

  X

  1

  1

  X

  >=3

  1

  X

  Problem II Problem I

  =1.25 Obj = 9.75

  2

  X

  =3

  X

  1

  =2.083 Obj = 10.25

  2

  X

  =2

  1

  X

  =1.826 Obj = 11.019

  2

  X

  Original Problem

  =2.769

  <=2 Obj = 10.25 Obj = 9.75 Branching

  X

  =3

  Obj = 10.25 Obj = 9.75

  X2=2.083

  <=2

  1

  X

  >=3

  1

  X

  Problem II Problem I

  =1.25 Obj = 9.75

  2

  X

  1

  1

  X

  Obj = 10.25

  2 =2.083

  X

  =2

  1

  X

  =1.826 Obj = 11.019

  2

  X

  Original Problem

  =2.769

  Branch Problem I into Problem III and Problem IV The Branch-And-Bound Algorithm Problem III

Problem IV

  MAX: 2X1 + 3X2 MAX: 2X1 + 3X2 MAX: 2X1 + 3X2 S.T.

  X1 + 3X2 <= 8.25

  X1 <= 2 X2 <= 2

  MAX: 2X1 + 3X2 S.T.

  X1 + 3X2 <= 8.25

  2.5X1 + X2 <= 8.75 X1 <= 3 X2 >= 3 X2 <= 2

  X1, X2 >= 0 and integer X2 >= 3 X1, X2 >= 0 and integer

  Solution to LP Relaxation

  X

  2 Problem III

  3 X X =2, X =2, Obj = 10 =2, X =2, Obj = 10

  1

  2 Problem II

  2 X =3, X =1.25, Obj = 9.75

  1

  2

  1

  1 Branching

  X

  Problem II Problem I

  2 =2 Obj = 10 infeasible

  X

  1 =2

  X

  2 <=2

  X

  2 >=3

  X

  1 <=2

  X

  1 >=3

  X

  2 =1.25 Obj = 9.75

  1 =2.769

  X

  1 =3

  X

  2 =2.083 Obj = 10.25

  X

  1 =2

  X

  Obj = 11.019

  1 >=3 X <=2

  X

  Original Problem

  2 =1.826 Obj = 11.019

  X

  Problem III Problem IV