Rabu, 15 Maret 2017

Metode Simpleks dan Pengaplikasinnya dalam kehidupan sehari-hari

Metode Simpleks dan Pengaplikasinnya dalam kehidupan sehari-hari
Metode  simpleks  merupakan salah satu teknik penyelesaian dalam program linier yang digunakan  sebagai teknik pengambilan keputusan dalam permasalahan yang berhubungan dengan  pengalokasian sumberdaya secara optimal. Metode simpleks digunakan untuk mencari nilai optimal  dari program linier yang melibatkan banyak constraint (pembatas) dan banyak variabel (lebih dari dua variabel). Penemuan metode ini merupakan lompatan besar dalam riset operasi dan digunakan  sebagai prosedur penyelesaian dari setiap program computer.
Salah satu teknik penentuan solusi optimal yang digunakan dalam pemrograman linier adalah metode simpleks.  Penentuan solusi optimal menggunakan metode simpleks didasarkan pada teknik eleminasi Gauss Jordan. 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 
Ø Ada beberapa istilah yang sangat sering digunakan dalam metode simpleks, diantaranya yaitu
1.       Iterasi adalah tahapan perhitungan dimana nilai dalam perhitungan itu tergantung dari nilai tabel sebelumnya.
2.       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. 
3.       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).
4.       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.
5.       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.
6.   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.
7.   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
8.    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).
9.    Baris pivot (baris kerja) adalah salah satu baris dari antara variabel basis yang memuat variabel keluar.
10.  Elemen pivot (elemen kerja) adalah elemen yang terletak pada perpotongan kolom dan baris pivot. Elemen pivot akan menjadi dasar perhitungan untuk tabel simpleks berikutnya.
11.  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.
12.  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 :
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 benttuk umum,ditambahkan satu artificial variabel (variabel buatan).

   
Langkah-langkah menyelesaikan metode simpleks secara manual adalah sebagai berikut :
1.   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.
2.   Tentukan kolom kunci. Penentuan kolom kunci dilihat dari koefisien fungsi tujuan (nilai di sebelah kanan baris z) dan tergantung dari bentuk tujuan. Jika tujuan berupa maksimisasi, maka kolom kunci adalah kolom dengan koefisien negatif terbesar. Jika tujuan minimisasi, maka kolom kunci adalah kolom dengan koefisien positif terbesar. Perhatikan, kita tidak menggunakan kata-kata nilai terkecil dan terbesar, karena kita memang tidak memilih nilai terkecil dan terbesar. Jika kolom kunci ditandai dan ditarik ke atas, maka kita akan mendapatkan variabel keluar. Jika nilai negatif terbesar (untuk tujuan maksimisasi) atau positif terbesar (untuk tujuan minimisasi) lebih dari satu, pilih salah satu secara sembarang.
3.    Tentukan baris kunci. Baris kunci ditentukan setelah membagi nilai kanan dengan nilai kolom kunci yang bersesuaian (nilai yang terletak dalam satu baris). Dalam hal ini, nilai negatif dan 0 pada kolom kunci tidak diperhatikan, artinya tidak ikut menjadi pembagi. Baris kunci adalah baris dengan rasio pembagian terkecil. Perhatikan, rasio pembagian tidak mungkin bernilai negatif, karena nilai kanan tidak negatif demikian juga dengan nilai kolom kunci. Jika baris kunci ditandai dan ditarik ke kiri, maka kita akan mendapatkan variabel keluar. Jika rasio pembagian terkecil lebih dari satu, pilih salah satu secara sembarang.
4.   Tentukan angka kunci. Angka kunci merupakan nilai yang terletak pada perpotongan kolom dan baris kunci.
5.   Bentuk tabel simpleks baru. Tabel simpleks baru dibentuk dengan pertama sekali menghitung nilai baris kunci baru. Baris kunci baru adalah baris kunci lama dibagi dengan angka kunci. Baris baru lainnya merupakan pengurangan nilai kolom kunci baris yang bersangkutan dikali baris kunci baru dalam satu kolom terhadap baris lamanya yang terletak dalam satu kolom juga.


Contoh Soal :
1. Selesaikan kasus berikut ini menggunakan metode simpleks :
Maksimum z = 8 x+ 9 x2 + 4x3
Kendala :
x1 + x2 + 2x≤ 2
2x1 + 3x2 + 4x≤ 3
7x1 + 6x2 + 2x≤ 8
x1,x2,x≥ 0

Penyelesaian :
Bentuk bakunya adalah :
Maksimum z = 8 x+ 9 x2 + 4x+ 0s1 + 0s2 + 0s3 atau
                     z - 8 x- 9 x2 - 4x+ 0s1 + 0s2 + 0s3 = 0
Kendala :
x1 + x2 + 2x+ s1  = 2
2x1 + 3x2 + 4x+ s2 = 3
7x1 + 6x2 + 2x3  + s= 8
x1,x2,x,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 !

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.

Contoh Soal :  

Maksimumkan Z = 40 X1 + 30 X2 + 50 X3
Dengan syarat :            6X1 + 4X2 +      X3  ≤ 32.000
                                     6X1 + 7X2 +    3X3  ≤ 16.000
                                     4X1 + 5X2 + 12 X3  ≤ 24.000
                                     X1        X2         X3   ≥ 0
Bentuk baku masalah LP itu adalah :
Z     -40X1 – 30X2 – 50X3 –  0S1 – 0S2 – 0S3  = 0
6X1 +  4X2 +      X3 +    S1  = 32.000
6X1 +  7X2 +    3X3 +    S2  = 16.000
4X1 +  5X2 +  12X3 +    S3  = 24.000

Solusi dengan menggunakan tabel simpleks yang lengkap ditunjukan pada tabel berikut.
                                                     Penyelesaian

Langkah pertama dalam menghitung Optimality condition adalah menentukan variabel nonbasis dengan koefisien negatif terbesar sebagai entering variable, kemudian menentukan leaving variabel atau variabel basis yang memiliki rasio terkecil yang akan menentukan pivot elemen dimana pivot elemen adalah perpotongan entering kolom dengan pivot equation. Pivot elemen ditunjukkan dengan tanda kurung.Tabel 3.6 Tabel Simpleks Awal. 





Perhitungan untuk Iterasi Pertama (1) tabel 3.8





Tabel 3.8 Tabel Iterasi Pertama







Pada Iterasi yang kedua telah tercapai solusi optimum dengan X1 = 2000, X3 = 440.000/3 dan Z = 146.666,67. Pada tabel optimum (Tabel 3.10) S2 dan S3 = 0, artinya pengambil keputusan akan menggunakan seluruh persediaan sumberdaya kedua dan ketiga

SUMBER :


1. http://awank38.blogspot.co.id/2015/01/metode-simpleks-dalam-program-linier.html
2. http://farishhantulaut.blogspot.co.id/2011/05/riset-operasi-aplikasi-dalam kehidupan.html

Tidak ada komentar:

Posting Komentar