Integer Programming adalah bentuk lain dari program linier dengan variabel-variabel keputusanya bertipe integer .Jika variabel keputusan yang dihadapi berkaitan dengan jumlah orang,mesin- mesin , kendaraan dan lain-lain, akan terasa janggal jika menyelesaikan pekerjaan itu diperlukan 3,5 mesin dan 7,5 orang, sebaliknya jika pekerjaan memerlukan 4 atau 5 mesin dan 8 orang , maka keputusan akan terasa realistik dan lebih mudah.
B. METODE I NTEGER PROGRAMMI NG a. Metode Branch and Bound Algoritma Branch and Bound adalah metode algoritma umum untuk mencari solusi optimal dari dari berbagai permasalahan optimasi, terutama untuk optimasi diskrit dan kombinatorial. Sebagaimana pada algoritma runut-balik, algoritma Branch and Bound juga merupakan metode pencarian di dalam ruang solusi secara sistematis. Ruang solusi diorganisasikan ke dalam pohon ruang status. Yang membedakan keduanya adalah bila pada algoritma runut-balik, ruang solusi dibangun secara dinamis berdasarkan skema DFS (Depth First Search), maka pada algoritma Branch and Bound ruang solusi dibangun dengan skema BFS (Breadth First Search). Algoritma standar untuk integer programming yang digunakan dalam coding program untuk software OR. Metode ini lebih efisien dibanding pendekatan Gomory. Pertama kali diperkenalkan oleh Land dan Doig. Pada algoritma ini, permasalahan dibagi bagi menjadi subregion subregion yang mungkin mengarah ke solusi. Inilah yang disebut dengan branching, mengingat prosedur ini akan dilakukan berulang ulang secara rekursif untuk setiap subregion dan setiap subregion yang dihasilkan akan membentuk sebuah struktur pohon yang disebut sebagai pohon pencarian atau pohon branch-and- bound di mana simpul simpulnya membangun subregion subregion. Selain branching, algoritma ini juga melakukan apa yang disebut dengan bounding yang merupakan cara cepat untuk mencari batas atas dan bawah untuk solusi optimal pada subregion yang mengarah ke solusi. Algoritma Branch and Bound banyak digunakan untuk memecahkan berbagai macam permasalahan antara lain : persoalan Knapsack 0/1, Travelling Salesman Problem (TSP), The N-Queens Problem (Persoalan N-Ratu), Graph Colouring (Pewarnaan Graf), Sirkuit Hamilton, Integer Programming, Nonlinear Programming, Quadratic Assignment Problem (QAP), Maximum Satisfiability Problem (MAX- SAT), dan lain sebagainya. - Langkah-Langkah Maksimisasi : 1. Selesaikan masalah LP dengan metode simpleks biasa tanpa pembatasan bilangan bulat. 2. Teliti solusi optimumnya. Jika variabel basis yang diharapkan bulat adalah bulat, solusi optimum bulat telah tercapai. Jika satu atau lebih variabel basis yang diharapkan bulat ternyata tidak bulat, lanjutkan ke langkah 3. 3. Nilai-nilai solusi pecahan yang layak dicabangkan ke dalam sub-sub masalah. Tujuannya adalah untuk menghilangkan solusi kontinu yang tidak memenuhi persyaratan bulat dan masalah itu. Pencabangan itu dilakukan melalui kendala-kendala mutually exclusive yang perlu untuk memenuhi persyaratan bulat dengan jaminan tak ada solusi bulat layak yang tak diikutsertakan. 4. Untuk setiap submasalah, nilai-nilai solusi optimum kontinu fungsi tujuan ditetapkan sebagai batas atas. Solusi bulat terbaik menjadi batas bawah (pada awalnya, ini adalah solusi kontinu yang dibulatkan ke bawah). Sub-sub masalah yang memiliki batas atas kurang dari batas bawah yang ada tak diikutsertakan pada analisis selanjutnya. Suatu solusi bulat layak adalah sama baik atau lebih baik dari batas atas untuk setiap submasalah yang dicari. Jika solusi demikian ada, suatu submasalah dengan batas atas terbaik dipilih untuk dicabangkan. Kembali ke langkah 3. b. Metode Cutting Plane Algorithm (Metode Gomory) Temukan solusi optimal untuk Linier Problem (menggunakan prosedur standar). Tambahkan fungsi pembatas khusus (disebut cuts) untuk menghasilkan titik ekstrim optimal integer. Cuts tidak menghilangkan titik feasible integer asal. - Langka-langkah : 1. Selesaikan masalah integer programming dengan menggunakan metode simpleks LP. 2. Periksa solusi optimum. Jika semua variabel basis memiliki nilai-nilai integer, solusi optimum integer telah diperoleh dan proses solusi berakhir. Jika satu atau lebih variabel basis memiliki nilai- nilai pecahan, teruskan ke langkah 3. 3. Buatlah suatu kendala Gomory (suatu bidang pemotong atau cutting- plane) dan cari solusi optimum melalui prosedur dual simplex. Kembali ke langkah 2. c. Metode Pembulatan Suatu pendekatan yang sederhana dan kadang-kadang praktis, dengan membulatkan (ke bilangan bulat terdekat) nilai-nilai variabel keputusan yang diperoleh melalui LP. Efektif untuk nilai solusi yang besar, misal produksi pensil 13.345,3 menjadi 13.345 Kelemahan: solusinya belum tentu solusi optimal (lebih buruk atau solusinya non fisibel). Contoh : Masalah 1: Max Z = 100 X1 + 90 X2 s.t. 10 X1 + 7 X2 70 5 X1 + 10 X2 50 X1 , X2 0 Masalah 2: Min Z = 200 X1 + 400 X2 s.t. 10X1 + 25 X2 100 3X1+ 2X2 12 X1, X2 0 Masalah 3: Max Z = 80 X1 + 100 X2 s.t. 4 X1 + 2 X2 12 X1+ 5X2 15 X1, X2 0 MASALAH Solusi dengan metode simpleks Solusi pembulatan ke bilangan bulat terdekat Solusi bulat optimum yang sesungguhnya 1 X1 =5,38 X2=2,31 Z=746,15 X1=5 X2=2 Z=680 X1=7 X2 =0 Z=700 2 X1=1,82 X2=3,27 Z= 1672,73 X1 =2 X2= 4 tak layak X1=3, X2=3 atau X1=5, X2=2 Z=1800 3 X1=1,66 X2=2,66 Z=400 X1=2 X2=3 tak layak X1 =2 X2=2 Z=360
d. Metode Grafik Identik dengan metode grafik LP, ditambah persyaratan solusi optimum bilangan bulat. Khusus kasus dengan 2 variabel keputusan. Contoh : Max Z = 100 X1 + 90 X2 s.t. 10 X1 + 7 X2 70 5 X1 + 10 X2 50 X1 , X2 nonnegatif integer Buat titik-titik solusi integer pada daerah fisibel OABC. Geser garis Z optimal (LP) di titik B, ke arah daerah fisibel. Titik pertama yang yang ketemu adalah solusi optimal integer yaitu titik A.
C. KLASI FI KASI I NTEGER PROGRAMMI NG 1. Pure Integer Programming Semua variable keputusan harus bernilai bilangan bulat 2. Mixed Integer Programming (MIP) tidak semua variable keputusan berupa bilangan bulat 3. Binary Integer Programming (BIP) semua variable keputusan memilikinilai berupa bilangan biner (0 atau 1). 4. Mixed Binary Integer Programming (MBIP) Jika beberapa variable keputusan memiliki nilai biner, beberapa variable keputusan memiliki nilai integer dan sisanya memilikinilai real (boleh pecahan).
D. PROBLEM I NTEGER PROGREMMI NG Permasalahan yang mengharuskan variabel keputusan bernilai integer diantaranya adalah :
E. CONTOH PROBLEM I NTEGER PROGREMMI NG PENJADWALAN PEKERJA (SCHEDULING) CAPITAL BUDGETING KNAPSACK PROBLEM PEMILIHAN LOKASI PABRIK DIET PROBLEM BLENDING SET COVERING PROBLEM