INTEGER PROGRAMMING
(PEMROGRAMAN BILANGAN BULAT)
Integer programming adalah linier programming dengan tambahan persyaratan bahwa semua atau sebagian variabel keputusan harus bernilai bulat nonnegatif. Sebagai contoh, dalam suatu operasi pertahanan TNI memerlukan 2,59 unit kapal selam adalah tidak mempunyai makna praktis, untuk kasus ini 2 atau 3 unit kapal selam harus disediakan (bukan 2,59).
Dalam masalah integer programming, jika model mengharuskan semua variabel basis bernilai integer (bulat positif atau nol), disebut pure (all) integer programming. Jika hanya sebagian variabel yang diharapkan bernilai integer, disebut mixed integer programming.
Contoh Kasus
Sebuah galangan kapal tradisional membuat 2 model kapal dari
kayu, yaitu kapal barang dan kapal penangkap ikan. Kapal barang
membutuhkan 4 m
3kayu, sedangkan kapal penangkap ikan
membutuhkan 3 m
3kayu. Keuntungan yang diperoleh dari penjualan 1
unit kapal barang adalah Rp. 10.000.000,- sedangkan kapal penangkap
ikan Rp. 7.000.000,-. Jika saat ini tersedia 10 m
3kayu, berapa unitkah
masing-masing model harus dibuat agar diperoleh keuntungan yang
optimal? (jawaban harus berupa bilangan bulat)
PEMECAHAN MASALAH
1. Metode pembulatan
2. Enumerasi (untuk problem yang sederhana)
METODE BRANCH AND BOUND
Algoritma penyelesaian masalah integer programming dengan metode BRANCH AND BOUND, adalah sbb:
1. Formulasikan kasus yang ada kedalam formulasi linier programming. Dengan constrain/pembatas variabel basis(X1 dan X2) >= 0 (dan integer), yang kemudian disebut dengan problem 0 (nol)
2. Ubah problem 0 menjadi problem 1, dengan menghilangkan/mengabaikan syarat integer untuk variabel basisnya.
3. Jika jawaban problem 1 tidak layak untuk problem 0, maka problem 1 diubah menjadi 2 problem yang lain (problem 2 dan problem 3).
Misalkan Xj adalah jawaban problem 1 dengan nilai t, dan t bukan integer, sedangkan k adalah integer dimana k < t, maka sekarang problem 1 diubah menjadi problem 2 dan problem 3, dengan cara.
• Untuk Problem 2 : Problem 1, ditambah kendala Xj<=k • Untuk Problem 3 : Problem 1, ditambah kendala Xj>=k + 1
JAWABAN CONTOH KASUS Misal: X1 : Kapal Barang
X2 : Kapal Penangkap Ikan
Problem 0
X1 >= 3 TIDAK LAYAK
X1 ; X2 >= 0
Problem 4
Maksimumkan Z = 10 X1 + 7 X2
Dengan Kendala 4 X1 + 3 X2 <= 10
X2 <= 0
X1 <= 2 TIDAK LAYAK
X2 >= 1
X1 >= 2
SELESAIKAN MASALAH BERIKUT
Maksimumkan Z = 3X1 + 5X2
dengan Kendala 2X1 + 4X2 <= 25
X1 <= 8
2X2 <= 10