Metode Simpleks
4.1 METODE SIMPLEKS
Metode grafik tidak dapat menyelesaikan
persoalan linear program yang memilki variabel keputusan yang cukup
besar atau lebih dari dua, maka untuk menyelesaikannya digunakan Metode
Simpleks. Metode simpleks merupakan salah satu teknik penentuan solusi
optimal yang digunakan dalam pemograman linear. Penentuan solusi optimal
didasarkan pada teknik eliminasi Gauss Jordan. Penentuan solusi optimal
dilakukan dengan memeriksa titik ekstrim (ingat solusi grafik) satu per
satu dengan cara perhitungan iteratif. Sehingga penentuan solusi
optimal dengan simpleks dilakukan dengan tahap demi tahap yang disebut
iterasi.
4.2 PENGERTIAN ISTILAH DALAM METODE SIMPLEKS
Beberapa Istilah yang digunakan dalam metode simpleks menurut hotniar (2005: 56-57), penjelasannya diantaranya sebagai berikut.
- Iterasi, seperti yang disebutkan sebelumnya adalah tahapan perhitungan dimana nilai dalam perhitungan itu tergantung dari nilai tabel sebelumnya.
- Variabel non basis, adalah variabel yang nilainya diatur menjadi nol pada sembarang iterasi. Dalam terminologi umum, jumlah variabel non basis selalu sama dengan derajat bebas dalam sistem persamaan.
- Variabel basis, merupakan variabel yang nilainya bukan nol pada sembarang iterasi. Pada solusi awal, variabel basis merupakan variabel slack (jika fungsi kendala menggunakan pertidaksamaan <) atau variabel buatan (jika fungsi kendala menggunakan pertidaksamaan > atau =). Secara umum, jumlah variabel batas selalu sama dengan jumlah fungsi pembatas (tanpa fungsi non negatif)
- Solusi atau Nilai Kanan (NK), merupakan nilai sumber daya pembatas yang masih tersedia. Pada solusi awal, nilai kanan atau solusi sama dengan jumlah sumber daya pembatas awal yang ada, karena aktivitas belum dilaksanakan.
- Variabel Slack, adalah variabel yang ditambahkan ke model matematik kendala untuk mengkonversikan pertidaksamaan < menjadi persamaan (=). Penambahan variabel ini terjadi pada tahap inisialisasi. Pada solusi awal, variabel slack akan berfungsi sebagai variabel basis.
- Variabel Surplus, adalah variabel yang dikurangkan dari model matematik kendala untuk mengkonversikan pertidaksamaan > menjadi persamaan (=). Penambahan variabel ini terjadi pada tahap inisialisasi. Pada solusi awal, variabel surplus tidak dapat berfungsi sebagai variabel bebas.
- Variabel Buatan, adalah variabel yang ditambahkan ke model matematik kendala dengan bentuk > atau = untuk difungsikan sebagai variabel basis awal. Penambahan variabel ini terjadi pada tahap inisialisasi. Variabel ini harus bernilai 0 pada solusi optimal, karena kenyataannya variabel ini tidak ada. Variabel ini hanya ada di atas kertas.
- Kolom Pivot (Kolom Kerja), adalah kolom yang memuat variabel masuk. Koefisien pada kolom ini akan menjadi pembagi nilai kanan untuk menentukan baris pivot (baris kerja).
- Baris Pivot (Baris Kerja), adalah salah satu baris dari antara variabel baris yang memuat variabel keluar.
- Elemen Pivot (Elemen Kerja), adalah elemen yang terletak pada perpotongan kolom dan baris pivot. Elemen pivot akan menjadi dasar perhitungan untuk tabel simpleks berikutnya.
- Variabel Masuk, adalah variabel yang terpilih untuk menjadi variabel basis pada iterasi berikutnya. Variabel masuk dipilih satu dari antara variabel non basis pada setiap iterasi. Variabel ini pada iterasi berikutnya akan bernilai positif.
- Variabel Keluar, variabel yang keluar dari variabel basis pada iterasi berikutnya dan digantikan dengan variabel masuk. Variabel keluar dipilih satu dari antara variabel basis pada setiap iterasi dan bernilai 0.
- Nilai kanan (NK / RHS) fungsi tujuan harus nol (0).
- Nilai kanan (RHS) fungsi kendala harus positif. Apabila negatif, nilai tersebut harus dikalikan –1.
- Fungsi kendala dengan tanda “≤” harus diubah ke bentuk “=” dengan menambahkan variabel slack/surplus. Variabel slack/surplus disebut juga variabel dasar.
- Fungsi kendala dengan tanda “≥” diubah ke bentuk “≤” dengan cara mengalikan dengan –1, lalu diubah ke bentuk persamaan dengan ditambahkan variabel slack. Kemudian karena RHS-nya negatif, dikalikan lagi dengan –1 dan ditambah artificial variabel/variabel buatan (M).
- Fungsi kendala dengan tanda “=” harus ditambah artificial variabel (M).
Contoh 4.a, contoh kasus ini diambil dari Abdullah (2009:12):
Z = 3X1 + 5X2
Kendala:
1) 2X1 ≤ 8
2) 3X2 ≤ 15
3) 6X1 + 5X2 ≤ 30
Langkah-langkah:
Mengubah fungsi tujuan dan fungsi kendala (lihat beberapa ketentuan yang harus diperhatikan)
Fungsi tujuan: Maksimumkan Z = 3X1 + 5X2 è Z – 3X1 – 5X2 = 0
Fungsi kendala: 1) 2X1 ≤ 8 => 2X1 + X3 = 8
2) 3X2 ≤ 15 => 3X2 + X4 = 15
3) 6X1 + 5X2 ≤ 30 => 6X1 + 5X2 + X5 = 30
(X3, X4 dan X5 adalah variabel slack)
Menyusun persamaan-persamaan ke dalam tabel:
Var.Dasar
|
Z
|
X1
|
X2
|
X3
|
X4
|
X5
|
NK
|
Index
|
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
|
Kolom kunci adalah kolom yang mempunyai nilai pada baris Z yang bernilai negatif dengan angka terbesar.
Var.Dasar
|
Z
|
X1
|
X2
|
X3
|
X4
|
X5
|
NK
|
Index
|
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
|
Baris kunci adalah baris yang mempunyai indeks terkecil
Var.Dasar
|
Z
|
X1
|
X2
|
X3
|
X4
|
X5
|
NK
|
Index
|
Z
|
1
|
-3
|
-5
|
0
|
0
|
0
|
0
|
|
X3
|
0
|
2
|
0
|
1
|
0
|
0
|
8
|
|
X4
|
0
|
0
|
3
|
0
|
1
|
0
|
15
|
5
|
X5
|
0
|
6
|
5
|
0
|
0
|
1
|
30
|
6
|
Mengubah nilai-nilai baris kunci => dengan cara membaginya dengan angka kunci
sehingga tabel menjadi seperti berikut:
Var.Dasar
|
Z
|
X1
|
X2
|
X3
|
X4
|
X5
|
NK
|
Index
|
Z
|
1
|
-3
|
-5
|
0
|
0
|
0
|
0
|
|
X3
|
0
|
2
|
0
|
1
|
0
|
0
|
8
|
|
X2
|
0
|
0
|
1
|
0
|
1/3
|
0
|
5
|
5
|
X5
|
0
|
6
|
5
|
0
|
0
|
1
|
30
|
6
|
Baris Baru = Baris Lama – (Koefisien Angka Kolom Kunci Nilai Baris Baru Kunci)
Baris Z
Baris lama [-3 -5 0 0 0 0 ]
NBBK -5 [ 0 1 0 1/3 0 5 ]
Baris Baru -3 0 0 5/3 0 25
Baris X3
Baris lama [ 2 0 1 0 0 8 ]
NBBK 0 [ 0 1 0 1/3 0 5 ]
Baris Baru 2 0 1 0 0 8
Baris X5
Baris lama [ 6 5 0 0 1 30 ]
NBBK 5 [ 0 1 0 1/3 0 5 ]
Baris Baru 6 0 0 -5/3 1 5
Masukkan nilai di atas ke dalam tabel, sehingga tabel menjadi seperti berikut:
Var.Dasar
|
Z
|
X1
|
X2
|
X3
|
X4
|
X5
|
NK
|
Index
|
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
|
5
|
X5
|
0
|
6
|
0
|
0
|
-5/3
|
1
|
5
|
6
|
Var.Dasar
|
Z
|
X1
|
X2
|
X3
|
X4
|
X5
|
NK
|
Index
|
Z
|
1
|
-3
|
0
|
0
|
5/3
|
0
|
25
|
|
X3
|
0
|
2
|
0
|
1
|
0
|
0
|
8
|
4
|
X2
|
0
|
0
|
1
|
0
|
1/3
|
0
|
5
|
|
X5
|
0
|
6
|
0
|
0
|
-5/3
|
1
|
5
|
5/6
|
Var.Dasar
|
Z
|
X1
|
X2
|
X3
|
X4
|
X5
|
NK
|
Index
|
|
Z
|
1
|
0
|
0
|
0
|
5/6
|
1/2
|
27 ½
|
Zmax
|
|
X3
|
0
|
0
|
0
|
1
|
5/9
|
-1/3
|
6 ⅓
|
4
|
|
X2
|
0
|
0
|
1
|
0
|
1/3
|
0
|
5
|
|
|
X1
|
0
|
1
|
0
|
0
|
-5/18
|
1/6
|
5/6
|
5/6
|
|
4.1 METODE SIMPLEKS
Metode
grafik tidak dapat menyelesaikan persoalan linear program yang memilki
variabel keputusan yang cukup besar atau lebih dari dua, maka untuk
menyelesaikannya digunakan Metode Simpleks. Metode simpleks merupakan
salah satu teknik penentuan solusi optimal yang digunakan dalam
pemograman linear. Penentuan solusi optimal didasarkan pada teknik
eliminasi Gauss Jordan. Penentuan solusi optimal dilakukan dengan
memeriksa titik ekstrim (ingat solusi grafik) satu per satu dengan cara
perhitungan iteratif. Sehingga penentuan solusi optimal dengan simpleks
dilakukan dengan tahap demi tahap yang disebut iterasi.
4.2 PENGERTIAN ISTILAH DALAM METODE SIMPLEKS
Beberapa Istilah yang digunakan dalam metode simpleks menurut hotniar (2005: 56-57), penjelasannya diantaranya sebagai berikut.
a. Iterasi,
seperti yang disebutkan sebelumnya adalah tahapan perhitungan dimana
nilai dalam perhitungan itu tergantung dari nilai tabel sebelumnya.
b. Variabel non basis,
adalah variabel yang nilainya diatur menjadi nol pada sembarang
iterasi. Dalam terminologi umum, jumlah variabel non basis selalu sama
dengan derajat bebas dalam sistem persamaan.
c. Variabel basis,
merupakan variabel yang nilainya bukan nol pada sembarang iterasi. Pada
solusi awal, variabel basis merupakan variabel slack (jika fungsi
kendala menggunakan pertidaksamaan <) atau variabel buatan (jika fungsi kendala menggunakan pertidaksamaan > atau =). Secara umum, jumlah variabel batas selalu sama dengan jumlah fungsi pembatas (tanpa fungsi non negatif)
d. Solusi atau Nilai Kanan (NK),
merupakan nilai sumber daya pembatas yang masih tersedia. Pada solusi
awal, nilai kanan atau solusi sama dengan jumlah sumber daya pembatas
awal yang ada, karena aktivitas belum dilaksanakan.
e. Variabel Slack, adalah variabel yang ditambahkan ke model matematik kendala untuk mengkonversikan pertidaksamaan <
menjadi persamaan (=). Penambahan variabel ini terjadi pada tahap
inisialisasi. Pada solusi awal, variabel slack akan berfungsi sebagai
variabel basis.
f. Variabel Surplus, adalah variabel yang dikurangkan dari model matematik kendala untuk mengkonversikan pertidaksamaan >
menjadi persamaan (=). Penambahan variabel ini terjadi pada tahap
inisialisasi. Pada solusi awal, variabel surplus tidak dapat berfungsi
sebagai variabel bebas.
g. Variabel Buatan, adalah variabel yang ditambahkan ke model matematik kendala dengan bentuk >
atau = untuk difungsikan sebagai variabel basis awal. Penambahan
variabel ini terjadi pada tahap inisialisasi. Variabel ini harus
bernilai 0 pada solusi optimal, karena kenyataannya variabel ini tidak
ada. Variabel ini hanya ada di atas kertas.
h. Kolom Pivot (Kolom Kerja),
adalah kolom yang memuat variabel masuk. Koefisien pada kolom ini akan
menjadi pembagi nilai kanan untuk menentukan baris pivot (baris kerja).
i. Baris Pivot (Baris Kerja), adalah salah satu baris dari antara variabel baris yang memuat variabel keluar.
j. Elemen Pivot (Elemen Kerja),
adalah elemen yang terletak pada perpotongan kolom dan baris pivot.
Elemen pivot akan menjadi dasar perhitungan untuk tabel simpleks
berikutnya.
k. Variabel Masuk,
adalah variabel yang terpilih untuk menjadi variabel basis pada iterasi
berikutnya. Variabel masuk dipilih satu dari antara variabel non basis
pada setiap iterasi. Variabel ini pada iterasi berikutnya akan bernilai
positif.
l. Variabel Keluar,
variabel yang keluar dari variabel basis pada iterasi berikutnya dan
digantikan dengan variabel masuk. Variabel keluar dipilih satu dari
antara variabel basis pada setiap iterasi dan bernilai 0.
4.3 Langkah Penyelesaian Metode Simpleks, Beberapa ketentuan yang perlu diperhatikan, menurut Abdullah (2009:12) antara lain:
· Nilai kanan (NK / RHS) fungsi tujuan harus nol (0).
· Nilai kanan (RHS) fungsi kendala harus positif. Apabila negatif, nilai tersebut harus dikalikan –1.
· Fungsi
kendala dengan tanda “≤” harus diubah ke bentuk “=” dengan menambahkan
variabel slack/surplus. Variabel slack/surplus disebut juga variabel
dasar.
· Fungsi
kendala dengan tanda “≥” diubah ke bentuk “≤” dengan cara mengalikan
dengan –1, lalu diubah ke bentuk persamaan dengan ditambahkan variabel slack. Kemudian karena RHS-nya negatif, dikalikan lagi dengan –1 dan ditambah artificial variabel/variabel buatan (M).
· Fungsi kendala dengan tanda “=” harus ditambah artificial variabel (M).
4.4 PEMBUATAN TABEL SIMPLEKS
Contoh 4.a, contoh kasus ini diambil dari Abdullah (2009:12):
Z = 3X1 + 5X2
Kendala:
1) 2X1 ≤ 8
2) 3X2 ≤ 15
3) 6X1 + 5X2 ≤ 30
Langkah-langkah:
Mengubah fungsi tujuan dan fungsi kendala (lihat beberapa ketentuan yang harus diperhatikan)
Fungsi tujuan: Maksimumkan Z = 3X1 + 5X2 è Z – 3X1 – 5X2 = 0
Fungsi kendala: 1) 2X1 ≤ 8 => 2X1 + X3 = 8
2) 3X2 ≤ 15 => 3X2 + X4 = 15
3) 6X1 + 5X2 ≤ 30 => 6X1 + 5X2 + X5 = 30
(X3, X4 dan X5 adalah variabel slack)
Menyusun persamaan-persamaan ke dalam tabel:
Var.Dasar
|
Z
|
X1
|
X2
|
X3
|
X4
|
X5
|
NK
|
Index
|
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
|
|
Memilih KOLOM KUNCI
Kolom kunci adalah kolom yang mempunyai nilai pada baris Z yang bernilai negatif dengan angka terbesar.
Var.Dasar
|
Z
|
X1
|
X2
|
X3
|
X4
|
X5
|
NK
|
Index
|
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
|
|
Memilih BARIS KUNCI
Baris kunci adalah baris yang mempunyai indeks terkecil
Var.Dasar
|
Z
|
X1
|
X2
|
X3
|
X4
|
X5
|
NK
|
Index
|
Z
|
1
|
-3
|
-5
|
0
|
0
|
0
|
0
|
|
X3
|
0
|
2
|
0
|
1
|
0
|
0
|
8
|
|
X4
|
0
|
0
|
3
|
0
|
1
|
0
|
15
|
5
|
X5
|
0
|
6
|
5
|
0
|
0
|
1
|
30
|
6
|
Angka Kunci Koef. Angka Kolom Kunci
Mengubah nilai-nilai baris kunci => dengan cara membaginya dengan angka kunci
sehingga tabel menjadi seperti berikut:
Var.Dasar
|
Z
|
X1
|
X2
|
X3
|
X4
|
X5
|
NK
|
Index
|
Z
|
1
|
-3
|
-5
|
0
|
0
|
0
|
0
|
|
X3
|
0
|
2
|
0
|
1
|
0
|
0
|
8
|
|
X2
|
0
|
0
|
1
|
0
|
1/3
|
0
|
5
|
5
|
X5
|
0
|
6
|
5
|
0
|
0
|
1
|
30
|
6
|
Mengubah nilai-nilai selain baris kunci sehingga nilai-nilai kolom kunci (selain baris kunci)=0
Baris Baru = Baris Lama – (Koefisien Angka Kolom Kunci × Nilai Baris Baru Kunci)
Baris Z
Baris lama [-3 -5 0 0 0 0 ]
NBBK -5 [ 0 1 0 1/3 0 5 ]
Baris Baru -3 0 0 5/3 0 25
Baris X3
Baris lama [ 2 0 1 0 0 8 ]
NBBK 0 [ 0 1 0 1/3 0 5 ]
Baris Baru 2 0 1 0 0 8
Baris X5
Baris lama [ 6 5 0 0 1 30 ]
NBBK 5 [ 0 1 0 1/3 0 5 ]
Baris Baru 6 0 0 -5/3 1 5
Masukkan nilai di atas ke dalam tabel, sehingga tabel menjadi seperti berikut:
Var.Dasar
|
Z
|
X1
|
X2
|
X3
|
X4
|
X5
|
NK
|
Index
|
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
|
5
|
X5
|
0
|
6
|
0
|
0
|
-5/3
|
1
|
5
|
6
|
Melanjutkan perbaikan-perbaikan (langkah 3-6) sampai baris Z tidak ada nilai negatif
Var.Dasar
|
Z
|
X1
|
X2
|
X3
|
X4
|
X5
|
NK
|
Index
|
Z
|
1
|
-3
|
0
|
0
|
5/3
|
0
|
25
|
|
X3
|
0
|
2
|
0
|
1
|
0
|
0
|
8
|
4
|
X2
|
0
|
0
|
1
|
0
|
1/3
|
0
|
5
|
|
X5
|
0
|
6
|
0
|
0
|
-5/3
|
1
|
5
|
5/6
|
Var.Dasar
|
Z
|
X1
|
X2
|
X3
|
X4
|
X5
|
NK
|
Index
|
|
Z
|
1
|
0
|
0
|
0
|
5/6
|
1/2
|
27 ½
|
|
ç Zmax
|
X3
|
0
|
0
|
0
|
1
|
5/9
|
-1/3
|
6 ⅓
|
4
|
|
X2
|
0
|
0
|
1
|
0
|
1/3
|
0
|
5
|
|
|
X1
|
0
|
1
|
0
|
0
|
-5/18
|
1/6
|
5/6
|
5/6
|
|
Diperoleh hasil: X1 = 5/6, X2 = 5, Zmax = 27 ½
sumber : https://www.blogger.com/blogger.g?blogID=621524767150178511#editor/target=post;postID=4181423292741123704