Anda di halaman 1dari 24

Integer

programming
HJ. MULYANA MAHCMUD, SE., M.Ak
Pengantar
salah satu asumsi teknik LP adalah divisibility atau fraksionality. dengan kata lain setiap variabel model dapat
terjadi pada semua nilai non negatif, suatu nilai solusi yang kontinu. Dalam situasi keputusan tertentu, asumsi ini
tidak realistik dan tak dapat diterima. Misalnya, suatu solusi yang memerlukan 2,29 kapal selam dalam suatu
sistem pertahanan adalah tidak mempunyai makna praktis. dalam kasus ini, dua atau tiga kapal selam harus
disediakan (bukan 2,29). Maka banyak masalah lain dalam bidang industri dan bisnis yang memerlukan nilai
bulat untuk variabel modelnya. Integer programming adalah suatu LP dengan tambahan persyaratan bahwa
semua atau beberapa variabel bernilai bulat non negatif, tetapi tidak perlu bahwa parameter model juga bernilai
bulat.

2
Pengantar!
Ada banyak kasus dalam masalah integer programming yang membatasi variabel model bernilai nol atau
satu. Dalam kasus demikian, pengambil keputusan hanya memiliki dua pilihan yaitu menerima atau menolak
suatu usulan kegiatan. Jika variabel keputusan bernilai satu kegiatan diterima dan jika variabel bernilai nol,
kegiatan ditolak.
Dalam masalah integer programming, jika model mengharapkan semua variabel basis bernilai integer (bulat
positif atau nol), dinamakan pure (all) integer programming. Jika model hanya mengharapkan variabel
variabel tertentu bernilai integer dinamakan mixed integer programming. Dan jika model hanya
mengharapkan nilai nol atau 1 untuk variabelnya, dinamakan zero one integer programming.

3
Pengantar
Tampaknya cukup untuk mendapatkan solusi bulat dari masalah LP, dengan menggunakan metode simpleks biasa
dan kemudian membulatkan nilai nilai pecah solusi optimum. Bukan tugas mudah untuk membulatkan nilai-nilai
pecah variabel basis yang menjamin tetap memenuhi semua kendala dan tidak menyimpang cukup jauh dari
solusi bulat yang tepat. Karenaitu perlu prosedur yang sistematis untuk mendapatkan solusi bulat optimum
terhadap masalah itu. Ada beberapa pendekatan solusi terhadap masalah integer programming yang akan
dibicarakan dalam bab ini yaitu pendekatan pembulatan, metode grafik, cutting plane serta branch and bound

4
1.
pendekatan pembulatan
Suatu pendekatan yang sederhana dan kadang-kadang praktis untuk
menyelesaikan suatu masalah integer programming adalah dengan membulatkan
nilai variabel keputusan yang diperoleh melalui LP. Pendekatan ini mudah dan
praktis dalam hal usaha, waktu, dan biaya yang diperlukan untuk memperoleh
suatu solusi. Bahkan, pendekatan pembulatan dapat merupakan cara yang sangat
efektif untuk masalah integer programming yang besar di mana biaya perhitungan
sangat tinggi atau untuk masalah di mana nilai-nilai solusi variabel keputusan
sangat besar. Contohnya, pembulatan nilai solusi jumlah pensil yang harus
diproduksi dari 14250,2 menjadi 14. 250,0 semestinya dapat diterima. Namun
demikian, sebab utama kegagalan pendekatan ini adalah bahwa solusi yang
diperoleh melalui metode ini mungkin bukan solusi integer optimum yang
sesungguhnya. Dengan kata lain Oma solusi pembulatan dapat lebih jelek
dibanding solusi integer optimum yang sesungguhnya atau mungkin merupakan
solusi tidak layak. Inimembawa konsekuensi besar jika jumlah produk-produk
seperti pesawat angkut komersial atau kapal perang yang harus diproduksi di
bulatkan ke bilangan bulat terdekat.
6
Tiga masalah berikut disajikan untuk mengilustrasikan prosedur pembulatan

masalah 1: masalah 2:
maksimumkan Z = 100X1 + 90X2 maksimumkan Z = 200X1 + 400X2
dengan syarat: 10X1 + 7X2 ≤ 70 dengan syarat: 10X1 + 25X2 ≥ 100
5X1 + 10X2 ≤ 50 3X1 + 2X2 ≥ 12
X1, X2 ≥ 0 X 1 + X2 ≥ 0

masalah 3:
maksimumkan Z = 80X1 + 100X1
dengan syarat: 4X1 + 2X2 ≤12
X1 + 5X2 ≥ 15
X 1 + X2 ≥ 0

7
Perbandingan antara solusi dengan metode simpleks tanpa pembatasan bilangan
bulat, pembulatan ke bilangan bulat terdekat dan solusi integer optimum yang
sesungguhnya untuk ke-3 masalah diatas ditunjukkan pada tabel berikut
.
Masalah Solusi dengan Solusi pembulatan ke Solusi bulat
metode simpleks bilangan bulat terdekat optimum yang
sesungguhnya
X1 = 5,38 X1 = 5 X1 = 7
1 X2 = 2,31 X2 = 2 X2 = 0
Z = 746,15 Z = 680 Z = 700
X1 = 1,87 X1 = 2 X1 = 3, X2 = 3 atau
2 Z2 = 3,27 X2 = 3 X1 = 5, X2 = 2
Z =3,27 Tak layak Z = 1.800
X1 = 2,14 X1 = 2 X1 = Q
3 X2 = 1,71 X2 = 2 X2 = 3
Z = 343 Tak layak Z = 300
8
masalah pertama adalah masalah maksimasi, di mana solusi pembulatan menghasilkan
keuntungan 680 hanya lebih kecil 20 dibanding yang dihasilkan solusi bulat optimum, 700.
Masalahkedua adalah masalah minimasi di mana solusi pembulatan adalah tak layak. Inimenunjukkan
bahwa meskipun pendekatan pembulatan adalah sederhana, ia kadang-kadang menyebabkan solusi tak
layak. Untukmencegah ketidaklayakan, nilai solusi simpleks dalam masalah minimasi harus dibulatkan
ke atas. Contohnya, ada masalah kedua, jika solusi dibulatkan ke atas diperoleh X 1 = 2 dan X2 = 4 dan
merupakan solusi layak. Sebaliknya, pada masalah maksimasi nilai solusi simpul semestinya dibulatkan
ke bawah. Masalah ketiga menunjukkan kasus ini.
pada masalah ketiga, solusi pembulatan juga tak layak. Namun, seperti ditunjukkan dalam
masalah minimasi jika nilai solusi simpleks masalah ketiga X 1 = 2,4 dan X2 = 1,71 dibulatkan ke bawah
menjadi X1 = 2 dan X2 = 1, solusi ini menjadi layak. Inidapat dibuktikan dengan meneliti masing-masing
kendala model dengan nilai variabel keputusan yang telah dibulatkan ke bawah.
Nilai fungsi tujuan melalui metode simpleks tanpa pembatasan bilangan bulat akan selalu lebih
baik dibanding solusi integer optimum karena ia terletak pada titik pojok dari batas ruang solusi layak.
Suatu metode yang serupa dengan pendekatan pembulatan adalah prosedur coba-coba. Dengan
menggunakancara lain, pengambil keputusan mengamati solusi integer dan memilih solusi yang
mengoptimumkan nilai fungsi tujuan. Metode ini sangat tidak efektif jika masalahnya melibatkan
sejumlah besar kendala dan variable. Lebih lagi, memeriksa kelayakan setiap solusi yang dibulatkan
banyak memakan waktu.
9
◉  
2.
Metode grafik
Masalah integer programming yang melibatkan hanya dua
variable hanya dapat diselesaikan secara grafik. Pendekatan ini
identik dengan metode grafik LP dalam semua aspek kecuali
bahwa solusi optimum harus memenuhi persyaratan bilangan
bulat.
Mungkin pendekatan yang termudah untuk menyelesaikan
masalah integer programming dua dimensi adalah dengan
menggunakan kertas grafik dan menggambarkan sekumpulan
titik-titik integer dalam ruang solusi layak. Masalah berikut akan
diselesaikan dengan pendekatakan grafik.
MaksimumkanZ = 100X1 + 90X2
Dengan syarat : 10X1 = 7X2 ≤ 70
5X1 = 10X2 ≤ 50
X1 , X2 nonnegatif integer

11
X2

10X1 + 7X2 = 70

Z = 746,15

5 Z = 700

0 7 10 X1


12
Model ini serupa dengan model LP biasa. Perbedaannya
hanya pada kendala terakhir yang mengharapkan bahwa variable
terjadi pada nilai non negative integer.
Solusi grafik masalah ini ditunjukkan pada gambar ruang solusi
layak adalah OABC. Solusi optimum masalah LP ditunjukkan
titik B, dengan X1 = 5,38, X2 = 2,31 dan Z = 746,15. Untuk
mencari solusi integer optimum salah ini, garis Z (slope = -9/10)
digeser secara sejajar dari titik B menuju titik asal. Solusi integer
optimum adalah titik integer pertama yang bersinggungan dengan
garis Z. Titik itu adalah A, dengan X1 = 7, X2 = 0 dan Z = 700.

13
3.
Metode gomory
(cuiting plane algorlthm)
Suatu prosedur sistematik untuk memperoleh solusi integer optimum terhadap
pure integer programming, pertama kali dikemukakan oleh R.E. Gomory pada tahun
1958. Ia kemudian memperluas prosedur ini untuk menangani kasus yang lebih sulit,
yaitu mixed integer programming.
Langkah – langkah prosedur Gomory diringkas seperti berikut :
1) Selesaikan masalah integer programming dengan menggunakan metode simpleks.
Jika masalahnya sederhana ,ia dapat diselesaikan dengan pendekatang rafik,
sehingga pendekatan gomory kurang efesien.
2) Periksa solusi optimum. Jika semua variable basis memilikinilai integer, solusi
optimum integer telahdiperolehdan proses solusi berakhir. Jika satu atau lebih
variable basis memiliki nilai pecah, teruskan ketahap ketiga.
3) Buatlah suatu kenda Gomory (suatu bidang pemotong atau cutting plane) dan cari
solusi optimum melalui prosedur dual simplex. Kembali ketahap kedua.

15
4.
Metode branch dan bound
Metode branch dan bound telah menjadi kode computer standar untuk integer programming, dan penerapan –
penerapan dalam praktek tampaknya menyarankan bahwa metode ini lebih efesien dibanding pendekatan Gomory.
Metode branch dan bound pertama kali diperkenalkan oleh Land dan Doig. Dan dikembangkan lebih lanjut oleh Little dan
peneliti – peneliti lain. Teknik ini dapat diterapkan baik untuk masalah pure maupun mixed integer programming.
Langkah – langkah metode branch dan bound untuk masalah maksimisasi dapat diringkas seperti berikut :

1) Selesaikan masalah LP dengan metode simpleks biasa tanpa pembatasan bilangan bulat.
2) Teliti solusi optimumnya. Jika variable basis yang diharapkan bulat adalah bulat, maka solusi
optimum bulat telah tercapai. Jika satu atau lebih variable basis yang diharapkan bulat ternyata
tidak bulat, lanjutkan kelangkah ke 3.
3) Nilai solusi pecah yang layak dicabangkan kedalam sub-sub masalah. Tujuannya adalah untuk
menghilangkan solusi kontinu yang tidak memenuhi persyaratan bulat dari masalah itu.
Pencabanganitudilakukanmelaluikendala – kendalamutually exclusive yang perlu unutk
memenuhi persyaratan bulat dengan jaminan tidak ada solusi bulat layak yang tidak di ikut
sertakan.
4) Untuk setiap sub masalah, nilai solusi optimum kontinu fungsi tujuan ditetapkan ≤ sebagai atas.
Solusi bulat terbaik menjadi batas bawah (pada awalnya, ini adalah solusi kontinu yang
dibulatkan kebawah). Sub – sub masalah yang memiliki batas atas kurang dari batas bawah yang
ada tak diikutsertakan pada analisis selanjutnya.
17
Suatu solusi bulat layak adalah sama baik atau lebih baik dari batas atas untuk setiap sub masalah yang
dicari. Jika solusi demikian ada, suatu sub masalah dengan batas atas terbaik dipilih untuk dicabangkan. Kembali
kelangkah 3.
Untuk memperjelas metode branch dan bound, ikuti masalah berikut:
Maksimumkan Z = 3X1 = SX2
dengansyarat: 2X1 + 4X2 ≤ 25
X1 ≤8
2X2 ≤ 10
X1, X2 nonnegatif integer
Solusi optimum kontinu masalah ini adalah X1 = 8, X2 = 2,25 dan Z = 35,25. Solusi menunjukkan batas atas awal.
Batas bawah adalah solusi yang dibulatkan kebawah X1 = 8, X2 = 2 dan Z = 34. Dalam metode Branch dan
Bound, masalah itu dibagi

18
5.
Zero – one integer
programming
Analisis terkadang diharapkan pada pilihan yang sangat terbatas.
Mislanya tidak atau ya, tolak atau terima dan sejenisnya. Dalam menghadapi
dua pilihan ini realitanya dapat disederhanakan dengan menetapkan variabelnya
punya dua kemungkinan nilai, yaitu 0 untuk Tidak dan 1 jikaYa.
Penyusunan model dan penyelesaian masalah Zero One integer
Pragramming dapat diikuti seperti contoh berikut.
Misalkan Seorang investor asing ingin memperluas usahanya di Jakarta
dan Surabaya dengan membangun pabrik dan atau gudang. Gudang hanya akan
dibangun jika di suatu kota telah ada pabriknya. Namun ia menghadapi
keterbatasan dana, yaitu hanya tersedia Rp. 10 Milyar. Karena itu paling banyak
ia akan membangun sebuah gudang untuk kedua kota. Kebutuhan dana dan
penerimaan setiap jenis investasi adalah :

20
Kebutuhan dana dan penerimaan setiap jenis investasi adalah :

Jenis investasi Biaya Penerimaan

Pabrik Jakarta 6 9

Gedung Jakarta 5 6

Pabrik Surabaya 3 5

Gedung Surabaya 2 4

21
Bagaimana keputusan investor?
model masalah ini dirumuskan seperti berikut. Variabel keputusan:
X1 = pembangunan pabrik di Jakarta
X2 = pembangunan gudang di Jakarta
X3 = pembangunan pabrik di Surabaya X1 = 0 jika tidak, dan X 1 = 1 jika ya
X4 = pembangunan gudang di X2 = 0 jika tidak, dan X 2 = 1 jika ya
Surabaya X3 = 0 jika tidak, dan X 3 = 1 jika ya
  X4 = 0 jika tidak, dan X 4 = 1 jika ya

22
Tujuan:
Maksimumkan penerimaan Z = 9X1 + 6X2 + 5X3 + 4X4
Kendala:
6X1 + 5X2 + 3X3 + 2X4 ≤ 10
X1 ≥ X2 atau X1 - X2 ≥ 10
X3 ≥ X4 atau X3 - X4 ≥ 0
X2 + X4 ≤ 1
X1, X2, X3 X4 = 0 atau 1
 
Model itu dapat diselesaikan dengan metode branch and bound
dan cara menambahkan 4 kendala berikut untuk menggantikan
kendala X1, 5X2, X3, X4 = 0 atau 1
keempat kendala itu adalah:
X1 ≤ 1, X2 ≤ 1, X3 ≤ 1, dan X4 ≤ 1

23
Thanks!
Any questions?

24

Anda mungkin juga menyukai