1.1.
Sub Kompetensi
Kemampuan yang akan dimiliki
oleh mahasiswa setelah memahami isi modul ini adalah sebagai berikut :
-
Mahasiswa mampu memformulasikan permasalahan linier dalam
bentuk format standard an model matematika linier dengan metode simpleks.
-
Mahasiswa mampu mendefinisikan variabel slack dan surplus
berkaitan dengan permasalahan
1.2.
Uraian Materi
Salah satu teknik penentuan solusi optimal
yang digunakan dalam pemrograman linier adalah metode simpleks. Penentuan solusi optimal dilakukan dengan
memeriksa titik ekstrim satu per satu dengan cara perhitungan iteratif.
Sehingga penentuan solusi optimal dengan simpleks dilakukan tahap demi tahap
yang disebut dengan iterasi. Iterasi ke-i hanya tergantung dari iterasi
sebelumnya (i-1).
Ada beberapa istilah yang sangat sering digunakan dalam
metode simpleks, diantaranya :
- Iterasi 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 merupakan pertidaksamaan ≤ ) atau variabel buatan (jika fungsi kendala menggunakan pertidaksamaan ≥ atau =). Secara umum, jumlah variabel basis selalu sama dengan jumlah fungsi pembatas (tanpa fungsi non negatif).
- Solusi atau nilai kanan 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 ini terjadi pada tahap inisialisasi. Pada solusi awal, variabel surplus tidak dapat berfungsi sebagai variabel basis.
- 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 hanya ada di atas kertas.
- Kolom pivot (kolom kerja) adalah kolom yang memuat variabel masuk. Koefisien pada kolom ini akn menjadi pembagi nilai kanan untuk menentukan baris pivot (baris kerja).
- Baris pivot (baris kerja) adalah salah satu baris dari antara variabel basis 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 adalah variabel yang keluar dari variabel basis pada iterasi berikutnya dan digantikan oleh variabel masuk. Variabel keluar dipilih satu dari antara variabel basis pada setiap iiterasi. Variabel ini pada iterasi berikutnya akan bernilai nol.
- 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 :
- Fungsi kendala dengan pertidaksamaan ≤ dalam bentuk umum, dirubah menjadi persamaan (=) dengan menambahkan satu variabel slack.
- Fungsi kendala dengan pertidaksamaan ≥ dalam bentuk umum, dirubah menjadi persamaan (=) dengan mengurangkan satu variabel surplus.
- Fungsi kendala dengan persamaan dalam benttuk umum,ditambahkan satu artificial variabel (variabel buatan).
Perhatikan kasus berikut ini :
Maksimumkan z = 2x1 + 3x2
Kendala :
10 x1 + 5 x2 ≤ 600
6 x1 + 20 x2 ≤ 600
8 x1 + 15 x2 ≤ 600
x1, x2 ≥0
Bentuk
di atas juga merupakan bentuk umum. Perubahan ke dalam bentuk baku hanya
membutuhkan variabel slack, karena semua fungsi kendala menggunakan bentuk
pertidaksamaan ≤ dalam bentuk umumnya. Maka bentuk bakunya adalah sebagai
berikut :
Maksimumkan z = 2x1 + 3x2 + 0s1 +
0s2 + 0s3
Kendala :
10 x1 + 5 x2 + s1 = 600
6 x1 + 20 x2 + s2 = 600
8 x1 + 15 x2 + s3 = 600
x1, x2 ,
s1 , s2 , s3 ≥ 0
s1 , s2 , s3 merupakan variable slack.
- Pembentukan Tabel Simpleks
Dalam
perhitungan iterative, kita akan bekerja menggunakan tabel. Bentuk baku yang
sudah diperoleh, harus dibuat ke dalam bentuk tabel. Semua
variabel yang bukan variabel basis mempunyai solusi (nilai kanan) sama dengan
nol dan koefisien variabel basis pada baris tujuan harus sama dengan 0. Oleh
karena itu kita harus membedakan pembentukan tabel awal berdasarkan variabel
basis awal. Dalam sub bab ini kita hanya akan memperhatikan fungsikendala yang
menggunakan variabel slack dalam bentuk bakunya.
Langkah-langkah penyelesaian adalah sebagai berikut :
- Periksa apakah tabel layak atau tidak. Kelayakan tabel simpleks dilihat dari solusi (nilai kanan). Jika solusi ada yang bernilai negatif, maka tabel tidak layak. Tabel yang tidak layak tidak dapat diteruskan untuk dioptimalkan.
- Tentukan kolom pivot. Penentuan kolom pivot dilihat dari koefisien fungsi tujuan (nilai di sebelah kanan baris z) dan tergantung dari bentuk tujuan. Jika tujuan maksimisasi, maka kolom pivot adalah kolom dengan koefisien paling negatif. Jika tujuan minimisasi , maka kolom pivot adalah kolom dengan koefisien positif terbesar. Jika kolom pivot ditandai dan ditarik ke atas, maka kita akan mendapatkan variabel keluar. Jika nilai paling negatif (untuk tujuan maksimisasi) atau positif terbesar (untuk tujuan minimisasi) lebih dari satu, pilih salah satu secara sembarang.
- Tentukan baris pivot. Baris pivot ditentukan setelah membagi nilai solusi dengan nilai kolom pivot yang bersesuaian (nilai yang terletak dalam satu baris). Dalam hal ini, nilai negatif dan 0 pada kolom pivot tidak diperhatikan, artinya tidak ikut menjadi pembagi. Baris pivot adalah baris dengan rasio pembagian terkecil. Jika baris pivot ditandai dan ditarik ke kiri, maka kita akan mendapatkan variabl keluar. Jika rasio pembagian terkecil lebih dari satu, pilih salah sau secara sembarang.
- Tentukan elemen pivot. Elemen pivot merupakan nilai yang terletak pada perpotongan kolom dan baris pivot.
- Bentuk tabel simpleks baru. Tabel simpleks baru dibentuk dengan pertama sekali menghitung nilai baris pivot baru. Baris pivot baru adalah baris pivot lama dibagi dengan elemen pivot. Baris baru lainnya merupakan pengurangan nilai kolom pivot baris yang bersangkutan dikali baris pivot baru dalam satu kolom terhadap baris lamanya yang terletak pada kolom tersebut.
- Periksa apakah tabel sudah optimal. Keoptimalan tabel dilihat dari koefisien fungsi tujuan (nilai pada baris z) dan tergantung dari bentuk tujuan. Untuk tujuan maksimisasi, tabel sudah optimal jika semua nilai pada baris z sudah positif atau 0. Pada tujuan minimisasi, tabel sudah optimal jika semua nilai pada baris z sudah negatif atau 0. Jika belum, kembali ke langkah no. 2 , jika sudah optimal baca solusi optimalnya.
Selesaikan kasus berikut ini menggunakan metode simpleks
:
Maksimum z = 8 x1 + 9 x2 + 4x3
Kendala :
x1 + x2 + 2x3 ≤ 2
2x1 + 3x2 + 4x3 ≤ 3
7x1 + 6x2 + 2x3 ≤ 8
x1,x2,x3 ≥ 0
Penyelesaian :
Bentuk bakunya adalah :
Maksimum z = 8 x1 + 9 x2 + 4x3 +
0s1 + 0s2 + 0s3 atau
z - 8 x1 - 9 x2 - 4x3 + 0s1
+ 0s2 + 0s3 = 0
Kendala :
x1 + x2 + 2x3 + s1 = 2
2x1 + 3x2 + 4x3 + s2 =
3
7x1 + 6x2 + 2x3 + s3 = 8
x1,x2,x3 ,s1 , s2
, s3 ≥ 0
Solusi / table awal simpleks
:
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
nilai negative terbesar ada pada kolom X2,
maka kolom X2 adalah kolom pivot dan X2 adalah variabel
masuk. Rasio pembagian nilai kanan
dengan kolom pivot terkecil adalah 1 bersesuaian dengan
baris s2, maka baris s2 adalah baris pivot dan s2
adalah varisbel keluar. Elemen pivot adalah 3.
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
|
S3
|
7
|
6
|
2
|
0
|
0
|
1
|
8
|
8/6
|
Iterasi
1
Nilai
pertama yang kita miliki adalah nilai baris
pivot baru (baris x2). Semua nilai pada baris s2 pada tabel solusi
awal dibagi dengan 3 (elemen pivot).
VB
|
X1
|
X2
|
X3
|
S1
|
S2
|
S3
|
NK
|
Rasio
|
Z
|
|
|
|
|
|
|
|
|
S1
|
|
|
|
|
|
|
|
|
x2
|
2/3
|
1
|
4/3
|
0
|
1/3
|
0
|
1
|
|
S3
|
|
|
|
|
|
|
|
|
Perhitungan
nilai barisnya :
Baris
z :
-8 -9 -4 0 0 0 0
-9 (
2/3 1 4/3 0 1/3 0 1 )
-
-2 0
8 0 3 0 9
Baris
s1 :
1 1 2 1 0 0 2
1
(2/3 1 4/3 0 1/3 0 1 ) -
1/3 0 2/3 1 -1/3 0 1
Baris
s3 :
7 6 2 0 0 1 8
6 ( 2/3 1 4/3 0 1/3 0 1 ) -
3 0 -6 0 -2 1 2
Maka
tabel iterasi 1 ditunjukkan tabel di bawah. Selanjutnya kita periksa apakah
tabel sudah optimal atau belum. Karena nilai baris z di bawah variabel x1
masih negatif, maka tabel belum optimal. Kolom dan baris pivotnya ditandai pada tabel di bawah ini
:
VB
|
X1
|
X2
|
X3
|
S1
|
S2
|
S3
|
NK
|
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
|
Variabel
masuk dengan demikian adalah X1
dan variabel keluar adalah S3
. Hasil perhitungan
iterasi ke 2 adalah sebagai berikut :
Iterasi
2 :
VB
|
X1
|
X2
|
X3
|
S1
|
S2
|
S3
|
NK
|
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
|
|
X1
|
1
|
0
|
-2
|
0
|
-2/3
|
1/3
|
2/3
|
|
Tabel sudah optimal, sehingga perhitungan
iterasi dihentikan !
- Membaca Tabel Optimal
Membaca tabel optimal adalah bagian
penting bagi pengambil keputusan.
Menggunakan table optimal :
VB
|
X1
|
X2
|
X3
|
S1
|
S2
|
S3
|
NK
|
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
|
X1
|
1
|
0
|
-2
|
0
|
-2/3
|
1/3
|
2/3
|
X1 = 2/3, X2
= 5/9 , X3 = 0 dan Z = 31/3, artinya untuk mendapatkan
keuntungan maksimum sebesar $ 31/3 , maka perusahaan sebaiknya menghasilkan
produk 1 sebesar 2/3 unit dan produk 2
sebesar 5/9 unit.
1.3.
Rangkuman
Perhitungan
dalam simpleks menuntut ketelitian
tinggi, khususnya jika angka yang digunakan adalah pecahan. Pembulatan harus diperhatikan dengan baik. Disarankan
jangan menggunakan bentuk bilangan desimal, akan lebih teliti jika menggunakan
bilangan pecahan. Pembulatan dapat menyebabkan iterasi lebih panjang atau
bahkan tidak selesai karena ketidaktelitian dalam melakukan pembulatan.
Perhitungan
iteratif dalam simpleks pada dasarnya merupakan pemeriksaan satu per satu
titik-titik ekstrim layak pada daerah penyelesaian. Pemeriksaan dimulai dari
kondisi nol (dimana semua aktivitas/variabel keputusan bernilai nol). Jika
titik ekstrim berjumlah n, kemungkinan terburuknya kita akan melakukan
perhitungan iteratif sebanyak n kali.
1.4.
Referensi
1.
Taha, H. A, (1996), Riset Operasi, Suatu Pengantar, Edisi Kelima Jilid 1, Penerbit Binarupa Aksara, Jakarta
2.
Dimyati, T. T., Dimyati, A., (2004), Operations
Research, Model-Model Pengambilan Keputusan. Penerbit Sinar Baru
Algensindo, Bandung
1.1.
Sub Kompetensi
Kemampuan yang akan dimiliki
oleh mahasiswa setelah memahami isi modul ini adalah sebagai berikut :
-
Mahasiswa mampu memformulasikan permasalahan linier dalam
bentuk format standard an model matematika linier dengan metode simpleks.
-
Mahasiswa mampu mendefinisikan variabel slack dan surplus
berkaitan dengan permasalahan
1.2.
Uraian Materi
Salah satu teknik penentuan solusi optimal
yang digunakan dalam pemrograman linier adalah metode simpleks. Penentuan solusi optimal dilakukan dengan
memeriksa titik ekstrim satu per satu dengan cara perhitungan iteratif.
Sehingga penentuan solusi optimal dengan simpleks dilakukan tahap demi tahap
yang disebut dengan iterasi. Iterasi ke-i hanya tergantung dari iterasi
sebelumnya (i-1).
Ada beberapa istilah yang sangat sering digunakan dalam
metode simpleks, diantaranya :
- Iterasi 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 merupakan pertidaksamaan ≤ ) atau variabel buatan (jika fungsi kendala menggunakan pertidaksamaan ≥ atau =). Secara umum, jumlah variabel basis selalu sama dengan jumlah fungsi pembatas (tanpa fungsi non negatif).
- Solusi atau nilai kanan 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 ini terjadi pada tahap inisialisasi. Pada solusi awal, variabel surplus tidak dapat berfungsi sebagai variabel basis.
- 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 hanya ada di atas kertas.
- Kolom pivot (kolom kerja) adalah kolom yang memuat variabel masuk. Koefisien pada kolom ini akn menjadi pembagi nilai kanan untuk menentukan baris pivot (baris kerja).
- Baris pivot (baris kerja) adalah salah satu baris dari antara variabel basis 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 adalah variabel yang keluar dari variabel basis pada iterasi berikutnya dan digantikan oleh variabel masuk. Variabel keluar dipilih satu dari antara variabel basis pada setiap iiterasi. Variabel ini pada iterasi berikutnya akan bernilai nol.
- 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 :
- Fungsi kendala dengan pertidaksamaan ≤ dalam bentuk umum, dirubah menjadi persamaan (=) dengan menambahkan satu variabel slack.
- Fungsi kendala dengan pertidaksamaan ≥ dalam bentuk umum, dirubah menjadi persamaan (=) dengan mengurangkan satu variabel surplus.
- Fungsi kendala dengan persamaan dalam benttuk umum,ditambahkan satu artificial variabel (variabel buatan).
Perhatikan kasus berikut ini :
Maksimumkan z = 2x1 + 3x2
Kendala :
10 x1 + 5 x2 ≤ 600
6 x1 + 20 x2 ≤ 600
8 x1 + 15 x2 ≤ 600
x1, x2 ≥0
Bentuk
di atas juga merupakan bentuk umum. Perubahan ke dalam bentuk baku hanya
membutuhkan variabel slack, karena semua fungsi kendala menggunakan bentuk
pertidaksamaan ≤ dalam bentuk umumnya. Maka bentuk bakunya adalah sebagai
berikut :
Maksimumkan z = 2x1 + 3x2 + 0s1 +
0s2 + 0s3
Kendala :
10 x1 + 5 x2 + s1 = 600
6 x1 + 20 x2 + s2 = 600
8 x1 + 15 x2 + s3 = 600
x1, x2 ,
s1 , s2 , s3 ≥ 0
s1 , s2 , s3 merupakan variable slack.
- Pembentukan Tabel Simpleks
Dalam
perhitungan iterative, kita akan bekerja menggunakan tabel. Bentuk baku yang
sudah diperoleh, harus dibuat ke dalam bentuk tabel. Semua
variabel yang bukan variabel basis mempunyai solusi (nilai kanan) sama dengan
nol dan koefisien variabel basis pada baris tujuan harus sama dengan 0. Oleh
karena itu kita harus membedakan pembentukan tabel awal berdasarkan variabel
basis awal. Dalam sub bab ini kita hanya akan memperhatikan fungsikendala yang
menggunakan variabel slack dalam bentuk bakunya.
Langkah-langkah penyelesaian adalah sebagai berikut :
- Periksa apakah tabel layak atau tidak. Kelayakan tabel simpleks dilihat dari solusi (nilai kanan). Jika solusi ada yang bernilai negatif, maka tabel tidak layak. Tabel yang tidak layak tidak dapat diteruskan untuk dioptimalkan.
- Tentukan kolom pivot. Penentuan kolom pivot dilihat dari koefisien fungsi tujuan (nilai di sebelah kanan baris z) dan tergantung dari bentuk tujuan. Jika tujuan maksimisasi, maka kolom pivot adalah kolom dengan koefisien paling negatif. Jika tujuan minimisasi , maka kolom pivot adalah kolom dengan koefisien positif terbesar. Jika kolom pivot ditandai dan ditarik ke atas, maka kita akan mendapatkan variabel keluar. Jika nilai paling negatif (untuk tujuan maksimisasi) atau positif terbesar (untuk tujuan minimisasi) lebih dari satu, pilih salah satu secara sembarang.
- Tentukan baris pivot. Baris pivot ditentukan setelah membagi nilai solusi dengan nilai kolom pivot yang bersesuaian (nilai yang terletak dalam satu baris). Dalam hal ini, nilai negatif dan 0 pada kolom pivot tidak diperhatikan, artinya tidak ikut menjadi pembagi. Baris pivot adalah baris dengan rasio pembagian terkecil. Jika baris pivot ditandai dan ditarik ke kiri, maka kita akan mendapatkan variabl keluar. Jika rasio pembagian terkecil lebih dari satu, pilih salah sau secara sembarang.
- Tentukan elemen pivot. Elemen pivot merupakan nilai yang terletak pada perpotongan kolom dan baris pivot.
- Bentuk tabel simpleks baru. Tabel simpleks baru dibentuk dengan pertama sekali menghitung nilai baris pivot baru. Baris pivot baru adalah baris pivot lama dibagi dengan elemen pivot. Baris baru lainnya merupakan pengurangan nilai kolom pivot baris yang bersangkutan dikali baris pivot baru dalam satu kolom terhadap baris lamanya yang terletak pada kolom tersebut.
- Periksa apakah tabel sudah optimal. Keoptimalan tabel dilihat dari koefisien fungsi tujuan (nilai pada baris z) dan tergantung dari bentuk tujuan. Untuk tujuan maksimisasi, tabel sudah optimal jika semua nilai pada baris z sudah positif atau 0. Pada tujuan minimisasi, tabel sudah optimal jika semua nilai pada baris z sudah negatif atau 0. Jika belum, kembali ke langkah no. 2 , jika sudah optimal baca solusi optimalnya.
Selesaikan kasus berikut ini menggunakan metode simpleks
:
Maksimum z = 8 x1 + 9 x2 + 4x3
Kendala :
x1 + x2 + 2x3 ≤ 2
2x1 + 3x2 + 4x3 ≤ 3
7x1 + 6x2 + 2x3 ≤ 8
x1,x2,x3 ≥ 0
Penyelesaian :
Bentuk bakunya adalah :
Maksimum z = 8 x1 + 9 x2 + 4x3 +
0s1 + 0s2 + 0s3 atau
z - 8 x1 - 9 x2 - 4x3 + 0s1
+ 0s2 + 0s3 = 0
Kendala :
x1 + x2 + 2x3 + s1 = 2
2x1 + 3x2 + 4x3 + s2 =
3
7x1 + 6x2 + 2x3 + s3 = 8
x1,x2,x3 ,s1 , s2
, s3 ≥ 0
Solusi / table awal simpleks
:
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
nilai negative terbesar ada pada kolom X2,
maka kolom X2 adalah kolom pivot dan X2 adalah variabel
masuk. Rasio pembagian nilai kanan
dengan kolom pivot terkecil adalah 1 bersesuaian dengan
baris s2, maka baris s2 adalah baris pivot dan s2
adalah varisbel keluar. Elemen pivot adalah 3.
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
|
S3
|
7
|
6
|
2
|
0
|
0
|
1
|
8
|
8/6
|
Iterasi
1
Nilai
pertama yang kita miliki adalah nilai baris
pivot baru (baris x2). Semua nilai pada baris s2 pada tabel solusi
awal dibagi dengan 3 (elemen pivot).
VB
|
X1
|
X2
|
X3
|
S1
|
S2
|
S3
|
NK
|
Rasio
|
Z
|
|
|
|
|
|
|
|
|
S1
|
|
|
|
|
|
|
|
|
x2
|
2/3
|
1
|
4/3
|
0
|
1/3
|
0
|
1
|
|
S3
|
|
|
|
|
|
|
|
|
Perhitungan
nilai barisnya :
Baris
z :
-8 -9 -4 0 0 0 0
-9 (
2/3 1 4/3 0 1/3 0 1 )
-
-2 0
8 0 3 0 9
Baris
s1 :
1 1 2 1 0 0 2
1
(2/3 1 4/3 0 1/3 0 1 ) -
1/3 0 2/3 1 -1/3 0 1
Baris
s3 :
7 6 2 0 0 1 8
6 ( 2/3 1 4/3 0 1/3 0 1 ) -
3 0 -6 0 -2 1 2
Maka
tabel iterasi 1 ditunjukkan tabel di bawah. Selanjutnya kita periksa apakah
tabel sudah optimal atau belum. Karena nilai baris z di bawah variabel x1
masih negatif, maka tabel belum optimal. Kolom dan baris pivotnya ditandai pada tabel di bawah ini
:
VB
|
X1
|
X2
|
X3
|
S1
|
S2
|
S3
|
NK
|
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
|
Variabel
masuk dengan demikian adalah X1
dan variabel keluar adalah S3
. Hasil perhitungan
iterasi ke 2 adalah sebagai berikut :
Iterasi
2 :
VB
|
X1
|
X2
|
X3
|
S1
|
S2
|
S3
|
NK
|
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
|
|
X1
|
1
|
0
|
-2
|
0
|
-2/3
|
1/3
|
2/3
|
|
Tabel sudah optimal, sehingga perhitungan
iterasi dihentikan !
- Membaca Tabel Optimal
Membaca tabel optimal adalah bagian
penting bagi pengambil keputusan.
Menggunakan table optimal :
VB
|
X1
|
X2
|
X3
|
S1
|
S2
|
S3
|
NK
|
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
|
X1
|
1
|
0
|
-2
|
0
|
-2/3
|
1/3
|
2/3
|
X1 = 2/3, X2
= 5/9 , X3 = 0 dan Z = 31/3, artinya untuk mendapatkan
keuntungan maksimum sebesar $ 31/3 , maka perusahaan sebaiknya menghasilkan
produk 1 sebesar 2/3 unit dan produk 2
sebesar 5/9 unit.
1.3.
Rangkuman
Perhitungan
dalam simpleks menuntut ketelitian
tinggi, khususnya jika angka yang digunakan adalah pecahan. Pembulatan harus diperhatikan dengan baik. Disarankan
jangan menggunakan bentuk bilangan desimal, akan lebih teliti jika menggunakan
bilangan pecahan. Pembulatan dapat menyebabkan iterasi lebih panjang atau
bahkan tidak selesai karena ketidaktelitian dalam melakukan pembulatan.
Perhitungan
iteratif dalam simpleks pada dasarnya merupakan pemeriksaan satu per satu
titik-titik ekstrim layak pada daerah penyelesaian. Pemeriksaan dimulai dari
kondisi nol (dimana semua aktivitas/variabel keputusan bernilai nol). Jika
titik ekstrim berjumlah n, kemungkinan terburuknya kita akan melakukan
perhitungan iteratif sebanyak n kali.
1.4.
Referensi
1.
Taha, H. A, (1996), Riset Operasi, Suatu Pengantar, Edisi Kelima Jilid 1, Penerbit Binarupa Aksara, Jakarta
2.
Dimyati, T. T., Dimyati, A., (2004), Operations
Research, Model-Model Pengambilan Keputusan. Penerbit Sinar Baru
Algensindo, Bandung
0 comments:
Post a Comment