Dosen :
Drs. H. Zaenal Syaeful, M.Pd.
Ida Nuraida, M.P.Mat
Kelas 5C
Oleh Kelompok 7:
Metode simplek merupakan salah satu teknik penentuan solusi optimal yang digunakan
dalam pemograman linear. Metode simpleks digunakan untuk menyelesaikan masalah optimasi
yang melibatkan tiga variabel atau lebih yang tidak dapat diselesaikan oleh metode grafik.
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.
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).
Penemu medose simpleks adalah George zbernard Dantzig. Dantzig adalah matematikawan
amerika yang lahir di Oregon pada 8 November 1914 dan wafat pada 13 Mei 2005.Metode
simpleks menjadi teknik standar untuk menyelesaikan masalah program linear sejak tahun
1947.
Perlu diingatkan kembali bahwa permasalahan model program linear dapat memiliki
pembatas-pembatas linear yang bertanda , , ) dan peubah-peubah keputusannya dapat
merupakan peubahnonnegatif, dapat pula peubahyang tidak terbatas dalam tanda (unrestricted
in sign).
Dalam menyelesaikan permasalahan program linear dengan metode simpleks, bentuk dasar
yang digunakan haruslah merupakan bentuk standar, yaitu bentuk formulasi yang memenuhi
ketentuan berikut ini:
1.Seluruh pembatas linear harus berbentuk persamaan dengan ruas kanan yang nonnegatif.
2.Seluruh peubah keputusan harus merupakan peubah nonnegatif.
3.Fungsi tujuannya dapat berupa maksimasi atau minimasi.
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 kunci adalah kolom yang memuat variabel masuk. Koefisien pada kolom ini
akn menjadi pembagi nilai kanan untuk menentukan baris kunci.
9. Baris kunci adalah salah satu baris dari antara variabel basis yang memuat variabel
keluar.
10. Elemen kunci adalah elemen yang terletak pada perpotongan kolom dan baris kunci.
Elemen kunci 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.
Permasalahan model program linear dengan pembatas linear dan peubah keputusan berikut
ini:
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 :
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.
Langkah 1 : Bentuk Kanonik
Maka bentuk bakunya adalah sebagai berikut :
Maksimumkan 𝑓 = 𝑥1 + 32𝑥2 − 10𝑥3 + 0𝑠1 + 0𝑠2
Kendala :
𝑥1 + 2𝑥2 − 𝑥3 + 0𝑠1 =7
2𝑥1 + 5𝑥2 + 0𝑠2 = 10
𝑥1 , 𝑥2 , 𝑥3 , 𝑠1 , 𝑠2 ≥ 0
s1 , s2 merupakan variable slack.
Cj 1 32 -10 0 0
Ci Xi/Xj X1 X2 X3 S1 S2 Bi Ri
0 S1 1 2 -1 1 0 7 3,5
0 S2 2 5 0 0 1 10 2
Zj 0 0 0 0 0 0
Cj-Zj -1 -32 10 0 0
Untuk kasus ini tujuan maksimisasi sehingga yang dilihat nilai terkecil ya itu 2.
3. Tentukan baris Kunci.
Baris kunci ditentukan setelah membagi nilai solusi dengan nilai kolom kunci yang
bersesuaian (nilai yang terletak dalam satu baris). Baris kunci adalah baris dengan rasio
pembagian terkecil bukan negatif. Jika baris kunci ditandai dan ditarik ke kiri, maka
kita akan mendapatkan variabel keluar. Dalam hal ini baris S2. Dengan demikian S2
akan keluar dari basis dan tempatnya akan digantikan oleh X2. Jika rasio pembagian
terkecil lebih dari satu, pilih salah satu secara sembarang.
Untuk kasus ini tujuan maksimisasi sehingga yang dilihat nilai Cj-Zj terkecil ya
itu -32
4. Tentukan Anak Kunci
Menetukan angka kunci. Angka kunci adalah angka yang terdapat pada
persilangan kolom kunci dengan baris kunci, dalam hal ini angka kunci = 5
Mencari angka baru yang terdapat pada baris kunci, dengan cara membagi semua angka yang
terdapat pada baris kunci dengan angka kunci.
Baris S1
Dengan Rumus:
B1* = B1-Aik(Koefisien pada kolom kunci).B2*
Baris X2
Dengan Rumus :
B2
B2*= 2
Hasil perhitungan di atas, akan nampak pada tabel baru simplex yaitu tabel yang
merupakan hasil iterasi pertama.
Cj 1 32 -10 0 0
Ci Xi/Xj X1 X2 X3 S1 S2 Bi Ri
1 -1 2 0
0 S1 0 1 − 3
5 5
2 0 1 2
32 X2 1 0 2
5 5
64 0 32
Zj 32 0 64
5 5
59 10 32
Zj-Cj 0 0 64
5 5
𝑪𝒋 -150 50 0 0 0 −𝑚
𝑪𝒋 𝑿𝒊\𝑿𝒋 𝒙𝟏 𝒙𝟐 𝒙𝟑 𝑺𝟏 𝑺𝟐 𝒂𝟏 𝒃𝟏 𝑹𝒊
2
𝑚 𝒂𝟏 10 −5 1 −1 0 0 2
10
0 𝑺𝟐 −15 10 1 0 1 0 1 −
Zj −10𝑚 −5𝑚 −𝑚 𝑚 0 −𝑚 −2𝑚
Cj-Zj −10𝑚 −5𝑚 0 𝑚 0 0 −2𝑚
Untuk kasus ini tujuan maksimisasi sehingga yang dilihat nilai terkecil ya itu 2.
3. Tentukan baris Kunci.
Baris kunci ditentukan setelah membagi nilai solusi dengan nilai kolom kunci yang
bersesuaian (nilai yang terletak dalam satu baris). Baris kunci adalah baris dengan rasio
pembagian terkecil bukan negatif. Jika baris kunci ditandai dan ditarik ke kiri, maka
kita akan mendapatkan variabel keluar. Dalam hal ini baris 𝑎1 . Dengan demikian 𝑎1
akan keluar dari basis dan tempatnya akan digantikan oleh 𝑥1 . Jika rasio pembagian
terkecil lebih dari satu, pilih salah satu secara sembarang.
Untuk kasus ini tujuan maksimisasi sehingga yang dilihat nilai Cj-Zj terkecil ya
itu −10𝑚 + 150
4. Tentukan Anak Kunci
Menetukan angka kunci. Angka kunci adalah angka yang terdapat pada
persilangan kolom kunci dengan baris kunci, dalam hal ini angka kunci adalah 10
Baris 𝒙𝟏
Dengan Rumus:
1
𝑏1 ∗= 𝑏
10 1
Baris 𝑺𝟐
Dengan Rumus :
𝑏2 ∗ = 𝑏2 + 15(𝑏1 ∗)
Hasil perhitungan di atas, akan nampak ada tabel baru simplex yaitu tabel yang
merupakan hasil iterasi pertama.
𝑪𝒋 −150 50 0 0 −𝑚
𝑪𝒋 𝒙𝒊 \𝒙𝒋 𝒙𝟏 𝒙𝟐 𝒙𝟑 𝑺𝟏 𝑺𝟐 𝒂𝟏 𝒃𝒊 𝑹𝒊
5 1 1 1 2
−150 𝒙𝟏 1 − − 0 1
10 10 10 10 10
25 25 15 15
0 𝒙𝟏 0 − 1 0 4
10 10 10 10
𝒁𝒋 −150 75 −15 15 0 −𝑚 −15 −30
Zj-Cj 0 25 −15 15 0 0 −15 + 𝑚 −30
1
Untuk kasus ini tujuan maksimisasi sehingga yang dilihat nilai terkecil yaitu 10.
Periksa kembali 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.
Karena belum optimum, sehinggka kembali ke langkah no 2
Mencari angka baru yang terdapat pada baris kunci, dengan cara membagi semua angka
yang terdapat pada baris kunci dengan angka kunci.
Mencari angka baru pada baris lain, yaitu :
Baris 𝒙𝟏
Dengan Rumus:
1
𝑏1 ∗∗= 𝑏1 ∗ − (𝑏 ∗∗)
10 1
Baris 𝒙𝟑
Dengan Rumus :
2
𝑏2 ∗∗ = (𝑏2 ∗)
5
Hasil perhitungan di atas, akan nampak ada tabel baru simplex yaitu tabel yang
merupakan hasil iterasi pertama.
𝑪𝒋 −150 50 0 0 0 −𝑚
𝑪𝒋 𝒙𝒊 \𝒙𝒋 𝒙𝟏 𝒙𝟐 𝒙𝟑 𝑺𝟏 𝑺𝟐 𝒂𝟏 𝒃𝒊 𝑹𝒊
3 1 1 1 1
−150 𝒙𝟏 1 − 0 − −
5 25 25 25 25
3 2 3 8
0 𝒙𝟑 0 1 1 −
5 5 5 5
𝒁𝒋 −150 90 0 6 6 −6 −6
Zj-Cj 0 40 0 6 6 −6 + 𝑚 −6
𝑓 𝑀𝑎𝑥 = −6
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. Dan untuk kasus ini simpleks telah optimal karna Zj-Cj ≥ 𝟎.
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.
DAFTAR PUSTAKA