Integer Linear Programming Metode Penyelesaian Masalah Integer Programming

18

2.2 Integer Linear Programming

Integer Linier Programming atau program bilangan cacah adalah suatu bentuk dari program matematikal. Ia adalah suatu kasus khusus dari program linier di mana semua atau beberapa variabel dibatasi sebagai bilangan cacah. Kalau semua variabel dibatasi sebagai bilangan cacah, problemanya disebut sebagai problem program bilangan cacah murni dan kalau beberapa variabel tertentu dibatasi sebagai bilangan cacah sedang yang lain tidak, problemanya disebut problem program bilangan cacah campuran. Suatu bentuk khusus dari program bilangan cacah ialah suatu kasus di mana variabel dibatasi harus berharga nol atau satu. Kalau variabel dibatasi seperti ini, maka problemnya disebut problem program nol-satu 0-1 P. Siagian, 1987.

2.2.1 Bentuk Umum Integer Linear Programming

Maksimumkan: Dengan kendala: i = 1, 2, ..., m x j ≥ 0 j = 1, 2, ..., n x j merupakan bilangan cacah untuk beberapa atau semua j = 1,2, ..., n. Problema ini disebut sebagai integer linear programming Stephen P. Bradley, Arnoldo C. Hax, Thomas L. Magnanti, 1977.

2.3 Metode Penyelesaian Masalah Integer Programming

Tampaknya cukup untuk mendapatkan solusi bulat dari masalah linear programming, dengan menggunakan metode simpleks biasa dan kemudian membulatkan nilai-nilai pecah solusi optimum. Bukan tugas mudah untuk membulatkan nilai-nilai pecah variabel basis yang menjamin tetap memenuhi semua kendala dan tidak menyimpang cukup jauh dari solusi bulat yang tepat. Akibatnya diperlukan prosedur yang sistematis untuk mendapatkan solusi bulat ∑ = n j j j x c 1 b x a i j n j ij ≤ ∑ =1 Universitas Sumatera Utara 19 optimum terhadap masalah itu. Beberapa metode yang dapat digunakan untuk menyelesaikan masalah integer programming antara lain: 1. Metode Pendekatan Pembulatan 2. Metode Pendekatan Grafik 3. Metode Branch and Bound

2.3.1 Metode Pendekatan Pembulatan

Suatu pendekatan yang sederhana dalam menyelesaikan masalah integer programming adalah dengan membulatkan nilai variabel keputusan yang telah diperoleh pada penyelesaian linear programming. Pendekatan ini mudah dan praktis dalam usaha, waktu, dan biaya yang diperlukan untuk memperoleh solusi. Pendekatan pembulatan merupakan cara yang sering digunakan untuk masalah integer programming apabila biaya perhitungan sangat tinggi atau untuk masalah yang memiliki nilai-nilai solusi variabel keputusan relatif besar. Namun demikian sebab utama kegagalan pendekatan ini adalah bahwa solusi yang diperoleh mungkin bukan solusi integer optimum yang sesungguhnya. Dengan kata lain, solusi pembulatab dapat lebih jelek dibandingkan solusi integer optimum yang sesungguhnya atau mungkin merupakan solusi tak layak. Tiga masalah berikut disajikan untuk mengilustrasikan prosedur pembulatan: Masalah 1: Maksimumkan Kendala Masalah 2: Minimumkan Kendala Universitas Sumatera Utara 20 Masalah 3: Maksimumkan Kendala 4 Perbandingan antara solusi dengan metode simpleks tanpa pembatasan bilangan bulat, pembulatan ke bilangan bulat terdekat dan solusi integer optimum yang sesungguhnya untuk ketiga masalah tersebut adalah: Tabel 2.1 Perbandingan dengan menggunakan metode simpleks, pembulatan terdekat, dan solusi integer optimum sesungguhnya Masalah pertama adalah masalah maksimasi, di mana solusi pembulatan menghasilkan keuntungan 680, hanya lebih kecil 20 dibanding yang dihasilkan solusi bulat optimum 700. Masalah kedua adalah masalah minimasi di mana solusi pembulatan adalah tak layak. Ini menunjukkan bahwa meskipun pendekatan adalah sederhana, namun kadang-kadang menyebabkan solusi tak Masalah Solusi dengan Metode simpleks Dengan pembulatan terdekat Solusi integer optimum sesungguhnya 1 2 3 Universitas Sumatera Utara 21 layak. Untuk mencegah ketidaklayakan, nilai solusi simpleks dalam masalah minimasi harus dibulatkan ke atas. Sebaliknya, pada masalah maksimasi nilai solusi simpleks semestinya dibulatkan ke bawah. Contohnya, pada masalah kedua jika solusi simpleksnya dibulatkan ke atas akan diperoleh dan dan merupakan solusi layak. Juga pada masalah ketiga, jika solusi simpleksnya dibulatkan ke bawah akan diperoleh dan dan merupakan solusi layak. Nilai fungsi tujuan melalui simpleks tanpa pembatasan bilangan bulat akan selalu lebih baik dibanding solusi integer optimum karena terletak pada titik pojok luar dari batas ruang solusi layak. Suatu metode yang serupa dengan pendekatan pembulatan adalah prosedur coba-coba trial and error. Dengan menggunakan cara ini, pengambil keputusan mengamati solusi integer dan memilih solusi yang mengoptimumkan nilai fungsi tujuan. Cara ini sangat tidak efektif jika masalahnya melibatkan sejumlah besar kendala dan variabel. Terlebih lagi, memeriksa kelayakan setiap solusi yang dibulatkan akan banyak memakan waktu.

2.3.2 Metode Pendekatan Grafik

Masalah integer programming yang melibatkan dua variabel dapat diselesaikan dengan metode pendekatan grafik. Metode ini identik dengan metode grafik yang biasa digunakan dalam linear programming. Metode grafik relatif lebih mudah untuk menyelesaikan masalah integer programming dua variabel yaitu dengan menggambar grafik di atas kertas grafik kemudian menggambarkan sekumpulan titik-titik integer dalam ruang solusi layak. Masalah berikut akan diselesaikan dengan pendekatan grafik. Maksimumkan Kendala Universitas Sumatera Utara 22 Model ini serupa dengan model linear programming biasa. Perbedaannya terletak pada kendala terakhir yang menginginkan solusi bernilai non negatif integer. Solusi grafik untuk masalah ini ditunjukkan pada gambar di bawah. Ruang solusi layak adalah OABC. Solusi optimum masalah linear programming ditunjukkan pada titik B, dengan dan serta . Untuk mencari solusi intger optimum masalah ini, garis Z slope = -910 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 dan serta . Universitas Sumatera Utara 23

2.4 Branch and Bound