Anda di halaman 1dari 15

DUALITAS

MASALAH

Dengan melakukan pengkajian terhadap kegiatan produksi pada PT XYZ


maka ditentukan bahwa fungsi tujuan yang ingin dicapai adalah memaksimumkan
laba perusahaan, yang dimodelkan sebagai Z = 3.944.359X1 +3.926.036X2 dan
sebagai fungsi kendala adalah penggunaan CPO, phosporic acid, bleaching earth,
jam kerja mesin dan jam tenaga kerja. Bagaimana solusi untuk mencari
kombinasi produksi yang optimum yang dapat menghasilkan laba yang
maksimum? Apakah terdapat sumber daya yang belum digunakan secara optimal?
(Gultom, 2013).

Dari masalah diatas kita menentukan penyelesaian atau solusi dengan


melakukan analisis dari sudut pandang yang berbeda, yang biasa disebut dengan
dualitas. Apa yang dimaksud dengan dualitas? Bagaimana cara menentukan solusi
dari masalah program linier dengan dualitas?

PENGERTIAN DUALITAS

Dualitas merupakan alat bantu masalah pada program linier. Dari sudut
pandang teoritis dan praktis, teori dualitas merupakan salah satu konsep penting
dan menarik dalam pemrograman linier. Dualitas lebih banyak bermanfaat untuk
melakukan pengujian/pengecekan apakah nilai-nilai yang telah dihasilkan dengan
metode simplex telah benar dan hasilnya dapat digunakan untuk pengambilan
keputusan manajemen (Effendi, 2016). Setiap masalah program linier yang
bertujuan mencari nilai maksimum selalu berkaitan dengan suatu masalah
program linier dengan tujuan mencari nilai minimumnya, yang disebut sebagai
dual dari masalah pertama (Soemartojo, 2011).

Masalah pertama dalam program linier disebut primal dan masalah dengan
tujuan yang berlawanan disebut dengan dual. Secara harfiah dual berarti rangkap-
dua, sedangkan primal adalah rangkap satu (Prawirosentono :2005). “The dual
problem is an LP defined directly and systematically from the primal(or original)
LP model”(Taha : 1996). Dual dari program linier dapat didefinisikan secara
matematis dari model primal dari masalah primalnya. Sehingga, dari suatu model
primal dari permasalahan program linier dapat dilihat juga penyelesaian dari sudut
pandang yang berbeda tetapi tetap dengan tujuan yang sama. Misalnya jika
masalah primal adalah menetukan keuntungan maksimal dari suatu penjualan
barang A dan B, maka masalah menahan ongkos atau modal serendah mungkin
dapat dipandang sebagai masalah dualnya.

Bentuk dual adalah kebalikan dari primal. Pembentukan model dual


didasarkan pada variabel , koefisien , sumber daya dan data yang sama pada
model primal (Alamsyah : 2015). Menurut Prawirosentono (2005), Perbedaan
antara primal dan dual dapat dilihat dari tabel berikut ini.

Jenis Tujuan Kendala Variabel


Primal Memaksimumkan Persamaan dapat Non negatif
Meminimumkan dibuat ≤ 𝑎𝑡𝑎𝑢 ≥ (positif) ≥ 0
tergantung tujuan
Dual Memaksimumkan ≤ (lebih kecil Tidak terbatas
dari atau sama
dengan)
Meminimumkan ≥ (lebih besar Tidak terbatas
dari atau sama
dengan)
Tabel 1 : Perbedaan Primal Dan Dual

Untuk dapat menyusun persoalan primal ke dalam bentuk dualnya,


ada beberapa hal dasar yang harus diperhatikan, yaitu :

1. Untuk persoalan maksimasi, maka semua rumusan fungsi kendala


mempunyai tanda lebih kecil dari pada atau sama dengan ( ≤ ).
2. Untuk persoalan minimasi maka tanda fungsi fungsi kendalanya harus
lebih besar dari pada atau sama dengan ( ≥ ) . ( Ingat bahwa tidak perlu
semua hasil atau nilai sebelah kanan (nsk) fungsi kendala yang
bersangkutan harus selalu non-negatif dalam suatu rumusan yang
berbentuk kanonik).
3. Jika suatu persoalan dalam rumusan Program Linier mempunyai fungsi
kendala kesamaan (nilai nsk-nya bertanda sama dengan ”=”), maka
fungsi kendalanya tersebut dapat ditukar atau diganti dengan dua
fungsi lainnya, yang pertama, bertanda “lebih kecil dari pada atau
sama dengan ( ≤ )” dan yang kedua, bertanda “lebih besar dari-pada
atau sama dengan ( ≥ )”. Salah satu diantara kedua fungsi kendala lain
tersebut (dipilih salah satu), kemudian diambil, dan kalikan dengan
(−1) untuk mendapatkan fungsi kendala yang sesuai dengan aturan
yang diminta oleh bentuk kanonik tersebut.

HUBUNGAN ANALISIS PRIMAL-DUAL

Untuk memperoleh hubungan antara primal-dual, perhatikan dua model berikut


ini (Soemartojo , 1999) .

i. Masalah Maksimum
Maksimumkan 𝑓 = 𝑐1 𝑥1 + 𝑐2 𝑥2 + ⋯ + 𝑐𝑚 𝑥𝑚
Syarat :
𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎1𝑚 𝑥𝑚 ≤ 𝑏1
𝑎21 𝑥1 + 𝑎22 𝑥2 + ⋯ + 𝑎2𝑚 𝑥𝑚 ≤ 𝑏2


𝑎𝑘1 𝑥1 + 𝑎𝑘2 𝑥2 + ⋯ + 𝑎𝑘𝑚 𝑥𝑚 ≤ 𝑏𝑘
𝑑𝑎𝑛 𝑥1 , 𝑥2 , … 𝑥𝑚 ≥ 0

ii. Masalah Minimum


Meminimumkan 𝑔 = 𝑏1 𝑦1 + 𝑏2 𝑦2 + ⋯ + 𝑏𝑘 𝑦𝑘
Syarat :
𝑎11 𝑦1 + 𝑎21 𝑦2 + ⋯ + 𝑎𝑘1 𝑦𝑘 ≤ 𝑐1
𝑎12 𝑦1 + 𝑎22 𝑦2 + ⋯ + 𝑎𝑘2 𝑦𝑘 ≤ 𝑐2


𝑎1𝑚 𝑦1 + 𝑎2𝑚 𝑦2 + ⋯ + 𝑎𝑘𝑚 𝑦𝑘 ≤ 𝑐𝑚
𝑦1` , 𝑦2 , … 𝑦𝑘 ≥ 0

Jika masalah i dianggap sebagai primal maka masalah ii adalah dualnya . jika
masalah ii adalah primal maka masalah i adalah dual nya. Koefisien-koefisien dari
masalah i akan membentuk matriks yang disebut matriks koefisen sebagai berikut.

i. Matriks Koefisien Persoalan primal


𝑎11 𝑎12 𝑎13 𝑎1𝑚 𝑏1
𝑎21 𝑎22 𝑎23 ⋯
𝑎2𝑚 𝑏2
⋯ ⋯ ⋯ ⋯ ⋯ ⋯
𝑎𝑘1 𝑎𝑘2 𝑎𝑘3 𝑎𝑘𝑚 𝑏𝑘

[ 𝑐1 𝑐2 𝑐3 𝑐𝑚 ∗]

Fungsi objektif pada matriks koefisien di atas di tuliskan pada baris paling bawah.

ii. Matriks Koefisien Persoalan Dual

𝑎11 𝑎21 𝑎31 𝑎𝑘1 𝑐1


𝑎12 𝑎22 𝑎32 ⋯ 𝑎𝑘2 𝑐2
⋯ ⋯ ⋯ ⋯ ⋯ ⋯
𝑎1𝑚 𝑎2𝑚 𝑎3𝑚 𝑎𝑘𝑚 𝑐𝑚
[ 𝑏1 𝑏2 𝑏3 ⋯ 𝑏𝑘 ∗]

Berdasarkan asumsi dasar dari pimal-dual dan matriks koefisien persoalana primal
dan dual maka hubungan antara primal-dual yaitu sebagai berikut.

1. Matriks koefisien masalah dual adalah transpose dari matriks koefisien


primal
2. Koefisen fungsi tujuan primal menjadi konstanta ruas kanan dual
3. Konstanta ruas kanan primal menjadi koefisien fungsi tujuan dual
4. Semua kolom primal menjadi kendala permasalahan dual
5. Semua kendala primal menjadi variabel keputusan dual
6. Tanda ketidaksamaan pada pembatas bergantung pada fungsi
tujuannya.
7. Fungsi tujuan berubah bentuk , misalnya pada primal fungsi tujuannya
maksimalkan sedangkan pada dualnya fungsi tujuan menjadi
meminimumkan, dan sebaliknya

CONTOH SOAL PRIMAL-DUAL

1. Di ketahui persoalan primal sebagai berikut, kemudian ubahlah ke dalam


bentuk dual !
Minimumkan fungsi 𝑍 = 6𝑥1 + 8𝑥2
Dengan fungsi kendala :
3𝑥1 + 𝑥2 ≥ 4 ….(1)
5𝑥1 + 2𝑥2 ≤ 10 ….(2)
𝑥1 + 2𝑥2 = 3 ….(3)
𝑥1 , 𝑥2 ≥ 0

Penyelesaian :
Langkah 1
Pada persoalan minimum, bentuk baku fungsi kendala adalah dalam bentuk
pertidaksamaan “≥”, sehingga fungsi kendala (3) dan (4) harus kita ubah
menjadi bentuk baku terlebih dahulu.
 Mengalikan pertidaksamaan (3) dengan (−1), menjadi :
−5𝑥1 − 2𝑥2 ≥ −10
 Mengubah bentuk persamaan (4) menjadi bentuk pertidaksamaan ≥
dan ≤ , lalu dikali (−1) agar sesuai dengan bentuk baku yang
diinginkan, menjadi :
𝑥1 + 2𝑥2 ≥ 3 ….(5)
𝑥1 + 2𝑥2 ≤ 3 ….(6) *) dikali dengan (−1)
−𝑥1 − 2𝑥2 ≥ −3 ….(7)
Dengan demikian, diperoleh bentuk baku primal :
Minimumkan fungsi 𝑍 = 6𝑥1 + 8𝑥2
Dengan fungsi kendala :
3𝑥1 + 𝑥2 ≥ 4 ….(1)
−5𝑥1 − 2𝑥2 ≥ −10 ….(2)
𝑥1 + 2𝑥2 ≥ 3 …..(3)
−𝑥1 − 2𝑥2 ≥ −3 ….(4)
𝑥1 , 𝑥2 ≥ 0

Langkah 2 :
Mengubah bentuk baku primal ke dalam bentuk dual
Fungsi kendala dual :
3𝑦1 − 5𝑦2 + 𝑦3 − 𝑦4 ≤ 6
𝑦1 − 2𝑦2 + 2𝑦3 − 2𝑦4 ≤ 8
Fungsi tujuan dual :
Maksimumkan : 𝐹 = 4𝑦1 − 10𝑦2 + 3𝑦3 − 3𝑦4

2. PT. Sinar Baru adalah sebuah perusahaan yang menghasilkan dua produk,
yaitu produk A dan produk B. Setiap produk A menghasilkan laba Rp40,- dan
produk B Rp60,-. Kedua macam produk tersebut harus diproduksi melalui dua
tahap proses, yaitu proses I dan proses II. Tentukan laba maksimum yang
diperoleh perusahaan dengan kapasitas dan waktu proses kedua macam
produk tersebut adalah sebagai berikut :
Waktu Proses Kapasitas per
Proses
A B bulan (jam)
I 3 2 2000
II 1 2 1000

(Hartono, 2007)
Penyelesaian :
Masalah yang diberikan merupakan masalah PRIMAL, dengan model
matematika:
Maksimumkan 𝑍 = 40𝐴 + 60𝐵
Fungsi kendala :
3𝐴 + 2𝐵 ≤ 2000
𝐴 + 2𝐵 ≤ 1000
𝐴, 𝐵 ≥ 0 (A dan B merupakan banyak produk I dan II)

0 slack 0 slack
Cb Basic Variables Quantity 40 A 60 B 1 2
Iteration 1
0 slack 1 2.000 3 2 1 0
0 slack 2 1.000 1 2 0 1
Zj 0 0 0 0 0
cj-zj 40 60 0 0
Iteration 2
0 slack 1 1.000 2 0 1 -1
60 B 500 0,5 1 0 0,5
Zj 30.000 30 60 0 30
cj-zj 10 0 0 -30
Iteration 3
40 A 500 1 0 0,5 -0,5
60 B 250 0 1 -0,25 0,75
35.000 40 60 5 25
cj-zj 0 0 -5 -25

Penyelesaian model primal tersebut didapatkan dengan menggunakan


aplikasi POM QM V5. Dari iterasi di atas, dapat diketahuhi banyaknya produk
I yang di produksi (A) adalah 500 dan produk II (B) 250, sehingga perusahaan
mendapatkan laba yang maksimal.
Untuk memastikan apakah solusi yang diberikan pada masalah primal
dapat digunakan sebagai keputusan manajemen, maka dapat di analisis dengan
sudut pandang atau masalah kendala yang berkaitan lainnya (misalkan C dan
D adalah biaya sewa mesin produksi yang mempengaruhi laba sehingga harus
diminimalkan), disebut masalah DUAL dengan model matematika :

Minimumkan 𝐹 = 2000𝐶 + 1000𝐷


Fungsi Kendala :
3𝐶 + 𝑌 ≥ 40
2𝐶 + 2𝐷 ≥ 60
𝐶, 𝐷 ≥ 0

Karena fungsi tujuannya “meminimalisasi”, penyelesaian dapat menggunakan


metode Big M, sebagai berikut :

Simpleks Dual (Metode Big M)


Fungsi Tujuan :
𝐹 = 2000𝐶 + 1000𝑌 + 0𝑆1 + 0𝑆2 + 𝑀𝑉1 + 𝑀𝑉2
Fungsi Kendala :
3𝐶 + 𝐷 − 𝑆1 − 0𝑆2 + 𝑉1 + 0𝑉2 = 40 ….(1)
2𝐶 + 2𝐷 − 0𝑆1 − 𝑆2 + 0𝑉1 + 𝑉2 = 60 ….(2)
𝐶, 𝐷, 𝑆1 , 𝑆2 , 𝑉1 , 𝑉2 ≥ 0

Langkah-Langkah Membuat Tabel Iterasi (Metode Big M) :


Iterasi 1
1. Baris Cj diisi dengan koefisien fungsi tujuan
2. Kolom Vb diisi dengan variabel basis, yaitu V1 dan V2 (komponen
matriks identitas)
3. Kolom Cb diisi dengan koefisien basis dari V1 dan V2, yaitu M.
4. 𝐵1 = [3 1 − 1 0 1 0 40 ]
𝐵2 = [2 2 0 − 1 0 1 60 ]
5. Menentukan kolom kunci dengan melihat nilai koefisien M terbesar pada
Zj-Cj variabel C dan D. Dengan Zj = 𝑏 × 𝑎𝑖𝑗 .
𝑍1 − 𝐶1 = (3𝑀 + 2𝑀) − 2000 = 𝟓𝑴 − 2000 (kolom kunci)
𝑍2 − 𝐶2 = (1𝑀 + 2𝑀) − 1000 = 𝟑𝑴 − 1000
𝑍3 − 𝐶3 = (−𝑀 + 0) − 0 = −M
𝑍4 − 𝐶4 = (0 + (−𝑀)) − 0 = −M
𝑍5 − 𝐶5 = (𝑀 + 0) − 𝑀 = 0
𝑍6 − 𝐶6 = (0 + 𝑀) − 𝑀 = 0
6. Menentukan baris kunci dari kolom rasio dengan nilai terkecil (bukan 0
dan negatif)
𝐻 40
𝑅1 = 𝑘𝑜𝑙𝑜𝑚 𝑘𝑢𝑛𝑐𝑖 𝑏1 = = 𝟏𝟑. 𝟑𝟑 (baris kunci)
3
𝐻 60
𝑅2 = 𝑘𝑜𝑙𝑜𝑚 𝑘𝑢𝑛𝑐𝑖 𝑏2 = = 𝟑𝟎
2

7. Di dapatkan elemen pivot (irisan dari kolom dan baris kunci) = 3

Iterasi 2
8. Karena pivot berada di kolom 1, maka V1 keluar dan 2000𝐶 masuk basis
9. Mengisi baris baru. Di mulai dengan mengisi baris baru ke-1 yang
merupakan baris kunci.
𝑏𝑎𝑟𝑖𝑠 𝑙𝑎𝑚𝑎
𝐵1 =
𝑝𝑖𝑣𝑜𝑡
[3 1 (−1) 0 1 0 40] 1 1 1 40
𝐵1 = = [1 (− ) 0 0 ]
3 3 3 3 3
10. Mengisi baris lain dengan rumus :
𝐵𝑖 = 𝑏𝑎𝑟𝑖𝑠 𝑙𝑎𝑚𝑎 − (𝑘𝑜𝑙𝑜𝑚 𝑘𝑢𝑛𝑐𝑖 𝑏𝑖 × 𝑏𝑎𝑟𝑖𝑠 𝑏𝑎𝑟𝑢 𝑑𝑎𝑟𝑖 𝑏𝑎𝑟𝑖𝑠 𝑘𝑢𝑛𝑐𝑖)
1 1 1 40
𝐵2 = [2 2 0 (−1) 0 1 60] − 2 × [1 (− ) 0 0 ]
3 3 3 3
2 2 2 80
𝐵2 = [2 2 0 (−1) 0 1 60] − [2 (− ) 0 0 ]
3 3 3 3
4 2 2 100
𝐵2 = [0 (−1) (− ) 1 ]
3 3 3 3
11. Menentukan kolom kunci baru dengan melihat nilai koefisien M terbesar
pada Zj-Cj variabel C dan D.
𝑍1 − 𝐶1 = (2000 + 0) − 2000 = 𝟎
2000 4𝑀 𝟒𝑴−1000
𝑍2 − 𝐶2 = ( + ) − 1000 = (kolom kunci)
3 3 3

2000 2𝑀 2𝑀 − 2000
𝑍3 − 𝐶3 = (− + )−0=
3 3 3
𝑍4 − 𝐶4 = (0 + (−𝑀)) − 0 = −M
2000 2𝑀 −5𝑀 + 2000
𝑍5 − 𝐶5 = ( − )−𝑀 =
3 3 3
𝑍6 − 𝐶6 = (0 + 𝑀) − 𝑀 = 0
12. Menentukan baris kunci dari kolom rasio dengan nilai terkecil (bukan 0
dan negatif)
𝐻 40/3
𝑅1 = 𝑘𝑜𝑙𝑜𝑚 𝑘𝑢𝑛𝑐𝑖 𝑏1 = = 𝟒𝟎
1/3
𝐻 100/3
𝑅2 = 𝑘𝑜𝑙𝑜𝑚 𝑘𝑢𝑛𝑐𝑖 𝑏2 = 4/3
= 𝟐𝟓 (baris kunci)

4
13. Di dapatkan elemen pivot (irisan dari kolom dan baris kunci) =
3

Iterasi 3
14. Karena pivot berada di kolom 2, maka V2 keluar dan 1000𝐷 masuk basis.
15. Mengisi baris baru. Di mulai dengan mengisi baris baru ke-2 yang
merupakan baris kunci.
𝑏𝑎𝑟𝑖𝑠 𝑙𝑎𝑚𝑎
𝐵2 =
𝑝𝑖𝑣𝑜𝑡
4 2 2 100
[0 3 3 (−1) (− 3) 1 3 ] 1 3 1 3
𝐵2 = = [0 1 (− ) (− ) 25]
4/3 2 4 2 4
16. Mengisi baris lain dengan rumus :
𝐵𝑖 = 𝑏𝑎𝑟𝑖𝑠 𝑙𝑎𝑚𝑎 − (𝑘𝑜𝑙𝑜𝑚 𝑘𝑢𝑛𝑐𝑖 𝑏𝑖 × 𝑏𝑎𝑟𝑖𝑠 𝑏𝑎𝑟𝑢 𝑑𝑎𝑟𝑖 𝑏𝑎𝑟𝑖𝑠 𝑘𝑢𝑛𝑐𝑖)
1 1 1 40 1 1 3 1 3
𝐵1 = [1 (− ) 0 0 ] − ( × [0 1 − − 25])
3 3 3 3 3 2 4 2 4
1 1 1 40 1 1 1 1 1 25
𝐵1 = [1 (− ) 0 0 ] − [0 (− ) (− ) ]
3 3 3 3 3 6 4 6 4 3
1 1 1 1
𝐵1 = [1 0 (− ) (− ) 5]
2 4 2 4
17. Jika baris Zj-Cj semuanya sudah ≤ 0, maka tabel sudah minimal. Selesai.
𝑍1 − 𝐶1 = (2000 + 0) − 2000 = 𝟎

𝑍2 − 𝐶2 = (0 + 1000) − 1000 = 0
𝑍3 − 𝐶3 = (−1000 + 500) − 0 = −500

𝑍4 − 𝐶4 = (500 − 750) − 0 = −250


𝑍5 − 𝐶5 = (1000 − 500) − 0 = 500
𝑍6 − 𝐶6 = (−500 + 750) − 0 = 250

Iterasi 1
Cj 2000 1000 0 0 M M
Cb Vb C D S1 S2 V1 V2 H R
M V1 3 1 -1 0 1 0 40 13.33
M V2 2 2 0 -1 0 1 60 30
Zj 5M 3M −M −M M M 100M
Zj - Cj 5M-2000 3M-1000 −M −M 0 0

Iterasi 2
2000 C 1 1/3 −1/3 0 1/3 0 40/3 40
M V2 0 4/3 2/3 -1 −2/3 1 100/3 25
4M + 2000 2M − 2000 −2M + 2000 100M + 80000
Zj 2000 −M M
3 3 3 3
4M − 1000 2M − 2000 −5M + 2000
Zj - Cj 0 −M 0
3 3 3
Iterasi 3
2000 C 1 0 - 1/2 1/4 1/2 - 1/4 5
1000 D 0 1 1/2 - 3/4 - 1/2 3/4 25
Zi 2000 1000 -500 -250 500 250 35000
Zj - Cj 0 0 -500 -250 500-M 250-M

Dari tabel iterasi di atas, didapatkan penyelesaian C = 5 dan D = 25 serta


nilai optimum fungsi F adalah 35000.
Bandingkan nilai optimm pada masalah primal dan dual. Nilai optimum Z
(masalah primal) sama dengan nilai optimum F (masalah dual), yaitu 35000.
Dengan demikian, perhitungan pemanfaatan sumber daya yang tersedia sudah
optimal untuk mencapai tujuan memaksimumkan laba.
LANGKAH-LANGKAH MENGGUNAKAN APLIKASI QM V5

1. Klik Module
2. Pilih Linear Programming
3. Klik File
4. Pilih NEW
5. Akan tampil Create data set for Linear Progamming, yang berisi:
 Isi TITLE (Judul Soal / materi)
 Number of Constraints (banyak pertidaksamaan / banyak kendala)
 Number of Variables (banyak variabel)
 Objective (sesuai dari model permasalahan program linear maksimumkan
atau meminimumkan)
 Row Names (nama barisan pilih constraint 1, constraint 2, constraint 3...
atau sesaui dari permasalahan yang ada)
Column Names (nama kolom sesuai dari permasalahn yang ada)
Overview ( gambaran dari permasalahan, contoh ≥ )
6. Klik OK
7. Isi tabel sesuai dari permasalahan yang ada

8. Setelah diisi tebel sesaui dengan fungsi tujuan dan fungsi kendala
9. Selanjutnya klik Solve lalu pilih Dual

10. Untuk melihat tabel iterasi, klik iterations akan muncul

11. Klik Solve untuk menentukan variabel dual nya akan muncul tabel dibawah
ini
DAFTAR PUSTAKA

Alamsyah,P.Z.(2015). Retrieved November 6, 2018, from


https://zalamsyah.files.wordpress.com/2015/12/riset-operasi-dualitas-dan-
sensitivitas-pada-model-lp1.pdf

Effendi, Mashud.(2016).Retrivied November 6,2018. From


http://mashud.lecture.ub.ac.id/2016/04/teori-dualitas.pdf

Gultom, S. M. (2013). PENERAPAN MODEL PROGRAM LINIER PRIMAL-


DUAL DALAM MENGOPTIMALKAN PRODUKSI MINYAK
GORENG PADA PT XYZ. Saintia Matematika.

Hartono, D. Y. (2007). Retrieved November 6, 2018, from


https://dyusup.files.wordpress.com/2007/11/pertemuan-6.pdf

Hamdy A, Taha.(2007).Operation Research: An Introduction ,8th Edition.


Pearson: Prentice Hall.

Prawirosenoto,Suyadi,M.M,(2005).Riset Operasi dan Ekonofisika.Pt Bumi


Aksara: Jakarta

Soemartojo,N & Tapilouw Marthen.(1999). Program Linier.Jakarta : Universitas


Terbuka