PROGRAMING
Metode Simpleks
Metode Simpleks merupakan salah satu teknik penyelesaian dalam program linier
yang digunakan sebagai teknik pengambilan keputusan dalam permasalahn yang
berhubungan dengan pengalokasian sumber daya yang optimal.
Metode Simpleks digunakan untuk mencari nilai optimal dari program linier yang
melibatkan banyak constraint (pembatas) dan banyak variable (lebih dari dua
variable).
Istilah metode simpleks
1. Iterasi : tahapan perhitungan dimana nilai dalam perhitungan itu tergantung dari nilai table sebelumnya.
2. Variabel non basis : variable yang nilainya diatur menjadi nol pada sembarang iterasi.
3. Variabel basis : variabel yang nilainya bukan nol pada sembarang iterasi.
4. Solusi atau Nilai Kanan (NK) : nilai sumber daya pembatas yang masih tersedia
5. Variabel Slack : variabel yang ditambahkan ke model matematika kendala untuk mengkonversi
pertidaksamaan ≤ menjadi =
6. Variabel surplus : variabel yang dikurangkan dari model matematika untuk mengkonversikan
pertidaksamaan ≥ menjadi persamaan =
7. Variabel buatan : variabel yang ditambahkan ke dalam model matematika kendala dengan bentuk ≥ atau =
untuk difungsikan sebagai variabel basis awal.
Istilah metode simpleks
Penentuan solusi optimal dilakukan dengan memeriksa titik ekstrim satu per satu
dengan cara perhitungan iterative.
Sehingga penentuan solusi optimal dengan metode simpleks dilakukan tahap demi tahap
yang disebut dengan iterasi, dimana iterasinya kita tempuh dengan memeriksa titik
ekstrim satu per satu.
Metose simpleks ini cukup rumit dan Panjang, butuh waktu Panjang juga, dibandingkan
kalau mencari solusi maksimum dg metode grafik.
Bentuk Baku
Sebelum melakukan perhitungan iterative untuk menentukan solusi optimal, pertama sekali
bentuk umum pemrograman linier diubah ke dalam bentuk baku.
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.
Beberapa hal yang harus diperhatikan dalam
membuat bentuk baku
Maksimum z = 8x1 + 9x2 + 4x3 + 0s1 + 0s2 + 0s3 atau Untuk fungsi tujuan, karena kita punya 3
variabel yaitu x1, x2, dan x3, kemudian ada
z - 8x1 - 9x2 - 4x3 + 0s1 + 0s2 + 0s3 = 0 penambahan 3 variabel slack baru,maka
Kendala: untuk mengubah bentuk umum ke dalam
bentuk baku pd simpleks, ini pun juga
x1 + x2 + 2x3 + s1 = 2 harus ditambahkan pd baris fungsi tujuan.
2x1 + 3x2 + 4x3 + s2 = 3 Jadi s1, s2, dan s3 dituliskan pada fungsi
tujuan.
7x1 + 6x2 + 2x3 +s3 = 8
Karena kita akan mencari 3 variabel ini
X1, x2, x3s1, s2, s3 = 0 (bentuk baku) saja, sehingga s1, s2, s3 inicukup
ditambahkan koefisien Nol (0), sehingga
ditulis lengkap seperti di samping
Pembuatan Tabel Simpleks
NK = nilai kanan
Layak/dilanjutkan
… Langkah-Langkah penyelesaian adalah sbb
Kolom pivot
VB X1 X2 X3 S1 S2 S3 NK Rasio
Z -8 -9 -4 0 0 0 0
S1 1 1 2 1 0 0 2
S2 2 3 4 0 1 0 3
S3 7 6 2 0 0 1 8
Karena kita akan memaksimumkan nilai Z, maka syaratnya adalah mencari nilai yg
paling negative pada baris Z, yaitu (-9), posisinya di kolom X2, sehingga kolom X2
ini dikatakan sbg kolom pivot dan X2 juga sebagai kolom masuk
… Langkah-Langkah penyelesaian adalah sbb
VB X1 X2 X3 S1 S2 S3 NK Rasio
Z -8 -9 -4 0 0 0 0
S1 1 1 2 1 0 0 2 2
S2 2 3 4 0 1 0 3 1 Baris pivot.
Nilai rasio paling kecil
S3 7 6 2 0 0 1 8 8/6 dibandingkan dg barisS1
dan S3
Kolom pivot
Penjelasan:
Kita harus menghitung nilai rasio utk baris-baris yg ada pad table.
Pada baris Z tidak ada nilai rasio, karena dikatakan tadi bahwa jiklau angka-angka pd kolom pivot ini ada yg bernilai negative atau 0 maka kita tidak
perlu menghitung nilai rasio.
Baris S1, nilai rasio adalah 2, ini diperoleh dari angka 2 yg ada pd kolom nilai kanan dibagi dg 1 angka yg muncul dlm kolom pivot baris S1 (2/1)
Baris S2, nilai rasio adalah 1, diperoleh dari 3/3
Baris S3, nilai rasio adalah 8/6
Dari 3 angka rasio ini (2, 1, dan 8/6), yang paling kecil adalah 1, posisinya ada di baris S2, sehingga baris S2 dikatakan sbg baris pivot. Kita juga bisa
mendapatkan variabel keluar pada S2
… Langkah-Langkah penyelesaian adalah sbb
VB X1 X2 X3 S1 S2 S3 NK Rasio
Z -8 -9 -4 0 0 0 0
S1 1 1 2 1 0 0 2 2
Baris pivot.
S2 2 3 4 0 1 0 3 1 Nilai rasio paling kecil
dibandingkan dg barisS1
S3 7 6 2 0 0 1 8 8/6 dan S3
Kolom pivot
VB X1 X2 X3 S1 S2 S3 NK/Solusi Rasio
Z
S1
X2 2:3 = 2/3 3:3 = 1 4:3 = 4/3 0:3 = 0 1:3 = 1/3 0:3 = 0 3:3 = 1
S3
Kita sudah dapatkan bahwa baris X2 merupakan baris pivot, dimana merupakan variabel
keluar, sehingga pd table ini tidak lagi ditulis S2, tetapi ditulis X2, karena X2 merupakan
variabel masuk.
Nilai-nilai pada baris X2, diperoleh dg cara: angka-angka pd baris pivot atau pd table
sebelumnya dibagi dg angka elemen pivot. Contoh: untuk kolom X1; 2;3 = 2/3, dst
Iterasi 1
VB X1 X2 X3 S1 S2 S3 NK/Solusi Rasio
Z -8 – (-9*2/3) = -2 -9 – (-9*1) = 0 8 0 3 0 9
S1
X2 2/3 1 4/3 0 1/3 0 1
S3
Cara memperoleh nilai pada baris Z: Pengurangan angka pada baris Z sebelumnya, dikurangi dengan perkalian dari angka
pd kolom pivot, dikali dengan angka baru atau angka yg ada pd baris pivot baru.
Contoh: pada baris Z utk kolom X1 diperoleh -8 (merupakan angka pd table sebelumnya) dikurangi dengan -9
(merupakan angka pada kolom pivot pada table awal) dikali dengan 2/3 (merupakan angka baru pada baris pivot baru),
sehingga diperoleh -2.
-8 -9 -4 0 0 0 0
Baris Z -9 (2/3) 1 4/3 0 1/3 0 1 -
-2 0 8 0 3 0 9
Demikian pula untuk X2. X2 adalah -9 – (-9*1) =0……..dst sampai kolom NK/Solusi.
Misal 0 – (-9*1) = 9
Iterasi 1
VB X1 X2 X3 S1 S2 S3 NK/Solusi Rasio
Z -8 – (-9*2/3) = -2 -9 – (-9*1) = 0 -4 – (-9*4/3) = 8 0 3 0 9
S1
X2 2/3 1 4/3 0 1/3 0 1
S3
Cara memperoleh nilai pada baris Z: Pengurangan angka pada baris Z sebelumnya, dikurangi dengan perkalian dari angka
pd kolom pivot, dikali dengan angka baru atau angka yg ada pd baris pivot baru.
Contoh: pada baris Z utk kolom X1 diperoleh -8 (merupakan angka pd table sebelumnya) dikurangi dengan -9
(merupakan angka pada kolom pivot pada table awal) dikali dengan 2/3 (merupakan angka baru pada baris pivot baru),
sehingga diperoleh -2.
-8 -9 -4 0 0 0 0
Baris Z -9 (2/3) 1 4/3 0 1/3 0 1 -
-2 0 8 0 3 0 9
Demikian pula untuk X2. X2 adalah -9 – (-9*1) =0……..dst sampai kolom NK/Solusi.
Misal 0 – (-9*1) = 9
Iterasi 1
VB X1 X2 X3 S1 S2 S3 NK/Solusi Rasio
Z -2 0 8 0 3 0 9
S1 1- (1* (2/3)) = 1/3 1 – (1*1) = 0 2/3 1 -1/3 0 1
X2 2/3 1 4/3 0 1/3 0 1
S3
Angka-angka yg ada pada table lama utk baris S1 dikurangi dengan angka yg ada pd kolom pivot pd
table lama dikali dengan angka2 yg ada pada baris pivot baru.
Contoh: Untuk baris S1 kolom X1 diperoleh 1- (1* (2/3)) = 1/3
Untuk kolom X2: 1 – (1*1) = 0 ……dst sampai dengan kolom NK/Solusi
Iterasi 1
VB X1 X2 X3 S1 S2 S3 NK/Solusi Rasio
Z -2 0 8 0 3 0 9
S1 1- (1* (2/3)) = 1/3 1 – (1*1) = 0 2/3 1 -1/3 0 1
X2 2/3 1 4/3 0 1/3 0 1
S3 7- ( 6*2/3) = 3 6 – (6*1) 0 -6 0 -2 1 2
Pengurangan angka pada table awal utkbaris S3 dikurangi dengan angka pd kolom pivot dikali
angka pada baris pivot baru.
Jadi untuk kolom X1: 7- ( 6*2/3) = 3 ….. dst sampak kolom NK/ Solusi
Iterasi 1
VB X1 X2 X3 S1 S2 S3 NK/Solusi Rasio
Z -2 0 8 0 3 0 9
S1 1/3 0 2/3 1 -1/3 0 1
X2 2/3 1 4/3 0 1/3 0 1
S3 3 0 -6 0 -2 1 2
Iterasi 1
Pada kasus ini, fungsi tujuannya adalah maksimumkan nilai Z, berarti kita focus di baris Z untuk
melihat apakah sudah optimum atau belum table ini.
Ternyata pada baris Z masih ada satu variabel yaitu kolom X1 bernilai negative (-2), sehingga kita
harus melakukan perhitungan2 kembali seperti perhitungan pd tahap-tahap sebelumnya.
VB X1 X2 X3 S1 S2 S3 NK/Solusi Rasio
Z -2 0 8 0 3 0 9
S1 1/3 0 2/3 1 -1/3 0 1
X2 2/3 1 4/3 0 1/3 0 1
S3 3 0 -6 0 -2 1 2
… Langkah-Langkah Pnyelesaian adalah sbb:
(mencari optimum)
Pivotnya ternyata berada pada kolom X1, sehingga kolom X1 ini dikatakan sbg kolom pivot
dan X1 nya merupakan variabel masuk.
… Langkah-Langkah Pnyelesaian adalah sbb:
(mencari optimum)
VB X1 X2 X3 S1 S2 S3 NK/Solusi Rasio
Z -2 0 8 0 3 0 9
S1 1/3 0 2/3 1 -1/3 0 1 3
X2 2/3 1 4/3 0 1/3 0 1 3/2
S3 3 0 -6 0 -2 1 2 2/3
Nilai rasio yang paling kecil adalah pd baris S3, sehingga baris S3 ini dikatakan sbg baris
pivot dan jug amerupakan variabel keluar
Iterasi 2
Penentuan Elemen Privot, yaitu perpotongan antara kolom privot dengan baris privot
Elemen privot ini ternyata posisinya berada di baris S3 dan Kolom X1 dengan nilai 3
VB X1 X2 X3 S1 S2 NK/Solusi Rasio
Z -2 0 8 0 3 0 9
S1 1/3 0 2/3 1 -1/3 0 1 3
X2 2/3 1 4/3 0 1/3 0 1 3/2
S3 3 0 -6 0 -2 1 2 2/3
Bentuk Tabel Simpleks Baru
Baris privot nya posisinya adalah di S3, yaitu merupakan variabel keluar , kemudian X1
adalah variabel masuk, sehingga pada tabel baru ini kita tidak lagi menulis S3 melainkan
X1, di mana angka2 nya ini adalah pembagian dari baris pivot sebelumnya dibagi dengan
angka elemen pivot, sehingga diperoleh untuk baris X1; 1, 0, -2, 0, -2/3, 1/3, dan 2/3
VB X1 X2 X3 S1 S2 NK/Solusi Rasio
Z
S1
X2
X1 3:3 = 1 0:3 = 0 -6:3 = -2 0:3 = 0 -2:3 = -2/3 1:3 = 1/3 2:3 = 2/3
Iterasi 2
Kemudian lanjut mengisi baris yg lainnya. Pertama isi baris Z. Caranya sama seperti pd table
iterasi satu, yaitu mengurangi dg perkalian dari angka kolom pivot dikali dg angka pd baris
pivot baru
Misal: untuk kolom 1, isinya adalah -2 – (-2*1) + 0 … -2 pertama adalah angkalama, sedangkan
-2 yg dalam kurung adalah angka yg dalam kolom pivot, demikian pula dg kolom selanjutnya.
VB X1 X2 X3 S1 S2 NK/Solusi Rasio
Z -2 – (2*1) = 0 0 – (-2*0) = 0 4 0 5/3 2/3 31/3
S1
X2
X1 1 0 -2 0 -2/3 1/3 2/3
Iterasi 2
Lanjut untuk baris S1, pengurangan dari angka pada iterasi pertama dikurangi dengan
perkalian dari angkapd kolom pivor baru dikali dengan baris pivot baru. Jadi di sisni untuk
kolom X1dan baris S1 yaitu 1/3 – ((1/3*1) = 0, … dst
VB X1 X2 X3 S1 S2 NK/Solusi Rasio
Z 0 0 4 0 5/3 2/3 31/3
S1 1/3 – ((1/3*1) = 0 0 – (1/3*0) = 0 4/3 1 -1/9 -1/9 7/9
X2
X3 1 0 -2 0 -2/3 1/3 2/3
Iterasi 2
Kemudian pada baris berikutnya yaitu baris X2, juga sama yaitu angka pada baris lama
atau angka pada table lama dikurangi dengan perkalian dari angka pada kolom pivot baru
dikali dengan angka pada baris pivot baru.
Jadi di sini untuk kolom X2 diperoleh 2/3 – (2/3*1) = 0, … dst
VB X1 X2 X3 S1 S2 NK/Solusi Rasio
Z 0 0 4 0 5/3 2/3 31/3
S1 1/3 – ((1/3*1) = 0 0 – (1/3*0) = 0 4/3 1 -1/9 -1/9 7/9
X2 2/3 – (2/3*1) = 0 1 – (2/3*0) = 1 8/3 0 7/9 -2/9 5/9
X3 1 0 -2 0 -2/3 1/3 2/3
Iterasi 2
Tabel sudah terisi semua sepertidi bawah ini. Lalu kita cek apakah table sudah optimum
atau belum, yaitu kita harus melihat
VB X1 X2 X3 S1 S2 NK/Solusi Rasio
Z 0 0 4 0 5/3 2/3 31/3
S1 0 0 4/3 1 -1/9 -1/9 7/9
X2 0 1 8/3 0 7/9 -2/9 5/9
X3 1 0 -2 0 -2/3 1/3 2/3