Merupakan metode yang biasanya digunakan untuk memecahkan setiap permasalahan pada pemrogramman linear yang kombinasi
variabelnya terdiri dari tiga variabel atau lebih. Metode yang secara matematis dimulai dari
pemecahan dasar yang feasibel (basic feasible solution) ke pemecahan dasar feasibel lainnya, yang dilakukan berulang-ulang (iteratif)
Diperkenalkan pada tahun 1947 oleh
George B. Dantzig dan telah diperbaiki oleh beberapa ahli lain.
Metode penyelesaian dari Metode Simpleks
Syarat:
Model program linier (Canonical form) harus dirubah dulu ke dalam suatu bentuk umum yang dinamakan
”bentuk baku” (standard form).
Sifat bentuk baku:
Semua batasan adalah persamaan (dengan tidak
ada nilai negatif pada sisi kanan)
Semua variabel tidak ada yang bernilai negatif, dan
Fungsi tujuan dapat berupa minimisasi atau
maksimisasi.
Mohamad Sidiq
z = Fungsi tujuan
xj = Jenis kegiatan (variabel keputusan)
aij = Kebutuhan sumberdaya i untuk menghasilkan setiap unit kegiatan j
bi = Jumlah sumberdaya i yang tersedia
cj = Kenaikan nilai Z jika ada pertambahan satu unit kegiatan j
a, b, dan c, disebut juga sebagai parameter model
m = Jumlah sumberdaya yang tersedia
Fungsi Pembatas
Suatu fungsi pembatas yang mempunyai tanda <
diubah menjadi suatu bentuk persamaan (bentuk standar) dengan cara menambahkan suatu
variabel baru yang dinamakan slack variable .
Banyaknya slack variable bergantung pada fungsi
Fungsi Tujuan
Dengan adanya slack variable pada fungsi
pembatas, maka fungsi tujuan juga harus
disesuaikan dengan memasukkan unsur slack
variable ini.
Karena slack variable tidak mempunyai kontribusi
Setelah fungsi batasan diubah ke dalam
bentuk persamaan (bentuk standar), maka untuk menyelesaikan masalah program linier dengan metode simpleks menggunakan
suatu kerangka tabel yang disebut dengan tabel simpleks.
Tabel ini mengatur model ke dalam suatu
bentuk yang memungkinkan untuk
Var.
Dasar Z X1 X2 . . . . Xn S1 S2 . . . . Sn NK
Z 1 -C1 -C2 . . . . -Cn 0 0 0 0 0
S1 0 a11 a12 . . . a1n 1 0 0 0 b1
S2 0 a21 a22 . . . a2n 0 1 0 0 b2
. . . . . . .
1. Rumuskan persoalan PL ke dalam model umum PL (fungsi tujuan dan fungsi
pembatas).
2. Ubah model umum PL menjadi model simpleks:
b. Fungsi tujuan :
- Ubahlah bentuk fungsi tujuan eksplisit menjadi persamaan bentuk implisit - Tambahkan/kurangi dengan slack
variable (surplus var atau variable buatan) yang bernilai nol.
Model Program Linear
1. Fungsi Tujuan :
Maksimumkan : Z=8X1 + 6X2 (dalam Rp 1000)
2. Fungsi Pembatas :
Bahan A : 4X1 + 2X2 ≤ 60 Bahan B : 2X1 + 4X2 ≤ 48
Model Simpleks :
1. Fungsi Tujuan : Maksimumkan Z– 8X1–6 X2–0S1- 0S2 = 0
2. Fungsi Pembatas :
4X1+2X2+ S1+ 0S2 = 60 2X1+4X2+0S1+ S2 = 48
Variabel
Dasar X1 X2 S1 S2 NK
Z
S1
Variabel
Dasar X1 X2 S1 S2 NK
Z -8 -6 0 0 0
S1
Variabel
Dasar X1 X2 S1 S2 NK
Z -8 -6 0 0 0
S1 4 2 1 0 60
Variabel
Dasar X1 X2 S1 S2 NK
Z -8 -6 0 0 0
S1 4 2 1 0 60
Variabel
Dasar X1 X2 S1 S2 NK
Z -8 -6 0 0 0
S1 4 2 1 0 60
S2 2 4 0 1 48
Variabel
Variabel
Dasar X1 X2 S1 S2 NK Indeks
Z -8 -6 0 0 0
-S1 4 2 1 0 60 15
S2 2 4 0 1 48 24
b. Menentukan baris kunci : nilai indeks yang terkecil (positif).
𝑁𝑖𝑙𝑎𝑖 𝐼𝑛𝑑𝑒𝑘𝑠 = 𝑁𝑖𝑙𝑎𝑖 𝐾𝑜𝑙𝑜𝑚 𝐹. 𝑃𝑒𝑚𝑏𝑎𝑡𝑎𝑠𝑁𝐾 𝐹𝑢𝑛𝑔𝑠𝑖 𝑃𝑒𝑚𝑏𝑎𝑡𝑎𝑠
Variabel
Dasar X1 X2 S1 S2 NK
Z
X1 1 ½ ¼ 0 15
S
c. Perubahan-perubahan nilai baris :
- Nilai baris kunci baru = (Nilai baris kunci lama) / n-angka kunci - Nilai baris yang lain = Baris lama – {(Nilai baris kunci baru) x
Mengubah nilai-nilai selain pada baris kunci
Rumus :
Baris baru = baris lama – (koefisien pada kolom kunci) x nilai baru baris kunci
[-8 -6 0 0 0 ]
(-8) [ 1 1/2 1/4 0 15 ] ( - )
Nilai baru = [0 -2 2 0 120 ]
Baris pertama (Z)
Baris ke-3 (batasan 2)
[2 4 0 1 48 ]
(2) [ 1 1/2 1/4 0 15 ] ( - )
Nilai baru = [0 3 -1/2 1 18 ]
Variabel
Dasar X1 X2 S1 S2 NK
Z 0 - 2 2 0 120
X1 1 ½ ¼ 0 15
Variabel
Dasar X1 X2 S1 S2 NK Indeks
Z 0 - 2 2 0 120
-X1 1 ½ ¼ 0 15 30
Variabel
Dasar X1 X2 S1 S2 NK Indeks
Z
X1
-Variabel
Dasar X1 X2 S1 S2 NK Indeks
Z 0 0 5/3 2/3 132
-X1 1 0 1/3 - 1/6 12
-Pada iterasi-2 terlihat bahwa koefisien fungsi tujuan sudah tidak ada lagi yang mempunyai nilai negatif, proses perubahan selesai dan ini menunjukkan penyelesaian persoalan linear dengan metode simpleks sudah mencapai optimum dengan hasil sbb :
X1= 12 dan X2 = 6
132.000.- Model Program Linear
1. Fungsi Tujuan :
Maksimumkan : Z=15X1 + 10X2 (Dlm Rp10.000)
2. Fungsi Pembatas :
Bahan A : X1 + X2 ≤ 600 Bahan B : 2X1 + X2 ≤ 1000
1. Fungsi Tujuan : Maksimumkan Z– 15X1–10 X2–0S1- 0S2 = 0
2. Fungsi Pembatas :
X1+X2+ S1+ 0S2 = 600 2X1+X2+0S1+ 1S2 = 1000
Variabel
Dasar X1 X2 S1 S2 NK
Z
S1
Variabel
Dasar X1 X2 S1 S2 NK
Z -15 -10 0 0 0
S1
Variabel
Dasar X1 X2 S1 S2 NK
Z -15 -10 0 0 0
S1 1 1 1 0 600
Variabel
Dasar X1 X2 S1 S2 NK
Z -15 -10 0 0 0
S1 1 1 1 0 600
Variabel
Dasar X1 X2 S1 S2 NK
Z -15 -10 0 0 0
S1 1 1 1 0 600
S2 2 1 0 1 1000
Variabel
Variabel
Dasar X1 X2 S1 S2 NK Indeks
Z -15 -10 0 0 0
-S1 1 1 1 0 600 600
S2 2 1 0 1 1000 500
b. Menentukan baris kunci : nilai indeks yang terkecil (positif).
Variabel
Dasar X1 X2 S1 S2 NK
Z
S1
X 1 ½ 0 ½ 500
c. Perubahan-perubahan nilai baris :
- Nilai baris kunci baru = (Nilai baris kunci lama) / n-angka kunci
Variabel
Dasar X1 X2 S1 S2 NK
Z
S1 0 ½ 1 - ½ 100
X1 1 ½ 0 ½ 500
c. Perubahan-perubahan nilai baris :
- Nilai baris kunci baru = (Nilai baris kunci lama) / n-angka kunci
Variabel
Dasar X1 X2 S1 S2 NK
Z 0 -2½ 0 7½ 7500
S1 0 ½ 1 - ½ 100
3. Iterasi-2 : perhatikan apakah koefisien fungsi tujuan pada Tabel simpleks masih ada yang bernilai negatif.
Angka Kunci
Variabel
Dasar X1 X2 S1 S2 NK Indeks
Z 0 -2½ 0 7½ 7500
-S1 0 ½ 1 - ½ 100 200
- Merubah baris pada angka kunci dan baris-baris lainnya.
Variabel
Dasar X1 X2 S1 S2 NK Indeks
Z
X2 0 1 2 -1 200
- Merubah baris pada angka kunci dan baris-baris lainnya.
Variabel
Dasar X1 X2 S1 S2 NK Indeks
Z
X2 0 1 2 -1 200
-- Merubah baris pada angka kunci dan baris--baris lainnya.
Variabel
Dasar X1 X2 S1 S2 NK Indeks
Z 1 0 5 5 8000
-X2 0 1 2 -1 200
-Pada iterasi-2 terlihat bahwa koefisien fungsi tujuan sudah tidak ada lagi yang mempunyai nilai negatif, proses peru-bahan selesai dan ini menunjukkan penyelesaian persoalan linear dengan metode simpleks sudah mencapai optimum dengan hasil sbb :
X1= 400 dan X2 = 200 dengan
8000.- Model Program Linear
Fungsi Tujuan :
Maksimumkan : Z = 3X1+2X2 Fungsi Pembatas :
X1 + X2 ≤ 15 2X1 + X2 ≤ 28
Model Simpleks
Fungsi Tujuan : Maksimumkan Z– X1–2X1–0S1–0S2–0S3 = 0 Fungsi Pembatas :
X1 + X2 + S1 = 15 2X1 + X2 + S2 = 28
Variabel
Dasar X1 X2 S1 S2 S3 NK
Z
S1
S2
S
Variabel
Dasar X1 X2 S1 S2 S3 NK
Z -3 -2 0 0 0 0
S1
S2
Variabel
Dasar X1 X2 S1 S2 S3 NK
Z -3 -2 0 0 0 0
S1 1 1 1 0 0 15
S2
Variabel
Dasar X1 X2 S1 S2 S3 NK
Z -3 -2 0 0 0 0
S1 1 1 1 0 0 15
S2 2 1 0 1 0 28
Variabel
Dasar X1 X2 S1 S2 S3 NK
Z -3 -2 0 0 0 0
S1 1 1 1 0 0 15
S2 2 1 0 1 0 28
(a). Iterasi Awal (Iterasi-0) :
Variabel
Dasar X1 X2 S1 S2 S3 NK Indeks
Z -3 -2 0 0 0 0
-S1 1 1 1 0 0 15 15
S2 2 1 0 1 0 28 14
(a). Iterasi Awal (Iterasi-0) :
Angka Kunci
Variabel
Dasar X1 X2 S1 S2 S3 NK Indeks
Z -3 -2 0 0 0 0
-S1 1 1 1 0 0 15 15
S2 2 1 0 1 0 28 14
(b). Iterasi-1
Variabel
Dasar X1 X2 S1 S2 S3 NK Indeks
Z
S1
X1 1 ½ 0 ½ 0 14
(b). Iterasi-1
Variabel
Dasar X1 X2 S1 S2 S3 NK Indeks
Z
S1
X1 1 ½ 0 ½ 0 14
-(b). Iterasi-1
Variabel
Dasar X1 X2 S1 S2 S3 NK Indeks
Z
S1 0 ½ 1 -½ 0 1
-X1 1 ½ 0 ½ 0 14
-(b). Iterasi-1
Variabel
Dasar X1 X2 S1 S2 S3 NK Indeks
Z 0 -½ 0 3/2 0 42
-S1 0 ½ 1 -½ 0 1
-X1 1 ½ 0 ½ 0 14
-Variabel
Dasar X1 X2 S1 S2 S3 NK Indeks
Z 0 -½ 0 3/2 0 42
-S1 0 ½ 1 -½ 0 1 2
X1 1
½ 0 ½ 0 14 28
Perubahan-perubahan baris kunci dan baris lainnya.
Variabel
Dasar X1 X2 S1 S2 S3 NK Indeks
Z
X2 0 1 2 -1 0 2
-X1
Perubahan-perubahan baris kunci dan baris lainnya.
Variabel
Dasar X1 X2 S1 S2 S3 NK Indeks
Z
X2 0 1 2 -1 0 2
-X1 1 ½ 0 ½ 0 14
Perubahan-perubahan baris kunci dan baris lainnya.
Variabel
Dasar X1 X2 S1 S2 S3 NK Indeks
Z
X2 0 1 2 -1 0 2
-X1 1 ½ 0 ½ 0 14
-Perubahan-perubahan baris kunci dan baris lainnya.
Variabel
Dasar X1 X2 S1 S2 S3 NK Indeks
Z 0 0 1 1 0 43
-X2 0 1 2 -1 0 2
-X1 1 ½ 0 ½ 0 14
-Pada iterasi-2 terlihat bahwa koefisien fungsi tujuan sudah tidak ada lagi yang mempunyai nilai negatif, proses peru-bahan selesai dan ini menunjukkan penyelesaian perhitungan persoalan program linear dengan metode simpleks sudah mencapai optimum dengan rincian sbb :
X1 =13; X2=2,
Maksimumkan
Z = 60X1+30X2+20X3 Dengan Pembatas :
8X1 + 6X2 + X3 ≤ 48 4X1 + 2X2 + 1.5X3 ≤ 20
2X1 + 1.5X2 + 0.5X3 ≤ 8 X2 ≤ 5
Maksimum
z = 8 x1 + 9 x2 + 4x3 Dengan Pembatas :
x1 + x2 + 2x3 ≤ 2 2x1 + 3x2 + 4x3 ≤ 3 7x1 + 6x2 + 2x3 ≤ 8
Memaksimumkan
z = 8 x1 + 7 x2 + 3x3
Dengan Pembatas :
x1 + x2 + 2x3 ≤ 4
2x1 + 3x2 + 4x3 ≤ 7
3x1 + 6x2 + 2x3 ≤ 8
Penyimpangan bentuk standar dapat terjadi karena :
1. Fungsi tujuan (Z) bukan Maximalisasi, tetapi Minimalisasi
2. Fungsi batasan bertanda (=) atau (≥) 3. Dan syarat X1 atau X2 tidak terpenuhi,
Fungsi Tujuan :
Minimalkan Z = 3X1 + 5X2
Dengan batasan :
Mesin A 2X1 = 8
Mesin B 3X2 ≤ 15
Mesin C 6X1 + 5X2 ≥ 30 ,
Fungsi tujuan agar menjadi maksimal dikalikan dengan (-1) Jika kendala bertanda “=“, tambahkan ruas kiri satu variabel
tambahan berupa variabel artifisial .
Jika kendala bertanda “>”, kurangkan ruas kiri dgn variabel surplus dan tambahkan juga ruas kiri dgn variabel artifisial. Masukkan / tambahkan pula variabel-variabel surplus dan
artifisial ke dalam fungsi tujuan, dimana koefisien untuk var. surplus = 0 dan koefisien var. artifiasial = M
Minimalkan Z = 3X1 + 5X2 menjadi Sehingga fungsi tujuan menjadi :
Maksimal : –Z + 3X1 + 5 X2 + MX3 + MX6 = 0
Masalah berikutnya yang muncul adalah setiap variabel dasar (slack atau artificial variabel), harus bernilai nol, sehingga MX3 dan MX6 di atas harus di-nol-kan terlebih dahulu, sebelum dipindah ke tabel simplex. Cara yang
digunakan adalah dengan mengurangi
Nilai fungsi tujuan terakhir adalah :
3 5 M 0 0 M 0
Kita coba hilangkan M yang pertama terlebih dahulu.
X1 X2 X3 X4 X5 X6 NK
3 5 M 0 0 M 0
( 2 0 1 0 0 0 8 ) M
_____________________________________
Selanjutnya kita hilangkan M yang kedua.
Yang merupakan nilai dari fungsi tujuan yang baru
X1 X2 X3 X4 X5 X6 NK
Z -8M+3 -5M+5 0 0 M 0 -38M
X3 2 0 1 0 0 0 8
X4 0 3 0 1 0 0 15
X6 6 5 0 0 -1 1 30