METODE SIMPLEKS YANG DIREVISI 1. Bentuk Standar Dalam Matriks
Maksimumkan atau minimumkan: Z = CX
Batasan: (A,I)X = b
Contoh:
Maksimumkan: Z = 3X1 + 2X2 Batasan: X1 + 2X2≤ 6
2X1 + X2≤ 8 -X1 + X2≤ 1 X2≤ 2 Bentuk standar simpleks:
Maksimumkan: Z = 3X1 + 2X2 + 0X3 – 0X4 + 0X5 + 0X6 Batasan: X1 + 2X2 + X3 = 6
2X1 + X2 + X4 = 8 -X1 + X2 + X5 = 1 X2 + X6 = 2
Bentuk standar matriks:
Maksimumkan:
(
)
⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢
⎣ ⎡
=
6 5 4 3 2 1
0 0 0 0 2 3
X X X X X X
Z
Batasan:
⎥ ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢ ⎢
⎣ ⎡
=
⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢
⎣ ⎡
⎥ ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢ ⎢
⎣ ⎡
−
2 1 8 6
1 0 0 0 1 0
0 1 0 0 1 1
0 0 1 0 1 2
0 0 0 1 2 1
6 5 4 3 2 1
X X X X X X
2. Pemecahan Dasar dan Basis
(A,I)X = b memiliki m persamaan dan n variable yang tidak diketahui. Sebuah
lalu memecahkan m persamaan dengan m variable yang tidak diketahui. Secara
matematis anggaplah:
( )
=∑
nj J jX
P X
I A,
Dimana Pj adalah vector kolom ke – j dari (A,I). Dari contoh diatas, dimana kita memiliki m = 4 dan n = 6. Ini berarti basis terdiri dari m = 4 vektor dan n – m = (6 – 4 =
2) variable yang berkaitan, dengan vector sisanya ditetapkan sama dengan nol. Dengan
menganggap X3 = X4 = X5 = X6 = 0, kita menemukan bahwa vector:
⎥ ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢ ⎢
⎣ ⎡
=
0 0 0 1
3
P
⎥ ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢ ⎢
⎣ ⎡
=
0 0 1 0
4
P
⎥ ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢ ⎢
⎣ ⎡
=
0 1 0 0
5
P
⎥ ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢ ⎢
⎣ ⎡
=
1 0 0 0
6
P
(
)
⎥ ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢ ⎢
⎣ ⎡
= =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
, , , 4 5 6 3 P P P
P
B
3. Table Simpleks Dalam Bentuk Matriks Maksimumkan atau minimumkan: Z = CX
Batasan: (A,I)X = b
Bagi vector X kedalam XI dan XII, dimana XII bersesuaian dengan elemen-elemen dari X yang berkaitan dengan basis awal B = I. Bagi C kedalam CI dan CII untuk bersesuaianan dengan XI dan XII. Jadi bentuk standar dapat ditulis sebagai:
Maksimumkan : Z = CX; menjadi: Z – CIXI – CIIXII = 0 Batasan: (A,I)X = b;
Karena XII bersesuaian dengan elemen-elemen dari X yang berkaitan dengan basis awal B = I, sehingga: AXI + IXII = b
⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢
⎣ ⎡ ⎥ ⎦ ⎤ ⎢
⎣
⎡ − −
b X
X Z
I A
C C
II I II
I 0
0 1
(A,I) yang berkaitan dengan XB. Anggaplah CB adalah elemen C yang berkaitan dengan XB, sehingga:
Z = CBXB; sama dengan Z - CBXB = 0, dan BXB = b
⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ⎥ ⎦ ⎤ ⎢
⎣
⎡ −
b X
Z B
C
B
B 0
0 1
sama dengan:
⎥ ⎥ ⎦ ⎤ ⎢
⎢ ⎣ ⎡ = ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ⎥ ⎥ ⎦ ⎤ ⎢
⎢ ⎣ ⎡ = ⎥ ⎦ ⎤ ⎢ ⎣ ⎡
− −
− −
b B
b B C
b B
B C
X
Z B B
B
1 1 1
1 0 0
1
Table simpleks yang bersesuaian dengan XB diperoleh dengan mempertimbangkan:
⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ⎥ ⎥ ⎦ ⎤ ⎢
⎢ ⎣ ⎡ = ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢
⎣ ⎡ ⎥ ⎦ ⎤ ⎢
⎣
⎡ − −
⎥ ⎥ ⎦ ⎤ ⎢
⎢ ⎣ ⎡
− −
− −
b B
B C
X X Z
I A
C C
B B
C B
II I II I
B 0
0 1 0
1
0 1
1 1 1
1
⎥ ⎥ ⎦ ⎤ ⎢
⎢ ⎣ ⎡ = ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢
⎣ ⎡
⎥ ⎥ ⎦ ⎤ ⎢
⎢ ⎣
⎡ − + − +
− −
− −
− −
b B
b B C
X X Z
I B A
B
I B C C A B C
C B
II I B
II B
i
1 1 1
1
1 1
0 1
Ingat: XII bersesuaian dengan elemen-elemen dari X yang berkaitan dengan basis awal B = I, sehingga iterasi simpleks umum dalam bentuk matriks:
Dasar XI XII Pemecahan
Z CBB-1A - CI CBB-1 – CII CBB-1b
XB B-1A B-1 B-1b
4. Langkah-Langkah Metode Simpleks Primal Yang Direvisi.
Langkah 1: Penentuan variable masuk Pj.
Hitung Y = CBB-1 untuk setiap vector non dasar Pj, hitung Zj – Cj = YPj - Cj
Untuk program maksimalisasi (minimalisasi), vector Pj dipilih yang memiliki Zj – Cj paling negative (positif) (tentukan sembarang jika terdapat lebih dari satu yang sama).
Langkah 2. Penentuan variable keluar Pr. a. Nilai variable dasar saat ini yaitu:
XB = B-1b
b. Koefisien batasan dari variable masuk yaitu: αj
= B-1Pj
variable keluar Pr (baik maksimalisasi maupun minimalisasi) harus berkaitan dengan:
( )
⎥ ⎦ ⎤ ⎢
⎣ ⎡
≥
=min − , 0
1
j k j k
k
b B
α α θ
Langkah 3. Penentuan basis berikutnya.
dimana:
⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢
⎣ ⎡
− + − −
=
j r j m
j r
j r j
j r j
α α
α α α
α α
ξ
/ / 1
/ /
2 1
M M
Dari contoh berikut, maka langkah-langkah perhitungan metode simpleks primal yang
direvisi adalah sebagai berikut:
Maksimumkan: Z = 3X1 + 2X2 + 0X3 – 0X4 + 0X5 + 0X6 Batasan: X1 + 2X2 + X3 = 6
2X1 + X2 + X4 = 8 -X1 + X2 + X5 = 1 X2 + X6 = 2 Pemecahan Awal:
XB = (X3,X4,X5,X6) CB = (0,0,0,0)
(
P P P P)
IB =
⎥ ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢ ⎢
⎣ ⎡
= =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
, , , 4 5 6 3
Iterasi Pertama:
Langkah 1. Perhitungan Zj – Cj untuk non dasar P1 dan P2
(
)
[
0,0,0,0]
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
0 , 0 , 0 , 0 B C =
Y B -1 =
⎥ ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢ ⎢
⎣ ⎡
=
Z1 – C1, Z2 – C2 = Y(P1,P2) – (C1,C2)
[
]
[ ]
3,21 0
1 1
-1 2
2 1
0,0,0,0 C
Z , C
-Z1 1 2 2 −
⎥ ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢ ⎢
⎣ ⎡
=
Z1 – C1, Z2 – C2 = (-3,-2)
Karena P1 memiliki nilai paling negative, maka P1 ditetapkan sebagai vector masuk.
Langkah 2. Penentuan vector keluar dengan diketahui bahwa P1 memasuki basis.
⎥ ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢ ⎢
⎣ ⎡
− = ⎥ ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢ ⎢
⎣ ⎡
− ⎥ ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢ ⎢
⎣ ⎡
= = = =
⎥ ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢ ⎢
⎣ ⎡
= ⎥ ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢ ⎢
⎣ ⎡
⎥ ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢ ⎢
⎣ ⎡
= = = =
− −
0 1 2 1
0 1 2 1
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
2 1 8 6
2 1 8 6
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
1 1 1 1 1
1
P IP P B
b Ib b B XB
α
Perhitungan untuk langkah 1 dan 2 dapat diringkaskan sebagai berikut:
Dasar X1 X2 X3 X4 X5 X6 Pemecahan
Z -3 -2 0 0 0 0 0
X3 1 6
X4 2 8
X5 -1 1
X6 0 2
Langkah 3. Penentuan inverse basis berikutnya.
Maka basis berikutnya:
⎥
Basis baru ini berkaitan dengan vector dasar:
XB = (X3,X1,X5,X6)
Iterasi Kedua:
Karena P2 memiliki nilai paling negative, maka P2 merupakan vector masuk.
Langkah 2. Penentuan vector keluar dengan diketahui bahwa P2 memasuki basis.
⎥
Perhitungan untuk langkah 1 dan 2 dapat diringkaskan sebagai berikut:
Dasar X1 X2 X3 X4 X5 X6 Pemecahan
Langkah 3. Penentuan inverse basis berikutnya.
( )
Maka basis berikutnya:
⎥ next
= (2/3*1+0+0+0), (2/3*-1/2+0+0+0), (0), (0)
= (-1/3*1+0+0+0), (-1/3*-1/2+1*1/2+0+0), (0), (0)
= (-1*1+0+0+0), (-1*-1/2+0+1*1/2+0), (0+0+1+0), (0)
= (-2/3*1+0+0+0), (-2/3*-1/2+0+0+0), (0), (1)
Sehingga: Bnext−1 = 2/3 -1/3 0 0
-1/3 2/3 0 0
-1 1 1 0
-2/3 1/3 0 1
Basis baru ini berkaitan dengan vector dasar:
XB = X2, X1, X5, X6 CB = (2, 3, 0, 0) Iterasi Ketiga:
Langkah 1. Perhitungan Zj – Cj untuk non dasar P3 dan P4
(
)
⎥ ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢ ⎢
⎣ ⎡
− − −
−
=
1 0 3 / 1 3 / 2
0 1 1 1
0 0 3 / 2 3 / 1
0 0 3 / 1 3 / 2
0 , 0 , 3 , 2 B C = Y B -1
-1 BB C =
Y = {(2*2/3 + 3*-1/3 + 0 + 0), (2*-1/3 + 3*2/3 + 0 + 0), (0), (0)}
-1 BB C =
Y = (1/3, 4/3, 0, 0)
Z3 – C3, Z4 – C4 = Y(P3,P4) – (C3,C4)
[
]
[ ]
0,00 0
0 0
1 0
0 1
0 0, , 3 / 4 1/3, C
Z , C
-Z3 3 4 4 −
⎥ ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢ ⎢
⎣ ⎡
=
Z3 – C3, Z4 – C4 = {(1/3*1 + 0 + 0 + 0), (0 + 4/3*1 + 0 + 0)} – (0, 0) Z3 – C3, Z4 – C4 = (1/3, 4/3) – (0, 0) = (1/3, 4/3)
Pemecahan Optimal:
⎥ ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢ ⎢
⎣ ⎡
= ⎥ ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢ ⎢
⎣ ⎡
+ + +
−
+ + + −
+ + +
−
+ + −
+
= ⎥ ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢ ⎢
⎣ ⎡
⎥ ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢ ⎢
⎣ ⎡
− − −
−
= =
⎥ ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢ ⎢
⎣ ⎡
−
3 / 2 3
3 / 10
3 / 4
) 2 * 1 0 8 * 3 / 1 6 * 3 / 2 (
) 0 1 * 1 8 * 1 6 * 1 (
) 0 0 8 * 3 / 2 6 * 3 / 1 (
) 0 0 8 * 3 / 1 6 * 3 / 2 (
2 1 8 6
1 0 3 / 1 3 / 2
0 1 1 1
0 0 3 / 2 3 / 1
0 0 3 / 1 3 / 2
1
6 5 1 2
b B
X X X X
[
]
3 2 12 3 / 38 0 0 3 / 10 * 3 3 / 4 * 2
3 / 2 3
3 / 10
3 / 4
) 0 , 0 , 3 , 2
( = + + + = =
⎥ ⎥ ⎥ ⎥
⎦ ⎤
⎢ ⎢ ⎢ ⎢
⎣ ⎡
=
=CBXB
Z
Kesimpulan:
X1 = 10/3 X2 = 4/3 Z = 38/3
REFERENSI
1. Taha, Hamdy A., Riset Operasi – Jilid 1, Jakarta: Binarupa Aksara, 1996