1 PEMROGRAMAN LINEAR BULAT Integer Linear Programming ILP
1
PEMROGRAMAN LINEAR BULAT (Integer Linear Programming - ILP) Apa yang dimaksud dengan Pemrograman Bulat ? METODE SIMPLEKS Solusi yang didapat optimal, tetapi mungkin tidak integer. 2
Integer Linear Programming Misalnya saja kita ingin menentukan solusi optimal dari satu lini perakitan televisi, yang memproduksi beberapa tipe televisi. Mengganggu batasan Pembulatan matematis ? ILP 3
Integer Linear Programming ¡ ¡ ¡ Jika model mengharapkan semua variabel basis bernilai integer (bulat positif atau nol), dinamakan pure integer programming. Jika model hanya mengharapkan variabel-variabel tertentu bernilai integer, dinamakan mixed integer programming. Jika model hanya mengharapkan nilai nol atau satu untuk variabelnya, dinamakan zero one integer programming. 4
SOLUSI INTEGER PROGRAMMING PENDEKATAN PEMBULATAN ¡ ¡ ¡ Pendekatan ini mudah dan praktis dalam hal usaha, waktu dan biaya. Pendekatan pembulatan dapat merupakan cara yang sangat efektif untuk masalah integer programming yang besar dimana biaya-biaya hitungan sangat tinggi atau untuk masalah nilai-nilai solusi variabel keputusan sangat besar. Contohnya, pembulatan nilai solusi jumlah pensil yang harus diproduksi dari 14. 250, 2 menjadi 14. 250, 0 semestinya dapat diterima. Sebab utama kegagalan pendekatan ini adalah bahwa solusi yang diperoleh mungkin bukan solusi integer optimum yang sesungguhnya. Solusi pembulatan dapat lebih jelek dibanding solusi integer optimum yang sesungguhnya atau mungkin merupakan solusi tak layak. 5
PENDEKATAN PEMBULATAN Masalah 1 Masalah 2 Masalah 3 6
Perbandingan antara solusi dengan metode simpleks tanpa pembatasan bilangan bulat, pembulatan ke bilangan bulat terdekat dan solusi integer optimum yang sesungguhnya untuk ketiga masalah diatas adalah : 7
PENDEKATAN GRAFIK Pendekatan ini identik dengan metode grafik LP dalam semua aspek, kecuali bahwa solusi optimum harus memenuhi persyaratan bilangan bulat. negatif integer 8
PENDEKATAN GRAFIK ¡ Model ini serupa dengan model LP biasa. Perbedaanya hanya pada kendala terakhir yang mengharapkan bahwa variabel terjadi pada nilai non negatif integer. ¡ Solusi grafik masalah ini ditunjukkan pada gambar dibawah ini. Ruang solusi layak adalah OABC. Solusi optimum masalah LP ditunjukkan pada titik B, dengan X 1 = 5, 38 dan X 2 = 2, 31 serta Z = 746, 15. Untuk mencari solusi integer optimum masalah ini, garis Z (slope = -9/10) digeser secara sejajar dari titik B menuju titik asal. ¡ Solusi integer optimum adalah titik integer pertama yang bersinggungan dengan garis Z. Titik itu adalah A, dengan X 1 = 7 dan X 2 = 0 serta Z = 700. 9
PENDEKATAN GRAFIK X 2 10 10 X 1 + 7 X 2 = 70 Z = 746, 15 5 C Z = 700 B 5 X 1 + 10 X 2 = 50 O A 7 Z=100 X 1+90 X 2 10 X 1 10
METODE BRANCH DAN BOUND Metode Branch dan Bound telah menjadi kode komputer standar untuk integer programming, dan penerapan- penerapan dalam praktek tampaknya menyarankan bahwa metode ini lebih efisien dibanding dengan pendekatan lain. Teknik ini dapat diterapkan baik untuk masalah pure programming maupun mixed integer programming. 11
Langkah-langkah metode Branch dan Bound untuk masalah maksimasi dapat dilakukan seperti berikut : 1. Selesaikan LP dengan metode simpleks biasa 2. Teliti solusi optimumnya. Jika variabel basis yang diharapkan bulat adalah bulat, solusi optimum bulat telah tercapai. 3. Nilai solusi pecah yang layak dicabangkan ke dalam sub-sub masalah. Tujuannya adalah untuk menghilangkan solusi kontinyu yang tidak memenuhi persyaratan bulat dalam masalah itu. 4. Untuk setiap sub-masalah, nilai solusi optimum kontinyu fungsi tujuan ditetapkan sebagai batas. Solusi bulat terbaik menjadi batas bawah (pada awalnya, ini adalah solusi kontinyu yang dibulatkan ke bawah). Sub-sub masalah yang memiliki batas kurang dari batas bawah yang ada, tidak diikut sertakan pada analisa selanjutnya. Suatu solusi bulat layak adalah sama baik atau lebih baik dari batas untuk setiap sub masalah yang dicari. Jika solusi yang demikian terjadi, suatu sub masalah dengan batas terbaik dipilih untuk dicabangkan. Kembali ke langkah 3. 12
METODE BRANCH DAN BOUND ¡ Untuk memperoleh gambaran yang lebih jelas tentang metode Branch dan Bound, perhatikan contoh masalah berikut : negatif integer ¡ Solusi optimum kontinyu masalah ini adalah X 1 = 8, X 2 = 2, 26 dan Z = 35, 25. ¡ Solusi ini menunjukkan batas awal. 13
METODE BRANCH DAN BOUND ¡ ¡ ¡ Batas bawah adalah solusi yang dibulatkan ke bawah X 1 = 8, X 2 = 2 dan Z = 34. Dalam metode Branch dan Bound, masalah itu dibagi ke dalam dua bagian untuk mencari nilai solusi bulat yang mungkin bagi X 1 dan X 2. Variabel dengan nilai solusi pecah terbesar dipilih. Karena pada solusi ini hanya X 2 yang memiliki bagian pecah, ia dipilih. Untuk menghilangkan bagian pecah dari nilai X 2 = 2, 25, dua kendala baru dibuat. Kendala-kendala ini mewakili dua bagian baru dari masalah itu. Dua nilai bulat terdekat terhadap 2, 25 adalah 2 dan 3. Sehingga diperoleh dua masalah baru melalui dua kendala mutually exclusive, X 2 ≤ 2 dan X 2 ≥ 3, yang akan diuraikan berikut ini sebagai bagian A dan B. Kendala-kendala ini secara efektif menghilangkan semua nilai pecah yang mungkin bagi X 2, antara 2 dan 3. Pengaruhnya mereka mengurangi ruang solusi layak sehingga angka solusi bulat yang dievaluasi pada masalah ini makin sedikit 14
METODE BRANCH DAN BOUND Bagian A : Bagian B : 15
METODE BRANCH DAN BOUND ¡ Bagian A dan B diselesaikan tanpa pembatasan bilangan bulat dengan metode simpleks. Solusi simpleksnya adalah : l l Bagian A : X 1 = 8, X 2 = 2 dan Z = 34 Bagian B : X 1 = 6, 5, X 2 = 3 dan Z = 34, 5 ¡ Bagian A menghasilkan suatu solusi yang semuanya bulat. Untuk bagian A batas dan bawah adalah Z = 34. Solusi pecah bagian B membenarkan pencarian lebih lanjut karena menghasilkan nilai fungsi tujuan yang lebih besar dari batas bagian A. Sangat mungkin bahwa pencarian lebih lanjut dapat menghasilkan suatu solusi yang semuanya bulat dengan nilai fungsi tujuan melebihi batas bagian A = 34. ¡ Bagian B dicabangkan ke dalam dua sub bagian, B 1 dan B 2, pertama dengan kendala X 1 ≤ 6 dan yang lain dengan X 2 ≥ 7. 16
METODE BRANCH DAN BOUND Sub Bagian B 1 : (berlebih) Sub Bagian B 2 : 17
METODE BRANCH DAN BOUND ¡ Solusi simpleksnya adalah : l l ¡ Sub-bagian B 1 : X 1 = 6, X 2 = 3, 25 dan Z = 34, 25 Sub-bagian B 2 : tidak layak. Karena sub-bagian B 1 menghasilkan nilai fungsi tujuan yang lebih besar dari 34 (batas bagian A), maka harus dicabangkan lagi ke dalam dua sub masalah, dengan kendala X 2 ≤ 3 dan X 2 ≥ 4. Kedua kendala sub masalah diberi nama bagian B 1 a dan B 2 b. 18
METODE BRANCH DAN BOUND Bagian B 1 a : (berlebih) Bagian B 1 b : (berlebih) 19
METODE BRANCH DAN BOUND ¡ Solusi optimum dengan metode simpleks adalah : l l Sub-bagian B 1 a : X 1 = 6, X 2 = 3 dan Z = 33 Sub-bagian B 1 b : X 1 = 4, 25, X 2 = 4 dan Z = 33, 5 ¡ Kedua solusi itu memiliki batas ( Z = 33 dan Z = 33, 5) yang lebih buruk dibanding dengan solusi yang dihasilkan oleh bagian A. Karena itu, solusi bulat optimum adalah X 1 = 8, X 2 = 2 dan Z = 34 yang dihasilkan oleh bagian A. ¡ Jika pencarian telah diselesaikan, solusi bulat dengan fungsi tujuan tertinggi (dalam masalah maksimasi) dipilih sebagai solusi optimum. 20
METODE BRANCH DAN BOUND ¡ Kelemahan dasar dari metode ini adalah bahwa diperlukan pemecahan masalah LP untuk setiap pencabangan. Dalam masalah yang besar dapat memakan banyak waktu. Karena itu dalam prosedur pencabangan dan pencarian, analisa selanjutnya dihentikan jika : 1. Hasil dari sub-problem lebih jelek dibanding dengan batas yang sudah diidentifikasi 2. Pencabangan selanjutnya menghasilkan solusi tak layak. 21
METODE BRANCH DAN BOUND Seluruh prosedur Branch dan Bound untuk contoh yang lalu dapat digambarkan seperti berikut : X 2 ≤ Solusi bulat optimum X 1 = 8 3 2≤ X X 2 = 2 Z = 34 2 2 0 X 2 X 1 = 8 ≥ 3 X 2 = 2, 25 Z = 35, 25 X 1 ≤ 6 X 2 X 1 = 6 ≥ 4 X 2 = 3, 25 Z = 34, 25 1 X 1 = 6, 5 X 2 = 3 Z = 34, 5 X 1 inferior ≥ 7 Tak layak 22
- Slides: 22