Panduan Lengkap Metode Simplex
Panduan Lengkap Metode Simplex
Pada bagian ini akan diberikan penjelasan mengenai metode dasar yang biasa digunakan
untuk menyelesaikan program linear, yaitu Metode Simplex.
Sumber rujukan: M.S. Bazaraa, J.J. Jarvis, dan H.D. Sherali, ”Linear Programming and Network Flows”, John Wiley
Minimum z = ct x (1)
dengan kendala
Ax = b
(2)
x ≥ 0,
dimana matriks A berukuran m × n dengan Rank(A) = m. Selanjuntya matriks A
dituliskan menjadi A = (B, N) dimana B matriks tak singular berukuran m × m
dan N matriks!berukuran m × (n − m). Misalkan kita mempunyai vektor BFS
B−1 b
x0 = , dengan fungsi obyektifnya z0 , yang diberikan oleh
0
! !
B−1 b B−1 b
z0 = ct = (ctB ctN ) = ctB B−1 b. (3)
0 0
z = ct x
= ctB xB + ctN xN P (5)
= ctB B−1 b − j∈J (B−1 aj )xj + j∈J cj xj
P
1
Melalui proses di atas, masalah program linear (1)-(2) dapat dinyatakan kembali
sebagai masalah program linear berikut:
X
Minimum z = z0 − (ctB B−1 aj − cj )xj (6)
j∈J
dengan kendala
xB + j∈J B−1 aj xj = B−1 b
P
(7)
xB ≥ 0 dan xj ≥ 0, j ∈ J.
Tanpa mengurangi keberlakuan secara umum, misalkan xj > 0 untuk setiap j ∈ J
(jika terdapat xj = 0, maka variabel basis pada baris tersebut akan secara langsung
diketahui nilainya sehingga baris ini dapat dihilangkan dalam masalah program
linear ini).
Perhatikan bahwa pada Persamaan (7), variabel basis xB dapat dipandang sebagai
variabel slack untuk masalah program linear di ruang variabel nonbasis (variabel
keputusannya sekarang adalah variabel nonbasis xj , j ∈ J. Dalam variabel nonbasis,
masalah program linearnya menjadi
X
Minimum z = z0 − (ctB B−1 aj − cj )xj (8)
j∈J
dengan kendala
B−1 aj xj ≤ B−1 b
P
j∈J
(9)
xj ≥ 0, j ∈ J.
Ingat bahwa banyaknya variabel non basis adalah p = (n − m). Dengan demikian
pada ruang varibel nonbasis masalah program linear bekerja pada ruang berdimensi
p = (n − m). Koefisien (cj − ctB B−1 aj ) terkadang diistilahkan sebagai koefisien
biaya tereduksi. Bentuk program linear (8)-(9) dimana fungsi obyektif dan variabel
basis xB diselesaikan melalui vaiabel nonbasis biasa disebut representasi solusi basis
dalam bentuk kanonik. Hasil proses ini sebenarnya memberikan hasil utama:
2
sehingga diperoleh X
Minimum z = z0 − (zj − cj )xj (11)
j∈J
dengan kendala
P
≤ b̄
j∈J (yj )xj
(12)
xj ≥ 0, j ∈ J.
3
Sekarang perhatikan titik v1 dan periksa p hyperplane yang memuat titik ini (dalam
contoh ini, x1 = 0 dan x2 = 0). Titik ini digerakkan dalam arah feasibel dari satu
hyperplane yang telah dipilih dari p hyperplane. Dengan kata lain kita menggerakan
titik tersebut sepanjang sinar satu dimensi yang berawal dari titik v1 . Ada p (dalam
contoh ini p = 2) sinar yang mungkin:
Arah yang dipilih adalah arah dengan koefisien biaya tereduksi (cj − zj ) paling
negatif. Dalam contoh ini misalkan c̄2 paling negatif, maka titik v1 digerakkan
sejauh mungkin darah arah hyperplane x2 . Akan tetapi gerakan ini akan terblok
oleh hyperplane x3 = 0; jika gerakannya diteruskan maka akan akan mencapai nilai
x3 yang negatif (di luar daerah feasibel). Pada titik dimana terjadi pemblokkan
(blocking), titik tersebut, dalam hal ini titik v2 , merupakan titik ekstrim yang lain.
Pada titik v2 , titik (x1 , x3 ) merupakan variabel nonbasis, dan titik-titik lainnya
merupakan variabel basis. Pada saat tersebut kita telah menyelesaikan satu tahap
yang disebut iterasi atau pivot dari Metode Simplex. Pada tahap ini, variabel
x3 disebut variabel pemblok (blocking variable) atau variabel basis (di v1 ) yang
menghilang (leaving variable). Variabel basis yang lama dengan yang baru hanya
berbeda pada satu variabel saja, artinya juga hanya berbeda pada satu variabel
nonbasisnya. Basis yang baru ini disebut basis berdekatan/berbatasan (adjacent
bases).
Proses diulangi pada titik v2 ini sampai akhirnya pergerakan terblok kembali di titik
v3 . Pada titik ini terdapat lebih dari satu hyperplane pemblok. Misalkan kita pilih
x4 sebagai variabel pemblok. Pada titik v3 variabel nonbasisnya menjadi x3 dan x4 .
Jika kita tetapkan x4 = 0 dan bergerak dalam arah bertambahnya x3 , maka nilai
fungsi obyektifnya akan turun karena arah ini membentuk sudut lancip dengan arah
vektor c̄. Akan tetapi arah ini menuju ke daerah diluar daerah feasibel. Dengan
demikian kita sebenarnya terblok oleh hyperplane x5 = 0. Artinya, x5 menjadi
variabel basis yang menghilang dan sekarang x4 dan x5 variabel nonbasis yang baru
dimana pada saat ini kita berada di titik v3 . Tahap dimana kita mengubah satu
basis menjadi basis baru, akan tetapi kedua basis tersebut masih menghasilkan
solusi titik ekstrim yang sama, tahap ini disebut tahap iterasi/pivot degenerate
(sebenarnya tahap ini tidak diinginkan).
Dengan menetapkan x4 dan x5 sebagai variabel nonbasis untuk titik v3 dan untuk
selanjutnya menetapkan x5 = 0 serta menggerakkan titik v3 , variabel pemblok
4
yang berikutnya adalah x6 dan akan sampai di titik v4 . Pada titik ini variabel
nonbasis baru adalah x5 dan x6 . Terkait dengan basis ini, tak satupun dari p
sinar (menetapkan (p − 1) variabel nonbasis sama dengan nol dan menaikkan satu
variabel nonbasis lainnya) memberikan nilai fungsi obyektif yang lebih baik. Oleh
karenanya, titik v4 dapat dinyatakan sebagai titik optimal. Lintasan/jalur yang
dilalui oleh algoritma Simplex sepanjang sisi-sisi poihedron (dari titik v1 ke titik v2
sampai dengan titik v4 ) disebut Lintasan/ Jalur Simplex (simplex path).
dan
xB 1 b̄1 y1k
. .. .
.. .
. .
xBr = b̄r − yrk xk . (14)
. .. .
.. . ..
xBm b̄m ymk
Jika yik ≤ 0, maka xBi akan naik dengan naiknya xk . Jika yik > 0, maka xBi akan tu-
run dengan naiknya xk . Agar memenuhi kondisi ketaknegatifan solusi, xk dinaikkan
sampai dengan variabel basis xBr pertama kali bernilai nol. Lebih jelasnya, xk yang
dipilih adalah
b̄r b̄i
xk = = min : yik > 0 (15)
yrk 1≤i≤m yik
Untuk kasus nondegenerate, b̄r > 0 dan xk = b̄r /yrk > 0. Variabel yrk di atas
disebut variabel pivot. Dari Persamaan (13) dengan fakta zk − ck > 0, maka z <
5
z0 (fungsi obyektif terbaharui menjadi lebih baik/bernilai lebih kecil dari iterasi
sebelumnya). Sejalan dengan menaikkan xk dari 0 menjadi b̄r /yrk , variabel solusi
yang baru diberikan oleh
yik
x0Bi = b̄i − b̄r , i = 1, 2, · · · , m dan i 6= k, r,
yrk
b̄r
x0Bk = , (16)
yrk
x0Br = 0,
x0Nj = 0, j yang lainnya.
Dari Persamaan (16), xk dan xBr bertukar peran dari variabel nonbasis menjadi basis
dan sebaliknya. Dengan demikian pada solusi terbaharui paling banyak terdapat m
variabel bernilai positif. Kolom-kolom matriks A yang bersesuaian diberikan oleh
aB1 , · · · , aBr−1 , ak , aBr+1 , · · · , aBm . Kolom-kolom ini bebas linear karena yrk 6= 0
(mengapa?). Dengan demikian, titik-titik yang diberikan oleh (16) merupakan BFS.
Untuk rekapitulasi, iterasi Metode Simplex berisi: menaikkan variabel nonbasis
xk yang memiliki nilai (zk − ck ) positif terbesar, membuat variabel xBr bernilai
nol, variabel xk masuk sebagai basis dan variabel xBr meninggalkan basis (beraksi
sebagai blocking variable). Kriteria untuk masuk dan meninggalkan basis diberikan
oleh kriteria berikut:
1. (BFS awal). Pilih suatu matriks basis B yang akan memberikan BFS awal.
Kemudian hitung xB = B−1 b. Selanjutnya, misalkan xB = b̄, xN = 0, dan
z = ctB xB .
6
2. (Keoptimalan solusi). Selesaikan w = ctB B−1 . Vektor w disebut vektor pengali
Simplex, komponen-komponenannya menjadi pengali untuk baris-baris matriks
A yang ditambahkan pada fungsi obyektif agar menjadi bentuk kanonik. Hi-
tung zj − cj = waj − cj untuk semua variabel nonbasis (proses ini disebut
pricing operation). Misalkan
zk − ck = max(zj − cj ),
j∈J
6. Metode Simplex dalam bentuk tabel. Misalkan kita mempunyai BFS awal
x dengan matriks basis B. Masalah program linear dapat disajikan dalam bentuk
berikut:
Minimum z (17)
dengan kendala
z − ctB xB − ctN xN = 0
BxB + NxN = b (18)
xB , xN ≥ 0.
7
Dari persamaan kedua di (18) diperoleh
Hitung hasilkali titik kedua ruas (19) dengan ctB kemudian menjumlahkan hasil yang
diperolehnya dengan persamaan pertama (18) kita peroleh
Pada saat awal, xN = 0 sehingga diperoleh xB = B−1 b dan z = ctB B−1 b. Dari (19)
dan (20) kita dapat menyajikan BFS awal dengan matriks basis B dalam bentuk
tabel.
Dalam bentuk tabel, z pada (20) akan dipandang sebagai variabel (basis) yang akan
diminimumkan dan akan dirujuk sebagai baris ke-0 di tabel. Sedangkan (20) akan
mengisi baris sisanya, yaitu baris ke-1 sampai dengan barisk ke-m. Kolom ruas
kanan (RK) akan menyatakan nilai fungsi obyektif dan nilai variabel basis. Varibel
basis akan diidentifikasi oleh kolom yang paling kiri (lihat Tabel 1). Tabel dimana
z dan xB telah diselesaikan dalam variabel xN disebut tabel dalam bentuk kanonik.
Tabel tersebut tidak hanya memberikan informasi nilai fungsi obyektif ctB B−1 b dan
nilai variabel basis B−1 b, tetapi juga memberikan informasi berikut:
• baris ctB B−1 N−ctN memberikan informasi nilai zj −cj untuk variabel nonbasis.
• baris ke-0 memberikan indikasi apakah berada di solusi optimal (jika zj −cj ≤ 0)
ataukah tidak. Jika tidak maka memberikan informasi variabel nonbasis mana
yang harus dinaikkan agar menjadi variabel basis.
• misalkan nilai variabel xk dinaikkan. Vektor yk = B−1 ak yang disimpan di
baris ke-1 sampai dengan ke-m akan menginformasikan seberapa besar nilai
xk harus dinaikkan. Jika yk ≤ 0, maka xk dapat dinaikkan sebesar mungkin
tanpa ada variabel lain yang akan membloknya. Jadi, dalam kasus tersebut
solusi optimalnya tak terbatas. Sebaliknya, jika yk 0, yaitu paling sedikit
salah satu komponen yk bernilai positif, maka kenaikkan xk akan terblok oleh
salah satu variabel basis yang selanjutnya memaksa nilai basis tersebut menjadi
nol.
• Uji rasio minimum B−1 b = b̄ dan yk akan menentukan kriteri variabel pem-
blok.
7. Proses pivot. Jika xk menjadi berperan sebagai variabel basis dan xBr menjadi
variabel nonbasis, proses pivot pada yrk dijelaskan sebagai berikut:
8
z xB xN RK
−1
z 1 0 t
cB B N − ctN ctB B−1 b Baris ke-0
−1 −1
xB 0 I B N B b Baris ke-i, i = 1, · · · , m
(z −c )y
− k yrkk rj
−y1k yrj y1k
xB1 0 1 ··· yrk
··· 0 ··· y1j − yrk y1k ··· 0 ··· b̄1 − b̄
yrk r
.. .. .. .. .. .. .. ..
. . . ··· . ··· . ··· . ··· . ··· .
1 yrj b̄r
xk 0 0 ··· yrk
··· 0 ··· yrk
··· 1 ··· yrk
.. .. .. .. .. .. .. ..
. . . ··· . ··· . ··· . ··· . ··· .
yrj
xBm 0 0 ··· − yymk
rk
··· 1 ··· ymj − y
yrk mk
··· 0 ··· b̄m − ymk
b̄
yrk r
Minimum z = x1 + x2 − 4x3
dengan kendala
x1 + x2 + 2x3 ≤ 9
x1 + x2 − x3 ≤ 2
−x1 + x2 + x3 ≤ 4
x1 , x2 , x3 ≥ 0.
9
Masalah di atas diubah menjadi masalah program linear bentuk baku dengan mem-
perkenalkan variabel slack x4 , x5 , dan x6 . Masalah program linearnya sekarang
menjadi
Minimum z = x1 + x2 − 4x3 + 0x4 + 0x5 + 0x6
dengan kendala
x1 + x2 + 2x3 + x4 = 9
x1 + x2 − x3 + x5 = 2
−x1 + x2 + x3 + x6 = 4
x1 , x 2 , x 3 , x4 , x5 , x 6 ≥ 0 .
Karena b ≥ 0, maka kita dapat memilih matriks basis awal kita B = [a4 , a5 , a6 ] = I.
Juga diperoleh B−1 b = b ≥ 0. Berikut tabel iterasinya:
Iterasi ke-1: z3 −c3 = 4 nilai terbesar, kolom x3 dengan uji minimum rasio diperoleh
elemen pivot seperti yang ditandai kotak.
z x4 x5 x6 x1 x2 x3 RK
z 1 0 0 0 −1 −1 4 0
x4 0 1 0 0 1 1 2 9
x5 0 0 1 0 1 1 −1 2
x6 0 0 0 1 −1 1 1 4
Iterasi ke-2:z1 − c1 = 5 nilai terbesar, kolom x1 dengan uji minimum rasio diperoleh
elemen pivot seperti yang ditandai kotak.
z x4 x5 x6 x1 x2 x 3 RK
z 1 0 0 −4 3 −5 0 −16
x4 0 1 0 −2 3 −1 0 1
x5 0 0 1 1 0 2 0 6
x3 0 0 0 1 −1 1 1 4
Iterasi ke-3: tabel ini optimal karena zj − cj ≤ 0 untuk semua variabel nonbasis.
Solusi optimalnya diberikan oleh x1 = 1/3, x2 = 0 dan x3 = 13/3, dengan nilai
fungsi obyektifnya z = −17. Solusi optimal
yang diperoleh memberikan matriks
1 0 2
basis B = [a1 , a5 , a3 ] = 1 1 −1 .
−1 0 1
10
z x4 x5 x6 x1 x2 x3 RK
z 1 −1 0 −2 0 −4 0 −17
x1 0 1/3 0 −2/3 1 −1/3 0 1/3
x5 0 0 1 1 0 2 0 6
x3 0 1/3 0 1/3 0 2/3 1 13/3
8. Pemilihan BFS awal. Telah diketahui bahwa Metode Simplex dimulai dari BFS
awal untuk kemudian diiterasi agar diperoleh BFS lain dengan nilai fungsi obyektif
yang lebih baik atau solusi optimalnya diketahui tak terbatas. Perhatikan kembali
masalah program linear berikut
Minimum z = ct x (21)
dengan kendala
Ax ≤ b
(22)
x ≥ 0,
dimana matriks A berukuran m × n dengan Rank(A) = m. Lebih jauh lagi, asum-
sikan b ≥ 0 (vektor taknegatif). Dengan menambahkan variabel slack xs , kendala
(22) dapat dituliskan dalam bentuk baku
Ax + xs = b
(23)
x, xs ≥ 0,
Perhatikan bahwa matriks kendala baru [A, I] yang berukuran m×(m+n) memiliki
Rank m, and BFS awalnya diberikan oleh xs = b dan x = 0. Selanjutnya, Metode
Simplex dapat digunakan untuk menyelesaikannya.
Akan tetapi, jika asumsi ketaknegatifan vektor b diatas dilanggar, maka setelah
memperkenalkan variabel slack xs , kita tidak dapat memilih BFS awalnya diberikan
oleh xs = b dan x = 0, karena hal ini melanggar kendala ketaknegatifan. Masalah
serupa juga terjadi jika kendalanya berbentuk Ax ≥ b, x ≥ 0, dimana b
0.
Setelah memperkenalkan variabel slack xs sehingga diperoleh Ax − xs = b, x, xs ≥
0, maka tidak ada jaminan untuk memilih matriks basis B dari matriks [A, −I]
dengan B−1 b ≥ 0.
Secara umum, dengan memperkenalkan variabel slack dan manipulasi sederhana
dengan perkalian (−1) jika diperlukan kepada setiap kendala, (21)-(22) dapat diubah
menjadi
Minimum z = ct x (24)
11
dengan kendala
Ax = b
(25)
x ≥ 0,
dimana b ≥ 0. Jika matriks A memuat matriks identitas, maka BFS awal da-
pat dengan langsung diambil dengan memilih B = I dan B−1 b = b ≥ 0. Jika
matriks A tidak memuat matriks identitas, maka teknik lain harus dilakukan den-
gan menambahkan suatu artificial variable (variabel palsu) xa seperti yang akan
dijelaskan berikut. Untuk memudahkan pembahasan, variabel x yang berasal dari
masalah semula (24) akan disebut variabel asli.
Misalkan kendala yang dipunyai dimodifikasi dengan memperkenalkan (variabel
palsu) xa sehingga diperoleh Ax + xa = b, xa , xa ≥ 0. Modifikasi ini memaksa kita
untuk memperoleh matriks identitas sebagai matriks basis dengan variabel palsu xa
sebagai variabel BFS awal, yaitu xa = b. Selanjutnya akan digunakan Metode Sim-
plex untuk menyelesaikan masalah termodifikasi ini. Untuk mengembalikan masalah
termodifikasi menjadi masalah semula, kita harus memaksa variabel palsu ini berni-
lai nol, karena Ax = b jika dan hanya jika Ax + xa = b dengan xa = 0. Dengan
kata lain, variabel palsu digunakan sebagai alat agar Metode Simplex dapat mulai
bekerja dengan BFS awal yang sederhana (bedakan antara variabel slack dengan
variabel palsu!). Berikutnya akan dibahas dua metode untuk pemilihan BFS awal:
Metode dua-fase/tahap dan Metode Big-M.
Minimum z = 1t xa (26)
dengan kendala
Ax + xa = b
(27)
x, xa ≥ 0,
Jika solusi optimal tercapai dengan menyisakan variabel palsu tak nol, xa 6= 0,
maka tahap selanjutnya tidak perlu dilanjutkan; masalah semula tidak mempunyai
solusi feasibel. Jika semua variabel palsunya bernilai nol, maka kita gunakan solusi
basis xB dan solusi nonbasis xN yang diperoleh di (26)-(27) sebagai BFS awal untuk
tahap selanjutnya.
TAHAP II: Menyelesaikan masalah berikut dengan BFS awal diperoleh dari tahap
sebelumnya; xB = B−1 b dan xN = 0.
12
dengan kendala
B−1 NxN + xB = B−1 b
(29)
xB , xN ≥ 0,
Sebagai contoh, perhatikan masalah program linear berikut:
Minimum z = x1 − 2x2
dengan kendala
x1 + x2 ≥ 2
−x1 + x2 ≥ 1
(30)
x2 ≤ 3
x1 , x 2 ≥ 0.
Setelah memperkenalkan variabel slack x3 , x4 , dan x5 , kita peroleh
dengan kendala
x1 + x2 − x3 = 2
−x1 + x2 − x4 = 1
(32)
x2 + x5 = 3
x1 , x 2 , x 3 , x 4 , x 5 ≥ 0.
Pada (32) matriks identitas tidak muncul. Oleh karena itu perlu ditambahkan
variabel palsu x6 dan x7 untuk meminimumkan x0 = x6 + x7 . Pada kasus ini
variabel slack x5 sekaligus berperan sebagai variabel palsu. Dalam bentuk tabel
(lihat Tabel 7), masalah (32) dengan fungsi obyektif meminimumkan x0 = x6 + x7
menjadi
x0 x1 x2 x3 x4 x5 x6 x 7 RK
1 0 0 0 0 0 −1 −1 0
0 1 1 −1 0 0 1 0 2
0 −1 1 0 −1 0 0 1 1
0 0 1 0 0 1 0 0 3
13
x0 x1 x2 x3 x4 x5 x6 x7 RK
x0 1 0 2 −1 −1 0 0 0 3
x6 0 1 1 −1 0 0 1 0 2
x7 0 −1 1 0 −1 0 0 1 1
x5 0 0 1 0 0 1 0 0 3
x0 x1 x2 x3 x4 x5 x6 x7 RK
x0 1 2 0 −1 1 0 0 −2 1
x6 0 2 0 −1 1 0 1 −1 1
x2 0 −1 1 0 −1 0 0 1 1
x5 0 1 0 0 1 1 0 −1 2
• Untuk kasus xa 6= 0, maka masalah awal tidak memiliki solusi feasibel; andaikan
ada solusi feasibel x ≥ 0 dengan Ax = b, maka (x, 0)t merupakan solusi
feasibel untuk TAHAP I dan 0t x + 1t 0 = 0 < 1t xa , bertentangan dengan
keoptimalan solusi xa .
• Untuk kasus xa = 0, terbagi menjadi dua subkasus; pada akhir proses TAHAP
I: 1) semua variabel palsu menjadi variabel nonbasis, 2) terdapat sebagian
variabel palsu bernilai nol yang menjadi variabel basis.
– Untuk subkasus 1), variabel basis hanya diwakili oleh variabel asli. Jika
variabel asli dibagi menjadi variabel basis xB dan variabel nonbasis xN ,
14
x0 x1 x2 x3 x4 x5 x6 x7 RK
x0 1 0 0 0 0 0 −1 −1 0
x1 0 1 0 −1/2 1/2 0 1/2 −1/2 1/2
x2 0 0 1 −1/2 −1/2 0 1/2 1/2 3/2
x5 0 0 0 1/2 1/2 1 −1/2 −1/2 3/2
x0 x1 x2 x3 x4 x5 RK
1 −1 2 0 0 0 0
0 1 0 −1/2 1/2 0 1/2
0 0 1 −1/2 −1/2 0 3/2
0 0 0 1/2 1/2 1 3/2
Tabel 11: Membuang kolom variabel palsu dan mengganti fungsi obyektif.
maka di akhir proses TAHAP I akan diperoleh Tabel 15. Sekarang Tahap
II dapat dimulai dengan menggantikan baris ke-0 dengan fungsi obyektif
semula dan membuang kolom variabel palsu, sehingga diperoleh Tabel 16.
15
x0 x1 x2 x3 x4 x5 RK
z 1 0 0 1/2 3/2 0 −5/2
x1 0 1 0 −1/2 1/2 0 1/2
x2 0 0 1 −1/2 −1/2 0 3/2
x5 0 0 0 1/2 1/2 1 3/2
tetap bernilai nol dan uji rasio minimum biasa dapat diterapkan.
∗ Jika paling sedikit satu komponen yrj < 0, r = k + 1, · · · , m, maka
variabel palsu xn+r akan bernilai positif. Hal ini harus dihindari
dengan cara mengambil variabel pivotnya yang berkaitan dengan
yrj < 0. Dalam kasus ini variabel xn+r akan meninggalkan basis dan
bertukar peran dengan variabel xj . Selain itu, fungsi obyektif akan
bernilai tetap, tidak berubah dari proses sebelumnya.
Setelah modifikasi di atas, Metode Simplex dapat digunakan untuk
menyelesaikan TAHAP II.
(b) Eliminasi variabel palsu di akhir TAHAP I. Tabel 18 menggambarkan
situasi di saat akhir TAHAP I. Karena baris dan kolom fungsi obyek-
tif kurang relevan pada cara ini, maka baris dan kolom tersebut akan
diabaikan untuk sementara waktu. Selanjutnya kita berusaha untuk
membuat variabel palsu xn+k+1 , · · · , xn+m meninggalkan basis dengan
menempatkan (m−k) variabel asli nonbasis xk+1 , · · · , xn menjadi vari-
abel basis. Sebagai contoh, variabel palsu xn+k+1 dapat dibuat mening-
galkan basis dengan melakukan pivot pada sebarang elemen tak nol di
baris pertama R2 . Variabel asli nonbasis yang terkait akan menggan-
tikan variabel palsu tersebut sehingga diperoleh tabel yang terbaharui.
Proses serupa dilanjutkan.
∗ Jika semua variabel palsu dapat dibuat meninggalkan basis, maka
variabel basis yang baru akan memuat semua kolom variabel asli
untuk kemudian proses dilanjutkan ke TAHAP II.
x0 x1 x2 x3 x4 x5 RK
z 1 −3 0 2 0 0 −4
x4 0 2 0 −1 1 0 1
x2 0 1 1 −1 0 0 2
x5 0 −1 0 1 0 1 1
16
x0 x1 x2 x3 x4 x5 RK
z 1 −1 0 0 0 −2 −6
x4 0 1 0 0 1 1 2
x2 0 0 1 0 0 1 3
x3 0 −1 0 1 0 1 1
x0 xB xN xa RK
x0 1 0 0 −1 0
−1
xB 0 I B N B−1 −1
B b
10. Metode Big-M. Metode ini pada prinsipnya menggabungkan dua fungsi obyektif,
yaitu fungsi obyektif asal dan fungsi obyektif yang memuat variabel palsu. Bentuk
permasalahannya dapat disajikan sebagai berikut.
Minimum z = ct x + M 1t xa (33)
dengan kendala
Ax + xa = b
(34)
x, xa ≥ 0,
dimana konstanta M adalah bilangan positif yang cukup besar. Suku M 1t xa da-
pat diinterpretasikan sebagai penalti bagi solusi dengan xa 6= 0; untuk xa 6= 0
maka suku kedua obyektif akan membesar (variabel tersebut akan menambah nilai
fungsi obyektif) sehingga variabel tersebut tidak akan terpilih sebagai calon solusi.
17
z xB xN RK
−1
z 1 0 t
cB B N − ctN ctB B−1 b
−1 −1
xB 0 I B N B b
Tentu saja yang menjadi perhatian kita adalah optimasi masalah awal P, bukan
P(M). Analisis berikut akan membantu kita untuk menyimpulkan optimasi P:
(a) P(M) mempunyai solusi optimal hingga. Untuk kasus ini kita memiliki dua
kemungkinan.
i. Semua variabel palsu yang termuat pada solusi optimal P(M) bernilai nol,
yaitu (x∗ , 0). Dalam kasus ini x∗ merupakan solusi optimal P. Bukti:
Misalkan x solusi feasibel P. Maka, (x, 0) solusi feasibel P(M). Karena
(x∗ , 0) solusi optimal P(M) maka ct x∗ + 0 ≤ ct x + 0 atau ct x∗ ≤ ct x.
ii. terdapat variabel palsu tak nol yang termuat pada solusi optimal P(M),
yaitu (x∗ , xa ). Dalam kasus ini, jika M bilangan cukup besar maka P
tidak mempunyai solusi feasibel (buktikan!).
18
Var. Asli Basis Var. Asli Nonbasis Var. Palsu Nonbasis Var. Palsu Basis
x1 x2 · · · xk xk+1 · · · xn xn+1 · · · xn+k xn+k+1 · · · xn+m RK
x1 1 0 0 ··· 0 b1
x2 1 R1 R3 0 0 ··· 0 b2
.. .. .. .. .. ..
. . . . ··· . .
..
xk 1 0 0 ··· . bk
xn+k+1 0 0 ··· 0 1 0
R2 R4 1 0
.. .. .. .. .. ..
. . . . . .
xn+m 0 0 ··· 0 1 0
z xB xN RK
z 1 0 ctB R1− ctN ctB A−1
11 b1
xB 0 I R1 A−1
11 b1
(b) P(M) mempunyai solusi optimal tak terbatas, z → −∞. Misalkan selama
pencarian solusi dengan Metode Big-M, yk ≤ 0 pada kolom ke-k denganzj − cj
bernilai positif terbesar. Maka, P(M) memiliki solusi optimal tak terbatas.
Lebih jauh lagi,
i. Jika semua variabel palsunya bernilai nol, maka P mempunyai nilai opti-
mal tak berhingga.
ii. Jika paling sedikit terdapat satu variabel palsu positif, maka P tak feasibel.
• Misalkan I0 = {r : b̄r
yrk
= min { yb̄iki : yik > 0}}. Jika I0 hanya memuat satu
1≤i≤m
elemen, yaitu I0 = {r}, maka xBr yang meninggalkan basis. Jika tidak, bentuk
I1 sebagai berikut
yr1
• I1 = {r : yrk
= min{ yyik
i1
}}. Jika I1 hanya memuat satu elemen, yaitu I1 = {r},
i∈I0
maka xBr yang meninggalkan basis. Jika tidak, bentuk I2 . Secara umum
19
yrj ijy
• Ij = {r : yrk
= min { yik }}. Pada akhirnya, untuk suatu j ≤ m, Ij hanya akan
i∈Ij−1
memuat satu elemen. Jika Ij hanya memuat satu elemen, yaitu Ij = {r}, maka
xBr yang meninggalkan basis.
Latihan
1. Perhatikan masalah program linear berikut: min ct x dengan kendala Ax ≤ b, x ≥ 0,
dimana c suatu vektor tak nol. Misalkan x0 suatu titik sehingga Ax0 < b, x0 > 0.
Perlihatkan bahwa x0 bukan solusi optimal.
Maksimum z = x1 + 3x2
dengan kendala
x1 − 3x2 ≤ 3
−2x1 + x2 ≤ 2
−3x1 + 4x2 ≤ 12
3x1 + x2 ≤ 9
x1 , x 2 ≥ 0.
(a) Sketsakan daerah feasibelnya di bidang (x1 , x2 ) dan identifikasi solusi optimal-
nya.
(b) Identifikasi semua titik ekstrim dan reformulasi masalah di atas sebagai masalah
kombinasi konveks titik-titik ekstrim. Kemudian cari solusinya.
(c) Misalkan kendala keempat dihilangkan. Identifikasi titik ekstrim dan arah esk-
trimnya kemudian reformulasikan masalahnya sebagai masalah kombinasi kon-
veks titik-titik esktrim dan kombinasi linear arah ekstrim. Selesaikan masalah
tersebut dan interpretasikan hasilnya.
x1 + x2 ≤ 3
−2x1 + x2 ≤ 2
x1 − 2x2 ≤ 0
x1 , x 2 ≥ 0.
20
(a) Sketsakan daerah feasibelnya di bidang (x1 , x2 ) dan identifikasi solusi optimal-
nya.
(b) Identifikasi semua titik ekstrim, dan pada setiap titik ekstrim identifikasi semua
variabel basis dan variabel nonbasis yang mungkin.
(c) Misalkan suatu iterasi dimualai dari titik (2, 1) ke arah titik esktrim (0, 0) di
bidang (x1 , x2 ). Identifikasikan varibel yang akan meninggalkan dan menggan-
tikan basis.
5. Selesaikan masalah
Maksimum z = 5x1 + 4x2
dengan kendala
x1 + 2x2 ≤ 6
−2x1 + x2 ≤ 4
5x1 + 3x2 ≤ 15
x1 , x 2 ≥ 0.
Maksimum z = x1 − 2x2 + x3
dengan kendala
x1 + 2x2 + x3 ≤ 12
2x1 + x2 − x3 ≤ 6
−x1 + 3x2 ≤ 9
x1 , x 2 , x 3 ≥ 0 .
z x1 x2 x 3 x4 x5 x6 RK
z 1 0 0 0 0 2 3 0
x1 0 1 0 2 −1 −1 1 0
x2 0 0 1 −2 1 2 3 0
21
dengan kendala
3x1 + 4x2 ≤ 12
2x1 − x2 ≥ 2
x1 , x2 ≥ 0.
Maksimum z = x1 − 2x2 + x3
dengan kendala
x1 + x2 − x3 ≥ 4
x1 − 4x2 + x3 ≤ 2
x1 , x 2 , x 3 ≥ 0 .
22