Integer Linear Programming (ILP)

  PENELITIAN OPERASIONAL I (TIN 4109)

  Lecture 9

  INTEGER LINEAR PROGRAMMING Lecture 9 (Part 1)

  • Outline:
    • – Integer Linear Programming: Introduction

  • References:
    • – Frederick Hillier and Gerald J. Lieberman. Introduction to

  Operations Research. 7th ed. The McGraw-Hill Companies, Inc, 2001.

INTEGER PROGRAMMING

  • – Hamdy A. Taha. Operations Research: An Introduction. 8th Edition. Prentice-Hall, Inc , 2007.
  • – Sriram, Sankaranarayanan. Computer Science, University of Colorado, Boulder. Http/www.coursera.org.
  • – Winston, Wayne L. Operations Research: Applications and Algorithms. 3rd edition. Wadsworth Inc.1994.

  INTRODUCTION

  Integer Linear Programming (ILP)

  • Untuk permasalahan optimasi dengan beberapa atau semua variabel keputusan bernilai bulat (integer).
  • Tidak dapat diselesaikan langsung dengan metode simpleks karena adanya beberapa atau semua variable yang berupa bilangan bulat

  melanggar salah satu asumsi metode simpleks (semua variable keputusan adalah bilangan real / tidak harus bulat).

  Integer Linear Programming Feasible Region: Z-Polyhedron (n dimensional)

  Integrality Constraint Integrality Constraint Integer Linear Program Linear Programming Relaxation

  • Feasibility of ILP: – Integer feasible solution.
  • Unbounded ILP:

  can achieve arbitrarily

  • – Integer feasible solutions large values for the objective.

  Q: What happens to the answer if we take away the integrality constraints? Case-1: Both LP and ILP are feasible.

  Feasible Regions Opt. Solution of LP relaxation

  Opt. Solution of

  ILP feasible region LP feasible region

  ILP Case-II: LP relaxation is feasible, ILP is

  Case-I infeasible.

  Optimal Objective of ILP ≤ Optimal solution of LP ILP is infeasible. relaxation.

  LP relaxation has optimal solution: 0.5 Opt. Solution of

  ILP

  0.3

  0.5

  1 Case III: ILP is infeasible, LP is

  ILP outcomes vs. LP relaxation unbounded. outcomes Example: ILP is infeasible.

  Integer Linear Program (ILP) LP relaxation is unbounded Infeasible Unbounded Optimal Possible Impossible Impossible

  Infeasible

LP

Relaxation

  Possible Possible Possible (*) Unbounded Optimal Possible Impossible Possible

  0.3

  0.5 (*) Impossible if ILP has (*) Impossible if ILP has rational coefficients rational coefficients

  

Klasifikasi ILP Integer linear Programming

Permasalahan yang mengharuskan variabel keputusan bernilai integer Integer programming dapat diklasifikasikan menjadi empat diantaranya adalah (berdasarkan banyaknya variable keputusan yang bernilai bulat):

   Investasi 1) Pure Integer Programming

   Multiperiode Budgeting  Routing semua variable keputusan harus bernilai bilangan bulat

   Knapsack  Vehicle Loading 2) Mixed Integer Programming (MIP)

   Set Covering tidak semua variable keputusan berupa bilangan bulat

   Scheduling  Mixed Product 3) Binary Integer Programming (BIP)

   Location semua variable keputusan memiliki nilai berupa bilangan biner

   Distribution (0 atau 1).  Assignment

  4) Mixed Binary Integer Programming (MBIP)  Transportasi  ….

  Jika beberapa variable keputusan memiliki nilai biner, beberapa variable keputusan memiliki nilai integer dan sisanya memiliki nilai real (boleh pecahan).

  Penjadwalan Pekerja (Scheduling) Xi: banyaknya teller yang mulai masuk kerja pada jam ke i

  • Bank Swasta buka mulai jam 9 pagi sampai dengan jam 5 sore. Banyaknya konsumen yang datang ke bank cukup bervariasi sehingga banyaknya teller yang

  X1 diperlukan pada setiap jam juga berbeda. Teller merupakan tenaga outsourcing, pihak bank bisa menentukan pada jam berapa teller tersebut harus mulai bekerja.

  X2 Setiap teller bekerja selama 5 jam sehari. Tentukan banyaknya setiap teller yang

  X3 harus masuk pada setiap jam supaya biaya yang dikeluarkan bank minimal !

  X4 Periode Jumlah teller yang

  X5

  diperlukan

  9

  10

  • – 10

  10 12 9 10 11 12 13 14 15 16 17 18

  • – 11

  11

  14

  • – 12

  12

  16

  • – 1

  1

  18

  • – 2 2 - 3

  17

  3

  15

  • – 4

  4

  10

  • – 5
Penjadwalan Pekerja (Scheduling) Capital Budgeting

  • Pengelola obyek wisata pantai sedang merencanakan untuk melakukan perekrutan • Punya uang utk investasi Rp 14.000.000.

  lifeguard. Lifeguard bertugas untuk membantu pengunjung obyek wisata yang mengalami kesulitan misalnya kecelakan yang membahayakan jiwa, menjadi korban tindak kejahatan, kehilangan barang, terpisah dari keluarga dan lain-lain. • Ada 4 jenis kesempatan investasi : Pada hari-hari libur pantai selalu ramai dikunjungi oleh wisatawan sedangkan pada

  • – Investasi 1 : butuh Rp 5.000.000 , akan berkembang mjd Rp 8.000.000 hari-hari kerja pantai realtif tidak ramai. Hal ini menyebabkan banyaknya lifeguard
  • – Investasi 2 : butuh Rp 7.000.000 , akan berkembang mjd Rp yang diperlukan juga berbeda.

  11.000.000 senin Selasa rabu Kamis Jumat sabtu Minggu

  • – Investasi 3 : butuh Rp 4.000.000 , akan berkembang mjd Rp 6.000.000

  5

  4

  4

  6

  6

  9

  12

  • – Investasi 4 : butuh Rp 3.000.000 , akan berkembang mjd Rp 4.000.000
    • Lifeguard bekerja lima hari dalam seminggu
    • Tentukanlah banyaknya lifeguard yang harus direkrut!

  Capital Budgeting Capital Budgeting Model ILP :

  • Apabila ditambah kendala :
    • – Kita hanya dapat membuat paling banyak dua investasi

  x = investasi ke i , i=1,2,3,4 i

  • – Jika investasi 2 diambil, maka investasi 4 juga diambil
  • – Jika investasi 1 diambil, maka investasi 3 tidak dapat diambil

  x = 0 jika tidak mengambil investasi i = 1 jika mengambil investasi i

  • Model matematikanya :

  Maksimasi : Z = 8x + 11x + 6x + 4x

  1

  2

  3

  4 Maksimasi : Kendala :

   Z = 8x + 11x + 6x + 4x 5x + 7x + 4x + 3x ≤ 14

  1

  2

  3

  4

  1

  2

  3

  4 x + x + x + x ≤ 2

  1

  2

  3

  4 Kendala : x – x ≤ 0

  2

  4 5x + 7x + 4x + 3x x + x ≤ 1 ≤ 14

  1

  3

  1

  2

  3

  4 x  {0,1} , i x {0,1} , i = 1,2,3,4 i i = 1,2,3,4

  Multiperiod Capital Budgeting Knapsack Problem

  • Terdapat 7 jenis barang, setiap jenis barang mempunyai
  • Terdapat 4 pilihan investasi yaitu investasi 1,2,3 dan 4. Dana yang

  ukuran dan keuntungan yang berbeda sbb : dibutuhkan dan laba yang dihasilkan oleh masing-masing investasi adalah sebagai berikut:

  Barang

  1

  2

  3

  4

  5

  6

  7 Dana yang dibutuhkan ke-

  Investasi A B C D Ukuran

  5

  7

  4

  3

  4

  3

  7 Periode 1

  7

  8

  7

  4 Nilai

  8

  11

  6

  4

  6

  5

  6 Periode 2

  5

  11

  4

  4 Periode 3

  6

  6

  4

  4

  3

  , barang Total Laba

  15

  20

  13 12 • Alat angkut hanya mampu mengangkut 40 m manakah yang seharusnya diangkut?

  • Dana yang dimiliki oleh perusahaan dalam tiga periode ke depan adalah 30,35 dan 40 .
  • Investasi manakan yang seharusnya dipilih?

  Vehicle Loading Pemilihan Lokasi Pabrik

  • Perusahaan berencana untuk mendirikan satu atau beberapa pabrik untuk memenuhi permintaan produk pada berbagai daerah (pasar). Terdapat 4 lokasi dimana pabrik d
  • Alat angkut (truck) memiliki batas maksimal muatan yang bisa diangkut. dibangun dan terdapat 12 pasar yang harus dipenuhi oleh perusahaan. Produk akan langsung Batas maksimal muatan dibatasi oleh volume dan berat. Jika truck dikirim dari pabrik ke pasar. digunakan mengangkut benda dengan berat jenis yang relatif kecil maka
  • Biaya untuk mendirikan pabrik dan kapasitas pabrik di masing-masing lokasi adalah sebagai berikut:

  A B C D batas angkutan akan ditentukan oleh volume dan sebaliknya.

  Biaya Investasi 1000 1500 700 400 Item

  Kapasitas 2000 4000 1000 900

  1

  2

  3

  4

  5

  6

  Laba $15,500 $14,400 $10,350 $14,525 $13,000 $9,625 Berat(kg) 500 450 300 350 400 350

  • Biaya untuk mengirim barang dari suatu pabrik ke pasar adalah sebagai berikut

  1

  2

  3

  4

  5

  6

  7

  8

  9

  10

  11

  12 Volume(m3) 125

  64 144 218 280 180 A

  3

  4

  1

  2

  3

  5

  5

  2

  3

  4

  5

  5

  • Berat maksimal yang bisa diangkut oleh truck adalah 2000 kg dan volume B

  6

  6

  4

  5

  7

  3

  4

  1

  2

  4

  4

  4

  1000 m3

  C

  4

  2

  3

  5

  4

  5

  4

  3

  6

  5

  4

  3

  • Tentukan produk mana yang seharusnya diangkut oleh truck supaya

  D

  5

  5

  2

  3

  4

  5

  5

  6

  2

  3

  5

  5

  mendapatkan laba maksimal!

  Permintaan 500 200 400 100 600 400 200 250 200 300 220 100

  • Tentukan dimanakah pabrik harus dibangun dan berapa pabrik yang harus dibangun??

  Diet Formulasi

  Kebutuhan : energy(2000kcal), protein(55g), calcium(800mg)

  x x x x x x Minimisasi :

  3

  24

  13

  9

  20

  1

  2

  3

  4

  5

  19     

  6 Pembatas:

  Serving Energy Protein Calcium Price per Max serving size (kcal) (g) (mg) serving (cents) allowed  x

  4 Food

  1 Oatmeal 28g 110

  4

  2

  3 4  x

  3 Chicken 100g 205

  32

  12

  24 3 x

   

  2

  3 Eggs 2 large 160

  13

  54

  13

  2

  x  

  8

  4 Wholemilk 237cc 160 8 285

  9

  8

  x  

  2

  5 Cherry pie 170g 420

  4

  22

  20

  2

  x  

  2

  6 Pork with beans 260g 260

  14

  80

  19

  2

  x x x x x x 110  205  160 160  420  260  2000

  1

  2

  3

  4

  5

  6

  x x x x x x 4  32  13  8  4  14 

  55

  1

  2

  3

  4

  5

  6

  2 x 12 x 54 x 285 x 22 x 80 x 800      

  1

  2

  3

  4

  5

  6 Either-Or Constrains

  Blending

  • Perusahaan Dorian automotif memproduksi 3 tipe model mobil yaitu ; compact (kecil), midsize (menengah), dan large (besar).
  • Perusahaan eaglefood akan memproduksi cereal dalam kemasan sebesar 2 pound.

  Cereal yang diproduksi harus memenuhi kebutuhan gizi dalam sehari. Kebutuhan • Ada 6 ton baja dan 60,000 jam kerja tersedia gizi dalam sehari dapat dilihat dalam tabel berikut ini: • Jika suatu tipe mobil diproduksi, maka mobil itu harus diproduksi paling sedikit 1,000 unit mobil

  Grain

  • Data produksi seperti terlihat di tabel bawah ini:

  A B C Minimum Daily

  Harga per pound 3300 4700 3800 Requirement Compact Midsize Large

  Protein per pound

  22

  28

  21

  3 Kebutuhan baja 1.5 ton 3 ton 5 ton Riboflavin per pound

  16

  14

  25

  2 Kebutuhan jam tenaga kerja 30 jam 25 jam 40 jam Phosphorus per pound

  8

  7

  9

  1 Profit $2000 $3000 $4000 Magnesium per pound

  5 6 0.425

  • Formulasikan permasalahan perencanaan produksi tersebut untuk memaksimumkan profit.
  • Terdapat tiga alternatif bahan baku yang dapat digunakan, bahan baku tersebut bisa dicampur untuk memproduksi cereal.
  • Tentukan bagaimana perbandingan(komposisi) bahan baku A, B dan C dalam cereal sehingga biaya untuk memproduksi cereal minimum!
Model Set Covering

  • Propinsi sukolilo mempunyai 6 kota
  • Pemerintah berencana untuk membangun kantor pusat pemadam kebakaran. Pada kantor pusat Variabel keputusan

  pemadam kebakaran akan ditempatkan kendaraan pemadam kebakaran, peralatan pemadam kebakaran

  • xi = jumlah mobil tipe ke-i yang diproduksi dan personelnya, sehingga jika ada kebakaran maka petugas akan berangkat dari kantor pusat
  • yi = 1 jika mobil tipe ke-i diproduksi, dan yi=0 jika tidak pemadam kebakaran menuju lokasi kebakaran.
  • Petugas tidak boleh mencapai lokasi kebakaran lebih dari 15 menit (waktu tempuh) dari stasiun

  Formulasi : pemadam kebakaran.

  • Maks z = 2 x1 + 3 x2 + 4 x3 Waktu yang dibutuhkan dari kota yang satu ke kota yang lain adalah sebagai berikut.

  Subject to: x1 ≤ M y1

  Kota ke-

  1

  2

  3

  4

  5

  6

  x2 ≤ M y2

  1

  10

  20

  30

  30

  20

  x3 ≤ M y3 1000

  • – x1 ≤ M (1 – y1)

  2

  10

  25

  35

  20

  10

  1000 – x2 ≤ M (1 – y2)

  3

  20

  25

  15

  30

  20

  1000 – x3 ≤ M (1 – y3)

  4

  30

  35

  15

  15

  25

  1.5 x1 + 3 x2 + 5 x3 ≤ 6000 30 x1 + 25 x2 + 40 x3 ≤ 60000

  5

  30

  20

  30

  15

  14

  x1, x2, x3 ≥ 0 dan integer

  6

  20

  10

  20

  25

  14

  y1, y2, y3 = 0 atau 1

  • Tentukan dimanakah kantor pusat pemadam kebakaran harus dibangun supaya banyaknya kantor yang harus dibangun tidak banyak(minimal) sehingga dana APBD bisa dihemat untuk dialokasikan pada bidang lain?

  Set Covering Set Covering

  Variabel keputusan :

  • Sebuah kota dapat dicover oleh stasiun pemadam kebakaran jika jarak tempuhnya tidak lebih dari 15 menit x = 1 jika dibangun stasiun pemadam kebakaran pada kota-i

  i

  • Covering set untuk setiap kota = 0 jika TIDAK dibangun stasiun pemadam kebakaran pada kota-i Fungsi tujuan :

  Kota Covering sets (15 menit) Minimum Z= x + x + x + x + x + x

  1 1,2

  1

  2

  3

  4

  5

  6 Fungsi pembatas:

  2 1,2,6 x +x ≥ 1

  3 3,4

  1

  2

  x +x + x

  1

  2 6 ≥ 1

  4 3,4,5 x +x ≥ 1

  3

  4

  5 4,5,6 x +x +x

  3

  4 5 ≥ 1

  6 2,5,6 x +x +x

  4

  5 6 ≥ 1

  x +x +x

  2

  5 6 ≥ 1

  Assignment (Penugasan) Assignment (Penugasan)

  Pak Ali harus menugaskan stafnya untuk mengerjakan tugas-tugas pada divisinya. Pak Ali memiliki 5 staf

  • PT. Jaya Selalu membeli tiga buah mesin baru. Tiga mesin tersebut dapat

  yaitu Rita, Tari, Rani, Nira, Tara. Divisi pak ALi harus menyelesaikan 5 tugas. Pak Ali menemui kesulitan

  ditempatkan pada empat lokasi yang tersedia dalam pabrik. Penempatan

  dalam menugaskan kelima stafnya karena Rita tidak mempunyai keahlian dalam mengerjakan tugas 2 sedangkan Tari tidak mampu mengerjakan tugas 1. Biaya menugaskan setiap staff adalah berbeda beda mesin-mesin tersebut harus mempertimbangkan workflow (aliran produk karena untuk bisa menyelesaikan tugas dengan baik, staff seringkali harus mendapatkan pelatihan dan dalam proses pengerjaan) mesin-mesin tersebut dengan stasiun kerja lain. biaya akomodasi yang berbeda beda. Biaya menugaskan setiap staff untuk mengerjakan satu tugas

  Sebagai manajer produksi anda harus menentukan penempatan mesin-mesin

  adalah sebagai berikut:

  tersebut yang bisa meminimalkan biaya material handling. Biaya penempatan

  Tugas masing-masing mesin pada setiap lokasi adalah sebagai berikut. Staff

  1

  2

  3

  4

  5 Rita

  4

  10

  6

  5

  • Mesin 2 tidak boleh ditempatkan pada lokasi 2, karena lokasi 2 dengan tangki

  Tari

  5

  1

  5

  10 bahan bakar dan mesin dua merupakan mesin Oven yang selalu bersuhu tinggi. Rani

  3

  5

  8

  4

  7 Nira

  4

  2

  7

  1

  10 Lokasi Tara

  8

  8

  2

  10

  5

  1

  2

  3

  4 Bagaimanakah cara menugaskan kelima staff tersebut supaya biaya yang harus dikeluarkan perusahaan Assignee

  1

  13

  16

  12

  11

  minimal?

  (Mesin)

  15

  • 2

  13

  20

  3

  5

  7

  10

  6 Cutting Stock(1) Cutting Stock(2) PT. Kayubagus menjual kayu batangan untuk berbagai keperluan. Kayu batangan yang PT.Kayubagus menerima order dari berbagai konsumen dengan panjang dan dijual oleh PT.Kayubagus memiliki panjang 4 meter, 6 meter dan 8 meter. Perusahaan jumlah yang berbeda-beda, misalnya jika PT.kayubagus menerima order 100 yang memasok kayu ke PT.Kayubagus mengirimkan kayu dengan panjang 18 meter batang dengan panjang 4 meter, 50 batang dengan panjang 6 meter, dan 25 sehingga sebelum dijual kayu-kayu tersebut harus dipotong terlebih dahulu. Dalam batang dengan panjang 8 meter. Berapa banyaknya batangan kayu (yang memotong kayu-kayu tersebut PT.Kayubagus menetapkan 7 pola pemotongan sebagai berikut: memiliki panjang 18 meter) yang harus dipotong dengan pola pemotongan 1?

  Pola Pemotongan 4 meter 6 meter 8 meter Sisa (limbah)

  Pola pemotongan 2? Pola pemotongan 3? dan seterusnya supaya banyaknya

  1

  4

  2

  2

  3

  1 sisa pemotongan(limbah) sesedikit mungkin.

  3

  2

  1

2 Pemilihan kombinasi pola pemotongan akan menentukan banyaknya sisa

  4

  1

  2

  2

  5

  1

  1 1 pemotongan(limbah kayu) yang dibuang atau dengan kata lain pola

  6

  3

  pemotongan harus dipilih sedemikian rupa sehingga sisa pemotongan (limbah

  7

  2

  2 kayu) menjadi sesedikit mungkin.

  Jika misalnya PT.kayubagus menerima satu order saja dan order tersebut meminta 100 batang kayu dengan panjang 6 meter maka PT.Kayubagus akan memotong persediaan kayunya yang memiliki panjang 18 meter dengan pola pemotongan 6 sehingga tidak ada limbah sama sekali (tidak ada sisa kayu yang harus dibuang).

  Distribusi Latihan 1 Perusahaan A adalah perusahaan yang bergerak pada bisnis rumah makan cepat saji

  • Sebuah perusahaan Air Cargo memiliki 8 pesawat tipe 1, 15 pesawat tipe

  (fast food). Perusahaan ini berkembang dengan pesat sehingga berencana untuk 2, dan sebelas pesawat tipe 3. Pesawat tipe 1 mampu mengangkut barang membuka cabang baru di beberapa kota besar di Indonesia termasuk Surabaya. Di seberat 45 ton, pesawat tipe 2 mampu mengangkut barang seberat 7 ton kota Surabaya terdapat delapan lokasi potensial yang dapat dipilih oleh perusahaan. dan pesawat tipe 3 hanya mampu mengangkut 5 ton.

  Lokasi cabang yang dipilih harus bisa memastikan bahwa jika ada konsumen yang memesan maka pesanan harus sudah sampai ke konsumen tidak lebih dari 30 menit setelah pesanan diterima.Diperlukan 10 menit untuk menyiapkan pesanan konsumen. 28 ton ke kota B. Setiap pesawat hanya bisa terbang sekali dalam sehari.

  Perusahaan berusaha untuk membuka cabang sesedikit mungkin namun bisa mengcover semua permintaan di kota Surabaya. Berikut data lokasi dan waktu

  • Biaya menerbangkan pesawat dari terminal (bandara) ke kota A dan B tempuh ke setiap daerah.

  adalah sebagai berikut: ke-

  1

  2

  3

  4

  5

  6

  7 Pesawat 1 Pesawat 2 Pesawat 3

  1

  10

  20

  12

  20

  15

  14

  2

  10

  25

  35

  20

  10

  23 Kota A

  23

  15

  2

  3

  20

  25

  15

  15

  20

  17

  4

  12

  35

  15

  15

  25

  20 Kota B

  58

  20

  3

  5

  20

  20

  15

  15

  14

  25

  6

  15

  10

  20

  25

  14

  24

  7

  14

  23

  17

  20

  25

  24

  • Pesawat manakah yang harus terbang? Dan kemanakah tujuannya? Modelkan masalah tersebut!

  Latihan 2 Solving ILPs Selain waktu tempuh, perusahaan juga memilih lokasi berdasarkan besarnya kapasitas cabang dan besarnya permintaan pada setiap lokasi. Kapasitas cabang yang bisa didirikan disetiap daerah dan permintaan Solve LP relaxation of the ILP. adalah sebagai berikut:

  Lokasi Kapasitas Permintaan 1 2000 4000 2 1500 3000 3 3000 1000

  Case-1: LP relaxation solution satisfies integrality

  4 2000 1000 5 2500 1500

  constraint.

  6 2000 2000 7 1000 1000

  a) Modifikasi model anda!

  b) Tentukan nilai-nilai parameter yang bisa anda coba untuk melakukan validasi! Case-2: LP relaxation solution does not satisfy

  c) Tentukan solusi dari nilai-nilai parameter yang anda cobakan tadi berdasarkan intuisi anda! the integrality constraint.

  Dealing with Case-2 Branch and Bound Cutting Plane Method.

  1

  1

  2

  2