metode simplex-ES

Download Report

Transcript metode simplex-ES

PROGRAM LINEAR
METODE SIMPLEKS
OLEH
Dr. Edi Sukirman, SSi, MM
Metode Simpleks
Merupakan metode yang umum
digunakan untuk menyelesaikan
seluruh problem program linier,
baik yang melibatkan dua variabel
keputusan maupun lebih dari dua
variabel keputusan.

Metode
simpleks
pertama
kali
diperkenalkan oleh George B. Dantzig
pada tahun 1947 dan telah diperbaiki
oleh beberapa ahli lain.

Metode penyelesaian dari metode
simpleks ini melalui perhitungan ulang
(iteration)
dimana
langkah-langkah
perhitungan yang sama diulang-ulang
sebelum solusi optimal diperoleh
Penyelesaian Dengan Metode Simpleks
 Syarat

:
Model program linier ( Canonical
form) harus dirubah dulu kedalam
suatu bentuk umum yang dinamakan
”bentuk baku” (standard form).
Ciri-ciri dari bentuk baku model
program linier



Semua fungsi kendala/pembatas berupa
persamaan dengan sisi kanan nonnegatif.
Semua variabel keputusan non-negatif.
Fungsi tujuan dapat memaksimumkan
maupun meminimumkan

Bentuk standar Metode Simpleks.
Fungsi Tujuan : Maksimumkan
Z = C1X1+C2X2+ . . . . . +CnXn
Fungsi Pembatas :
a11X11 + a12X12 +. . . .+ a1nXn  b1
a21X21 + a22X22 +. . . .+ a2nXn  b2
……. ……..
……. ….. …..
am1Xm1 + am2Xm2 +. . . .+ amnXn  bm
Indrawani Sinoem/TRO/SI-5
Perlu diperhatikan :

Bahwa metode simpleks hanya bisa
dipakai (diaplikasikan) pada bentuk
standar, sehingga kalau tidak dalam
bentuk standar harus ditransformasikan
dulu menjadi bentuk standar.
Untuk memudahkan melakukan transformasi ke bentuk
standar, beberapa hal yang perlu diperhatikan :

Fungsi Pembatas


Suatu fungsi pembatas yang mempunyai
tanda < diubah menjadi suatu bentuk
persamaan (bentuk standar) dengan cara
menambahkan suatu variabel baru yang
dinamakan slack variable .
Banyaknya slack variabel bergantung pada
fungsi pembatas.

Fungsi Tujuan


Dengan adanya slack variable pada fungsi
pembatas, maka fungsi tujuan juga harus
disesuaikan dengan memasukkan unsur slack
variable ini.
Karena slack variable tidak mempunyai
kontribusi apa-apa terhadap fungsi tujuan,
maka konstanta untuk slack variable tersebut
dituliskan nol.

Bentuk standar Metode Simpleks.
Fungsi Tujuan : Maksimumkan
Z – C1X1-C2X2- . . . . . –CnXn-0S1-0S2-. . .-0Sn = NK
Fungsi Pembatas :
a11X11+a12X12+. . . .+a1nXn+ S1+0S2+. . .+0Sn = b1
a21X21+a22X22+. . . .+a2nXn+ 0S1+1S2+. . .+0Sn = b2
……. ……..
……. ….. ….. …. …..= …
am1Xm1+am2Xm2+. . . .+amnXn+ S1+0S2+. . .+1Sn = bm
Var. Kegiatan
Slack Var
Indrawani Sinoem/TRO/SI-5


Setelah fungsi batasan dirubah ke dalam
bentuk persamaan (bentuk standar),
maka untuk menyelesaikan masalah
program linier dengan metode simpleks
menggunakan suatu kerangka tabel yang
disebut dengan tabel simpleks.
Tabel ini mengatur model ke dalam suatu
bentuk yang memungkinkan untuk
penerapan penghitungan matematis
menjadi lebih1mudah
2 1 0
4 3 0 1


Tabel Simpleks :
Var.
Dasar
Z
X1
X2
....
Xn
S1
S2
....
Sn
NK
Z
1
-C1
-C2
....
-Cn
0
0
0
0
0
S1
0
a11
a12
...
a1n
1
0
0
0
b1
S2
0
a21
a22
...
a2n
0
1
0
0
b2
...
...
...
...
...
...
...
...
...
...
...
Sn
0
am1
am2
...
amn
0
0
0
1
bm
Indrawani Sinoem/TRO/SI-5

Langkah-Langkah Metode Simpleks
1. Rumuskan persoalan PL ke dalam
model umum PL (fungsi tujuan dan
fungsi pembatas).
2. Merubah model umum PL menjadi
model simpleks :
a. Fungsi Pembatas : tambahkan slack
variabel dan/atau surplus variabel,
dan/atau variabel buatan (artifisial
var).
b. Fungsi tujuan :
- Rubahlah bentuk fungsi tujuan eksplisit menjadi persamaan bentuk
implisit
- Tambahkan/kurangi dengan slack
var, surplus var dan/atau variabel
buatan yg bernilai nol.
3. Formulasikan ke dalam Tabel Simpleks.
4. Lakukan langkah-langkah penyelesaian.

Contoh 1 :
Model Program Linear
1. Fungsi Tujuan :
Maksimumkan : Z=8X1 + 6X2
(Dlm Rp1000)
2. Fungsi Pembatas :
Bahan A : 4X1 + 2X2 ≤ 60
Bahan B : 2X1 + 4X2 ≤ 48
X1, X2 ≥ 0
Model Simpleks :
1. Fungsi Tujuan : Maksimumkan
Z– 8X1–6 X2–0S1- 0S2 = 0
2. Fungsi Pembatas :
4X1+2X2+ S1+ 0S2 = 60
2X1+4X2+0S1+ 1S2 = 48
X1, X2, S1, S2 ≥ 0

Tabel Simpleks :
Variabel
Dasar
X1
X2
S1
S2
NK

Tabel Simpleks :
Variabel
Dasar
Z
S1
S2
X1
X2
S1
S2
NK

Tabel Simpleks :
Variabel
Dasar
X1
X2
S1
S2
NK
Z
-8
-6
0
0
0
S1
S2

Tabel Simpleks :
Variabel
Dasar
X1
X2
S1
S2
NK
Z
-8
-6
0
0
0
S1
4
2
1
0
60
S2

Tabel Simpleks :
Variabel
Dasar
X1
X2
S1
S2
NK
Z
-8
-6
0
0
0
S1
4
2
1
0
60
S2
2
4
0
1
48
Langkah-langkah penyelesaian :
1. Iterasi Awal (Iterasi-0)
Variabel
Dasar
X1
X2
S1
S2
NK
Z
-8
-6
0
0
0
S1
4
2
1
0
60
S2
2
4
0
1
48
2. Iterasi-1 :
a. Menentukan kolom kunci :
Kolom kunci : kolom yang mempunyai koefisien fungsi tujuan
yang bernilai negatif terbesar.
Variabel
Dasar
X1
X2
S1
S2
NK
Z
-8
-6
0
0
0
S1
4
2
1
0
60
S2
2
4
0
1
48
b. Menentukan baris kunci :
NK fungsi pembatas
- Nilai Indeks : ----------------------------------------Nilai kolom kunci f-pembatas
- Baris kunci : nilai indeks yang terkecil (positif).
Variabel
Dasar
X1
X2
S1
S2
NK
Indeks
Z
-8
-6
0
0
0
-
S1
4
2
1
0
60
15
S2
2
4
0
1
48
24
Angka Kunci
C. Perubahan-perubahan nilai baris :
- Nilai baris kunci baru = (Nilai baris kunci lama) : n-angka kunci
- Nilai baris yang lain = Baris lama – (Nilai baris kunci baru) x
angka kolom kunci baris ybs.
Variabel
Dasar
X1
X2
S1
S2
NK
1
½
¼
0
15
Z
X1
S2
Mengubah nilai-nilai selain pada baris kunci
Rumus :
Baris baru = baris lama – (koefisien pada kolom kunci) x nilai baru baris kunci
Baris pertama (Z)
Nilai baru
[-8
-6
0
0
0]
(-8)
[1
1/2
1/4
0
15 ]
=
[0
-2
2
0
120 ]
[2
4
0
1
48 ]
(2)
[1
1/2
1/4
0
15 ]
=
[0
3
-1/2
1
18 ]
(-)
Baris ke-3 (batasan 2)
Nilai baru
(-)
Variabel
Dasar
X1
X2
S1
S2
NK
Z
0
-2
2
0
120
X1
1
½
¼
0
15
S2
0
3
-½
1
18
Variabel
Dasar
X1
X2
S1
S2
NK
Indeks
Z
0
-2
2
0
120
-
X1
1
½
¼
0
15
30
S2
0
3
-½
1
18
6
Variabel
Dasar
X1
X2
S1
S2
NK
Indeks
0
1
- 1/6
1/3
6
-
Z
X1
X2
Variabel
Dasar
X1
X2
S1
S2
NK
Indeks
Z
0
0
5/3
2/3
132
-
X1
1
0
1/3
- 1/6
12
-
X2
0
1
- 1/6
1/3
6
-
Pada iterasi-2 terlihat bahwa koefisien
fungsi tujuan sudah tidak ada lagi yang
mempunyai nilai negatif, proses perubahan selesai dan ini menunjukkan
penyelesaian persoalan linear dengan
metode simpleks sudah mencapai
optimum dengan hasil sbb :
X1= 12 dan X2 = 6
dengan Zmakasimum = Rp 132.000.-

Contoh 2 :
Model Program Linear
1. Fungsi Tujuan :
Maksimumkan : Z=15X1 + 10X2
(Dlm Rp10.000)
2. Fungsi Pembatas :
Bahan A : X1 + X2 ≤ 600
Bahan B : 2X1 + X2 ≤ 1000
X1, X2 ≥ 0
Model Simpleks :
1. Fungsi Tujuan : Maksimumkan
Z– 5X1–10 X2–0S1- 0S2 = 0
2. Fungsi Pembatas :
X1+X2+ S1+ 0S2 = 600
2X1+X2+0S1+ 1S2 = 1000
X1, X2, S1, S2 ≥ 0

Tabel Simpleks :
Variabel
Dasar
X1
X2
S1
S2
NK

Tabel Simpleks :
Variabel
Dasar
Z
S1
S2
X1
X2
S1
S2
NK

Tabel Simpleks :
Variabel
Dasar
X1
X2
S1
S2
NK
Z
-15
-10
0
0
0
S1
S2

Tabel Simpleks :
Variabel
Dasar
X1
X2
S1
S2
NK
Z
-15
-10
0
0
0
S1
1
1
1
0
600
S2

Tabel Simpleks :
Variabel
Dasar
X1
X2
S1
S2
NK
Z
-15
-10
0
0
0
S1
1
1
1
0
600
S2
2
1
0
1
1000
Langkah-langkah penyelesaian :
1. Iterasi Awal (Iterasi-0)
Variabel
Dasar
X1
X2
S1
S2
NK
Z
-15
-10
0
0
0
S1
1
1
1
0
600
S2
2
1
0
1
1000
2. Iterasi-1 :
a. Menentukan kolom kunci :
Kolom kunci : kolom yang mempunyai koefisien fungsi tujuan
yang bernilai negatif terbesar.
Variabel
Dasar
X1
X2
S1
S2
NK
Z
-15
-10
0
0
0
S1
1
1
1
0
600
S2
2
1
0
1
1000
b. Menentukan baris kunci :
NK fungsi pembatas
- Nilai Indeks : ----------------------------------------Nilai kolom kunci f-pembatas
- Baris kunci : nilai indeks yang terkecil (positif).
Variabel
Dasar
X1
X2
S1
S2
NK
Indeks
Z
-15
-10
0
0
0
-
S1
1
1
1
0
600
600
S2
2
1
0
1
1000
500
Angka Kunci
C. Perubahan-perubahan nilai baris :
- Nilai baris kunci baru = (Nilai baris kunci lama) : n-angka kunci
- Nilai baris yang lain = Baris lama – (Nilai baris kunci baru) x
angka kolom kunci baris ybs.
Variabel
Dasar
X1
X2
S1
S2
NK
1
½
0
½
500
Z
S1
X1
C. Perubahan-perubahan nilai baris :
- Nilai baris kunci baru = (Nilai baris kunci lama) : n-angka kunci
- Nilai baris yang lain = Baris lama – (Nilai baris kunci baru) x
angka kolom kunci baris ybs.
Variabel
Dasar
X1
X2
S1
S2
NK
S1
0
½
1
-½
100
X1
1
½
0
½
500
Z
C. Perubahan-perubahan nilai baris :
- Nilai baris kunci baru = (Nilai baris kunci lama) : n-angka kunci
- Nilai baris yang lain = Baris lama – (Nilai baris kunci baru) x
angka kolom kunci baris ybs.
Variabel
Dasar
X1
X2
S1
S2
NK
Z
0
-2½
0
7½
7500
S1
0
½
1
-½
100
X1
1
½
0
½
500
3. Iterasi-2 : perhatikan apakah koefisien fungsi tujuan pada Tabel
simpleks masih ada yang bernilai negatif.
Variabel
Dasar
X1
X2
S1
S2
NK
Indeks
Z
0
-2½
0
7½
7500
-
S1
0
½
1
-½
100
200
X1
1
½
0
½
500
1000
Angka Kunci
- Merubah baris pada angka kunci dan baris-baris lainnya.
Variabel
Dasar
X1
X2
S1
S2
NK
Indeks
0
1
2
-1
200
-
Z
X2
X1
- Merubah baris pada angka kunci dan baris-baris lainnya.
Variabel
Dasar
X1
X2
S1
S2
NK
Indeks
X2
0
1
2
-1
200
-
X1
1
0
-1
1
400
-
Z
- Merubah baris pada angka kunci dan baris-baris lainnya.
Variabel
Dasar
X1
X2
S1
S2
NK
Indeks
Z
1
0
5
5
8000
-
X2
0
1
2
-1
200
-
X1
1
0
-1
1
400
-
Pada iterasi-2 terlihat bahwa koefisien
fungsi tujuan sudah tidak ada lagi yang
mempunyai nilai negatif, proses perubahan selesai dan ini menunjukkan
penyelesaian persoalan linear dengan
metode simpleks sudah mencapai
optimum dengan hasil sbb :
X1= 400 dan X2 = 200 dengan Zmakasimum
= Rp 8000.-
Contoh-3 :
Model Program Linear
Fungsi Tujuan :
Maksimumkan : Z = 3X1+2X2
Fungsi Pembatas :
X1 + X2 ≤ 15
2X1 + X2 ≤ 28
X1 + 2X2 ≤ 20
X1, X2 ≥ 0
Model Simpleks
Fungsi Tujuan : Maksimumkan
Z– X1–2X1–0S1–0S2–0S3 = 0
Fungsi Pembatas :
X1 + X2 + S1
= 15
2X1 + X2
+ S2
= 28
X1 + 2X2
+ S3 = 20
X1, X2 ≥ 0
Tabel Simpleks
Variabel
Dasar
X1
X2
S1
S2
S3
NK
Tabel Simpleks
Variabel
Dasar
Z
S1
S2
S3
X1
X2
S1
S2
S3
NK
Tabel Simpleks
Variabel
Dasar
X1
X2
S1
S2
S3
NK
Z
-3
-2
0
0
0
0
S1
S2
S3
Tabel Simpleks
Variabel
Dasar
X1
X2
S1
S2
S3
NK
Z
-3
-2
0
0
0
0
S1
1
1
1
0
0
15
S2
S3
Tabel Simpleks
Variabel
Dasar
X1
X2
S1
S2
S3
NK
Z
-3
-2
0
0
0
0
S1
1
1
1
0
0
15
S2
2
1
0
1
0
28
S3
Tabel Simpleks
Variabel
Dasar
X1
X2
S1
S2
S3
NK
Z
-3
-2
0
0
0
0
S1
1
1
1
0
0
15
S2
2
1
0
1
0
28
S3
1
2
0
0
1
20
(a). Iterasi Awal (Iterasi-0) :
Variabel
Dasar
X1
X2
S1
S2
S3
NK
Indeks
Z
-3
-2
0
0
0
0
-
S1
1
1
1
0
0
15
15
S2
2
1
0
1
0
28
14
S3
1
2
0
0
1
20
20
(a). Iterasi Awal (Iterasi-0) :
Variabel
Dasar
X1
X2
S1
S2
S3
NK
Indeks
Z
-3
-2
0
0
0
0
-
S1
1
1
1
0
0
15
15
S2
2
1
0
1
0
28
14
S3
1
2
0
0
1
20
20
Angka Kunci
(b). Iterasi-1
Variabel
Dasar
X1
X2
S1
S2
S3
NK
Indeks
1
½
0
½
0
14
-
Z
S1
X1
S3
(b). Iterasi-1
Variabel
Dasar
X1
X2
S1
S2
S3
NK
Indeks
X1
1
½
0
½
0
14
-
S3
0
3/2
0
-½
1
6
-
Z
S1
(b). Iterasi-1
Variabel
Dasar
X1
X2
S1
S2
S3
NK
Indeks
S1
0
½
1
-½
0
1
-
X1
1
½
0
½
0
14
-
S3
0
3/2
0
-½
1
6
-
Z
(b). Iterasi-1
Variabel
Dasar
X1
X2
S1
S2
S3
NK
Indeks
Z
0
-½
0
3/2
0
42
-
S1
0
½
1
-½
0
1
-
X1
1
½
0
½
0
14
-
S3
0
3/2
0
-½
1
6
-
(c). Iterasi-2
Variabel
Dasar
X1
X2
S1
S2
S3
NK
Indeks
Z
0
-½
0
3/2
0
42
-
S1
0
½
1
-½
0
1
2
X1
1
½
0
½
0
14
28
S3
0
3/2
0
-½
1
6
4
Angka Kunci
Perubahan-perubahan baris kunci dan baris lainnya.
Variabel
Dasar
X1
X2
S1
S2
S3
NK
Indeks
0
1
2
-1
0
2
-
Z
X2
X1
S3
Perubahan-perubahan baris kunci dan baris lainnya.
Variabel
Dasar
X1
X2
S1
S2
S3
NK
Indeks
X2
0
1
2
-1
0
2
-
X1
1
½
0
½
0
14
-
Z
S3
Perubahan-perubahan baris kunci dan baris lainnya.
Variabel
Dasar
X1
X2
S1
S2
S3
NK
Indeks
X2
0
1
2
-1
0
2
-
X1
1
½
0
½
0
14
-
S3
0
0
0
-3
1
1
-
Z
Perubahan-perubahan baris kunci dan baris lainnya.
Variabel
Dasar
X1
X2
S1
S2
S3
NK
Indeks
Z
0
0
1
1
0
43
-
X2
0
1
2
-1
0
2
-
X1
1
½
0
½
0
14
-
S3
0
0
0
-3
1
1
-
Pada iterasi-2 terlihat bahwa koefisien
fungsi tujuan sudah tidak ada lagi yang
mempunyai nilai negatif, proses perubahan selesai dan ini menunjukkan
penyelesaian perhitungan persoalan
program linear dengan metode simpleks
sudah mencapai optimum dengan
rincian sbb :
X1 =13; X2=2, Zmaksimum = 43
Latihan :
1. Fungsi Tujuan : Maksimumkan

Z = 60X1+30X2+20X3
Pembatas :
8X1 + 6X2 +
X3 ≤ 48
4X1 + 2X2 + 1.5X3 ≤ 20
2X1 + 1.5X2 + 0.5X3 ≤ 8
X2 ≤ 5
X1,X2,x3 ≥ 0
2. Fungsi Tujuan : Maksimum
z = 8 x1 + 9 x2 + 4x3
Pembatas :
x1 + x2 + 2x3 ≤ 2
2x1 + 3x2 + 4x3 ≤ 3
7x1 + 6x2 + 2x3 ≤ 8
x1,x2,x3 ≥ 0
3. Fungsi Tujuan : Memaksimumkan
z = 8 x1 + 7 x2 + 3x3
Pembatas :
x1 + x2 + 2x3 ≤ 4
2x1 + 3x2 + 4x3 ≤ 7
3x1 + 6x2 + 2x3 ≤ 8
x1,x2,x3 ≥ 0
Penyimpangan Bentuk Standar Simplex
Penyimpangan bentuk standar dapat terjadi
karena :
1. Fungsi tujuan (Z) bukan Maximalisasi,
tetapi Minimalisasi
2. Fungsi batasan bertanda (=) atau (≥)
3. Dan syarat X1 atau X2 tidak terpenuhi,
misalkan X1 ≥ - 10 (negatif)
contoh :
Fungsi Tujuan :
Minimalkan Z = 3X1 + 5X2
Dengan batasan :
Mesin A
2X1
=8
Mesin B
3X2 ≤ 15
Mesin C
6X1 + 5X2 ≥ 30 ,
dimana X1 dan X2 ≥ 0
Langkah Penyelesaian :




Untuk fungsi tujuan agar menjadi maksimal dikalikan dengan (-1)
Jika kendala bertanda “=“, tambahkan ruas kiri satu variabel
tambahan berupa variabel artifisial .
Jika kendala bertanda “>”, kurangkan ruas kiri dgn variabel surplus
dan tambahkan juga ruas kiri dgn variabel artifisial.
Masukkan / tambahkan pula variabel-variabel surplus dan artifisial
ke dalam fungsi tujuan, dimana koefisien untuk var. surplus = 0 dan
koefisien var. artifiasial = M
( M adalah konstanta yang nilainya sangat besar sekali, tapi
berhingga, misalnya ribuan, puluhan ribu,dst)
Minimalkan
Z = 3X1 + 5X2 menjadi
Maksimalkan (-Z) = -3X1 – 5X2
 Mesin A
2X1 = 8, akan menjadi :
2X1 + X3 = 8
 Mesin B
3X2 ≤ 15  3X2 + X4 = 15
 Mesin C
6X1 + 5X2 ≥ 30 ,  akan menjadi
6X1 + 5X2 -X5 + X6 = 30
Sehingga fungsi tujuan menjadi :
Maksimal : –Z + 3X1 + 5 X2 + MX3 + MX6 = 0

Indrawani Sinoem/TRO/SI-5
Masalah berikutnya yang muncul adalah
setiap variabel dasar (slack atau artificial
variabel), harus bernilai nol, sehingga MX3
dan MX6 di atas harus di-nol-kan terlebih
dahulu, sebelum dipindah ke tabel simplex.
Cara yang digunakan adalah dengan
mengurangi bilangan M tersebut dengan
bilangan M itu sendiri, yang sebelumnya
dikalikan dengan setiap nilai batasan yang
menyebabkan munculnya bilangan M
tersebut.
Nilai fungsi tujuan terakhir adalah :
3
5
M
0
0
M
0

Kita coba hilangkan M yang pertama terlebih dahulu.

X1

3
5
M
0
0
M
0
(2
0
1
0
0
0
8)M
_____________________________________ 3-2M
X2
5
X3
0
X4
0
X5
0
X6
M
NK
-8M

Selanjutnya kita hilangkan M yang kedua.

3-2M
5
0
0
0
M
-8M
( 6
5
0
0
-1
1
30 ) x M
_________________________________________3-8M 5-5M
0
0
M
0
-38M,
Atau
-8M+3 -5M+5
0
0
M
0
-38M
Yang merupakan nilai dari fungsi tujuan yang baru

selanjutnya akan dimasukkan ke tabel simplex,
sehingga tabel simlex awalnya adalah sebagai
berikut :
Tabel Awal simplex, untuk kasus penyimpangan :
X1
X2
X3
X4
X5
X6
NK
Z
-8M+3
-5M+5
0
0
M
0
-38M
X3
2
0
1
0
0
0
8
X4
0
3
0
1
0
0
15
X6
6
5
0
0
-1
1
30