Anda di halaman 1dari 25

MODUL VI

SOLUSI LINIER PROGRAMMING DENGAN METODE SIMPLEX

Oleh : Dr. Budisantoso WIRJODIRDJO

DEPARTEMENT PENDIDIKAN DAN KEBUDAYAAN


PROGRAM MAGISTER MANAJEMEN TEKNOLOGI
INSTITUT TEKNOLOGI SEPULUH NOVEMBER SURABAYA

1
PENGANTAR

Dalam uraian-uraian pada modul-modul terdahulu, telah kita ketahui bahwa


permasalahan linier programming dapat diselesaikan dengan metode grafik,
apabila variabel keputusan yang ada tidak lebih dari dua. Apabila variabel
keputusan yang dipunyai lebih dari dua maka metode grafis sulit dilakukan.
Untuk itu metode lain, yakni metode simplex diperkenalkan oleh George B.
DANTZIG untuk memecahkan masalah-masalah linier programming yang
mempunyai lebih dari dua variabel keputusan.

Dalam modul ini kita akan membahas konsep dasar metode simplex untuk
memecahkan persoalan linier programming. Meskipun kita ketahui bahwa
saatt ini telah banyak dibuat program komputer untuk memecahkan
persoalan linier programming, konsep dasar metode simplex ini perlu
diketahui. Pertimbangannya adalah bahwa program-program komputer yang
ada konsep pengembangannya adalah metode simplex. Dengan demikian
pengetahuan konsep dasar metode simplex ini diperlukan untuk lebih
mengetahui bagaimana keluaran tulis hasil komputer dibuat. Manfaat ini
akan lebih terasa pada saat melakukan analisa sensitivitas. Dengan
pengetahuan konsep metode simplex ini, kita lebih mengetahui bagaimana
data yang disajikan dapat dipergunakan untuk melakukan analisa
sensitivitas.

2
I. Petunjuk Perubahan Tanda pada Fungsi Pembatas

Sebelum men-trapkan metode simplex didalam memecahkan persoalan-


persoalan linier programming, terlebih dahulu model linier programming
yang telah dibentuk harus diubah menjadi bentuk standart. Yakni tanda-
tanda pertidak samaan harus diubah menjadi bentuk persamaan.

Telah kita ketahui bahwa setiap persoalan linier programming akan


mempunyai tanda kendala sekurang-kurangnya satu atau lebih dari tanda >,
= dan < . Tanda fungsi pembatasa pertidak samaan (> dan <) inilah yang
harus diubah terlebih dahulu menjadi tanda kesamaan (=). Perubahan tanda
kendala ini dapat dilakukan dengan mempergunakan tambahan variabel
yang disebut “variabel slack” atau “variabel surplus”.

Mekanisme perubahan tanda pertidak samaan pada fungsi pembatas


menjadi tanda persamaan ini dapat dijelaskan sebagai berikut :

1. Untuk merubah tanda pertidak samaan < diperlukan variable tambahan


yang disebut variabel slack. Variabel slack ini mepunyai nilai positip dan
ditambahkan pada sisi sebelah kiri fungsi pembatas untuk merubah tanda
pertidak samaan < menjadi tanda persamaan =.
2. Untuk fungsi pembatas dengan tanda pertidak samaan >, dapat dirubah
menjadi fungsi kendala dengan tanda persamaan (=) dengan
menambahkan variabel surplus. Variabel surplus ini mempunyai nilai
positip dan dikurangkan pada sisi sebelah kiri fungsi pembatas. Akan
tetapi perubahan ini akan menimbulkan kesulitan dalam memecahkan
soal dengan metode simplex, karena variabel surplus ini dapat bernilai
negatip. Sebagai contoh adalah suatu fungsi kendala sebagai berikut :

2X2 > 80

Penambahan variabel surplus kedalam fungsi pembatas ini menyebabkan


fungsi pembatas berubah menjadi

2X2 - S1 = 80

S1 adalah variabel surplus. Kalau X2 = 0, maka S1 = - 80, ini berarti bahwa


pada pemecahan pertama, fungsi pembatas ini sudah tidak feasibel.
Kondisi semacam ini tidak diperbolehkandalam memecahkan
permasalahan linier programming dengan metode simplex. Untuk

3
mengatasi masalah ini, dipergunakan variabel buatan atau artificial (A)
yang harus ditambahkan pada fungsi pembatas dengan tanda >. Variabel
buatan ini mewakili suatu produk fiktif tertentu yang mempunyai biaya
yang sangat tinggi, katakanlah Rp. M. Meskipun pada tahap pemecahan
awal variabel A ini akan tampak, pada tahap akhir pemecahan pasti tidak
akan timbul. Dalam fungsi tujuan, variabel surplus ini ditambahkan
dengan koefesien 0 (nol). Demikian pula variabel buatan fiktif harus
ditambahkan ke fungsi tujuan dengan koefesien 1 (satu).

3. Fungsi pembatas mempunyai tanda persamaan (=), harus juga


ditambahkan variabel buatan fiktif atau A untuk memenuhi persyaratan
model simplex : bahwa setiap fungsi pembatas harus mempunyai variabel
yang non-negatip dalam pemecahan awalnya. tetapi untuk fungsi
pembatas yang mempunyai tanda persamaan (=) ini, tidak perlu
ditambahkan variabel surplus atau slack lagi. Penambahan variabel buatn
fiktif ini juga dilakukan pada fungsi tujuan.
4. Untuk setiap fungsi pembatas dengan tanda pertidak samaan (> atau <)
diperlukan satu variabel surplus atau variabel slack yang berbeda.
Dengan perkataan lain, tidak ada variabel slack atau variabel surplus
yang sama untuk masing-masing pembatas.
5. Penambahan variabel slack dan variabel surplus fungsi pembatas pada
masalah linier programming, tidaklah mempengaruhi fungsi tujuan. Atau
dengan kata lain, variabel slack dan variabel surplus ini dapat
ditambahkan kedalam fungsi tujuan dengan koefesien 0 (nol).
Penambahan ini dikecualikan terhadap variabel buatan fiktif yang harus
ditampakan difungsi tujuan.

Setelah melakukan perubahan pada model mathematis linier programming


kedalam bentuk standard, barulah langkah selanjutnya dilakukan prosedur
simplex.

II. Prosedur solusi Linier Programmming untuk kasus minimisasi

Untuk memecahkan persoalan linier programming dengan metode simplex,


paling tiak diperlukan 7 langkah. Langkah-langkah penyelesaian ini akan
diuraikan secara detail dengan contoh berikut ini :

4
PT. Timur Terang adalah sebuah perusahaan industri yang menghasilkan
bedak. Bedak ini dibuat dari berbagai campuran bahan antara lain bahan
dasar bedak 1 dan bahan dasar 2. Manajemen perusahaan menetapkan bahwa
untuk setiap kemasan bedak harus mempunyai spesifikasi zat berkasiat
sebagaimana Tabel dibawah ini :

Bahan Spesifikasi Spesifikasi


Bahan 1 Bahan 2 Kandungan
Seng Oksida 1 1 200 gram
Kalamin 1 - Maks 80 gram
Parfume - 1 Min 60 gram
Biaya per Rp. 3,- Rp. 8,-
gram

Dengan asumsi bahwa semua bahan campuran akan terproses secara


proposional dengan volume produksi, manajemen PT. Timur Terang ini
ingin mengetahui berapa banyak bahan dalam setiap kemasan bedak agar
persyaratan zat berkasiat terpenuhi dan biaya minimum.

Untuk memecahkan persoalan ini dapat diformulasikan model


mathenatisnya sebagai berikut :

Tahap 1 : Formulasi masalah

Permasalahan diatas dapat diformulasikan kedalam model mathematis


sebagai berikut :

Minimum biaya : Z = 3K + 8 P
Fungsi pembatas : K + P = 200
K < 80
P > 60
K, P > 0

Tahap 2 : Pembuatan tabel Awal

Untuk memecahkan permasalahan linier programming dengan metode


simplex diperlukan dua hal : Pertama, sebagaimana telah diuraikan bahwa
perubahan fungsi tujuan dan fungsi pembatas dikarenakan penambahan

5
variabel slack atau variabel surplus dan variabll artificial. Kedua,
penyusunan tabel penyelesaian. Untuk kedua hal tersebut diatas maka
perubahan tanda pada fungsi pembatas adala sebagai berikut :

K + P + A1 = 200
K + X1 = 80
P - X2 + A2 = 60
Semua variabel > 0

Dengan penambahan ini, semua variabel akan terwakili disetiap fungsi


pembatas. Yaitu dengan setiap variabel slack atau surplus yang tidak ada
difungsi persamaan diatas diberi koefesien nol (0). Formulasi lengkap fungsi
pembatas seperti dibawah ini :

K + P + A1 + 0X1 + 0X2 + 0A2 = 200


K + 0P + 0A1 + X1 + 0X2 + 0A2 = 80
0K + P + 0A1 + 0X1 - X2 + A2 = 60

Demikian pula untuk fungsi tujuan perlu dilakukan penambahan variabel


slack atau surplus. Tetapi karena variabel-variabel ini tidak ada biayanya.
Koefesien di fungsi tujuan adalah nol (0). Perubahan fungsi tujuan menjadi :

Z = 3K + 8P + MA1 + 0X1 + 0X2 + MA2

Setelah diperoleh perubahan variabel diatas, maka langkah selanjutnya


adalah membuat tabel sebagai berikut :

Tabel 1 (Tabel awal)


Kolom Baris Cj 3 8 M 0 0 M
Cj Jawaban 1 1 1 0 0 0 Kuantitas
Rp. M Cj 1 1 1 0 0 0 200
Rp. 0 Cj 1 0 0 1 0 0 80
Rp. M Cj 0 (1) 0 0 -1 1 60
Zj M 2M M 0 -M M 260M
Cj - Zj (3-M) (8- 0 0 M 0
2M)

Pemecahan dengan mempergunakan tabel seperti ini merupakan cara yang


mudah untuk menyelesaikan permasalahan linier linier programming dengan

6
metode simplex. Selain dari pada itu tabel awal ini juga memberikan
informasi sebagai berikut :

1. Variabel jawaban pada setiap tahap pemecahan


2. Biaya atau laba pada tiap tahap pemecahan
3. Variable yang potensiil untuk menambah atau mengurangi laba atau
biaya jika variabel tersebut dimasukkan dalam pemecahan.
4. Besarnya subsitusi setiap variabel yang masuk dalam jawaban
5. Shadow atau Dual price

Penjelasan dari tabel awal ini dapat diuraikan sebagai berikut :

Pada baris atas terdapat nilai Cj yaitu besarnya sumbangan laba atau biaya
dalam kaitannya dengan produksi untuk setiap produk. Baris ini merupakan
koefesien dari variabel-variabel dalam fungsi tujuan, dan karenanya
jumlahnya akan selalu tetap sampai dengan “iterasi” terakhir.

Kolom pertama dengan tanda Cj menyatakan laba atau biaya per-unit setiap
variabel yang dimasukkan dalam jawaban untuk setiap tahap pemecahan.
Kolom jawaban merupakan rincian dari variabel yang telah dimasukkan
dalam jawaban pemecahan. Untuk tabel awal, variabelnya adalah variabel
slack atau surplus dengan koefesien biaya atau laba sebesar 0 atau Rp. M.

Koefesien-koefesien dari semua fungsi pembatas dimasukkan dalam tabel,


tepat dibawah setiap variabel yang dinyatakan dalam baris jawaban.
Koefesien-koefesien pembatas ini ini mewakili setiap pembatas dari soal
awal. Kemudian kuantitas merupakan koefesien pada sisi sebelah tanda
persamaan fungsi kendala setelah ada perubahan kebentuk standard. Baris
bawah Zj merupakan hasil kali biaya atau laba antara kolom Cj dan koefesien
pembatas. Sedangkan Zj - Cj merupakan hasil netto baris Cj dengan hasil Cj
yang menyatakan nilai “dual price” untuk setiap variabel.

Tahap 3 : Penentuan variabel yang masuk jawaban

Dari tabel awal terlihat bahwa total biaya pada pemecahan awal adalah Rp.
260M. Jumlah ini adalah sangat besar. Ingat bahwa M diberikan nilai (biaya)
yang sangat tinggi. Oleh karena tujuan dari pada permasalahn linier
programming ini adalah untuk meminimumkan biaya (Z), maka pemecahan
optimal dapat dilakukan dengan memilih kolom yang mempunyai nilai Z j - Cj
yang terbesar. Dari baris Zj - Cj tabel awal, terlihat bahwa variabel P

7
memiliki nilai negatip Zj - Cj yang terbesar. Oleh karena itu variabel P yang
akan masuk sebagai variabel jawaban. Pada tabel awal baris Zj - Cj dengan
nilai negatip terbesar ditunjukkan dengan tanda panah.

Tahap 4: Penentuan variabel yang akan diganti

Setelah diperoleh P sebagai variabel pertama yang akan dipergunaan untuk


memecahkan soal, pertanyaan selanjutnya adalah menentukan variabel
mana yang akan diganti. Untuk menentukan variabel ini, kita bagi nilai
dalam kolom kuantitas dengan nilai-nilai pada baris yang sama pada kolom
P. Dari hasil pembagian ini kita pilih niai yang terkecil untuk nenentukan
variabel yang akan diganti tersebut. Penentuan variabel yang akan diganti
tersebut dapat dilakukan sebagai berikut :

Untuk baris A1 = 200/1 = 200


Untuk baris X1 = 80/0 = ~
Untuk baris A2 = 60/1 = 60

Oleh karena nilai hasil pembagian yang terkecil adalah 60, maka variabel A2
yang digunakan untuk memenuhi persyaratan pembatas > 60. Peningkatan
A2 lebih dari 60 akan memenuhi persyaratan fungsi pembatas, tetapi emberi
konsekwensi surplus.

Tahap 5 : Perhitungan koefesien baru untuk variabel yang masuk

Dengan penetapan variabel P yang akan masuk dalam perhitungan,


keseluruhan variabel A2 harus diganti. Nilai atau koefesien variabel P
diperoleh dengan membagi setiap nilai yang ada dibaris A2 dengan nilai
perpotongan baris ini dengan kolom P. Nilai perpotongan ini adalah 1 dan
disebut Elemen Perpotongan (“Intersection Element”). Perhitungan
nilai/koefesien untuk variabel P adalah sebagai berikut :

0/1 = 0, 1/1 = 1, 0/1 = 0, -1/1 = -1, 1/1 = 1, 60/1 = 60

Tahap 6 : Revisi koefesien baris lainnya

Dengan masuknya nilai/koefesien baru untuk variabel P kedalam pemecahan


soal Linier Programming, koefesien-koefesien dari variabel yang lain juga
harus direvisi. Dalam perhitungan ini yang ingin kita hitung adalah pengaruh
masuknya variabel P terhadap variabel A1 dan X1 . Perhitungan ini dilakukan

8
dengan menggunakan metode Pivot atau Subsitusi. Metode Pivot bersifat
lebih teknis, sedangkan metode Subsitusi lebih bermanfaat untuk
menjelaskan proses revisi. Prosedur revisi koefesien dengan menggunakan
metode Pivot dapat dijelaskan sebagai berikut :

Revisi Baris A1
Koef. Baris A1 - {Elemen perpotongan Baris A1 dengan kolom P}-{Koef. Elemen Baris P yang baru} = Koef. Baris Untuk A1

1 -{ 1 }*{ 0 }= 1
1 -{ 1 }*{ 1 }= 0
1 -{ 1 }*{ 0 }= 1
0 -{ 1 }*{ 0 }= 0
0 -{ 1 }*{ -1 }= 1
0 -{ 1 }*{ 1 }= -1
200 -{ 1 }*{ 60 }= 140

Revisi Baris X1
Koef. Baris X1 - {Elemen perpotongan Baris X1 dengan kolom P}-{Koef. Elemen Baris P yang baru} = Koef. Baris Untuk X1

1 -{ 0 }*{ 0 }= 1
0 -{ 0 }*{ 1 }= 0
0 -{ 0 }*{ 0 }= 1
1 -{ 0 }*{ 0 }= 0
0 -{ 1 }*{ -1 }= 1
0 -{ 0 }*{ 1 }= -1
80 -{ 1 }*{ 60 }= 140

Sedangkan jika prosedur revisi koefesien dengan mempergunakan metode


subsitusi dapat dijelaskan sebagai berikut :

Revisi baris A2

1. Salin kembali pembatas Baris A1 dari tabel lengkap dengan variabel-


variabelnya, yaitu :

K + P + A1 + 0X1 + 0X2 + 0A2= 200

2. Salin kembali pembatas baris P yang baru lengkap dengan variabel-


variabelnya. Pembatas tersebut adalah sama dengan yang dihitung pada
tahap ke 5 yaitu :

0K + P + 0A1 + 0X1 -X2 + A2= 60

9
3. Susun kembali pembatas baris A1 dengan mempergunakan subsitusi untuk
P yaitu :

P = 60 + X2 - A2

Subsitusi A1 diperoleh dengan memasukkan nilai P diatas pada persamaan


no. 1 yaitu :

K + 1(60 + X2 - A2)+ A1 - 0X1 + 0X2+ 0A2= 200


K + 0P + A1 + 0X1 + X2 - A2 = 140

Sedangkan untuk mencari koefesien baris X1 baru dilakukan subsitusi nilai


P pada persamaan baris ke 2, yaitu :

K + 0(60 + X2 - A2)+ 0A1 - X1 + 0X2+ 0A2= 80


K + 0P + 0A1 + X2 + 0X2 - 0A2 = 80

Dari kedua metode tersebut, yaitu metode Pivot dan metode subsitusi,
nilai revisi yang dihasilkan untuk baris A1 dan X1 adalah sama. Setelah
koefesien-koefesien baris yang dihitung diatas diperoleh, disusunlah tabel
pemecahan kedua sebagai berikut :

Tabel 2
Kolom Baris Cj 3 8 M 0 0 M
Cj Jawaban K P A1 X1 X2 A Kuantitas
Rp. M A1 1 0 1 1 0 -1 140
Rp. 0 X2 (1) 0 0 1 0 0 80
Rp. 8 P 0 1 0 0 -1 1 60
Zj M 8 M 0 -8 + M 8-M 140M-260M
Cj - Zj (3-M) (8-2M) 0 0 8-M -8 + 2M

Sampai penyelesaian tabel 2 ini selesailah satu “iterasi” dari soal linier
programming. Dari tabel 2 ini kita ketahui bahwa sampai iterasi pertama
jumlah biaya adalah (Rp 480 + 140 M). Biaya ini dapat diperkecil lagi
karena dari baris Cj - Zj kita lihat ada nilai negatip. Dari baris Cj - Zj ini
nilai negatip yang terbesar (3 - M), karena variabel berikutnya yang akan
dimasukkan dalam jawaban adalah K. Nilai negatip Cj - Zj ini dalam tabel
2 ditujukkan dengan tanda panah.

10
Setelah selesai mengidentifikasi adanya kemungkinan penurunannya
biaya (Z) dari baris Cj - Zj maka tahap penyelesaian selanjutnya adalah
sama dengan tahap yang telah kita lakukan sebelumnya. Oleh karena
tahap 1 dan tahap 2 hanya dilakukan sekali pada saat permulaan, maka
tahap penyelesaian berikutnya dimulai pada tahap ke 3.

Tahap 3 : Penentuan Variabel yang masuk dalam jawaban

Dari tabel 2, diketahui Cj - Zj negatip terbesar adalah (3 - M), karenanya


variabel K yang akan masuk dalam jawaban.

Tahap 4 : Penentuan Variabel yang akan diganti dihitung sebagai


berikut

Untuk baris A1 = 140/1 = 140


Untuk baris X1 = 80/1 = 80
Untuk baris A2 = 60/0 = ~

Karena X2 menghasilkan koefesien terkecil, maka variabel ini akan diganti.

Tahap 5 : Perhitungan koefesien baru untuk variabel K

Dengan mempergunakan koefesien elemen perpotongan baris X2 dan K,


yaitu 1, koefesien baru untuk variabel K adalah :

1/1 = 1, 0/1 = 0, 0/1 = 0, 1/1 = 1, 0/1 = 0, 0/1 = 0, 80/1 = 80.

Tahap 6 : Revisi koefesien baris A1 dan P,

Setelah koefesien variabel K diperoleh pada tahap 5, koefesien baris A 1 dan


P dapat ditentukan dengan mempergunakan salah atu metode, yaitu Pivot
atau Subsitusi. Misalnya kita pilih metode Pivot, koefesien baris A 1 dan P
adalah sebagai berikut :

Revisi Koefesien baris A1

11
Koef. Baris A1 lama - {Elemen perpotongan Baris P dan kolom K}-{Koef. Elemen Baris K yang baru} = Koef. Baris revisi A1

1 -{ 1 }*{ 1 }= 0
0 -{ 1 }*{ 0 }= 0
1 -{ 1 }*{ 0 }= 1
0 -{ 1 }*{ 1 }= -1
1 -{ 1 }*{ 0 }= 1
-1 -{ 1 }*{ 0 }= -1
140 -{ 1 }*{ 80 }= 60

Revisi Koefesien baris P

Koef. Baris P lama - {Elemen perpotongan Baris P dan kolom K}-{Koef. Elemen Baris K yang baru} = Koef. Baris revisi P

0 -{ 0 }*{ 1 }= 0
1 -{ 0 }*{ 0 }= 1
0 -{ 0 }*{ 0 }= 0
0 -{ 0 }*{ 1 }= 0
1 -{ 0 }*{ 0 }= -1
-1 -{ 0 }*{ 0 }= 1
60 -{ 0 }*{ 80 }= 60

Tahap 7 : Penyusunan tabel jawaban

Dari perhitungan koefesien diatas disusun tabel jawaba pada tabel dibawah
ini :

Tabel 3
Kolom Baris Cj 3 8 M 0 0 M
Cj Jawaban K P A1 X1 X2 A Kuantitas
Rp. M A1 0 0 1 -1 (1) -1 60
Rp. 3 K 1 0 0 1 0 0 80
Rp. 8 P 0 1 0 0 -1 1 60
Zj 3 8 M 3-M -8 + M 8-M 720M-60M
Cj - Zj 0 0 0 -3+M 8-M -8 + 2M

Dengan selesainya pembuatan tabel 3 ini maka selesailah iterasi kedua.


Karena tabel 3 ini masih terdapat Cj - Zj yang negatip, maka biaya (Z) masih
dapat diminimalkan. Ietrasi ketiga dapat dimulai kembali dari tahap ketiga.

Tahap 3 : Penentuan variabel yang masuk jawaban.

12
Nilai Cj - Zj yang terbesar adalah 8 - M, karenanya variabel yang masuk
jawaban adalah XZ.

Tahap 4 : Variabel yang akan diganti

Untuk baris A1 = 60/1 = 60


Untuk baris X1 = 80/1 = 80
Untuk baris A2 = 60/-1 = -60

Karena koefesien hasil bagi untuk P bukan positip (-60), maka tinggal
variabel A1 yang akan diganti.

Tahap 5 : Perhitungan Koefesien Variabel X2

Seperti tahap 5 sebelumnya, perhitungannya adalah :

0/1 = 0, 0/1 = 0, 1/1 = 1, -1/1 = -1, 1/1 = 1, -1/1 = -1, 60/1 = 60

Tahap 6 : Revisi Koefesien Baris K dan P

Misalnya dengan mempergunakan metode subsitusi, revisi koefesien baris K


dan P dilakukan sebagai berikut :

Revisi baris K
Baris K awal : K + 0P + 0A1 + X1 + 0X2+ 0A2= 80
Koefesien variabel A1 : 0K + 0P + A1 - X1 + X2 - A2 = 60
Revisi K dengan subsitusi X2 = 60 + X1 - A1 + A2

Adalah
K + 0P + 0A1 + X2 + 0(60 + X1 - A2 )= 80
K + 0P + 0A1 + X2 + 0X1 - 0A2 = 80

Revisi baris P
Baris P awal : 0K + 0P + 0A1 + 0X2 + X2 - A2 = 60
Koefesien subsitusi X2 : 60 + X1 - A1 - A2

Adalah
0K + P + 0A1 + 0X1 - 1(60 + X1 + A1 - A2 )= 60
0K + P + A1 - X2 + 0X1 - 0A2 = 120

13
Tahap 7 : Penyusunan tabel jawaban

Dari perhitungan koefesien diatas disusun tabel jawaba pada tabel dibawah
ini :

Tabel 4
Kolom Baris Cj 3 8 M 0 0 M
Cj Jawaban K P A1 X1 X2 A2 Kuantitas
Rp. M A2 0 0 1 -1 1 -1 60
Rp. 0 K 1 0 0 1 0 0 80
Rp. M P 0 1 1 -1 0 0 120
Zj 3 8 8 -5 0 0 1200
Cj - Zj 0 0 (M-8) 5 0 M

Pemeriksaan atas tabel 4 ini memperlihatkan bahwa baris C j - Zj tidak


mempunyai nilai negatip lagi. Oleh karena itu kita telah sampai pada
pemecahan optimal. Dari jawaban pada tabel 4 ini ternyata bahwa PT timur
Terang mempergunakan 80 gram Kalamin dan 120 gram Parfume dengan
biaya sebesar Rp. 1 200,-. Sedangkan variabel X2 atau variabel surplus
memperlihatkan surplus penggunaan parfume dari kebutuhan minimum
sebanyak 60 gram. Penggunaan parfume yang lebih dari persyaratan
minimum ini dapat dilihat dari pembatas :

P + X2 + A2 = 60

dengan subsitusi P = 120 dan A2 = 0, A2 merupakan variabel buatan dengan


koefesien 0 (nol), sehingga :

1 - X2 + 0 = 60
X2 = 60

Untuk memudahkan dalam meneliti kembali proses solusi permasalahan


linier programming dengan menggunkan metode simplex ini, berikut ini kita
tampilkan kembali tabel penyelesaiannya :

Tabel 1 (Tabel awal)


Kolom Baris Cj 3 8 M 0 0 M
Cj Jawaban 1 1 1 0 0 0 Kuantitas

14
Rp. M Cj 1 1 1 0 0 0 200
Rp. 0 Cj 1 0 0 1 0 0 80
Rp. M Cj 0 (1) 0 0 -1 1 60
Zj M 2M M 0 -M M 260M
Cj - Zj (3-M) (8- 0 0 M 0
2M)

Tabel 2
Kolom Baris Cj 3 8 M 0 0 M
Cj Jawaban K P A1 X1 X2 A Kuantitas
Rp. M A1 1 0 1 1 0 -1 140
Rp. 0 X2 (1) 0 0 1 0 0 80
Rp. 8 P 0 1 0 0 -1 1 60
Zj M 8 M 0 -8 + M 8-M 140M-260M
Cj - Zj (3-M) (8-2M) 0 0 8-M -8 + 2M

15
Tabel 3
Kolom Baris Cj 3 8 M 0 0 M
Cj Jawaban K P A1 X1 X2 A Kuantitas
Rp. M A1 0 0 1 -1 (1) -1 60
Rp. 3 K 1 0 0 1 0 0 80
Rp. 8 P 0 1 0 0 -1 1 60
Zj 3 8 M 3-M -8 + M 8-M 720M-60M
Cj - Zj 0 0 0 -3+M 8-M -8 + 2M

Tabel 4
Kolom Baris Cj 3 8 M 0 0 M
Cj Jawaban K P A1 X1 X2 A2 Kuantitas
Rp. M A2 0 0 1 -1 1 -1 60
Rp. 0 K 1 0 0 1 0 0 80
Rp. M P 0 1 1 -1 0 0 120
Zj 3 8 8 -5 0 0 1200
Cj - Zj 0 0 (M-8) 5 0 M

Dari prosedur pemecahan permasalahan PT. Timur Terang yang sangat


sederhana ini terlihat bahwa jawaban yang optimal diperoleh setelah melalui
tiga iterasi. Dalam persoalan minimisasi yang lebih besar dan kompleks,
seperti penetrapannya dalam praktek, pemecahannya tentu akan memerlukan
jumlah iterasi yang lebih banyak. Karena alasan ini pemecahan
permasalahan yang lebih besar dengan metode simplex akan menjadi lebih
sukar. Untungnya program komputer telah banyak dibuat yang paling tidak
mempunyai manfaat dalam memecahkan persoalan linier programming
dengan lebih cepat dan benar.

16
Untuk menjelaskan metode simplek secara lebih sederhana perhatikan
ilustrasi dibawah ini :
Sebuah pabrik memproduksi dua jenis produk kertas tissue, yang mana
kedua produk tersebut didalam proses produksinya menggunakan 3 buah
mesin yang berbeda. Apabila untuk setiap unit produk dari kedua jenis
produk tersebut mempunyai keuntungan yang berbeda dan demikian pula
memerlukan mesin dengan waktu yang berbeda pula. Tentukan jumlah
produk yang harus dibuat untuk masing-masing jenis, apabila diinginkan
keuntungan yang sebesar-besarnya.

Produk Pembatas
Proses X Y Kapasitas
Cutting 10 6 2500
Folding 5 10 2000
Packaging 1 2 500
Profit per Unit 23 32

Maximum keuntungan : Z = 23X + 32Y


Fungsi pembatas : 10X + 6Y < 2500
5X + 10Y < 2000
1X + 2Y < 500
X, Y > 0

dirubah :

Maximum keuntungan : Z = 23X + 32Y + OS1 + 0S2+ 0S3


Fungsi pembatas : 10X + 6Y + 1S1 +0S2 +0S3= 2500 (Sumber1)
5X + 10Y + OS1 +1S2 + 0S3= 2000 (Sumber 2)
1X + 2Y + OS1 +0S2+1S3 = 500 (Sumber 3)
X, Y, S1, S2 , S3 > 0

17
Tabel 1

Collum Row Cj 23 32 0 0 0
Cj Solution X Y S1 S2 S3 Quantity
Rp. 0 S1 10 6 1 0 0 2500
Rp. 0 S2 5 10 0 1 0 2000
Rp. 0 S3 1 2 0 0 1 500
Zj 0 0 0 0 0
Cj - Zj 23 32 0 0 0
6- 6(10/10) =0
10 – 6(5/10)=7
1 -6(0/10)=1
0-6(1/10) = -3/5
0- 6(0/10)=0
2500-6(2000/10) = 1300
2-2(10/10)=0
1- 2(5/10)=0
0-2(0/10)=0
0-2(1/10)= -1/5)
1-2(0/10)=1
500-2(2000/10) = 100
Tabel 2

Kolom Baris Cj 23 32 0 0 0
Cj Jawaban X Y S1 S2 S3 Kuantitas
Rp. 0,- S1 7 0 1 -3/5 0 1300
Rp. 32 Y 1/2 1 0 1/10 0 200
Rp. 0,- S3 0 0 0 -1/5 1 100
Zj 16 32 0 16/5 0 6400
Cj - Zj 7 0 0 -16/5 0

½- 1(1/2)= 0
1-0(1/2)=1
0-(1/7)(1/2)=-1/14
1/10-(-3/5)(1/2)=2/5
0-0(1/2)=0
100-(1300/7)*(1/2)= 7,14

18
Tabel 3

Kolom Baris Cj 23 32 0 0 0
Cj Jawaban X Y S1 S2 S3 Kuantitas
Rp. 23,- X 1 0 1 -3/5 0 1300/7
Rp. 32,- Y 0 1 -1/14 1/7 0 750/7
Rp. 0,- S3 0 0 0 -1/5 1 100
Zj 23 32 1 13/5 0
Cj - Zj 0 0 -1 -13/5 0

19
Materials Requirement
Vitamin X Y minimum
A 2 4 40
B 3 2 50
Price per unit 3 2,5

Minimize cost : Z = 3X + 2,5Y


Subject to : 2X + 4Y > 40
3X + 2Y > 50
X, Y > 0

Should be changed:

Minimize cost : Z = 3X + 2,5Y + OR1 + 0R2


Subject to : 2X + 4Y - 1R1 + 0R2 = 40
1X + 2Y + OR1 - 1R2 = 50
X, Y, R2 , R3 > 0

Changed :

Minimize cost : Z = 3X + 2,5Y + OR1 + 0R2 + MA1 + MA2


Subject to : 2X + 4Y - 1R1 + 0R2 + 1A1 + 0A2 = 40
1X + 2Y + OR1 - 1R2 + 0A1 + 1A2 = 50
X, Y, A1, A2 ,R2 , R3 > 0

20
Tabel 1

Colloum Row Cj 3 2,5 0 0 M M


Cj Solution X Y R1 R2 A1 A2 Quantity
M A1 2 4 -1 0 1 0 40
M A2 2 2 0 -1 0 1 50
Zj 4M 6M -M -M M M 90 M
Cj - Zj 3- 2.5-6M M M 0 0
4M

Tabel 2

0.5 1 - 0.25 0 0.25

0 10

1- 2*(0.5)=0 0 0-2*(-0.25)= 0.5 -1-2*(0) = 0 0– 2*(0.25)= - 0.5

1 -2*0 =0 50 – 2*40/4 =30

Kolom Baris Cj 3 2,5 0 0 M M


Cj Jawaban X Y R1 R2 A1 A2 Kuantitas
2,5 Y 1/2 1 -1/4 0 1/4 0 10
M A2 2 0 1/2 -1 -1/2 1 30
Zj 5/4-+2M 2.5 -5/8+1/2M -M 2.5/4-1/2M M 25+30M
Cj - Zj 3-5/4- 0 5/8-1/2M M M-(2.5/4- 0
2M 1/2M)

Tabel 3

Kolom Baris Cj 3 2,5 0 0 M M


Cj Jawaban X Y R1 R2 A1 A2 Kuantitas
2,5 Y 0 1 -3/8 1/4 3/8 -1/4 5/2
3 X 1 0 1/4 -1/2 -1/4 1/2 15
Zj 3 2.5 2.5(- 5/8-3/2 15/16- -5/8+3/2
3/8)+3/4 3/4
Cj - Zj

21
KONSEP DUAL DALAM MEMECAHKAN PERSOALAN
LINIER PROGRAMMING

Dalam memecahkan persoalan-persoalan LP seperti yang telah kita


bicarakan adalah bentuk pemecahan primal, yaitu tanpa mengubah term
fungsi tujuan dari persoalan yang dihadapi. Meskipun demikian didalam
memecahkan LP kita dapat mengadakan pendekatan metode pemecahan
yang berbeda. Metode tersebut disebut metode pemecahan Dual.

Konsep dual menjadi penting didalam memecahkan persoalan LP dengan


alasan :

1. Variabel-variabel didalam bentuk penyelesaian dual banyak


memberikan informasi kepada kita didalam memformulasikan rencana
optimasi pada masa mendatang.

2. Dalam kasus-kasus tertentu model penyelesaian dual dapat mereduksi


jumlah iterasi yang harus dilakukan dalam bentuk penyelesaian primal.

Meskipun demikian dari hasil penyelesaian optimal bentuk primal, dapat


diketahui pula hasil penyelesaian optimal dari bentuk dual.

Untuk menjelaskan konsep pemecahan masalah dengan bentuk dual, kita


ambil contoh permasalahan yang terdahulu sebagai berikut :

Produk Pembatas
Proses X Y Kapasitas
Cutting 10 6 2500
Folding 5 10 2000
Packaging 1 2 500
Profit per Unit 23 32

22
Maximum keuntungan : Z = 23X + 32Y
Fungsi pembatas : 10X + 6Y < 2500
5X + 10Y < 2000
1X + 2Y < 500
X, Y > 0

dirubah :

Minimize : Z = 2500P + 2000Q + 500R


Fungsi pembatas : 10P + 5Q + 1R > 23
6P + 10Q + 2R > 32
P, Q, R > 0

Dari 2 bentuk tersebut diatas maka dapat diidentifikasi bahwa :

1 Apabila didalam bentuk primal model mathematis permasalah Linier


Programming mempunyai fungsi tujuan maksimasi maka transformasi
dalam bentuk dual adalah minimisasi.

2. Koefesien fungsi tujuan pada bentuk dual adalah ruas kanan fungsi
pembatas pada bentuk primal dan sebaliknya ruas kanan fungsi pembatas
pada bentuk dual adalah koefesien-koefesien fungsi objektip pada bentuk
primal

3. Koefesien input-output pada bentuk dual merupakan hasil transpose dari


koefesien input-output pada bentuk primal.

4. Bentuk pertidak samaan dalam bentuk jual adalah > apabila bentuk
pertidak samaan fungsi objective dalam bentuk primal <. Dan demikian
pula sebaliknya.

23
Primal Dual
Fungsi Tujuan Fungsi Tujuan
Maximum : Z = 23X + 32Y Minimize: Z= 2500P+ 2000Q+ 500R

Fungsi Pembatas : Fungsi Pembatas :


10X + 6Y < 2500 10P + 5Q + 1R > 23
5X + 10Y < 2000 6P + 10Q + 2R > 32
1X + 2Y < 500 P, Q, R > 0
X, Y > 0

diperoleh dengan memasukkan nilai P diatas pada persamaan no. 1 yaitu :

24
25

Anda mungkin juga menyukai