Anda di halaman 1dari 9

INTEGER PROGRAMMING

(PROGRAM LINEAR BILANGAN BULAT)


Makalah ini dibuat untuk memenuhi syarat Mata Kuliah Program Linear

Disusun oleh:
Dimas Setyo Utomo (3115115721)
Hamzah Parlagutan (311511
Putri Badzlina (3115115721)

PRODI PENDIDIKAN MATEMATIKA NON-REGULER 2011


JURUSAN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS NEGERI JAKARTA
2014

INTEGER PROGRAMMING
(Pemrograman Bilangan Bulat)
A. Pengertian Program Linear Bilangan Bulat
Permasalahan program linear bilangan bulat muncul ketika kita harus
memutuskan masalah barang yang kita perlukan berbentuk bilangan bulat, seperti
menentukan banyaknya mesin untuk suatu pabrik, banyaknya foto copy untuk
layanan di suatu kantor, banyaknya komputer di suatu ruangan untuk mengerjakan
sejumlah pekerjaan, banyaknya orang yang mengerjakan suatu proyek, dan
sebagainya. Contoh 1:
Sebuah perusahaan jus buah curah JASJUS TAMBUNAN memproduksi 2
jenis produk, yaitu jus jeruk dan jus jambu. Masing-masing produk tersebut
membutuhkan 2 tahapan produksi, yaitu ekstraksi dan penyaringan. Waktu ekstraksi
adalah 2 jam untuk jus jeruk dan 3 jam untuk jus jambu. Sedangkan waktu
penyaringan adalah 6 jam untuk jus jeruk dan 5 jam untuk jus jambu. Perusahaan
tersebut hanya mempunyai waktu untuk ekstraksi 12 jam, dan waktu untuk
penyaringan 30 jam kerja per minggu. Jus jeruk memberikan keuntungan 70.000 per
liternya sedangkan jus jambu 60.000 per liternya, tentukan banyaknya jus jeruk dan
jus jambu yang sebaiknya diproduksi untuk mendapatkan keuntungan yang
maksimal!
Jika x1 = jus jeruk
x2 = jus jambu
Maksimisasi profit: 7x1 + 6x2
Ditujukan pada: 2x1 + 3x2 12
6x1 + 5x2 30
x1, x2 0
Jika diselesaikan dengan metode grafis, didapat:

TETAPI, x1 = 3 ; x2 = 1
X1 adalah drumdryer
X2 adalah spraydryer

Siapa yang mau membeli

alat yang tidak utuh???

Integer programming merupakan teknik dari linier programming dengan


tambahan persyaratan semua atau beberapa variabel bernilai bulat nonnegatif.
Terdapat tiga jenis integer programming, yaitu:
1. Pure (all) integer programming (Programa bilangan bulat murni)
Apabila seluruh variabel keputusan dari permasalahan programa linier harus
berupa bilangan bulat (positif atau nol). Dalam hal ini asumsi divisibilitas dari
programa liniernya hilang sama sekali. Contoh 2:
Pemilik toko merencanakan membeli mesin pencetak dan mesin bubut. Pemilik
memprediksi setiap mesin pencetak akan menaikan keuntungan sebesar $100 per hari
dan mesin bubut menaikan keuntungan $150 per hari. Luas tempat dan harga
masing-masing sebagai berikut:

Anggaran pembelian mesin adalah $40.000 sedangkan tempat tersedia 200 feet
persegi. Pemilik ingin mengetahui berapa banyak mesin yang dapat dibeli supaya
keuntungan maksimum.
Model Linearnya adalah sebagai berikut:
Maksimumkan: Z = 100 x1 + 150 x2
Batasan: 8000 x1 + 4000 x2 40.000
15 x1 + 30 x2 200
x1, x2

0 dan integer

Diketahui: x1 = jumlah mesin pencetak x2 = jumlah mesin bubut


Dalam hal ini tidak diperbolehkan menghasilkan solusi yang pecahan.
2. One zero integer programming (Programa 0-1 bilangan bulat)
Apabila variabel keputusannya diharuskan berharga 0 (nol) atau 1 (satu).
Kondisi ini ditemukan dalam kasus di mana persoalan yang dihadapi merupakan
persoalan keputusan ya atau tidak. Contoh 3:
Bapeda sebuah kota merencanakan untuk membangun fasilitas rekreasi, yaitu: kolam
renang, lapangan tenis, lapangan atletik, dan gelanggang olah raga. Anggaran yang
disediakan $120.000 dan luas lahan 12 acre. Pengguna, biaya dan lahan yang
diperlukan disajikan pada tabel berikut:
Fasilitas Rekreasi

Banyaknya

Biaya (S)

Pengguna

Luas Lahan
(acre)

(orang/ hari)
Kolam renang

300

35.000

Lapangan tenis

90

10.000

Lapangan atletik

400

25.000

Gelanggang Olahraga

150

90.000

Karena ada pada lahan yang sama, lahan kolam renang lapangan tenis hanya akan
didirikan salahsatu saja. Bapeda ingin mengetahui fasilitas mana saja yang harus
didirikan agar pengguna menjadi maksimum.
Formulasi Model PL :
Maksimumkan: Z = 300x1 + 90x2 + 400x3 + 150x4
Batasan: 35.000x1 + 10.000x2 + 25.000x3 + 90.000x4 120.000
4x1 + 2x2 + 7x3 + 3x4 12
x1 + x2 1
x1, x2, x3, x4 = 0 atau 1
Nilai 1 artinya perlu didirikan, nilai 0 artinya tidak perlu didirikan
3. Mixed integer programming (Programa bilangan bulat campuran)
Apabila hanya terdapat sebagian dari variabel keputusan dari permasalahan
programa linier yang diharuskan berupa bilangan bulat (positif atau nol). Dalam hal
ini asumsi divisibilitasnya melemah. Contoh 4:
Seorang pengusaha memiliki kelebihan uang $250.000 dan akan di investasikan
pada

alternatif,

yaitu:

kondominium,

tanah,

dan

obligasi.

Dia

ingin

menginvestasikan uangnya dengan tujuan pengembalian terbesar diperoleh pada akhir


tahun. Data jenis investasi:

Model PL nya:
Maksimumkan: Z = 9.000x1+ 1.500x2 + 1.000x3
Batasan : 50.000x1 + 12.000x2 + 8.000x3 250.000
x1 4
x2 15

x3 20
x2 0
x1, x3 0 dan integer
x1 = # kondominium yang dibeli
x2 = # acre tanah yang dibeli
x3 = # obligasi yang dibeli
Dalam hal ini x1 dan x3 harus integer, sedangkan x2 bilangan real.

B. Metode Penyelesaian Program Linear Bilangan Bulat


Untuk menyelesaikan masalah-masalah diatas terdapat beberapa cara
menentukan (menghitung) solusi program linear bilangan bulat, yaitu: metode roundoff (pembulatan), metode branch and bound (algoritma pencabangan), metode
gomory/ cutting plane (algoritma pemotongan), dan metode penyelesaian dengan
komputer. Pada makalah ini hanya akan dibahas dua metode penyelesaian, metode
round-off dan branch and bound (algoritma pencabangan).
1. Metode round-off (pembulatan)
Metode round-off merupakan metode yang paling mudah digunakan untuk
menyelesaikan masalah pada contoh 1.
x1 = 3 ; x2 = 1 , dimana x1 adalah drumdryer dan x2 adalah spraydryer
Dari solusi optimal kita lakukan pembulatan menjadi:
x1 = drumdryer = 4 unit
x2 = spraydryer = 2 unit
TETAPI TIDAK MUNGKIN! Karena (4,2) berada diluar area (lihat grafik).
Sehingga yang paling memungkinkan:
x1 = drumdryer = 4 unit
x2 = spraydryer = 1 unit

2. Metode branch and bound (algoritma pencabangan)


Metode ini untuk memecahkan persoalan program integer digabungkan bersamasama dengan metode grafik atau simpleks. Metode branch and bound mempunyai
beberapa langkah, yaitu:
1. Selesaikan masalah program linear dengan metode biasa (simpleks atau
grafik) yaitu dengan bilangan real (biasa).
2. Teliti solusi optimumnya. Apabila variabel basis yang diharapkan berbentuk
bilangan bulat, maka pekerjaan telah selesai. Solusi itu adalah solusi
optimum. Tetapi bila solusinya bukan bilangan bulat, maka lakukan langkah
selanjutnya.
3. Nilai solusi yang tidak bulat yang layak dicabangkan ke dalam sub-sub
masalah, dengan tujuan untuk menghilangkan solusi yang tidak memenuhi
persyaratan bilangan bulat. Pencabangan ini dilakukan dengan kendalakendala mutually exclusive yang perlu untuk memenuhi persyaratan bulat.
4. Untuk setiap sub masalah, nilai solusi optimum kontinu (tak bulat) fungsi
tujuan dijadikan sebagai batas atas. Solusi bulat terbaik menjadi batas bawah
(pada awalnya ini adalah solusi kontinu yang dibulatkan kebawah). Sub-sub

masalah yang mempunyai batas atas kurang dari batas bawah yang ada tidak
diikut sertakan dalam analisis selanjutnya. Suatu solusi bulat, layak adalah
sama baik atau lebih baik dari batas atas untuk semua sub masalah yang
dicari. Jika solusi demikian ada, suatu sub masalah dengan batas atas terbaik
dipilih untuk dicabangkan, kemudian kembali ke langkah 3.
Pada contoh 1, jika diselesaikan dengan metode branch and bound, maka:
x1 = 3 ; x2 = 1 ; profit = 35,25
Karena x1 = 3 (tidak bulat), maka dicabangkan jadi dua:
CABANG A

CABANG B

Maksimisasi profit: 7x1 + 6x2

Maksimisasi profit: 7x1 + 6x2

Ditujukan pada: 2x1 + 3x2 12

Ditujukan pada: 2x1 + 3x2 12

6x1 + 5x2 30

6x1 + 5x2 30

x1 4

x1 3

Dengan LP sederhana:

Dengan LP sederhana:

x1 = 4 maka x2 = 1,2 ; profit = 35,2

x1 = 3 maka x2 = 2 ; profit = 33

Dari percabangan A:

SUDAH FEASIBLE

Karena x2 = 1,2 (tidak bulat), maka dicabangkan jadi dua:


CABANG C

CABANG D

Maksimisasi profit: 7x1 + 6x2

Maksimisasi profit: 7x1 + 6x2

Ditujukan pada: 2x1 + 3x2 12

Ditujukan pada: 2x1 + 3x2 12

6x1 + 5x2 30

6x1 + 5x2 30

x1 4

x1 4

x2 2

x2 1

LIHAT GRAFIK! Syarat x1 4

Dengan LP sederhana:

dan x2 2 di luar area, maka tidak fesible,

x2 = 1 maka x1 = 4 ; profit = 35,16

maka percabangan dihentikan !

Dari percabangan D didapatkan:

x2 = 1 maka x1 = 4 ; profit = 35,16


Karena x1 = 4 (tidak bulat), maka dicabangkan jadi dua:
CABANG F

CABANG E
Maksimisasi profit: 7x1 + 6x2

Maksimisasi profit: 7x1 + 6x2

Ditujukan pada: 2x1 + 3x2 12

Ditujukan pada: 2x1 + 3x2 12

6x1 + 5x2 30 x1 4

6x1 + 5x2 30 x1 4

x2 1

x2 1

x1 4

x1 5

Dengan LP sederhana:

Dengan LP sederhana:

x1 = 4 maka x2 = 1 ; profit = 34

x1 = 5

SUDAH FEASIBLE !

SUDAH FEASIBLE !

maka x2 = 0 ; profit = 35

Sehingga dapat dirangkum sebagai berikut:

Hasil dari integer programming tidak akan pernah melebihi nilai keuntungan
optimal dari solusi LP. Pada kasus di atas keuntungan dari LP adalah 35,25
sedangkan keuntungan dari integer programming hanya 35.

Anda mungkin juga menyukai