Anda di halaman 1dari 9

BAB VI.

SIMPLEKS YANG DIREVISI

BENTUK PL DALAM BENTUK MATRIKS


Formulasi PL dalam bentuk matriks adalah sebagai berikut:
Maksimumkan/minimumkan Z = CX
Terhadap AX ≤ b dan X ≥ 0
Dimana C adalah vektor baris, C = [c1, c2 ..., cn], X dan b adalah vektor
kolom, dengan :
⎡ x1 ⎤ ⎡b1 ⎤
⎢x ⎥ ⎢b ⎥
X = ⎢ 2⎥ dan b=⎢ 2⎥
⎢Μ ⎥ ⎢Μ ⎥
⎢ ⎥ ⎢ ⎥
⎣ xn ⎦ ⎣bm ⎦

dan A adalah matriks,


⎛ a 11 a 12 Λ a 1,n -m ⎞
⎜ ⎟
⎜ a 21 a 22 Λ a 2,n -m ⎟
A=⎜ ⎟
⎜ Μ Μ Μ ⎟
⎜a a m2 Λ a m,n -m ⎟⎠
⎝ m1
atau bentuk bakunya:
Maksimumkan/minimumkan Z = CX
Terhadap (A I)X = b dan X ≥ 0
Kita partisi vektor X menjadi XI dan XII, dimana XII adalah elemen X yang
menjadi variabel basis awal, dengan demikian XI adalah elemen X lainnya.
Kita partisi juga vektor C menjadi CIdan CII sesuai dengan cara membuat
partisi X. Matriks A terdiri dari vektor kolom P1, P2, ..., Pn.

Iterasi simpleks umum dalam bentuk matriks adalah:


Variabel XI XII Nilai kanan
basis
z CBB-1A - CI CB-1 - CII CBB-1b
XB B-1A B-1 B-1b

Selama iterasi, nilai-nilai vektor dan matriks di atas tidak berubah kecuali
nilai matriks B-1. XB dan CB akan berubah pada setiap iterasi tergantung
dari vektor masuk dan keluar.

Perhatikan kasus pemrograman linear di bawah ini:

1. Maksimumkan z = 2x1 + x2 + 2x3


Terhadap
4x1 + 3x2 + 8x3 ≤ 12
4x1 + x2 + 12x3 ≤ 8
4x1 - x2 + 3x3 ≤ 8
x1, x2, x3 ≥ 0
bentuk baku:
Maksimumkan z = 2x1 + x2 + 2x3 + 0x4 + 0x5 + 0x6
Terhadap
4x1 + 3x2 + 8x3 + x4 = 12
4x1 + x2 + 12x3 + x5 = 8
4x1 - x2 + 3x3 + x6 = 8
x1, x2, x3, x4, x5, x6 ≥ 0
Matriks dan vektor dari formulasi PL tersebut adalah:
⎡ x1 ⎤
⎢x ⎥
⎢ 2⎥ ⎡ x1 ⎤ ⎡ x4 ⎤
⎢ x3 ⎥
X =⎢ ⎥ X I = ⎢⎢ x 2 ⎥⎥ X II = ⎢⎢ x5 ⎥⎥
⎢ x4 ⎥ ⎢⎣ x3 ⎥⎦ ⎢⎣ x 6 ⎥⎦
⎢x ⎥
⎢ 5⎥
⎣⎢ x6 ⎦⎥
⎡ 2⎤
⎢1 ⎥
⎢ ⎥ ⎡ 2⎤ ⎡0 ⎤ ⎡12⎤
⎢ 2⎥
C=⎢ ⎥ C I = ⎢⎢1 ⎥⎥ C II = ⎢⎢0⎥⎥ b = ⎢⎢8 ⎥⎥
⎢0 ⎥ ⎢⎣2⎥⎦ ⎢⎣0⎥⎦ ⎢⎣8 ⎥⎦
⎢0 ⎥
⎢ ⎥
⎢⎣0 ⎥⎦
⎛4 3 8⎞ ⎛1 0 0 ⎞
⎜ ⎟ ⎜ ⎟
A = ⎜ 4 1 12 ⎟ I = ⎜0 1 0⎟
⎜ 4 -1 3 ⎟ ⎜ 0 0 1⎟
⎝ ⎠ ⎝ ⎠
dalam solusi awal, XB = XII; CB = CII dan B-1 = I.
⎡ 4⎤ ⎡3 ⎤ ⎡8 ⎤ ⎡1 ⎤ ⎡0 ⎤ ⎡0 ⎤
P1 = ⎢⎢4⎥⎥ P2 = ⎢⎢1 ⎥⎥ P3 = ⎢⎢12⎥⎥ P4 = ⎢⎢0⎥⎥ p 5 = ⎢⎢1 ⎥⎥ P6 = ⎢⎢0⎥⎥
⎢⎣4⎥⎦ ⎢⎣− 1⎥⎦ ⎢⎣3 ⎥⎦ ⎢⎣0⎥⎦ ⎢⎣0⎥⎦ ⎢⎣1 ⎥⎦

2. Minimumkan z = 2x1 + x2
Terhadap
3x1 + x2 = 3
4x1 + 3x2 ≥ 6
2x1 + x2 ≤ 3
x1, x2 ≥ 0
Bentuk bakunya adalah:
minimumkan z = 2x1 + x2 + 0x3 + Mx4 + Mx5 + 0x6
Terhadap
3x1 + x2 + x4 = 3
4x1 + 3x2 – x3 + x5 = 6
2x1 + x2 + x6 = 3
x1, x2, x3, x4, x5, x6 ≥ 0
Matriks dan vektor dari formulasi PL tersebut adalah:

⎡ x1 ⎤
⎢x ⎥
⎢ 2⎥ ⎡ x1 ⎤ ⎡ x4 ⎤
⎢ x3 ⎥
X =⎢ ⎥ X I = ⎢⎢ x 2 ⎥⎥ X II = ⎢⎢ x5 ⎥⎥
⎢ x4 ⎥ ⎢⎣ x3 ⎥⎦ ⎢⎣ x 6 ⎥⎦
⎢x ⎥
⎢ 5⎥
⎢⎣ x6 ⎦⎥
⎡2 ⎤
⎢1 ⎥
⎢ ⎥ ⎡ 2⎤ ⎡M ⎤ ⎡3 ⎤
⎢0 ⎥
C=⎢ ⎥ C I = ⎢⎢1 ⎥⎥ C II = ⎢⎢M ⎥⎥ b = ⎢⎢6⎥⎥
⎢M ⎥ ⎢⎣0 ⎥⎦ ⎢⎣0 ⎥⎦ ⎢⎣3 ⎥⎦
⎢M ⎥
⎢ ⎥
⎣⎢0 ⎦⎥
⎛3 1 0⎞ ⎛1 0 0 ⎞
⎜ ⎟ ⎜ ⎟
A = ⎜4 3 - 1⎟ I = ⎜0 1 0⎟
⎜2 1 0 ⎟⎠ ⎜ 0 0 1⎟
⎝ ⎝ ⎠
pada solusi awal, CB = CII, XB = XII dan B-1 =I

⎡3 ⎤ ⎡1 ⎤ ⎡ 0⎤ ⎡1 ⎤ ⎡0 ⎤ ⎡0 ⎤
P1 = ⎢⎢4⎥⎥ P2 = ⎢⎢3⎥⎥ P3 = ⎢⎢− 1⎥⎥ P4 = ⎢⎢0⎥⎥ p 5 = ⎢⎢1 ⎥⎥ P6 = ⎢⎢0⎥⎥
⎢⎣2⎥⎦ ⎢⎣1 ⎥⎦ ⎢⎣ 0 ⎥⎦ ⎢⎣0⎥⎦ ⎢⎣0⎥⎦ ⎢⎣1 ⎥⎦

LANGKAH-LANGKAH PENYELESAIAN MENGGUNAKAN


SIMPLEKS YANG DIPERBAIKI
1. Penentuan vektor masuk (Pj) sekaligus pemeriksaan optimalitas.
¾ Hitung Y = CBB-1.
¾ Untuk setiap vektor Pj non basis, hitung zj – cj = YPj - cj
Solusi optimal sudah diperoleh jika (zj – cj) ≥ 0 untuk fungsi tujuan
maksimisasi, atau (zj – cj) ≤ 0 untuk minimisasi.
Solusi optimalnya adalah:
XB = B-1b dan z = CBXB
Jika belum optimal, maka vektor keluar adalah vektor dengan nilai
(zj – cj) negatif terbesar untuk fungsi tujuan maksimisasi atau positif
terbesar untuk minimisasi.

2. Penentuan vektor keluar, Pr.


Untuk vektor masuk yang sudah ditentukan pada langkah 1, hitung:
¾ Nilai variabel basis saat itu : XB = B-1b
¾ koefisien pembatas variabel masuk : αj = B-1Pj.
¾ vektor keluar baik untuk maksimisasi maupun minimisasi diberikan
oleh:

θ = min ⎨
(
⎧ B −1b )
k

, α kj > 0⎬
⎩ α
j
k
k ⎭
dimana (B-1b)k dan αjk adalah elemen ke-k dari B-1b dan αj. jika
semua αjk ≤ 0, maka permasalahan itu mempunyai solusi tidak
terbatas.
3. Penentuan basis berikutnya. Diberikan basis saat ini adalah B-1,
hitung:
B-1next = EB-1
E adalah matriks identitas (B-1awal) dengan elemen kolom Pr diganti oleh
nilai ξ.
⎛ - α 1j ⎞
⎜ j ⎟
⎜ αr ⎟
⎜-α j ⎟
⎜ 2αj ⎟
⎜ r ⎟

⎜ Μ ⎟
ξ =⎜ ⎟
⎜+1 j ⎟
⎜ αr ⎟
⎜ Μ ⎟
⎜ j ⎟
⎜-αm ⎟
⎜ α rj ⎟⎠

4. kembali ke langkah 1
Contoh 2:
Maksimumkan z = 3x1+2x2
Terhadap
x1+2x2 ≤ 6
2 x1+x2 ≤ 8
- x1+x2 ≤ 1
x2 ≤ 2
x1,x2 ≥ 0

Penyelesaian

Solusi awal :
XB = (x3, x4, x5, x6)T, CB = (0, 0, 0, 0), B = (P3, P4, P5, P6) = I, B-1 = I

⎛ 1 2 1 0 0 0⎞
⎜ ⎟
A=⎜ 2 1 0 1 0 0⎟
⎜ -1 1 0 0 1 0 ⎟⎠

↓ ↓ ↓ ↓ ↓ ↓
P1 P2 P3 P4 P5 P6

Iterasi 1:
• Penentuan vektor masuk, untuk P dan P 1 2 hit: zj – cj = Ypj- cj
¾Y=C B = (0, 0, 0, 0)I = (0, 0, 0, 0)
B
-1

⎛1 2⎞
⎜ ⎟
¾(z -c , z -c )=Y(P ,P )-(c , c )=
1 1 2 2 1 2 1 2 (0 , 0 , 0 , 0 )⎜⎜
2
-1
1⎟
1⎟
− (3,2 )
⎜⎜ ⎟⎟
⎝ 0 1⎠
¾=(-3, -2), maka vektor masuk adalah P 1

ƒ penentuan vektor keluar : X B = B-1b=Ib=b = (6 8 1 2)T


α1 = B-1P1=IP1= P1
¾
¾θ = min {6/1, 8/2, _, _), berhub dgn x , maka vektor keluar 4
adalah P4
¾ Penentuan Inverse basis berikutnya:
¾ Karena P1 menggantikan P4 dan α1=(1, 2, -1, 0)T, maka:

ƒPenentuan Inverse basis berikutnya:


ƒKarena P menggantikan P dan α =(1, 2, -1, 0) , maka:
1 4
1 T

−1
⎛−1 2 ⎞ ⎛−1 2⎞ B next = EB − 1 = EI
ξ= +
⎜ 1 2 ⎟ = ⎜1 2 ⎟
⎜−(−1 2)⎟ ⎜1 2 ⎟ dan ⎛1

- 1/2 0 0⎞
0 0⎟
⎝0 2 ⎠ ⎝ 0 ⎠ = E = ⎜0
0
1/2
1/2 1 0⎟
⎜0 0 1 ⎟⎠
⎝ 0
Basis berikutnya adalah XB = (x3, x1, x5, x6) dan CB=(0, 3, 0, 0)

Iterasi-2
• Penentuan vektor masuk, untuk vektor non basic P2 dan p4.

⎛1 - 1/2 0 0⎞
⎜ 0 ⎟ = (0,3 / 2,0,0 )
C B B −1 = (0,3,0,0 )⎜ 0 1/2 0
0 1/2 1 0⎟
⎜0 1 ⎠⎟
⎝ 0 0
⎛2 0⎞
⎜ 1 ⎟ − (2 , 0 ) = (− 1 / 2 , 3 / 2 )
( z 2 − c 2 , z 4 − c 4 ) = (0 ,3 / 2 , 0 , 0 )⎜ 11 0⎟
⎜ 0 ⎟⎠
⎝1

P2 adalah vektor masuk


• Penentuan vektor keluar, diberikan P2 sebagai vektor masuk:

⎛1 - 1/2 0 0 ⎞⎛ 6 ⎞ ⎛ 2 ⎞
⎜ 0 1/2 0 0 ⎟⎜ 8 ⎟ = ⎜ 4 ⎟
XB = ⎜
0 1/2 1 0 ⎟⎜1 ⎟ ⎜ 5 ⎟
⎜0 1 ⎟⎠⎝⎜ 2 ⎠⎟ ⎝⎜ 2 ⎟⎠
⎝ 0 0
⎛1 - 1/2 0 0 ⎞⎛ 2 ⎞ ⎛ 3 / 2 ⎞
⎜ 0 ⎟⎜1 ⎟ = ⎜1 / 2 ⎟
α 2 = B −1P2 = ⎜ 00 1/2
1/2
0
1 0 ⎟⎜1 ⎟ ⎜ 3 / 2 ⎟
⎜0 1 ⎠⎟⎜⎝1 ⎠⎟ ⎝⎜1 ⎟⎠
⎝ 0 0
⎧ 2 4 5 2⎫
θ = min ⎨ , , , ⎬=4 3
⎩ 3 2 1 2 3 2 1⎭

bersesuaian dengan x3, maka vektor keluar adalah P3.


• Penentuan basis berikutnya. Karena P2 menggantikan P4 dan
α2=(3/2,1/2,3/2,1)T, maka:

⎛ + 1 (3 / 2 ) ⎞ ⎛2 3 ⎞
⎜ − (1 / 2 ) (3 / 2 ) ⎟ ⎜ − 1 3 ⎟
ξ = ⎜ − (3 / 2 ) (3 / 2 )⎟ = ⎜ − 1 ⎟
⎜ ⎟ ⎜ ⎟
⎝ − 1 (3 / 2 ) ⎠ ⎝ − 2 3⎠

⎛ 2/3 0 0 0 ⎞⎛ 1 - 1/2 0 0 ⎞ ⎛ 2/3 - 1/3 0 0⎞


−1 ⎜ 1 0 0 ⎟⎜ 0 1/2 0 0 ⎟ = ⎜ - 1/3 2/3 0⎟
= ⎜ - 1/3 0
0 1 0 ⎟⎜ 0 1/2 1 0 ⎟ ⎜ - 1 0⎟
Bnext
-1 1 1
⎜ - 2/3 0 0 1 ⎠⎟⎜⎝ 0 0 0 1 ⎠⎟ ⎜⎝ - 2/3 1/3 1 ⎟⎠
⎝ 0

Basis baru berhubungan dengan XB = (x2,x1,x5,x6) dan CB=(2,3,0,0)


Iterasi-3
• Penentuan vektor masuk

⎛ 2 / 3 - 1/3 0 0⎞
⎜ 0 0 ⎟ = (1 / 3, 4/3, 0, 0 )
Y = C B B −1 = (2,3,0,0 )⎜ - 1/3 2/3
-1 1 1 0⎟
⎜ - 2/3 1/3 0 1 ⎟⎠

⎛1 0⎞
⎜ 1 ⎟ − (0,0 ) = (1 / 3,4 / 3)
( z3 − c3 , z4 − c4 ) = (1 / 3,4 / 3,0,0)⎜ 00 0⎟
⎜ 0 ⎠⎟
⎝0
⎛ x2 ⎞ ⎛ 2/3 - 1/3 0 0 ⎞⎛ 6 ⎞ ⎛ 4 / 3 ⎞
⎜x ⎟ − ⎜ 0 ⎟⎜ 8 ⎟ = ⎜ 10 / 3 ⎟
1 = B b = - 1/3 2/3
1 0
⎜x ⎟ ⎜ -1 1 1 0 ⎟⎜ 1 ⎟ ⎜ 3 ⎟
⎜ x5 ⎟ ⎜ - 2/3 1/3 1 ⎠⎝ 2 ⎠ ⎝ 2 / 3 ⎟⎠
⎟ ⎜ ⎟ ⎜
⎝ 6⎠ ⎝ 0

⎛4/3 ⎞
⎜ 10 / 3 ⎟
z = C B X B = (2,3,0,0 )⎜ ⎟ = 38 / 3
3
⎜2/3 ⎟
⎝ ⎠