76a2d integer programming new

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 m3 kayu, sedangkan kapal penangkap ikan
membutuhkan 3 m3 kayu. 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 m3 kayu, 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)
3. Metode branch and bound

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 + 1
4. Jika setelah diselesaikan belum diperoleh jawaban yang layak, maka problem ke

N harus dicabangkan lagi menjadi problem N+1 dan problem N+2, sampai
diperoleh jawaban yang layak atau perhitungan lebih lanjut tidak dimungkinkan.

JAWABAN CONTOH KASUS
Misal: X1 : Kapal Barang
X2 : Kapal Penangkap Ikan
Problem 0
Maksimumkan
Dengan Kendala

Z = 10 X1

+ 7 X2

4 X1

+

3 X2


X1

;

X2

= 0 dan integer

Problem 1
Maksimumkan
Dengan Kendala
Hasilnya:

Z = 10 X1

+ 7 X2

4 X1

+


3 X2

X1

;

X2

X1 = 2,5

X2= 0

Z = 10 X1

+ 7 X2

= 0
Z = 25


Problem 2
Maksimumkan
Dengan Kendala

4 X1

+

3 X2

X1
X1
Hasilnya

= 0

Problem 4
Maksimumkan
Dengan Kendala


Z = 10 X1
4 X1
X1

+ 7 X2
+

3 X2