130 likes | 552 Views
Pemrograman Bilangan Bulat (Integer Programming). Sebuah program linear dengan persyaratan tambahan bahwa semua variabelnya merupakan bilangan bulat. Algoritma Pencabangan (Branching) Algoritma Pemotongan/Gomory. Algoritma Pencabangan (Branching). 1. Aproksimasi pertama.
E N D
Pemrograman Bilangan Bulat (Integer Programming) Sebuah program linear dengan persyaratan tambahan bahwa semua variabelnya merupakan bilangan bulat • Algoritma Pencabangan (Branching) • Algoritma Pemotongan/Gomory Algoritma Pencabangan (Branching) 1. Aproksimasi pertama Abaikan persyaratan bilangan bulat dan selesaikan pemrograman linearnya dengan salah satu teknik yang telah dipelajari sebelumnya (misalkan dengan metoda grafik). Jika solusi optimalnya berbentuk bilangan bulat maka pemecahan tersebut juga merupakan pemecahan optimal untuk program bilangan bulat 2. Aproksimasi kedua Jika solusi optimal dengan teknik sebelumnya tidak bulat (keadaan ini sering terjadi) maka komponen-komponen dari aproksimasi pertama dapat dibulatkan ke bilangan bulat terdekat yang layak sehingga diperoleh aproksimasi kedua. Prosedur ini lebih efektif apabila aproksaimasinya mengandung bilangan besar Langkah/Proses: Jika aproksimasi pertama masih mengandung variabel yang tidak bulat, misalnya X*j maka i1 < < i2 dimana i1 dan i2 adalah dua bilangan bulat tak negatif yang berturutan. Buatlah 2 program (model) bilangan bulat yang baru dengan cara memperluas program (model) sebelumnya dengan kendala xj ≤ i1 atau kendala Xj ≥ i2. Proses ini disebut pencabangan (Branching)
Contoh 1 Diketahui model matematis sbb: Maksimumkan : Z = 10X1 + X2 dengan kendala : 2 X1 + 5 X2 ≤ 11 dan : x1 dan X2 bulat tak negatif Dengan mengabaikan persyaratan bilangan bulat, dengan metode grafik maka solusi optimalnya adalah: X*1 = 5.5, X*2 = 0, dan Z* = 55 5 < X*1 < 6 Maks Z = 10X1 + X2 kendala 2X1 + 5 X2 ≤ 11 X1 ≤ 5 dan X1danX2 bulat tak negatif Maks Z = 10X1 + X2 kendala 2X1 + 5 X2 ≤ 11 X1 ≥ 6 dan X1danX2 bulat tak negatif X*1 = 5, X*2 = 0.2, dan Z* = 50.2 Pemecahan tidak layak 0 < X*2 < 1 Maks Z = 10X1 + X2 kendala 2X1 + 5 X2 ≤ 11 X1 ≤ 5 X2 ≤ 0 dan X1danX2 bulat tak negatif Maks Z = 10X1 + X2 kendala 2X1 + 5 X2 ≤ 11 X1 ≥ 6 X2 ≥ 1 dan X1danX2 bulat tak negatif X*1 = 5, X*2 = 0, dan Z* = 50 X*1 = 3, X*2 = 1, dan Z* = 31
Hasil Perhitungn dalam bentuk diagram Z* = 50 4 x2 ≤ 0 Z* = 50.2 (5, 0) 2 Z* = 30 x1 ≤ 5 x2 ≥ 1 Z* = 55 5 (5, 0.2) 1 (3, 1) x1 ≥ 6 Tidak Layak (5.5 , 0) 3 Latihan Maksimumkan z = 3X1 + 4 X2 Dengan kendala 2X1 + X2 ≤ 6 2X1 + 3X2 ≤ 9 Dan X1 dab X2 bulat tak negatif • Catatan: • Jika hasil aproksimasi pertamanya menunjukkan kedua variabel keputusannya tidak bulat, pilihlah yang paling besar penyimpangan dari bilangan bulat terdekatnya • Jika kedua variabel tersebut penyimpangannya sama maka kita bisa membuat pencabangan dari salah satunya, atau pilihlah yang mempunyai nilai Z optimal