Metode lainnya yang bisa digunakan untuk memecahkan permasalahan Linear Programming adalah metode simplex. Pada metode ini, variable keputusan tidak terbatas pada dua variable saja seperti pada metode sebelumnya. Metode ini memungkinkan pencarian solusi untuk banyak variable keputusan dan batasan.
Bentuk Baku
Sebelum melakukan perhitungan iteratif untuk menentukan solusi optimal, pertama sekali bentuk umum pemrograman linier dirubah ke dalam bentuk baku terlebih dahulu. Bentuk baku dalam metode simpleks tidak hanya mengubah persamaan kendala ke dalam bentuk sama dengan, tetapi setiap fungsi kendala harus diwakili oleh satu variabel basis awal. Variabel basis awal menunjukkan status sumber daya pada kondisi sebelum ada aktivitas yang dilakukan. Dengan kata lain, variabel keputusan semuanya masih bernilai nol. Dengan demikian, meskipun fungsi kendala pada bentuk umum pemrograman linier sudah dalam bentuk persamaan, fungsi kendala tersebut masih harus tetap berubah.
Ada beberapa hal yang harus diperhatikan dalam membuat bentuk baku, yaitu :
1. Fungsi kendala dengan pertidaksamaan ≤ dalam bentuk umum, dirubah menjadi persamaan (=) dengan menambahkan satu variabel slack.
2. Fungsi kendala dengan pertidaksamaan ≥ dalam bentuk umum, dirubah menjadi persamaan (=) dengan mengurangkan satu variabel surplus.
3. Fungsi kendala dengan persamaan dalam bentuk umum,ditambahkan satu artificial variabel (variabel buatan).
Contoh 2 :
Maksimumkan Z = 3X1 + 5X2
Batasan (constrain)
(1) 2X1 £ 8
(2) 3X2 £ 15
(3) 6X1 + 5X2 £ 30
Penyelesaian :
Langkah 1: Mengubah fungsi tujuan dan batasan-batasan
Fungsi tujuan
Z = 3X1 + 5X2 diubah menjadi Z - 3X1 - 5X2 = 0.
Fungsi batasan (diubah menjadi kesamaan & di + slack variabel)
(1) 2X1 £ 8 menjadi 2X1 + X3 = 8
(2) 3X2 £ 15 menjadi 3X2+ X4 = 15
(3) 6X1 + 5X2 £ 30 menjadi 6X1+ 5X2 + X5 = 30
Langkah 2: Menyusun persamaan-persamaan di dalam tabel Beberapa Istilah dalam Metode Simplek
· NK adalah nilai kanan persamaan, yaitu nilai di belakang tanda sama dengan (=). Untuk batasan 1 sebesar 8, batasan 2 sebesar 15, dan batasan 3 sebesar 30.
· Variabel dasar adalah variabel yang nilainya sama dengan sisi kanan dari persamaan. Pada persamaan 2X1 + X3 = 8, kalau belum ada kegiatan apa-apa, berarti nilai X2 = 0, Pada tabel tersebut nilai variabel dasar (X3, X4, X5) pada fungsi tujuan pada tabel permulaan ini harus 0, dan nilainya pada batasan-batasan bertanda positif
Diperoleh table simplek yang pertama berdasarkan hasil dari langkah 1 sebagai berikut
Variabel Dasar | Z | X1 | X2 | X3 | X4 | X5 | NK |
Z | 1 | -3 | -5 | 0 | 0 | 0 | 0 |
X3 | 0 | 2 | 0 | 1 | 0 | 0 | 8 |
X4 | 0 | 0 | 3 | 0 | 1 | 0 | 15 |
X5 | 0 | 6 | 5 | 0 | 0 | 1 | 30 |
Langkah 3: Memilih kolom kunci
Kolom kunci adalah kolom yang merupakan dasar untuk mengubah tabel simplek. Pilihlah kolom yang mempunyai nilai pada garis fungsi tujuan yang bernilai negatif dengan angka terbesar. Dalam hal ini kolom X2 dengan nilai pada baris persamaan tujuan –5. Berilah tanda segi empat pada kolom X2, seperti tabel berikut :
Catatan :
Jika suatu tabel sudah tidak memiliki nilai negatif pada baris fungsi tujuan, berarti tabel itu tidak bisa dioptimalkan lagi (sudah optimal).
Langkah 4: Memilih baris kunci
Baris kunci adalah baris yang merupakan dasar untuk mengubah tabel simplek, dengan cara mencari indeks tiap-tiap baris dengan membagi nilai-nilai pada kolom NK dengan nilai yang sebaris pada kolom kunci.
Indeks = (Nilai Kolom NK) / (Nilai kolom kunci)
Untuk baris batasan 1 besarnya indeks = 8/0 = ~, baris batasan 2 = 15/3 = 5, dan baris batasan 3 = 30/5 = 6. Pilih baris yang mempunyai indeks positif dengan angka terkecil. Dalam hal ini batasan ke-2 yang terpilih sebagai baris kunci. Beri tanda segi empat pada baris kunci. Nilai yang masuk dalam kolom kunci dan juga masuk dalam baris kunci disebut angka kunci
Langkah 5: Mengubah nilai-nilai baris kunci
Nilai baris kunci diubah dengan cara membaginya dengan angka kunci, seperti tabel bagian bawah (0/3 = 0; 3/3 = 1; 0/3 = 0; 1/3 = 1/3; 0/3 = 0; 15/3 = 5). Gantilah variabel dasar pada baris itu dengan variabel yang terdapat di bagian atas kolom kunci (X2).Baris ke-4 (batasan 3)
[ 6 | 5 | 0 | 0 | 1, | 30 ] | |||
(5) | [ 0 | 1 | 0 | 1/3 | 0, | 5 ] | ( - ) | |
Nilai baru | = | [ 6 | 0 | 0 | -5/3 | 1, | 5 ] |
Hasil nilai yang di ubah. Tabel atas nilai lama dan tabel bawah nilai baru
Variabel Dasar | Z | X1 | X2 | X3 | X4 | X5 | NK |
Z | 1 | -3 | -5 | 0 | 0 | 0 | 0 |
X3 | 0 | 2 | 0 | 1 | 0 | 0 | 8 |
X4 | 0 | 0 | 3 | 0 | 1 | 0 | 15 |
X5 | 0 | 6 | 5 | 0 | 0 | 1 | 30 |
Z | 1 | -3 | 0 | 0 | 5/3 | 0 | 25 |
X3 | 0 | 2 | 0 | 1 | 0 | 0 | 8 |
X2 | 0 | 0 | 1 | 0 | 1/3 | 0 | 5 |
X5 | 0 | 6 | 0 | 0 | -5/3 | 1 | 5 |
Langkah 7: Melanjutkan perbaikan
Ulangilah langkah-langkah perbaikan mulai langkah 3 sampai langkah ke-6 untuk memperbaiki tabel-tabel yang telah diubah/diperbaiki nilainya. Perubahan baru berhenti setelah pada baris pertama (fungsi tujuan) tidak ada yang bernilai negatif
Diperoleh Nilai baru sebagai berikut
Baris ke-1
Baris ke-2 (batasan 1)
[ 2 | 0 | 1 | 0 | 0, | 8 ] | |||
(2) | [ 1 | 0 | 0 | -5/18 | 1/6, | 5/6] | ( - ) | |
Nilai baru | = | 0 | 0 | 1 | 5/9 | -1/3, | 61/3] |
Baris ke-3 tidak berubah karena nilai pada kolom kunci = 0
[ 0 | 1 | 0 | 1/3 | 0, | 5 ] | |||
(0) | [ 1 | 0 | 0 | -5/18 | 1/6, | 5/6] | ( - ) | |
Nilai baru | = | 0 | 1 | 0 | 1/3 | 0, | 5] |
Sehingga diperoleh Tabel simpleks final hasil perubahan sebagai berikut
Variabel Dasar | Z | X1 | X2 | X3 | X4 | X5 | NK |
Z | 1 | 0 | 0 | 0 | 5/6 | ½ | 271/2 |
X3 | 0 | 0 | 0 | 1 | 5/9 | -1/3 | 61/3 |
X2 | 0 | 0 | 1 | 0 | 1/3 | 0 | 5 |
X1 | 0 | 1 | 0 | 0 | -5/18 | 1/6 | 5/6 |
Berdasarkan hasil perhitungan di atas, maka nilai maksimum diperoleh sebesar 27.5 untuk nilai X1= 5 dan X2 = 5/6;
REFERENSI :
[1] . David G. Luenberger and Yinyu Ye. Linear and Non Linear Programming, 3rd Edition. Springer, 2008.
[2] . Robert J. Vanderbei. Linear Programming : Foundation and Extention, 3rd Edition. Springer, 2008
[3] . Lianah. Modul Pembelajaran Matematika Bisnis : Programasi Linier. Universitas Mercu Buana Jakarta. 2008
0 komentar:
Post a Comment