Metode Simplex
Program Linier Bentuk Standar (1)
•
Program linier dapat memiliki
–
Fungsi tujuan:
• Maksimal atau minimum
–
Fungsi kendala dengan bentuk pertidak samaan:
• =, ≤, atau ≥
–
Dan variable dapat memiliki batas atas maupun
batas bawah
•
Program linier bentuk standar:
–
Fungsi tujuan: maksimum
–
Fungsi kendala
: ≤
–
Semua konstanta RHS (right hand side) positif
Program Linier Bentuk Standar (2)
Bentuk aljabar untuk sebuah program linier
yang memiliki
m
buah fungsi kendala dan
n
buah variable, dapat dituliskan seperti berikut
ini:
–
Fungsi tujuan:
Metode-metode
•
Grafis/Garis
–
Jumlah variable yang sedikit
•
Simpleks;
–
Jumlah variable: small - large
•
Interior-point
–
Jumlah variable: extra large
•
Pembahasan difokuskan pada mekanisme
metode simpleks:
–
Terminologi-terminologi
Definisi
•
Solution: semua titik yang berada di bidang
variable, dapat merupakan titik yang feasible
atau infeasible (paling tidak memenuhi satu
fungsi kendala).
•
Corner point solution: terjadi jika dua atau lebih
fungsi kendala saling berpotongan. Titik yang
dihasilkan disebut sebagai corner point, bisa di
dalam atau di luar feasible region.
•
Feasible corner point: corner point yang berada di
dalam feasible region.
Sifat-sifat penting Program linier
•
Titik optimum selalu ada di
feasible corner
point
–
hal ini merupakan hasil dari semua fungsi kendala
dan fungsi tujuan bersifat linier
•
Jika sebuah
feasible corner point
memiliki
nilai fungsi tujuan yang lebih besar dari
semua
adjacent corner point
, maka tiitk
tersebut dikatakan sebagai titik optimum.
Tahap-tahap metode simpleks (1)
•
Fase pertama (start-up): tentukan sembarang
feasible
corner point
.
–
Untuk program linier bentuk standar, titik origin (0,0) selalu
berada dalam
feasible region
. Jadi, titik (0,0) adalah titik
dimana iterasi metode simpleks akan dimulai.
–
Untuk program linier bentuk umum, penentuan titik dimana
metode simpleks akan mulai sedikit lebih rumit.
•
Fase kedua (iterasi): secara berulang berpindah ke
feasible corner point
yang berdekatan sampai tidak
ada nilai fungsi tujuan yang lebih baik pada
feasibel
corner point
.
Tahap-tahap metode simpleks (2)
•
Titik (0,0) merupakan
titik awal, dengan
nilai Z = 0
•
Iteasi I, berpindah ke
titik (2,0) dengan nilai
Z = 30
•
Iterasi II, berpindah
ke titik (2,2), dengan
nilai Z = 50
•
Stop, dua buah
feasible corner point
Penentuan
Corner Point
Secara
Aljabar
•
Dalam penerapannya, program linier dapat
memiliki variable ratusan, ribuan bahkan
lebih.
•
Program linier dengan skala besar,
corner
point
ditentukan secara aljabar.
–
Untuk program linier bentuk standar, dilakukan
dengan cara mengkonversi bentuk
pertidaksamaan
menjadi bentuk
persamaan
Konversi pertidaksamaan ke
bentuk persamaan (1)
•
Konversi dilakukan dengan cara menambahkan
sebuah variable, disebut sebagai
slack variable
.
–
Nilai
slack variable
akan selalu berubah untuk menghasilkan
persamaan yang benar.
–
Contoh:
•
Catatan:
slack variable
bernilai positif jika sebuah
fungsi kendala dalam keadaan tidak aktif (masih
berada di dalam
feasible region
)
2
2
1 11
x
s
Konversi pertidaksamaan ke
bentuk persamaan (2)
•
Hasil konversi pertidaksamaan ke bentuk
persamaan dari suatu program linier:
Terminologi aljabar
•
Augmented solution
: nilai dengan semua
variable, baik variable original dan
slack
variable
•
Basic solution
: merupakan sebuah
augmented
corner point solution
(bisa
feasible
atau
infeasible
)
•
Basic feasible solution
: merupakan sebuah
augmented feasible corner point solution
.
Setting nilai variable-variable (1)
•
Dengan memperhatikan bentuk program linier
yang telah dikonversi menjadi persamaan;
–
Terdapat 5 variable dengan 3 buah persamaan fungsi
kendala
–
Hal ini berarti, dua buah variable ditentukan nilai
secara acak, dan variable yang lain dihitung
menggunakan 3 persamaan fungsi kendala tersebut.
•
Jumlah variable yang nilainya dapat ditentukan
secara acak disebut sebagai
degree of freedom
dari program linier tersebut, secara umum:
Setting nilai variable-variable (2)
•
Metode simpleks secara otomatis memberikan
nilai pada variable-variable
df
dan
menghitung nilai variable-variable yang lain.
Terminologi metode simpleks
•
Nonbasic variable
: variable yang
sedang
diberi nilai no
l oleh metode simpleks.
•
Basic variable
: variable yang
tidak sedang
diberi nilai nol
oleh metode simpleks.
•
Basis
: variable yang selalu berada pada
nonbasic variable
atau
basic variable
selama
proses metode simpleks.
•
Nonbasic
, variable bernilai
NOL
, fungsi
kendala yang bersangkutan dalam keadaan
Iterasi perpindahan titik (1)
•
Cara yang termudah untuk berpindah dari suatu
titik
basic feasible solution
ke titik
basic feasible
solution
yang lain adalah dengan mencara titik
yang berdekatan.
•
Sifat-sifat titik-titik
basic feasible solution
yang
berdekatan:
–
Himpunan
nonbasic variable
sama kecuali satu variable
–
Himpunan
basic variable
sama kecuali satu variable
•
Tiga kondisi yang harus dipenuhi dalam
perpindahan ke titik
basic feasible solution
:
–
Corner point
harus berdekatan
–
Corner point
harus berada di dalam
feasible region
Iterasi perpindahan titik (2)
•
Penentuan
entering basic variable
:
–
Menentukan
nonbasic variable
yang akan menjadi
basic
variable
.
–
Dilakukan dengan cara menentukan
nonbasic variable
manakah yang memberikan pengaruh yang paling
besar terhadap perubahan fungsi tujuan.
•
Penentuan
leaving basic variable
:
–
Entering basic variable
yang telah ditentukan akan
bertambah nilainya sampai sebuah
basic variable
nilainya menjadi
NOL
.
Minimum Ratio Test (MRT)
•
Untuk menentukan
leaving basic variable
pada
persamaan fungsi kendala tertentu:
•
Dua kasus untuk nilai MRT:
–
Jika koefisien
entering basic variable
NOL, berarti
fungsi kendala tersebut tidak berpotongan dengan
fungsi kendala yang masih aktif.
–
Jika koefisien
entering basic variable
NEGATIF, bearti
fungsi kendala tersebut berpotongan dengan fungsi
Contoh : Metode Simplex
Contoh
: a
k1X
1+ a
k2X
2+ … + a
knX
n<= b
kPengubahan : a
k1X
1+ a
k2X
2+ … + a
knX
n+ S
k= b
kContoh
: a
k1X
1+ a
k2X
2+ … + a
knX
n>= b
kPengubahan : a
k1X
1+ a
k2X
2+ … + a
knX
n- S
k= b
k•
Ubah seluruh
pertidaksamaan
menjadi
persamaan
dengan menambahkan
variabel slack pada kendala <= , dan
Contoh Kasus
MAX: 350X
1+ 300X
2} keuntungan
S.T.: 1X
1+ 1X
2+ S
1= 200
} pompa
9X
1+ 6X
2+ S
2= 1566
} jam kerja
12X
1+ 16X
2+ S
3= 2880
} pipa
X
1, X
2, S
1, S
2, S
3>= 0
} nonnegatif
•
Jika terdapat n variabel pd sebuah sistem
dengan m persamaan (dimana n>m), kita
dapat memilih beberapa variabel m dan
Langkah Umum Metode Simplex
1.
Identifikasi beberapa solusi layak basis (titik-titik
ekstrim) untuk sebuah PL, kemudian berpindah
pd titik ekstrim yang berdekatan, jika
perpindahan tsb. betul-betul meningkatkan nilai
f. tujuan.
2.
Perpindahan titik ekstrim tsb. Terjadi dgn
mengganti sebuah
variabel basis
dgn sebuah
var non-basis
untuk membuat sebuah solusi
layak basis yang baru.
3.
Ketika tak ada lagi titik-titik ekstrim yg
berdekatan mempunyai nilai f. tujuan yg lebih
baik, proses dihentikan
–
berarti titik ekstrim
Proses Pencarian Kenungkinan
Solusi Layak Basis
Variabel Variabel Nilai
Basis Non-Basis Solusi Tujuan
1 S1, S2, S3 X1, X2 X1=0, X2=0, S1=200, S2=1566, S3=2880 0 2 X1, S1, S3 X2, S2 X1=174, X2=0, S1=26, S2=0, S3=792 60,900 3 X1, X2, S3 S1, S2 X1=122, X2=78, S1=0, S2=0, S3=168 66,100 4 X1, X2, S2 S1, S3 X1=80, X2=120, S1=0, S2=126, S3=0 64,000 5 X2, S1, S2 X1, S3 X1=0, X2=180, S1=20, S2=486, S3=0 54,000 6* X1, X2, S1 S2, S3 X1=108, X2=99, S1=-7, S2=0, S3=0 67,500 7* X1, S1, S2 X2, S3 X1=240, X2=0, S1=-40, S2=-594, S3=0 84,000 8* X1, S2, S3 X2, S1 X1=200, X2=0, S1=0, S2=-234, S3=480 70,000 9* X2, S2, S3 X1, S1 X1=0, X2=200, S1=0, S2=366, S3=-320 60,000 10* X2, S1, S3 X1, S2 X1=0, X2=261, S1=-61, S2=0, S3=-1296 78,300
Solusi Layak Basis & Titik-Titik Ekstrim
Berapa banyak
solusi basis
yang terjadi ?!!!
Mis. n = jumlah variabel
m = jumlah kendala
Sesudah penambahan variabel
slack
, terdapat
:
(n + m)!
n! m!
cara untuk mendapatkan kemungkinan solusi basis.
Contoh: Jika n = 2 dan m = 3, maka 5!/(2! 3!) = 10.
27
Beberapa Istilah
•
Solusi Augmented
: solusi masalah sesudah
variabel slack ditambahkan.
•
Solusi Basis
: solusi titik sudut augmented
dengan mengatur sejumlah menjadi nol
dan menyelesaikan sisa variabel lainnya.
•
Solusi Layak Basis (SLB)
: solusi basis yang
layak menjadi kandidat solusi optimal
•
Variabel Basis
: variabel yang diselesaikan
dalam solusi basis
Outline Algoritma Simplex
•
Mulai pada Solusi Layak Basis (SLB) /
basic feasible solution (BFS)
(biasanya pd
titik asal)
•
Pindah ke SLB yg lebih baik
–
Mengembangkan fungsi tujuan
•
Berhenti ketika bertemu SLB yg lebih baik
dibandingkan seluruh SLB yg ada
Tabel Simplex
Var
Pers. Basis
z x1 x2 x3 x4 x5 Solusi0 z 1 -6 -4 0 0 0 0
1 x3 0 1 1 1 0 0 12
2 x4 0 1 -2 0 1 0 6
3 x5 0 0 1 0 0 1 8
Max
z - 6x
1- 4x
2= 0
Subj. to:
Var
Pers. Basis
z x1 x2 x3 x4 x5 Solusi0 z 1 -6 -4 0 0 0 0
1 x3 0 1 1 1 0 0 12
2 x4 0 1 -2 0 1 0 6
3 x5 0 0 1 0 0 1 8
Algoritma Simplex
Step 1: Pilih sebuah variabel baru untuk masuk basis.
Pilihlah variabel non-basis yg punya nilai negatif terbesar
Var
Pers. Basis
z x1 x2 x3 x4 x5 Solusi0 z 1 -6 -4 0 0 0 0
1 x3 0 1 1 1 0 0 12
2 x4 0 1 -2 0 1 0 6
3 x5 0 0 1 0 0 1 8
Var
Pers. Basis
z x1 x2 x3 x4 x5 Solusi0 z 1 -6 -4 0 0 0 0
1 x3 0 1 1 1 0 0 12
2 x4 0 1 -2 0 1 0 6
3 x5 0 0 1 0 0 1 8
Step 2b: Pilih sebuah variabel basis untuk meninggalkan basis
Pilihlah variabel basis yg punya rasio paling kecil pd pembagian
solusi terhadap koefisien positif dari variabel non-basis yg akan
masuk
Ratio
12/1
33
Var
Pers. Basis
z x1 x2 x3 x4 x5 Solusi0 z 1 -6 -4 0 0 0 0
1 x3 0 1 1 1 0 0 12
2 x4 0 1 -2 0 1 0 6
3 x5 0 0 1 0 0 1 8
Step 2c: Select a basic variable to leave the basis.
Pilihlah variabel basis yg punya rasio paling kecil pd pembagian solusi
terhadap koefisien positif dari variabel non-basis yg akan masuk
Ratio
12/1
6/1
pivot point
Var
Step 3e: Gunakan operasi baris untuk menentukan solusi basis yg baru.
0 1 -2 0 1 0 6
0 0 1 0 0 1 8 0 0 3 1 -1 0 6
(4,8)
8
12
12
-3
(10,2)
z
z
Max z = 6x1 + 4x2
Subj. to:
x1 + x2 <= 12 x1 -2x2 <= 6
x2 <= 8
6
36
Var
Pers. Basis
z x1 x2 x3 x4 x5 Solusi0 z 1 0 -16 0 6 0 36
1 x3 0 0 3 1 -1 0 6
2 x1 0 1 -2 0 1 0 6
3 x5 0 0 1 0 0 1 8
Iterasi selanjutnya
z = 6x
1+ 4x
2Sekarang kamu ambil lagi
variabel baru yang akan
Var
Pers. Basis
z x1 x2 x3 x4 x5 Solusi0 z 1 0 -16 0 6 0 36
1 x3 0 0 3 1 -1 0 6
2 x1 0 1 -2 0 1 0 6
3 x5 0 0 1 0 0 1 8
Iterasi selanjutnya
Pilihlah variabel non-basis yg punya nilai negatif terbesar.
Var
Pers. Basis
z x1 x2 x3 x4 x5 Solusi0 z 1 0 -16 0 6 0 36
1 x3 0 0 3 1 -1 0 6
2 x1 0 1 -2 0 1 0 6
3 x5 0 0 1 0 0 1 8
Iterasi selanjutnya
z = 6x
1+ 4x
2Ratio
6/3
8/1
Var
Pers. Basis
z x1 x2 x3 x4 x5 Solusi0 z 1 0 -16 0 6 0 36
1 x3 0 0 3 1 -1 0 6
2 x1 0 1 -2 0 1 0 6
3 x5 0 0 1 0 0 1 8
Iterasi selanjutnya
z = 6x
1+ 4x
2Ratio
6/3
8/1
Find minimum ratio
Var
Pers. Basis
z x1 x2 x3 x4 x5 Solusi0 z
1 x2
2 x1
3 x5 0 1 0 2/3 1/3 0
10
0 0 0 -1/3 1/3 1 6 0 0 1 1/3 -1/3 02
1 0 0 16/3 2/3 068
42 optimalnya adalah 68