ALGORITMA PEMOTONGAN Algoritma Gomory
Algoritma Gomory Selesaikan solusi awal masalah IP dgn Simpleks atau dengan metoda grafik. Periksa solusi optimum, jika semua variabel basis memiliki nilai integer, solusi optimum integer telah didapat. Jika satu atau lebih variabel basis memiliki nilai pecah, teruskan ke langkah 3. Buatlah suatu kendala Gomory (suatu bidang pemotong atau cutting point) dan cari solusi optimum melalui prosedur dual simpleks, kemudian kembali ke langkah 2..
Pembentukan Kendala Berikut proses pembentukan kendala Gomory. Misal tabel optimum LP berikut merupakan solusi optimum kontinu
Variabel Xi (i=1,2…m) = variabel basis Variabel Wj(j=1,2,…n) = var Variabel Xi (i=1,2…m) = variabel basis Variabel Wj(j=1,2,…n) = var.nonbasis Xi =bi - aij Wj , di mana b non integer. Kemudian pisahkan bi dan ai menjadi bagian bulat dan bagian pecah non negatif seperti berikut : _ _ bi = bi + fi fi = bi - -bi, utk 0 fi 1 aij = aij + fij fij =aij - -aij,utk 0 fij 1
Dengan menggunakan rumusan tsb maka tabel baru setelah penambahan kendala Gomory menjadi :
Langkah 1 Dari tabel simpleks terakhir, pilih salah satu (sembarang) variabel-variabel tak bulat dan dengan tidak menetapkan harga nol bagi variabel-variabel tak dasar. Tinjaulah persamaan kendala yang dinyatakan oleh baris dari variabel yang dipilih X1 x2 x3 x4 x5 X3 x2 -1/2 0 1 -7/3 ½ 11/2 1/2 1 0 -1 1/4 1 4 0 0 1 3/4 25/2 Aproksimasi pertama x3* = 11/2 x2* = 1 Variabel tak dasar: X1* = 0 X4* = 0 X5* = 0 - ½ x1 + x3 – 7/3 x4 + ½ x5 = 11/2
Langkah 2 Tuliskan kembali persamaan di atas sebagai jumlah dari sebuah bilangan bulat dan sebuah pecahan positif antara 0 dan 1. Kemudian tuliskan kembali persamaannya sehingga ruas kiri hanya mengandung suku-suku dengan koefisien pecahan (dan sebuah konstanta pecahan, sedangkan ruas kanannya hanya mengandung suku-suku dengan koefisien bulat (dan sebuah konstanta bulat - ½ x1 + x3 – 7/3 x4 + ½ x5 = 11/2 Bilangan bulat Pecahan antara 0 dan 1 1/2x1 + 2/3x4 + 1/2x5 – ½ = 5 + x1 – x3 + 3x4 Koefisien&konstanta pecahan Koefisien&konstanta bulat
Langkah 3 Persyaratkan ruas kiri tersebut di atas menjadi persamaan tak negatif (lebih besar atau sama dengan 0) 1/2x1 + 2/3x4 + 1/2x5 – ½ ≥ 0 Atau menjadi 1/2x1 + 2/3x4 + 1/2x5 ≥ ½ Persamaan terakhir tersebut menjadi fungsi kendala yang baru untuk iterasi pertama. Model yang sudah ditambahkan kendala tersebut selanjutnya dicari lagi solusinya dengan metoda simpleks. Jika solusinya masih ada yang tidak bulat, maka kembali ke langkah 1. Jadi bisa terjadi beberapa iterasi atau pengulangan proses sampai ditemukan solusi yang bulat.
Contoh Kasus Maks z= 7x1 + 9x2 Kendala : -x1 + 3x2 6 7x1 + x2 35 x1,x2 non negatif integer Solusi kontinu optimumnya sbb:
Karena solusi tidak bulat, dan kedua f1=f2=1/2, sehingga salah satu yg di gunakan, mis X2 menghasilkan X2 + 7/22 S1 + 1/22 S2 = 7/2 atau X2 +(0+7/22)S1+(0+1/22)S2=(3+1/2) Sehingga kendala Gomory adalah Sg1- 7/22S1 – 1/22 S2 = -1/2 dan diperoleh tabel berikutnya :
Dgn metoda dual simpleks dihasilkan Karena solusi masih pecah, kendala gomory baru ditambahkan pada f1 terbesar (f1=4/7), maka X1+(0+1/7) S2 + (-1+6/7) Sg1=(4+4/7)
Kendala Gomory kedua: Sg2 –1/7 S2 – 6/7 Sg1 = -4/7 diperoleh:
Menggunakan metoda dual simpleks diperoleh : yang menghasilkan solusi bulat optimum X1=4, X2=3 dan Z=55
Latihan Maksimumkan z = 2x1 + x2 Dengan kendala 2x1 + 5x2 ≤ 17 3x1 + 2x2 ≤ 10 Dan x1 dan x2 bulat dan tak negatif Jika model tersebut diselesaikan dengan metode simpleks tanpa memperhatikan persyaratan bulat tak negatif maka solusi optimalnya (tabel terakhir): Karena solusi optimalnya tidak bulat, buatlah model matematis berikutnya dengan algortima Gomory ?
X1 x2 x3 x4 X3 x1 0 11/3 1 -2/3 31/3 1 2/3 0 1/3 10/3 0 1/3 0 2/3 20/3