Anda di halaman 1dari 8

Metode Simpleks

(Sumber : Siringoringo, 2005) Pengantar 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. Iterasi ke-i hanya tergantung dari iterasi sebelumnya (i-1). da beberapa istilah yang sangat sering digunakan dalam metode simpleks! diantaranya " 1. Iterasi adalah tahapan perhitungan dimana nilai dalam perhitungan itu tergantung dari nilai tabel sebelumnya. #. Variabel non basis adalah $ariabel yang nilainya diatur men%adi nol pada sembarang iterasi. &alam terminologi umum! %umlah $ariabel non basis selalu sama dengan dera%at bebas dalam sistem persamaan. '. Variabel basis merupakan $ariabel yang nilainya bukan nol pada sembarang iterasi. Pada solusi a(al! $ariabel basis merupakan $ariabel slack (%ika fungsi kendala merupakan pertidaksamaan ) ) atau $ariabel buatan (%ika fungsi kendala menggunakan pertidaksamaan * atau +). Secara umum! %umlah $ariabel basis selalu sama dengan %umlah fungsi pembatas (tanpa fungsi non negatif). ,. Solusi atau nilai kanan merupakan nilai sumber daya pembatas yang masih tersedia. Pada solusi a(al! nilai kanan atau solusi sama dengan %umlah sumber daya pembatas a(al yang ada! karena akti$itas belum dilaksanakan. -. Variabel slack adalah $ariabel yang ditambahkan ke model matematik kendala untuk mengkon$ersikan pertidaksamaan ) men%adi persamaan (+). Penambahan $ariabel ini ter%adi pada tahap inisialisasi. Pada solusi a(al! $ariabel slack akan berfungsi sebagai $ariabel basis. .. Variabel surplus adalah $ariabel yang dikurangkan dari model matematik kendala untuk mengkon$ersikan pertidaksamaan * men%adi persamaan (+). Penambahan ini ter%adi pada tahap inisialisasi. Pada solusi a(al! $ariabel surplus tidak dapat berfungsi sebagai $ariabel basis. /. Variabel buatan adalah $ariabel yang ditambahkan ke model matematik kendala dengan bentuk * atau + untuk difungsikan sebagai $ariabel basis a(al. Penambahan $ariabel ini ter%adi pada tahap inisialisasi. 0ariabel ini harus bernilai 1 pada solusi optimal! karena kenyataannya $ariabel ini tidak ada. 0ariabel hanya ada di atas kertas. 2. Kolom pivot (kolom kerja) adalah kolom yang memuat $ariabel masuk. 3oefisien pada kolom ini akn men%adi pembagi nilai kanan untuk menentukan baris pi$ot (baris ker%a). 4. Baris pivot (baris kerja) adalah salah satu baris dari antara $ariabel basis yang memuat $ariabel keluar.

11. Elemen pivot (elemen kerja) adalah elemen yang terletak pada perpotongan kolom dan baris pi$ot. 5lemen pi$ot akan men%adi dasar perhitungan untuk tabel simpleks berikutnya. 11. Variabel masuk adalah $ariabel yang terpilih untuk men%adi $ariabel basis pada iterasi berikutnya. 0ariabel masuk dipilih satu dari antara $ariabel non basis pada setiap iterasi. 0ariabel ini pada iterasi berikutnya akan bernilai positif. 1#. Variabel keluar adalah $ariabel yang keluar dari $ariabel basis pada iterasi berikutnya dan digantikan oleh $ariabel masuk. 0ariabel keluar dipilih satu dari antara $ariabel basis pada setiap iiterasi. 0ariabel ini pada iterasi berikutnya akan bernilai nol. BEN !K B"K! Sebelum melakukan perhitungan iteratif untuk menentukan solusi optimal! pertama sekali bentuk umum pemrograman linier dirubah ke dalam bentuk baku terlebih dahulu. 6entuk baku dalam metode simpleks tidak hanya mengubah persamaan kendala ke dalam bentuk sama dengan! tetapi setiap fungsi kendala harus di(akili oleh satu $ariabel basis a(al. 0ariabel basis a(al menun%ukkan status sumber daya pada kondisi sebelum ada akti$itas yang dilakukan. &engan kata lain! $ariabel keputusan semuanya masih bernilai nol. &engan demikian! meskipun fungsi kendala pada bentuk umum pemrograman linier sudah dalam bentuk persamaan! fungsi kendala tersebut masih harus tetap berubah. da beberapa hal yang harus diperhatikan dalam membuat bentuk baku! yaitu " 1. 7ungsi kendala dengan pertidaksamaan ) dalam bentuk umum! dirubah men%adi persamaan (+) dengan menambahkan satu $ariabel slack. #. 7ungsi kendala dengan pertidaksamaan * dalam bentuk umum! dirubah men%adi persamaan (+) dengan mengurangkan satu $ariabel surplus. '. 7ungsi kendala dengan persamaan dalam benttuk umum!ditambahkan satu artificial $ariabel ($ariabel buatan). Perhatikan kasus berikut "

7ungsi tu%uan " minimumkan 8 + # 91 : -.- 9# 3endala " 91 : 9# + 41 1.111 91 : 1.11# 9# ) 1.4 1.14 91 : 1.. 9# * #/ 1.1# 91 : 1.1. 9# ) ,.91! 9# * 1

6entuk di atas adalah bentuk umum pemrograman liniernya. 3edalam bentuk baku! model matematik tersebut akan berubah men%adi "

7ungsi tu%uan " minimumkan 8 + # 91 : -.- 9# 3endala " 91 : 9# : s1 + 41 1.111 91 : 1.11# 9# : s# + 1.4 1.14 91 : 1.. 9# ; s' : s, + #/ 1.1# 91 : 1.1. 9# : s- + ,.91! 9# ! s1! s#! s'! s,! s- * 1 7ungsi kendala pertama mendapatkan $ariable buatan (s 1)! karena bentuk umumnya sudah menggunakan bentuk persamaan. 7ungsi kendala kedua dan keempat mendapatkan $ariabel slack (s# dan s-) karena bentuk umumnya menggunakan pertidaksamaan )! sedangkan fungsi kendala ketiga mendapatkan $ariabel surplus (s') dan $ariabel buatan (s,) karena bentuk umumnya menggunakan pertidaksamaan *. Perhatikan pula kasus 6 berikut ini " <aksimumkan 8 + #91 : '9# 3endala " 11 91 : - 9# ) .11 . 91 : #1 9# ) .11 2 91 : 1- 9# ) .11 91! 9# * 6entuk di atas %uga merupakan bentuk umum. Perubahan ke dalam bentuk baku hanya membutuhkan $ariabel slack! karena semua fungsi kendala menggunakan bentuk pertidaksamaan ) dalam bentuk umumnya. <aka bentuk bakunya adalah sebagai berikut " <aksimumkan 8 + #91 : '9# : 1s1 : 1s# : 1s' 3endala " 11 91 : - 9# : s1 + .11 . 91 : #1 9# : s# + .11 2 91 : 1- 9# : s' + .11 91! 9# ! s1 ! s# ! s' * 1 s1 ! s# ! s' merupakan $ariable slack. PEMBEN !K"N "BE# SIMP#EKS &alam perhitungan iterati$e! kita akan beker%a menggunakan tabel. 6entuk baku yang sudah diperoleh! harus dibuat ke dalam bentuk tabel. Semua $ariabel yang bukan $ariabel basis mempunyai solusi (nilai kanan) sama dengan nol dan koefisien $ariabel basis pada baris tu%uan harus sama dengan 1. =leh karena itu kita harus membedakan pembentukan tabel a(al berdasarkan $ariabel basis a(al. &alam sub bab ini kita hanya akan memperhatikan fungsikendala yang menggunakan $ariabel slack dalam bentuk bakunya! sedangkan yang menggunakan $ariabel buatan akan dibahas pada sub bab lainnya. Gunakan kasus 6 di atas! maka tabel a(al simpleksnya adalah "

'

06 ? S1 S# S'

>1 -# 11 . 2

># -' #1 1-

S1 1 1 1 1

S# 1 1 1 1

S' 1 1 1 1

solusi 1 .11 .11 .11

#"N$K"%&#"N$K"% PEN'E#ES"I"N @angkah-langkah penyelesaian adalah sebagai berikut " 1. Periksa apakah tabel layak atau tidak. 3elayakan tabel simpleks dilihat dari solusi (nilai kanan). Jika solusi ada yang bernilai negatif! maka tabel tidak layak. Aabel yang tidak layak tidak dapat diteruskan untuk dioptimalkan. #. Aentukan kolom pi$ot. Penentuan kolom pi$ot dilihat dari koefisien fungsi tu%uan (nilai di sebelah kanan baris 8) dan tergantung dari bentuk tu%uan. Jika tu%uan maksimisasi! maka kolom pi$ot adalah kolom dengan koefisien paling negatif. Jika tu%uan minimisasi ! maka kolom pi$ot adalah kolom dengan koefisien positif terbesar. Jika kolom pi$ot ditandai dan ditarik ke atas! maka kita akan mendapatkan $ariabel keluar. Jika nilai paling negatif (untuk tu%uan maksimisasi) atau positif terbesar (untuk tu%uan minimisasi) lebih dari satu! pilih salah satu secara sembarang. '. Aentukan baris pi$ot. 6aris pi$ot ditentukan setelah membagi nilai solusi dengan nilai kolom pi$ot yang bersesuaian (nilai yang terletak dalam satu baris). &alam hal ini! nilai negatif dan 1 pada kolom pi$ot tidak diperhatikan! artinya tidak ikut men%adi pembagi. 6aris pi$ot adalah baris dengan rasio pembagian terkecil. Jika baris pi$ot ditandai dan ditarik ke kiri! maka kita akan mendapatkan $ariabl keluar. Jika rasio pembagian terkecil lebih dari satu! pilih salah sau secara sembarang. ,. Aentukan elemen pi$ot. 5lemen pi$ot merupakan nilai yang terletak pada perpotongan kolom dan baris pi$ot. -. 6entuk tabel simpleks baru. Aabel simpleks baru dibentuk dengan pertama sekali menghitung nilai baris pi$ot baru. 6aris pi$ot baru adalah baris pi$ot lama dibagi dengan elemen pi$ot. 6aris baru lainnya merupakan pengurangan nilai kolom pi$ot baris yang bersangkutan dikali baris pi$ot baru dalam satu kolom terhadap baris lamanya yang terletak pada kolom tersebut. .. Periksa apakah tabel sudah optimal. 3eoptimalan tabel dilihat dari koefisien fungsi tu%uan (nilai pada baris 8) dan tergantung dari bentuk tu%uan. Bntuk tu%uan maksimisasi! tabel sudah optimal %ika semua nilai pada baris 8 sudah positif atau 1. Pada tu%uan minimisasi! tabel sudah optimal %ika semua nilai pada baris 8 sudah negatif atau 1. Jika belum! kembali ke langkah no. # ! %ika sudah optimal baca solusi optimalnya.

Selesaikan kasus berikut ini menggunakan metode simpleks " <aksimum 8 + 2 91 : 4 9# : ,9' 3endala " 91 : 9# : #9' ) # #91 : '9# : ,9' ) ' /91 : .9# : #9' ) 2 91!9#!9' * 1 Pen(elesaian ) 6entuk bakunya adalah " <aksimum 8 + 2 91 : 4 9# : ,9' : 1s1 : 1s# : 1s' atau 8 - 2 91 - 4 9# - ,9' : 1s1 : 1s# : 1s' + 1 3endala " 91 : 9# : #9' : s1 + # #91 : '9# : ,9' : s# + ' /91 : .9# : #9' : s' + 2 91!9#!9' !s1 ! s# ! s' * 1 Solusi C table a(al simpleks " 06 ? S1 S# S' >1 -2 1 # / ># -4 1 ' . >' -, # , # S1 1 1 1 1 S# 1 1 1 1 S' 1 1 1 1 D3 1 # ' 2 Easio

3arena nilai negati$e terbesar ada pada kolom >#! maka kolom ># adalah kolom pi$ot dan ># adalah $ariabel masuk. Easio pembagian nilai kanan dengan kolom pi$ot terkecil adalah 1 bersesuaian dengan baris s#! maka baris s# adalah baris pi$ot dan s# adalah $arisbel keluar. 5lemen pi$ot adalah '. 06 ? S1 S# S' Iterasi 1 Dilai pertama yang kita miliki adalah nilai baris pi$ot baru (baris 9#). Semua nilai pada baris s# pada tabel solusi a(al dibagi dengan ' (elemen pi$ot). >1 -2 1 # / ># -4 1 ' . >' -, # , # S1 1 1 1 1 S# 1 1 1 1 S' 1 1 1 1 D3 1 # ' 2 Easio # 1 2C.

06 ? S1 9# S'

>1 #C'

># 1

>' ,C'

S1 1

S# 1C'

S' 1

D3 1

Easio

Perhitungan nilai barisnya " 6aris 8 " -2 -4 ( #C' -# 6aris s1 " 1 1 (#C' 1C' 6aris s' " / . ( #C' ' . 1 1 # ,C' -. 1 1 1 1 1C' -# 1 1 1 2 1)# 1 1 1 # ,C' #C' 1 1 1 1 1C' -1C' 1 1 1 # 1)1 -4 1 1 -, ,C' 2 1 1 1 1 1C' ' 1 1 1 1 1) 4

<aka tabel iterasi 1 ditun%ukkan tabel di ba(ah. Selan%utnya kita periksa apakah tabel sudah optimal atau belum. 3arena nilai baris 8 di ba(ah $ariabel 9 1 masih negatif! maka tabel belum optimal. 3olom dan baris pi$otnya ditandai pada tabel di ba(ah ini " 06 ? S1 ># S' >1 -# 1C' #C' ' ># 1 1 1 1 >' 2 #C' ,C' -. S1 1 1 1 1 S# ' -1C' 1C' -# S' 1 1 1 1 D3 4 1 1 # Easio ' 'C# #C'

0ariabel masuk dengan demikian adalah >1 dan $ariabel keluar adalah S' . Fasil perhitungan iterasi ke # adalah sebagai berikut " Iterasi # " 06 ? S1 ># >1 >1 1 1 1 1 ># 1 1 1 1 >' , ,C' 2C' -# S1 1 1 1 1 S# -C' -1C4 /C4 -#C' S' #C' -1C4 -#C4 1C' D3 '1C' /C4 -C4 #C' Easio

Aabel sudah optimal! sehingga perhitungan iterasi dihentikan G Perhitungan dalam simpleks menuntut ketelitian tinggi! khususnya %ika angka yang digunakan adalah pecahan. Pembulatan harus diperhatikan dengan baik. &isarankan %angan menggunakan bentuk bilangan desimal! akan lebih teliti %ika menggunakan bilangan pecahan. Pembulatan dapat menyebabkan iterasi lebih pan%ang 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 akti$itasC$ariabel keputusan bernilai nol). Jika titik ekstrim ber%umlah n! kemungkinan terburuknya kita akan melakukan perhitungan iteratif sebanyak n kali. MEMB"*" "BE# +P IM"# <embaca tabel optimal adalah bagian penting bagi pengambil keputusan. hal yang bisa dibaca dari table optimal " 1. Solusi optimal $ariable keputusan #. Status sumber daya '. harga bayangan (dualCshado( prices). <enggunakan table optimal " 06 ? S1 ># >1 >1 1 1 1 1 ># 1 1 1 1 >' , ,C' 2C' -# S1 1 1 1 1 S# -C' -1C4 /C4 -#C' S' #C' -1C4 -#C4 1C' D3 '1C' /C4 -C4 #C' da beberapa

Solusi optimal >1 + #C'! ># + -C4 ! >' + 1 dan ? + '1C'! artinya untuk mendapatkan keuntungan maksimum sebesar H '1C' ! maka perusahaan sebaiknya menghasilkan produk 1 sebesar #C' unit dan produk # sebesar -C4 unit. Status sumber da(a " Sumber daya pertama dilihat dari keberadaan $ariable basis a(al dari setiap fungsi kendala pada table optimal. &alam kasus di atas! untuk fungsi kendala pertama periksa keberadaan S1 pada $ariable basis table optimal. Periksa keberadaan S # pada $ariable basis table optimal untuk fungsi kendala kedua. Periksa keberadaan S ' pada $ariable basis table optimal untuk fungsi kendala ketiga. S1 + /C4. Sumber daya ini disebut berlebih (abundant) S# + S' + 1. 3edua sumber daya ini disebut habis terpakai (scarce).

%arga ba(angan " Farga bayangan dilihat dari koefisien $ariable slack atau surplus pada baris fungsi tu%uan. 3oefisien S1 pada baris fungsi tu%uan table optimal + 1! dengan demikian harga bayangan sumber daya pertama adalah 1 3oefisien S# pada baris fungsi tu%uan table optimal + -C'! dengan demikian harga bayangan sumber daya kedua adalah -C' 3oefisien S' pada baris fungsi tu%uan table optimal + #C'! dengan demikian harga bayangan sumber daya kedua adalah #C'. Sumber " Siringoringo! Fotniar. Seri Aeknik Eiset =perasional. Pemrograman @inear. Penerbit Graha Ilmu. Iogyakarta. #11-.

Anda mungkin juga menyukai