Presentation is loading. Please wait.

Presentation is loading. Please wait.

Pemrograman Bilangan Bulat (Integer Programming) Sebuah program linear dengan persyaratan tambahan bahwa semua variabelnya merupakan bilangan bulat Algoritma.

Similar presentations


Presentation on theme: "Pemrograman Bilangan Bulat (Integer Programming) Sebuah program linear dengan persyaratan tambahan bahwa semua variabelnya merupakan bilangan bulat Algoritma."— Presentation transcript:

1 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 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) Langkah/Proses:

2 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 kendala2X1 + 5 X2 ≤ 11 X1 ≤ 5 dan X1danX2 bulat tak negatif Maks Z = 10X1 + X2 kendala2X1 + 5 X2 ≤ 11 X1 ≥ 6 dan X1danX2 bulat tak negatif X*1 = 5, X*2 = 0.2, dan Z* = 50.2Pemecahan tidak layak 0 < X*2 < 1 Maks Z = 10X1 + X2 kendala2X1 + 5 X2 ≤ 11 X1 ≤ 5 X2 ≤ 0 dan X1danX2 bulat tak negatif Maks Z = 10X1 + X2 kendala2X1 + 5 X2 ≤ 11 X1 ≥ 6 X2 ≥ 1 dan X1danX2 bulat tak negatif X*1 = 5, X*2 = 0, dan Z* = 50X*1 = 3, X*2 = 1, dan Z* = 31

3 Hasil Perhitungn dalam bentuk diagram 1 2 3 4 5 Z* = 55 Z* = 50.2 Z* = 50 Z* = 30 (5.5, 0) (5, 0.2) (5, 0) (3, 1) Tidak Layak x1 ≤ 5 x2 ≤ 0 x1 ≥ 6 x2 ≥ 1 Maksimumkan z = 3X1 + 4 X2 Dengan kendala 2X1 + X2 ≤ 6 2X1 + 3X2 ≤ 9 Dan X1 dab X2 bulat tak negatif Latihan 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


Download ppt "Pemrograman Bilangan Bulat (Integer Programming) Sebuah program linear dengan persyaratan tambahan bahwa semua variabelnya merupakan bilangan bulat Algoritma."

Similar presentations


Ads by Google