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