INTEGER PROGRAMMING Widha Kusumaningdyah, ST., MT 2012
INTEGER PROGRAMMING INTRODUCTION
INTEGER PROGRAMMING (IP) 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).
KLASIFIKASI IP Integer programming dapat diklasifikasikan menjadi empat (berdasarkan banyaknya variable keputusan yang bernilai bulat): 1) Pure Integer Programming semua variable keputusan harus bernilai bilangan bulat 2) Mied Integer Programming (MIP) tidak semua variable keputusan berupa bilangan bulat 3) Binary Integer Programming (BIP) semua variable keputusan memiliki nilai berupa bilangan biner (0 atau 1). 4) Mied Binary Integer Programming (MBIP) Jika beberapa variable keputusan memiliki nilai biner, beberapa variable keputusan memiliki nilai integer dan sisanya memiliki nilai real (boleh pecahan).
PROBLEM IP Permasalahan yang mengharuskan variabel keputusan bernilai integer diantaranya adalah Investasi Multiperiode Budgeting Routing Knapsack Vehicle Loading Set Covering Scheduling Mied Product Location Distribution Assignment Transportasi.
CONTOH PROBLEM IP
1. PENJADWALAN PEKERJA (SCHEDULING) Bank Swasta buka mulai jam 9 pagi sampai dengan jam 5 sore. Banyaknya konsumen yang datang ke bank cukup bervariasi sehingga banyaknya teller yang diperlukan pada setiap jam juga berbeda. Teller merupakan tenaga outsourcing, pihak bank bisa menentukan pada jam berapa teller tersebut harus mulai bekerja. Setiap teller bekerja selama 5 jam sehari. Tentukan banyaknya setiap teller yang harus masuk pada setiap jamsupaya biaya yang dikeluarkan bank minimal! Periode Jumlah teller yang diperlukan 9 10 10 10 11 12 11 12 14 12 1 16 1 2 18 2-3 17 3 4 15 4 5 10
Xi: banyaknya teller yang mulai masuk kerja pada jam ke i X1 X2 X3 X4 X5 9 10 11 12 13 14 15 16 17 18
2. CAPITAL BUDGETING Punya uang utk investasi Rp 14.000.000. Ada 4 jenis kesempatan investasi : Investasi 1 : butuh Rp 5.000.000, akan berkembang mjd Rp 8.000.000 Investasi 2 : butuh Rp 7.000.000, akan berkembang mjd Rp 11.000.000 Investasi 3 : butuh Rp 4.000.000, akan berkembang mjd Rp 6.000.000 Investasi 4 : butuh Rp 3.000.000, akan berkembang mjd Rp 4.000.000
FORMULASI : Capital Budgeting Model ILP : i : investasi ke i, i=1,2,3,4 i = 0 jika tidak mengambil investasi i = 1 jika mengambil investasi i Maksimasi : Z = 8 1 + 11 2 + 6 3 + 4 4 Kendala : 5 1 + 7 2 + 4 3 + 3 4 14 i {0,1}, i = 1,2,3,4
3. CONTOH & FORMULASI : Capital Budgeting Apabila ditambah kendala : Kita hanya dapat membuat paling banyak dua investasi Jika investasi 2 diambil, maka investasi 4 juga diambil Jika investasi 1 diambil, maka investasi 3 tidak dapat diambil Model matematikanya : Maksimasi : Z = 8 1 + 11 2 + 6 3 + 4 4 Kendala : 5 1 + 7 2 + 4 3 + 3 4 14 1 + 2 + 3 + 4 2 2 4 0 1 + 3 1 i {0,1}, i = 1,2,3,4
3. KNAPSACK PROBLEM Terdapat 7 jenis barang, setiap jenis barang mempunyai ukuran dan keuntungan yang berbeda sbb : Barang ke- 1 2 3 4 5 6 7 Ukuran 5 7 4 3 4 3 7 Nilai 8 11 6 4 6 5 6 Alat angkut hanya mampu mengangkut 40 m 3, barang manakah yang seharusnya diangkut?
4. PEMILIHAN LOKASI PABRIK Perusahaan berencana untuk mendirikan satu atau beberapa pabrik untuk memenuhi permintaan produk pada berbagai daerah (pasar). Terdapat 4 lokasi dimana pabrik dapat dibangun dan terdapat 12 pasar yang harus dipenuhi oleh perusahaan. Produk akan langsung dikirim dari pabrik ke pasar. Biaya untuk mendirikan pabrik dan kapasitas pabrik di masing-masing lokasi adalah sebagai berikut: A B C D Biaya Investasi 1000 1500 700 400 Kapasitas 2000 4000 1000 900 Biaya untuk mengirim barang dari suatu pabrik ke pasar adalah sebagai berikut 1 2 3 4 5 6 7 8 9 10 11 12 A 3 4 1 2 3 5 5 2 3 4 5 5 B 6 6 4 5 7 3 4 1 2 4 4 4 C 4 2 3 5 4 5 4 3 6 5 4 3 D 5 5 2 3 4 5 5 6 2 3 5 5 Permintaan 500 200 400 100 600 400 200 250 200 300 220 100 Tentukan dimanakah pabrik harus dibangun dan berapa pabrik yang harus dibangun??
5. DIET PROBLEM Kebutuhan : energy(2000kcal), protein(55g), calcium(800mg) Serving Energy Protein Calcium Price per Ma serving Food size (kcal) (g) (mg) serving (cents) allowed Oatmeal 28g 110 4 2 3 4 Chicken 100g 205 32 12 24 3 Eggs 2 large 160 13 54 13 2 Wholemilk 237cc 160 8 285 9 8 Cherry pie 170g 420 4 22 20 2 Pork with beans 260g 260 14 80 19 2
Formulasi : DIET PROBLEM 6 5 4 3 2 1 19 20 9 13 24 3 : Minimisasi Pembatas: 2 0 2 0 8 0 2 0 3 0 4 0 6 5 4 3 2 1 800 80 22 285 54 12 2 55 14 4 8 13 32 4 2000 260 420 160 160 205 110 6 5 4 3 2 1 6 5 4 3 2 1 6 5 4 3 2 1
6. BLENDING Perusahaan eaglefood akan memproduksi cereal dalam kemasan sebesar 2 pound. Cereal yang diproduksi harus memenuhi kebutuhan gizi dalam sehari. Kebutuhan gizi dalam sehari dapat dilihat dalam tabel berikut ini: Grain A B C Harga per pound 3300 4700 3800 Minimum Daily Requirement Protein per pound 22 28 21 3 Riboflavin per pound 16 14 25 2 Phosphorus per pound 8 7 9 1 Magnesium per pound 5 0 6 0.425 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!
FORMULASI : MODEL Variabel keputusan i = jumlah mobil tipe ke-i yang diproduksi yi = 1 jika mobil tipe ke-i diproduksi, dan yi=0 jika tidak Formulasi : Maks z = 2 1 + 3 2 + 4 3 Subject to: 1 M y1 2 M y2 3 M y3 1000 1 M (1 y1) 1000 2 M (1 y2) 1000 3 M (1 y3) 1.5 1 + 3 2 + 5 3 6000 30 1 + 25 2 + 40 3 60000 1, 2, 3 0 dan integer y1, y2, y3 = 0 atau 1
7. SET COVERING PROBLEM Propinsi sukolilo mempunyai 6 kota Pemerintah berencana untuk membangun kantor pusat pemadam kebakaran. Pada kantor pusat pemadam kebakaran akan ditempatkan kendaraan pemadam kebakaran, peralatan pemadam kebakaran dan personelnya, sehingga jika ada kebakaran maka petugas akan berangkat dari kantor pusat pemadam kebakaran menuju lokasi kebakaran. Petugas tidak boleh mencapai lokasi kebakaran lebih dari 15 menit (waktu tempuh) dari stasiun pemadam kebakaran. Waktu yang dibutuhkan dari kota yang satu ke kota yang lain adalah sebagai berikut. 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 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?
7. SET COVERING PROBLEM (CONT D) Sebuah kota dapat dicover oleh stasiun pemadam kebakaran jika jarak tempuhnya tidak lebih dari 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
FORMULASI SET COVERING PROBLEM Variabel keputusan : i Fungsi tujuan : = 1 jika dibangun stasiun pemadam kebakaran pada kota-i = 0 jika TIDAK dibangun stasiun pemadam kebakaran pada kota-i Minimum Z= 1 + 2 + 3 + 4 + 5 + 6 Fungsi pembatas: 1 + 2 1 1 + 2 + 6 1 3 + 4 1 3 + 4 + 5 1 4 + 5 + 6 1 2 + 5 + 6 1
8. ASSIGNMENT (PENUGASAN) Pak Ali harus menugaskan stafnya untuk mengerjakan tugas-tugas pada divisinya. Pak Ali memiliki 5 staf yaitu Rita, Tari, Rani, Nira, Tara. Divisi pak ALi harus menyelesaikan 5 tugas. Pak Ali menemui kesulitan 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 karena untuk bisa menyelesaikan tugas dengan baik, staff seringkali harus mendapatkan pelatihan dan biaya akomodasi yang berbeda beda. Biaya menugaskan setiap staff untuk mengerjakan satu tugas adalah sebagai berikut: Tugas Staff 1 2 3 4 5 Rita 4 10 6 5 Tari 5 1 5 10 Rani 3 5 8 4 7 Nira 4 2 7 1 10 Tara 8 8 2 10 5 Bagaimanakah cara menugaskan kelima staff tersebut supaya biaya yang harus dikeluarkan perusahaan minimal?
INTEGER PROGRAMMING METODE CUTTING PLANE
IP SOLVING: ALGORITMA CUTTING-PLANE Temukan solusi optimal untuk Linier Problem (menggunakan prosedur standar). Tambahkan fungsi pembatas khusus (disebut cuts) untuk menghasilkan titik ekstrim optimal integer. Cuts tidak menghilangkan titik feasible integer asal. The cuts must through at least one feasible or infeasible integer point Number of cuts is independent of the size of the problem
IP SOLVING: ALGORITMA CUTTING-PLANE Contoh permasalahan ILP:
IP SOLVING: ALGORITMA CUTTING-PLANE PENDEKATAN GRAFIS Solusi:
IP SOLVING: ALGORITMA CUTTING-PLANE PENDEKATAN ALJABAR Tabel Optimal LP: Buat cuts Dengan asumsi bahwa semua variable (termasuk slacks) adalah integer.
IP SOLVING: ALGORITMA CUTTING-PLANE PENDEKATAN ALJABAR Langkah untuk membuat cuts: Pilih baris sumber Faktorkan baris sumber Buat cuts dari faktor baris sumber Buat persamaan dari cuts Selesaikan problem dari fraksi pecahan Tambahkan fungsi pembatas pada tabel simples optimal Gunakan dual simple untuk menyelesaikan permasalahan, jika tabel optimal tidak feasible. Buat fraksi selanjutnya hingga semua variable integer.
1. MEMBUAT CUTS Pilih baris sumber Faktorkan baris sumber Faktor baris sumber 2 Buat cuts dari faktor baris sumber Buat persamaan dari cuts
2. SELESAIKAN DENGAN SIMPLEX Table baru : Selesaikan dengan dual simple Hasil:
Buat cut selanjutnya hingga semua variabel integer Final Result:
LATIHAN
References: Eunike, Agustina. Materi Ajar Penelitian Operasional 1. PSTI Universitas Brawijaya. 2012 Frederick Hillier and Gerald J. Lieberman. Introduction to Operations Research. 7th ed. The McGraw-Hill Companies, Inc, 2001. Hamdy A. Taha. Operations Research: An Introduction. 8th Edition. Prentice-Hall, Inc, 2007