I.1. PENDAHULUAN
Programa bilangan bulat (integer programming/IP) adalah bentuk lain dari programa linier (LP)
dimana asumsi divisibilitasnya melemah atau hilang sama sekali. Ada 2 jenis bilangan bulat,
yaitu :
1. bilangan bulat umum (general integer)
yaitu setiap bilangan positif yang bukan pecahan
2. bilangan bulat biner (binary)
yaitu bilangan bulat yang nilainya 0 atau 1
Jenis persoalan IP :
1. Persoalan IP campuran
Asumsi divisibilitas melemah. Hanya sebagian variabel keputusan yang integer.
2. Persoalan IP murni
Asumsi divisibilitas hilang. Semua variabel keputusan harus integer.
3. Persoalan IP nol-satu
Persoalan keputusan “ya” atau “tidak”. Variabel keputusan yang berharga 1 menyatakan “ya”
dan berharga 0 menyatakan “tidak”.
Contoh persoalan IP :
1. Penjadwalan tenaga kerja
2. Perencanaan penugasan
3. Pengalokasian sumber
4. Perencanaan produksi
5. Perencanaan pembelian
6. Persoalan-persoalan yang melibatkan jaringan
Contoh soal :
A. Penjadwalan Tenaga Kerja
Sebuah perusahaan akan menetapkan jumlah karyawan yang harus bekerja pada setiap hari (Senin
s.d. Minggu). Ada ketentuan bahwa setiap karyawan harus mendapat libur selama dua hari
berturut-turut. Upah yang diterima akan berbeda tergantung pada hari libur yang dipilihnya.
Bagaimana formulasi ILP untuk meminimumkan total upah?
B. Perencanaan Penugasan
Tiga pekerjaan akan dikerjakan oleh tiga orang dengan konsekuensi ongkos kerja berbeda seperti
terlihat pada tabel di bawah ini :
Pekerjaan
Pekerja
1 2 3
A $ 11 $ 14 $6
B $8 $ 10 $ 11
C $9 $ 12 $7
Bagaimanakah penugasan pekerjaan sebaiknya dilakukan agar diperoleh total ongkos minimum?
LP RELAKSASI
Jika dari formulasi persoalan ILP syarat integernya dihilangkan, maka akan diperoleh formulasi
persoalan LP yang disebut sebagai persoalan LP – Relaksasi.
Contoh :
Persoalan ILP
Maksimasi Z = 2X1 + 3X2
Dengan pembatas
X1 + 3X2 ≤ 8.25
2.5X1 + X2 ≤ 8.75
X1, X2 ≥ 0
X1, X2 integer
Formulasi LP-Relaksasi
Maksimasi Z = 2X1 + 3X2
Dengan pembatas
X1 + 3X2 ≤ 8.25
2.5X1 + X2 ≤ 8.75
X1, X2 ≥ 0
X2 = 120
200 Z = 64.000
Daerah
150 Fisibel
(200,0)
100 (180,0) (261,0)
50
Cara mudah untuk memperoleh nilai integer untuk setiap variabel adalah dengan melakukan
pembulatan, tetapi hal ini tidak akan dilakukan karena hasil pembulatan bisa berada di luar daerah
fisibel atau memberikan solusi yang tidak optimal.
1
Daerah
Fisibel
0 1 2 3 4 5
LANGKAH PENYELESAIAN
Contoh :
Berdasarkan pembatas
7x1 + 2x2 ≥ 28
2x1 + 12x2 ≥ 24
X1 ≥ 0; integer
X2 ≥ 0; integer
DF
(0,2) B
C
(4,0) (12,0)
Oleh karena ini adalah persoalan minimasi, maka solusi fisibel awal adalah titik B, yaitu x1 = 3,6; x2 =
1,4; maka Z = 32.
x1 = 3,6
x2 = 1,4
Z = 32
x1 ≤ 3 x1 ≥ 4
Keterangan :
Untuk mencari x2, sesuaikan dengan
x1 =3 x1 = 4 masing-masing pembatas. Nilai x2 yang
x2 = ..... x2 = ditentukan harus memenuhi semua
Z = ..... Z = pembatas.
..........................................................................(cabang-cabang selanjutnya)
Atau :
x1 = 3,6
x2 = 1,4
Z = 32
x2 ≤ 1 x2 ≥ 2
Keterangan :
Untuk mencari x1, sesuaikan dengan
x2 =1 x2 = 2 masing-masing pembatas. Nilai x1 yang
x1 = ..... x1 = ditentukan harus memenuhi semua
Z = ..... Z = pembatas.
..........................................................................(cabang-cabang selanjutnya)
Berdasarkan pembatas
7x1 + 2x2 ≥ 28
2x1 + 12x2 ≥ 24
X1 ≥ 0; integer
X2 ≥ 0; integer
FATHOMING
KNAPSACK PROBLEM
1. Persoalan ILP yang hanya mempunyai satu fungsi pembatas disebut knapsack problem
2. Umumnya merupakan persoalan pengalokasian sumber
3. Fungsi tujuan berupa maksimasi atau minimasi
4. Variabel bisa general integer atau binary
5. Knapsack problem dengan variabel biner diselesaikan dengan konsep Branch and
Bound, sedang untuk knapsack problem dengan variavel general integer diselesaikan
dengan Programa Dinamis
LANGKAH PENYELESAIAN
Dengan kendala
5X1 + 7X2 + 4X3 + 3X4 ≤ 14
Xj = 0 atau 1 (j = 1, 2, 3, 4)
DEFINISI
Berdasarkan pembatas
20X1 + 15X2 – 3X3 ≤ 10
12X1 – 3X2 + 4X3 ≤ 20
X1,X2, X3 = 0 atau 1
Penyelesaian :
1. Penyelesaian terbaik
X1 = X 2 = X 3 = 1
2. Pengujian :
Pembatas 1 : (20 + 15 - 1 = 34 > 10) TF
X1 = 1
X1 = 1; X2 = 1,
X3 = 1, Z = 6
Penyelesaian :
1. Penyelesaian terbaik
X1 = 1
2. Pengujian :
Pembatas 1 : (20 + 15 - 1 = 34 > 10) TF