Integer Programming
Integer Programming
[email protected]
Programa bilangan bulat atau integer programming (IP) adalah bentuk lain dari
programa linier (LP) dimana asumsi divisibilitasnya melemah atau hilang sama sekali
Asumsi divisibilitas melemah, artinya sebagian dari nilai variable keputusan harus
berupa bilangan bulat (integer) dan bagian lainnya boleh berupa bilangan pecahan.
Bentuk ini muncul karena dalam kenyataannya tidak semua variable keputusan dapat
berupa pecahan
Misalnya jika variable keputusan yang dihadapi berkaitan dengan jumlah mesin yang
diperlukan pada suatu horizon perencanaan, maka jawaban 10/3 mesin sangat tidak
realistis dalam konteks keputusan yang nyata.
Dalam hal ini harus ditentukan, apakah akan menggunakan 3 atau 4 mesin
Examples of IP Problem
1. Employee Scheduling
2. Production Planning
◦ Simple Problem
◦ With Quantity Discount
◦ Fixed Charge Problem
◦ With Minimum Order
3. Capital Budgeting
4. Item Purchasing
Persoalan IP di mana hanya sebagian dari variable keputusannya yang harus
integer disebut sebagai persoalan IP campuran
Contohnya :
Contoh :
Maksimumkan Z = 3x1 + 2x2
s/t :
X1 + x2 <= 6
X1, x2 >= 0; x1, x2 integer
Ada pula persoalan IP yang seluruh variabelnya harus berharga 0 atau 1.
Persoalan semacam ini disebut sebagai persoalan programa bilangan bulat
nol-satu ( IP 0-1)
Contoh :
Maksimumkan Z = x1 – x2
s/t :
X1 + 2x2 <= 2
2x1 – x2 <= 1
X1, x2 = 0 atau 1
Kondisi ini akan ditemukan dalam kasus dimana persoalan yang dihadapi
merupakan persoalan keputusan “ya” atau “tidak”. Misalnya keputusan untuk
membuka pabrik baru, mengalokasikan modal, dll
Contoh 1.
CV Kayu Indah yang memproduksi meja dan kursi, menjual produk dengan
keuntungan Rp. 8.000/unit meja dan Rp. 5.000/unit kursi. Mengingat
perusahaan ini baru dalam taraf permulaan, saat ini perusahaan hanya mampu
menyediakan maksimum 45 m3 kayu setiap harinya, sedangkan jam kerja yang
tersedia tidak lebih dari 6 jam orang per hari. Jika satu unit meja membutuhkan
1 jam orang dan 9 m3 kayu, sedangkan 1 unit kursi membutuhkan 1 jam orang
dan 5 m3 kayu. Bagaimanakah formulasi di atas agar di peroleh keuntungan yang
maksimum?
Jawaban contoh 1 :
Misalkan x1 = jumlah unit meja yang di produksi/hari
x2 = jumlah unit kursi yang di produksi/hari
X1, dan x2 harus berharga integer
Total keuntungan yang diperoleh adalah 8x1 + 5x2
Pembatas yang dihadapi berkaitan dengan jam kerja dan kayu yang tersedia
setiap harinya
Jawaban contoh 1 :
Maksimumkan : z = 8x1 + 5x2
s/t :
x1 + x2 <= 6
9x1 + 5x2 <= 45
x1, x2 >= 0; x1, x2 integer
Contoh 2 :
Tuan Sugih yang saat ini mempunyai uang tunai sebesar 14 milyar, bermaksud
menginvestasikan uangnya itu dalam beberapa jenis usaha. Setelah
memperoleh informasi yang lengkap, ia mendapatkan bahwa ada 4 macam
investasi yang patut dipertimbangkan. Investasi 1 akan menghasilkan Npv
sebesar 16 Milyar, sedangkan investasi ke 2, 3, 4 masing masing akan
menghasilkan Npv sebesar 22 milyar, 12 milyar, dan 8 milyar. Masing masing
investasi memerlukan pengeluaran awal sebesar 5, 7, 4, dan 3 milyar untuk
investasi 1, 2, 3, dan 4. formulasikan persoalan di atas ke dalam bentuk
persoalan IP sehingga Tuan Sugih dapat mengetahui bagaimana Npv maksimum
dapat diperoleh dari keempat investasi itu.
Jawaban :
Definisikan variable keputusan sebagai berikut :
Formulasinya :
Maksimumkan: z = 16x1 + 22x2 + 12x3 + 8x4
s/t :
5x1 + 7x2 + 4x3 + 3x4 <= 14
xj = 0 atau 1 (j= 1,2,3,4)
Persoalan IP yang hanya mempunyai satu pembatas seperti contoh diatas dikenal sebagai
persoalan ransel atau knapsack problem.
Programa linier relaksasi
Bentuk programa linier yang diperoleh dengan mengabaikan pembatas integer
disebut sebagai programa linier (LP) relaksasi
Setiap persoalan IP dapat dipandang sebagai persoalan LP relaksasi dengan
beberapa pembatas tambahan, yaitu pembatas yang menyatakan variable
variable mana yang harus berharga integer atau harus berharga nol atau satu.
hal ini berarti bahwa daerah fisibel untuk setiap persoalan IP akan berada
dalam daerah fisibel untuk persoalan LP relaksasi yang bersangkutan.
Integer Feasible vs. LP Feasible Region
X2
0
0 1 2 3 4 X1
Metode Branch and Bound
B&B adalah sebuah metode untuk menghasilkan penyelesaian optimal
pemrograman linear yang menghasilkan variable-variable keputusan bilangan
bulat
Metode ini membatasi penyelesaian optimal yang akan menghasilkan bilangan
pecahan dengan cara membuat cabang atas dan bawah bagi masing-masing
variable keputusan yang bernilai pecahan agar bernilai bulat sehingga setiap
pembatasan akan menghasilkan cabang baru.
What is the solution of the following
problem?
0
0 1 2 3 4 X1
The Branch-And-Bound Algorithm
Problem I MAX: 2X1 + 3X2 X1=2.769
Original Problem
X2=1.826
S.T. X1 + 3X2 <= 8.25 X1<=2
Obj = 11.019 X1>=3
X1 >= 3
X1 <= 2
Problem III Problem IV
X1=2
X2 >= 3 X2=2 infeasible
Obj = 10
Problem II
Problem I
X1=2 X1=3
X2=2.083 X2=1.25
Obj = 10.25 Obj = 9.75
X2<=2 X2>=3
X2>=4 X2>=5
X2 = 4 X2 = 5
X1 = 7,3 X1 = 6
Z = 26,67 Z = 27
Solusi Optimal
X1<=7 X1>=8
IP murni dengan Teknik BnB
dalam prakteknya, hamper seluruh persoalan bilangan bulat/IP diselesaikan
dengan menggunakan teknik BnB
teknik ini mencari solusi optimal dari suatu persoalan IP dengan
mengenumerasi titik titik dalam daerah fisibel dari suatu sub persoalan
Ingat, bahwa dari suatu persoalan IP, baik murni maupun campuran, dapat
diperoleh bentuk persoalan programa linier relaksasi
Contoh 1
Maksimumkan : z = 8x1 + 5x2
s/t :
x1 + x2 <= 6
9x1 + 5x2 <= 45
x1, x2 >= 0; x1, x2 integer
1. Selesaikan persoalan LP relaksasi dari soal di atas (sub persoalan 1). Hasilnya
adalah z = 165/4, x1 = 15/4, x2 = 9/4
2. Nilai z optimal untuk IP <= nilai z optimal untuk LP relaksasi
3. Nilai z optimal LP relaksasi adalah batas atas dari keuntunganb
X1=3,75
X2=2,25
Z=41,25
x1<=3 X1>=4
X1=3 X1=4
X2=3 X2=1,8
Z=39 Z=41
X1=4,44
X2=1 Tidak
Z=40,56 feasible
x1<=4 X1>=5
X1=4 X1=5
X2=1 X2=0 Optimal
Z=37 Z=40
X1 <= 0 X1 >= 1
X1 = 0 X1 = 1
X2 = 3 X2 = 3/2
Z=3 Z = 7/2
Persoalan Ransel (Knapsack Problem)
Persoalan IP yang hanya memiliki pembatas tunggal
Formulasi : Maksimumkan z = c1x1 + c2x2 + ……… + cnxn
berdasarkan : a1x1 + a2x2 + …. + anxn <= b
xi = 0 atau 1 (I = 1,2, …….n)
ci adalah manfaat yang dapat diperoleh apabila barang ke i dipilih
b adalah jumlah sumber yang tersedia
ai adalah jumlah sumber yang digunakan oleh barang ke-I
ci/ai dapat diinterpretasikan sebagai manfaat yang diperoleh barang ke-i dari setiap unit
sumber yang digunakan oleh barang ke-I
Jadi, barang yang terbaik adalah barang yang memiliki nilai ci/ai terbesar
Maksimumkan :
Z = 40x1 + 80x2 + 10x3 + 10x4 + 4x5 + 20x6 + 60x7
Berdasarkan :
40x1 + 50x2 + 30x3 + 10x4 + 10x5 + 40x6 + 30x7 <= 100
xi = 0 atau 1 (i = 1,2,…..7)
Menghitung rasio ci/ai
Barang ke- ci/ai Peringkat
1 1 3,5
2 8/5 2
3 1/3 7
4 1 3,5
5 4/10 6
6 1/2 5
7 2 1
X3 = 0 Z= 44
X3 = 1 X1=x3=1;
X1=x2=1; x2=0,71;
x3=0; x4=0
x4=0,67
Z= 43,71
X4 = 0 Z= 43,3 X2 = 0 X2 = 1
X4 = 1
X1=x4=1; X1=x3=1;
X1=x2=1; X1=0,6;
x2=0,86; x2=0;
x3=x4=0;
x3=0; x4=1 X2=x3=1;
x4=0
Z= 38
Z= 42,86 Z= 36
X2 = 0 Z= 43,6
X2 = 1
X1 = 0
X1=x4=1; X1 = 1
x2=0; X1=0,8;x4=1; X1=0;
x3=0; x2=1;x3=0; X2=x3=1
x4=1 Tidak
Z= 24 Z= 42,8 feasible
X1 = 0 X1 = 1 Z= 42
X1=0;x4=1;
x2=1;x3=0;
Tidak
Z= 30 feasible
Terima Kasih