bab iii. metode simpleks -...

14
BAB III. METODE SIMPLEKS 3.1. PENGANTAR 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. Iterasi ke-i hanya tergantung dari iterasi sebelumnya (i-1). 4.2. PENGERTIAN ISTILAH DALAM METODE SIMPLEKS Ada 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. 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).

Upload: vokhue

Post on 19-Mar-2019

286 views

Category:

Documents


1 download

TRANSCRIPT

BAB III. METODE SIMPLEKS

3.1. PENGANTAR

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. Iterasi ke-i hanya tergantung dari iterasi

sebelumnya (i-1).

4.2. PENGERTIAN ISTILAH DALAM METODE SIMPLEKS

Ada 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.

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 akan 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.

4.3. 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 bentuk umum, ditambahkan satu artificial

variabel (variabel buatan).

Perhatikan kasus A berikut :

Fungsi tujuan : minimumkan z = 2 x1 + 5.5 x2

Kendala :

x1 + x2 = 90

0.001 x1 + 0.002 x2 ≤ 0.9

0.09 x1 + 0.6 x2 ≥ 27

0.02 x1 + 0.06 x2 ≤ 4.5

x1, x2 ≥ 0

Bentuk di atas adalah bentuk umum pemrograman liniernya. Kedalam bentuk baku,

model matematik tersebut akan berubah menjadi :

Fungsi tujuan : minimumkan z = 2 x1 + 5.5 x2

Kendala :

x1 + x2 + s1 = 90

0.001 x1 + 0.002 x2 + s2 = 0.9

0.09 x1 + 0.6 x2 – s3 + s4 = 27

0.02 x1 + 0.06 x2 + s5 = 4.5

x1, x2 , s1, s2, s3, s4, s5 ≥ 0

Fungsi kendala pertama mendapatkan variable buatan (s1), karena bentuk umumnya

sudah menggunakan bentuk persamaan. Fungsi kendala kedua dan

keempat mendapatkan variabel slack (s2 dan s5) karena bentuk umumnya

menggunakan pertidaksamaan ≤, sedangkan fungsi kendala ketiga mendapatkan

variabel surplus (s3) dan variabel buatan (s4) karena bentuk umumnya menggunakan

pertidaksamaan ≥.

Perhatikan pula kasus B 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 atau z - 2x1 - 3x2 - 0s1 - 0s2 - 0s3 = 0

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.

4.4. 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 fungsi kendala yang menggunakan

variabel slack dalam bentuk bakunya, sedangkan yang menggunakan variabel buatan

akan dibahas pada sub bab lainnya.

Gunakan kasus B di atas, maka tabel awal simpleksnya adalah :

VB X1 X2 S1 S2 S3 solusi

Z -2 -3 0 0 0 0

S1 10 5 1 0 0 600

S2 6 20 0 1 0 600

S3 8 15 0 0 1 600

4.5. LANGKAH-LANGKAH PENYELESAIAN

Langkah-langkah penyelesaian 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 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.

3. 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 satu secara sembarang.

4. Tentukan elemen pivot. Elemen pivot merupakan nilai yang terletak pada

perpotongan kolom dan baris pivot.

5. 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.

6. 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/1=2

S2 2 3 4 0 1 0 3 3/3=1

S3 7 6 2 0 0 1 8 8/6=4/3

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.

4.6. MEMBACA TABEL OPTIMAL

Membaca tabel optimal adalah bagian penting bagi pengambil keputusan. Ada beberapa

hal yang bisa dibaca dari table optimal :

1. Solusi optimal variable keputusan

2. Status sumber daya

3. harga bayangan (dual/shadow prices).

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

Solusi optimal 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.

Status sumber daya :

Sumber daya pertama dilihat dari keberadaan variable basis awal dari setiap fungsi

kendala pada table optimal. Dalam kasus di atas, untuk fungsi kendala pertama periksa

keberadaan S1 pada variable basis table optimal. Periksa keberadaan S2 pada variable

basis table optimal untuk fungsi kendala kedua. Periksa keberadaan S3 pada variable

basis table optimal untuk fungsi kendala ketiga.

S1 = 7/9. Sumber daya ini disebut berlebih (abundant)

S2 = S3 = 0. Kedua sumber daya ini disebut habis terpakai (scarce).

Harga bayangan :

Harga bayangan dilihat dari koefisien variable slack atau surplus pada baris fungsi

tujuan.

Koefisien S1 pada baris fungsi tujuan table optimal = 0, dengan demikian harga bayangan

sumber daya pertama adalah 0

Koefisien S2 pada baris fungsi tujuan table optimal = 5/3, dengan demikian harga

bayangan sumber daya kedua adalah 5/3

Koefisien S3 pada baris fungsi tujuan table optimal = 2/3, dengan demikian harga

bayangan sumber daya kedua adalah 2/3.

Latihan soal:

Kerjakan dengan metode simpleks:

1. Diketahui:

Fungsi tujuan: Maksimumkan : Z = 3X1 + 5X2

Fungsi kendala: 2X1 ≤ 8

3X2 ≤ 15

6X1 + 5X2 ≤ 30

Hitung nilai optimum!

2. Diketahui:

Fungsi Tujuan : Maksimumkan : Z = 15 X1 + 10 X2

Fungsi Pembatas : Bahan A : X1 + X2 ≤ 600

Bahan B : 2 X1 + X2 ≤ 1.000

Syarat non negatif : X1, X2 ≥ 0

Hitung nilai optimum!

Latihan kasus:

1. Sebuah industri kecil, memproduksi 2 macam hiasan dinding dari tripleks yang

proses pengerjaannya dilakukan di 2 stasiun kerja yaitu pemotongan dan perakitan.

Hiasan model A mula-mula dikerjakan di bagian pemotongan selama 5 menit

kemudian dirakit selama 10 menit. Hiasan model B dikerjakan di bagian pemotongan

selama 8 menit kemudian irakit selama 8 menit. Dalam 1 hari kerja, waktu yang

tersedia di bagian pemotongan 3 jam 20 menit, sedang di bagian perakitan tersedia

waktu 4 jam. Jika harga jual hiasan model A $ 500/unit dan hiasan model B $

600/unit. Berapakah masing-masing model harus dibuat agar diperoleh total

pendapatan yang optimal?

2. PT. “MOBIL SULUM” adalah perusahaan yang memproduksi 3 jenis mobil yaitu mobil

keluarga, mobil niaga dan mobil sport. Proses produksi mobil tsb dilakukan di 3

stasiun kerja (bagian) yaitu perakitan, pengujian, dan finishing. Setiap unit mobil

keluarga memerlukan waktu 8 jam perakitan, 4 jam pengujian dan 2 jam finishing.

Setiap unit mobil niaga memerlukan waktu 6 jam perakitan, 2 jam pengujian dan 4

jam finishing, sedangkan untuk setiap unit mobil sport memerlukan waktu 7 jam

perakitan, 4 jam pengujian dan 3 jam finishing. Waktu yang tersedia di masingmasing

bagian adalah sebagai berikut: bagian perakitan 480 jam, pengujian 200 jam dan

finishing 250 jam. Keuntungan yang diperoleh dari penjualan masing-masing jenis

mobil adalah sbb: mobil keluarga $ 450/unit, mobil niaga $ 400/unit dan mobil sport

$ 500/unit. Berapakah masing-masing jenis mobil harus diproduksi agar perusahaan

memperoleh keuntungan yang optimal?

3. Riyan Manufacturing memproduksi 3 buah produk, dimana ketiga produk tersebut

dihasilkan setelah melalui 3 proses pada 3 mesin. Produk 1 membutuhkan waktu

proses pada mesin A selama 3 jam, pada mesin B selama 6 jam dan pada mesin C

selama 2 jam. Produk 2 membutuhkan waktu proses pada mesin A selama 5 jam,

pada mesin B selama 4 jam dan pada mesin C selama 4 jam. Sedangkan produk 3

membutuhkan waktu proses pada mesin A selama 8 jam, pada mesin B selama 3 jam

dan pada mesin C selama 5 jam. Kapasitas kerja dari mesin tersebut adalah 240 jam

(mesin A), 180 jam (mesin B) dan 200 jam (mesin C). Jika diketahui bahwa produk 1

dapat menghasilkan keuntungan Rp. 200.000,- , produk 2 dapat menghasilkan

keuntungan Rp. 150.000,- dan produk 3 dapat menghasilkan keuntungan Rp.

100.000,-, Berapakah masing-masing jenis produk harus diproduksi agar diperoleh

keuntungan yang OPTIMAL ?