PROGRAMA BILANGAN BULAT
Pengertian umum Programa bilangan bulat atau integer programming (IP) adalah bentuk lain dari programa linier atau linier programming (LP) di mana asumsi divisibilitasnya melemah atau hilang sama sekali. Bentuk ini muncul karena dalam kenyataannya tidak semua variabel keputusan dapat berupa bilangan pecahan. Misalnya, jika variabel keputusan yang dihadapi adalah jumlah produk yang harus diproduksi untuk mencapai keuntungan maksimal, maka jawaban 1 1/2 adalah sangat tidak mungkin karena kita tidak bisa memproduksi produk setengah-setengah.
Dalam hal ini haruslah ditentukan apakah akan memproduksi satu atau dua produk. Pendekatan pembulatan dari solusi nilai pecahan dari programa linier ini tetap memenuhi semua kendala dan menyimpang cukup jauh dari solusi bulat yang tepat. Integer programming merupakan teknik dari linier programming dengan tambahan persyaratan semua atau beberapa variabel bernilai bulat nonnegatif.
Jenis Integer Programming 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. Minimize Z = 3 X1 + 5 X2 Subject to 2X1 + 4X2 ≥ 4 3X1 + 2X2 ≥ 5 X1, X2 ≥ 0; X1, X2 integer
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: Maximize Z = 6 X1 – 4 X2 Subject to X1 + X2 ≤ 2 –3X1 – 2X2 ≤ 12 X1, X2 ≥ 0; X2 integer
Zero one integer programming (pograma bilangan bulat nol-satu 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: Maximize Z = 40 X1 + 50 X2 Subject to 2X1 + 3X2 ≤ 3.000 4X1 + 2X2 ≤ 2.500 X1, X2 = 0 atau 1
Programa Linier Relaksasi Programa linier relaksasi merupakan bentuk programa linier yang diperoleh dengan mengabaikan pembatas integer. Sebagai contoh adalah permasalahan programa bilangan bulat di bawah ini: Minimize Z = 3 X1 + 5 X2 Subject to 2X1 + 4X2 ≥ 4 3X1 + 2X2 ≥ 5 X1, X2 ≥ 0; X1, X2 integer Programa linier relaksasi dari permasalahan di atas : X1, X2 ≥ 0
Metode Pemecahan Programa Bilangan Bulat Metode Grafis Metode ini sama seperti metode pemecahan dalam programa linier dalam bentuk grafis, namun dengan tambahan pembatas yakni variabel keputusan—sebagian atau semua—berupa bilangan bulat. Metode Round Off Metode ini memberikan cara konvensional atau kolot terhadap permasaahan programa bilangan bulat, yakni melakukan pembulatan (round off) terhadap solusi optimal bila dimungkinkan Metode Branch-and-Bound Metode ini dilakukan dengan mengibaratkan suatu permasalahan sebagai pohon (tree), kemudian permasalahan tersebut dibagi atau dibuat percabangan (branching) ke dalam subset yang lebih kecil
Contoh Maximize Z = 7 X1 + 6 X2 Subject to 2X1 + 3X2 ≤ 12 X1, X2 ≥ 0; X1, X2 integer di mana X1 = lampu X2 = kipas angin
Metode Grafis
Terlihat kalau metode grafis tidak mampu memberikan solusi yang nyata pada permasalahan di atas, karena tidak mungkin perusahaan membuat dan menjual barang dalam bentuk pecahan. Hal yang dapat dilakukan adalah menggeser titik optimal yang masih masuk dalam daerah fisibel, yakni: titik (4,1) atau (3,2). Titik (4,1) akan memberikan solusi sebesar 34, sedangkan titik (3,2) akan memberikan solusi sebesar 33. Karena titik (4,1) memberikan solusi optimal yang lebih maksimal, maka diperoleh solusi optimal sebesar 34, dengan X1 = 3 dan X2 = 2 (perusahaan akan mendapatkan profit sebesar $ 34 dengan memproduksi lampu sebanyak 3 buah dan kipas angin sebanyak 2 buah).
Metode Round Off
Ternyata metode simpleks memberikan solusi yang sama dengan metode grafis, yakni: Z = 35,25; X1 = 3,75; X2 = 1,5. Dengan melakukan pembulatan, dengan mudah kita akan mendapatkan harga X1 = 4 dan X2 = 2 dan Z = 40. Namun, ternyata pembulatan tersebut tidak layak dilakukan karena titik (4,2) berada di luar daerah fisibel (lihat grafik).
Metode Branch-and-Bound Dengan perhitungan menggunakan metode simpleks, didapatkan solusi optimal Z = 35,25; X1 = 3,75; X2 = 1,5. Karena X1 dan X2 bukan bilangan bulat, maka solusi ini tidak valid, dan nilai Z (profit) sebesar 35,25 dijadikan sebagai batas atas awal (first upper bounded). Artinya, solusi optimal nantinya tidak akan lebih besar dari 35,25. Kemudian dengan metode pembulatan ke bawah, kita dapatkan X1 = 3 dan X2 = 1 dengan Z = 27 dijadikan batas bawah (lower bounded). Artinya, solusi optimal nantinya harus di atas 27. Dengan kedua batasan ini, maka solusi optimal yang akan dicari haruslah berada pada rentang 27 sampai 35,25.
Iterasi 1 Subset 1 Maximize Z = 7 X1 + 6 X2 Subject to 2X1 + 3X2 ≤ 12
Iterasi 1
Iterasi 2 Subset 3 Maximize Z = 7 X1 + 6 X2 Subject to 2X1 + 3X2 ≤ 12
Iterasi 2
Iterasi 3 Subset 5 Maximize Z = 7X1 + 6X2 Subject to 2X1+3X2 ≤ 12
Perbandingan 3 metode
TERIMA KASIH