Jelajahi eBook
Kategori
Jelajahi Buku audio
Kategori
Jelajahi Majalah
Kategori
Jelajahi Dokumen
Kategori
MASALAH
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.
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
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.
Fungsi objektif pada matriks koefisien di atas di tuliskan pada baris paling bawah.
Berdasarkan asumsi dasar dari pimal-dual dan matriks koefisien persoalana primal
dan dual maka hubungan antara primal-dual yaitu sebagai berikut.
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
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
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
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
11. Klik Solve untuk menentukan variabel dual nya akan muncul tabel dibawah
ini
DAFTAR PUSTAKA