BAB I PENDAHULUAN A. Latar Belakang Masalah Setiap persoalan program linier selalu mempunyai dua macam analisis, yaitu Analisis Primal dan Analisis Dual yang biasanya disebut “Analisis Primal-Dual”. Dalam perjalanannya teknik linier programming mengalami perkembangan dan penyempurnaan, sehingga dapat ditemukan berbagai kelebihan-kelebihan yang berguna dalam penerapan teknik ini. Salah satu manfaatnya yaitu dalam dunia Linier Programing yang digunakan sebagai alat analisa dan pengambilan keputusan. Teknik tersebut dikenal dengan teori dualitas. Menurut teori ini, setiap persoalan linier programming saling berhubungan timbal balik dengan persoalan linier programming yang lain yang merupakan “dual”nya. Hubungan timbal balik antara suatu persoalan linier programming yang asli (disebut primal) dengan persoalan linier programming yang lain (dual), akan menimbulkan manfaat berupa memudahkan orang dalam mengkaji suatu perhitungan dalam linier programming. B. Rumusan Masalah 1. Seperti Apa bentuk Primal-Dual itu? 2. Ada tidak aturan-aturan umum dalam perumusan persoalan program linier yang berhubungan dengan Primal-Dual? C. Tujuan Pembahasan 1. Agar dapat mengetahui tentang bentuk-bentuk dari Primal-Dual. 2. Agar dapat mengetahui ada tidaknya aturan-aturan umum dalam perumusan persoalan program linier yang berhubungan dengan Primal-Dual. 1 BAB II PEMBAHASAN A. Struktur Primal-Dual Program Linier Dalam perkembangan algoritma simpleks sudah lama ditemukan bahwa setiap pemrograman linier mempunyai hubungan dengan pemrograman lain dan dikenal dengan Dual. Solusi dari salah satu persoalan ini dapat dibentuk menjadi solusi yang lain. Penemuan pemrograman linier dual ini sangat berpengaruh terhadap dua problema yang terkait dengan metode komputasi dan juga pengembangan pemrograman linier, disamping itu juga sangat berpengaruh terhadap pengembangan metode optimisasi yang lain. Hubungan antara pemrograman linier dengan dualnya dapat ditunjukkan pada beberapa kasus yang juga sangat penting bagi informasi ekonomi yang diuraikan melalui pemrograman linier. Dualitas adalah sebuah konsep dalam pemrograman linier yang menjelaskan secara matematis bahwa sebuah kasus pemrograman linier terdiri dari masalah primal dan dual dan konsep ini berguna untuk menginterpretasikan angka – angka yang terdapat pada tabel optimal dari masalah primal. Dalam penyelesaian persoalan linier dengan membentuk formulasi terlebih dahulu sudah dikenal dengan istilah primal, sedangkan penyelesaian persoalan melalui dual sebagai pemrograman linier merupakan penyelesaian pada variabel yang ditambahkan pada fungsi-fungsi kendala yang sudah disusun sebagai pengenal dari variabel dual. Setiap fungsi kendala harus mempunyai satu variabel dual. Dinyatakan bahwa setiap variabel dual adalah positif bila fungsi kendalanya terikat dengan variabel-variabelnya, sementara bila fungsi kendala itu tidak terikat dengan variabel-variabelnya maka variabel dual akan sama dengan nol sehingga bentuk ini dikenal sebagai persoalan dual. 2 Untuk dapat menyusun suatu persoalan primal Program Linier ke dalam bentuk dual, maka selalu harus dirumuskan terlebih dahulu ke dalam bentuk kanonik. 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 syarat ikatannya harus lebih besar dari pada atau sama dengan ( ≥ ) . 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. Masalah-masalah dalam dual yang biasa terjadi dalam penyelesaian pemrograman linier yaitu: 1. Inverse dari Primal 2. Bukan lagi masalah optimal bagi peubah keputusan 3. Masalah optimal bagi sumber daya 4. Untuk mempelajari efek perubahan-perubahan koefisien dan ketersediaan sumber daya pada hasil optimal 5. Seolah-olah sumber daya mempunyai ‘harga’ dan menjadi aset: konsep “shadow price” 6. Bagaimana memanfaatkan aset tersebut dengan optimal Langkah-langkah dalam menentukan Dual Problem dari suatu Program Linear (Primal) yaitu : 1. pemrograman semula dinamakan Primal Problem 2. Jika Primal kasus maksimal, maka Dual kasus minimal 3 3. jika Primal kasus minimal, maka Dual kasus maksimal 4. Dibedakan dari tipe permasalahan a. Masalah max yang normal: semua peubah non negatif dan semua kendala ≤ b. Masalah min yang normal: semua peubah non negatif dan semua kendala ≥ Model Persoalan Primal Dual Bentuk Primal : Maksimumkan : =∑ Syarat ikatan : ∑ =1 Minimumkan : Syarat ikatan : ∑ Aturan untuk i=1,2,3, ...,m. dan Xj ≥ 0, j =1,2,...,n. Bentuk Dual : Dimana : ≤ =∑ =1 ≥ untuk j= 1,2,3,...,n. dan Yi ≥ 0, i= 1,2,...,m. = ∑ =1 umum ∗ dalam ℎ perumusan = ∑ =1 persoalan ∗ program linier menyangkut bentuk primal dan dual adalah : 4 Bentuk Primal Bentuk Dual Memaksimumkan fungsi tujuan, Meminimumkan fungsi tujuan, dan sebaliknya. dan sebaliknya. Koefisien fungsi tujuan (Cj ) Nilai Sebelah Kanan (NSK) fungsi kendala NSK fungsi kendala primal (bi ) Koefisien fungsi tujuan Koefisien peubah ke-j Koefisien kendala ke-j Koefisien kendala ke-i Koefisien peubah ke-i Kendala ke-j dengan tanda Peubah ke-j yang positif (≥ 0) ketidaksamaan “lebih besar daripada atau sama dengan “ (≥). Peubah ke-j tandanya tidak dibatasi Kendala ke-j yang bertanda sama dengan Kendala ke-i yang bertanda sama Peubah ke-i tandanya tidak dengan dibatasi Kendala ke-i yang bertanda ketidaksamaan (≤) Peubah ke-i yang positif (≥) Contoh Soal : Andaikan terdapat suatu persoalan Program Linier sebagai berikut : Memaksimumkan : Z = 10X1 + 6X2 ........ (1), Syarat ikatan : a). 2X1 + 3X2 ≤ 90 .......... (2) c). X2 ≥ 15 .......... (4) b). 4X1 + 2X2 ≤ 80 .......... (3) d). 5X1 + X2 = 25 .......... (5) dan X1 , X2 ≥ 0 Ubahlah ke dalam bentuk dualnya ! Penyelesaian : 5 Langkah 1, Transfomasikan ke dalam bentuk kanonik primal (karena fungsi tujuannya memaksimumkan maka tanda ketidaksamaannya dibuat ≤ ). Manipulasi dilakukan pada rumus (4) dan (5) dengan berikut : *) Kalikan rumus (4) dengan (-1) didapatkan: − ≤ −5 *) Ganti rumus (5) menjadi ketidaksamaan : 5 + ≤ 25 (5a) dan 5 + ≥ 25 (5 ) Dan rumus (5b) dikalikan dengan (-1) didapat: −5 − ≤ −25 Dengan demikian diperoleh bentuk kanonik primal menjadi: = 10 Memaksimumkan: Syarat ikatan: a). 2 b). 4 c). − d). 5 +3 2 e). −5 +6 ≤ 90 +2 ≤ 80 ≤ −15 + − ≤ 25 ≤ −25 dan Langkah 2, 1, 2 ≥0 Rumuskan bentuk kanonik dari persoalan primal tersebut ke dalam bentuk dual, dan diperoleh : Meminimumkan: Syarat ikatan: a). 2 b). 3 dan +4 1, +2 2, −0 − 3, 4, = 90 +5 + 5 − + 80 −5 ≥6 ≥ 0 atau 1 − 15 + 25 − 25 ≥ 10 ≥ 0, untuk i = 1, 2, …, 5. B. Masalah Primal-Dual Simetris Suatu program linear dikatakan berbentuk simetris jika semua konstanta ruas kanan pembatas bernilai non negatif dan semua pembatas berupa 6 pertidaksamaan, dimana pertidaksamaan dalam masalah maksimasi berbentuk ≤, dan pertidaksamaan dalam minimasi berbentuk ≥. Dalam notasi matriks masalah primal-dual simetris adalah : Primal : Maksimal Z = cX, dengan pembatas AX ≤ b X ≥0 Dual : Minimal W = bY, dengan pembatas AY ≥ c Y ≥0 Dimana c adalah vektor baris 1 x n, X adalah vektor kolom n x l, A adalah suatu matriks m x n, b adalah vektor kolom m x l, dan Y adalah vektor baris 1 x m. Primal: Maksimal Z = c1X1 + c2X2 + …+ cnXn a11X1 + a12X2 +…+ a1nXn ≤ b1 a21X1 + a22X2 +…+ a2nXn ≤ b2 am1X1 + am2X2 +…+ amnXn ≤ bn X1, X2 , … , Xn ≥ 0 Dual : Minimal W = b1Y1 + b2Y2 + … + bmYm a11Y1 + a21Y2 + … + am1Ym ≥ c1 a12Y1 + a22Y2 + … + am2Ym ≥ c2 a1nY1 + a2nY2 + … + amnYm ≥ cn Y1 ,Y2 , … , Ym ≥ 0 7 Contoh dari bentuk primal-dual simetris adalah sebagai berikut: Primal: Maksimal Z = 40000X1+ 50000X2 + 40000X3 4X1+ 4X2 + 6X3 ≤ 600 8X1+ 4X2 + 6X3 ≤ 800 X1 , X2 , X3 ≥ 0 Dual: Minimal W = 600Y1 + 800Y2 4Y1 + 8Y2 ≥ 40000 4Y1 + 4Y2 ≥ 50000 6Y1 + 6Y2 ≥ 40000 Y1 , Y2 ≥ 0 C. Masalah Primal-Dual Tak Simetris Misalkan masalah primal yang tak simetris adalah sebagai berikut: Maksimumkan: Z = 2X1 + 4X2 + 3X3 X1 + 3X2 + 2X3 ≤ 60 3X1 + 5X2 + 3X3 ≥ 120 X1, X2, X3 ≥ 0 Contoh berikut merupakan contoh lain dari masalah primal dual tak simetris, dimana pada contoh berikut akan diperlihatkan suatu bentuk primal dengan pembatas tanda =. Maks Z = 5X1 + 2X2 + 3X3 X1 + 5X2 + 2X3 = 30 X1 ̶ 5X2 ̶ 6x3 ≤ 40 X1, X2, X3 ≥ 0 Apabila bentuk primal ini dianalogikan dengan persoalan sebelumnya, maka apabila bentuk primal ini akan diubah kedalam bentuk dual, maka 8 langkah pertama yang perlu dilakukan adalah mengubah bentuk primal tak simetris menjadi bentuk primal simetris. Pembatas pertama dalam contoh tersebut merupakan suatu persamaan X1 + 5X2 + 2X3 = 30 dan harus diubah kedalam bentuk ≤. Persamaan ini ekuivalen dengan dua pembatas berikut ini: X1 + 5X2 + 2X3 ≤ 30 X1 + 5X2 + 2X3 ≥ 30 Artinya jika nilai pembatas lebih besar atau sama dengan 30 dan kurang dari atau sama dengan 30, maka kuantitas yang memenuhi kedua pembatas tersebut adalah 30. Tetapi pada pembatas tersebut tanda ≥ masih tetap ada, dan pembatas ini dapat diubah dengan cara mengalikannya dengan (-1). X1 + 5X2 + 2X3 ≥ 30 x(-1) -X1 ̶ 5X2 ̶ 2X3 ≤ -30 Sehingga model primal dalam bentuk normal adalah: Maks Z = 5X1 + 2X2 + 3X3 X1 + 5X2 + 2X3 ≤ 30 -X1 ̶ 5X2 ̶ 2X3 ≤ −30 X1 ̶ 5X2 ̶ 6X3 ≤ 40 X1, X2, X3 ≥ 0 Bentuk dual dari model ini diformulasikan sebagai: Min W = 30Y1 ̶ 30Y2 + 40Y3 Y1 ̶ Y2 + Y3 ≥ 5 5Y1 ̶ 5Y2 ̶ 5Y3 ≥ 2 2Y1 ̶ 2Y2 ̶ 6Y3 ≥ 3 Y1, Y2, Y3 ≥ 0 Tetapi bentuk dual ini pun tidak sesuai dengan ketentuan hubungan primal dual yang telah dikemukakan pada awal bagian ini. Ketidaksesuaian tersebut terletak pada jumlah pembatas primal tak simetris yang tidak sesuai dengan jumlah koefisien fungsi tujuan dual, padahal pada hubungan primal dual setiap pembatas pada primal berhubungan dengan satu kolom pada dual, 9 sehingga setiap pembatas primal terdapat satu variabel keputusan dual. Sedangkan dalam contoh ini pada bentuk primal tak simetris terdapat 2 pembatas tetapi setelah bentuk primal tak simetris ini ditransformasikan menjadi primal normal lalu kemudian dibuat bentuk dualnya, terdapat pada bentuk dual tersebut terdapat 3 variabel keputusan. Untuk menyelesaikan masalah tersebut, maka bentuk dual dapat dibentuk dari primal tak simetris tanpa harus mentransformasikannya terlebih dahulu menjadi primal normal. Maka dengan mengikuti aturan tabel hubungan primal dual, bentuk dual dari primal tak simetris itu adalah: Min W = 30Y1 + 40Y2 Y1+ Y2 ≥ 5 5Y1 ̶ 5Y2 ≥ 2 2Y1 ̶ 6Y2 ≥ 3 Y1 tidak terbatas tanda Y2 ≥ 0 Karena Y1 tidak terbatas tanda, maka Y1 digantikan dengan Y1’ ̶ Y1” (Y1 = Y1’ ̶ Y1”) dimana Y1’ dan Y1”≥ 0, sehingga bentuk dualnya menjadi: Min W = 30 (Y1’ − Y1”) – 40Y2 ( Y1’ ̶ Y1”) + Y2 ≥5 5 (Y1’ ̶ Y1”) ̶ 5Y2 ≥ 2 2 (Y1’ ̶ Y1”) ̶ 6Y2 ≥ 3 (Y1’ ̶ Y1”) = Y1 Y2 ≥ 0 Atau Min W = 30Y1’ ̶ 30Y1” ̶ 40Y2 Y1’ ̶ Y1” + Y2 ≥ 5 5Y1’ ̶ 5Y1” ̶ 5Y2 ≥ 2 2 Y1’̶ 2Y1” ̶ 6Y2 ≥ 3 Y1’ ≥ 0 Y1” ≥ Y1 10 Y2 ≥ 0 Contoh-contoh tersebut telah menunjukkan bahwa setiap masalah program linier dapat diselesaikan dengan merumuskan baik bentuk primal maupun dual. Sehingga tidak perlu menyelesaikan kedua bentuk, cukup salah satunya saja karena solusi primal dapat menunjukkan solusi dual begitu juga sebaliknya. Pada umumnya suatu program linier dengan jumlah pembatas yang lebih sedikit dari pada jumlah variabel keputusan lebih mudah diselesaikan dibandingkan masalah dengan jumlah pembatas yang lebih banyak dari pada variabel keputusan. Untuk itu jika akan menyelesaikan salah satu dari masalah primal atau dual, lebih mudah jika memilih dari kedua bentuk tersebut yang jumlah pembatasnya lebih sedikit dari variabel keputusan. D. Hubungan Primal dengan Dual Untuk menjelaskan hubungan antara Primal dengan Dual akan ditunjukkan dengan contoh kasus di bawah ini. Contoh kasus: Seorang agen sepeda bermaksud membeli 25 buah sepeda untuk persediaan. Harga sepeda biasa Rp. 60.000/ buah, dan sepeda balap Rp. 80.000/ buah. Ia merencanakan untuk tidak mengeluarkan lebih dari Rp. 1.680.000 dengan mengharapkan keuntungan Rp. 10.000 dari tiap sepda biasa dan Rp. 12.000 dari tiap sepeda balap. Model matematika untuk kasus di atas adalah : Primal : Maksimum : Z = 12.000x + 10.000y Fungsi kendala : x + y ≤ 25 8x + 6y ≤ 168 x, y ≥ 0 maka Z = 12.000x + 10.000y + 0S1+ 0S2 Z- 12.000x - 10.000y - 0S1 - 0S2 = 0 Dan fungsi kendala 11 x + y + S1 = 25 8x + 6y + S2 = 168 VD Z X Y S1 S2 NK Indeks Z 1 -12.000 -10.000 1 0 S1 0 1 1 1 0 25 25 S2 0 8 6 0 1 168 21 Z 1 0 -1000 0 1.500 252.000 S1 0 0 2/8 1 -1/8 4 16 X 0 1 6/8 0 1/8 21 28 Z 1 0 1 4.000 1.000 268.000 Y 0 0 0 4 -1/2 16 X 0 1 0 -3 1/2 9 Jadi, solusinya dapat dilihat pada kolom NK dan didapatkan Zmaks = 268.000 dengan X = 9 dan Y = 16. Untuk model Dual Fungsi tujuan : Meminimumkan : Z = 25P + 168Q Fungsi kendala : P + 8Q ≥ 12.000 P + 6Q ≥ 10.000 P, Q ≥ 0 Penyelesaian : Funsi tujuan : -Z + 25P + 168Q + MA1 + MA2 = 0 Fungsi kendala : P + 8Q – S1 + A1 = 12.000 P + 6Q – S2 + A2 = 10.000 12 Baris Z baru : VD Z P Q S1 S2 25 168 0 0 A1 A2 M NK M 0 -M [ 1 8 -1 0 1 0 12.000 ] -M [ 1 6 0 -1 0 1 10.000 ] + 2M-25 14M+168 -M -M 0 0 22.000M Q S1 S2 A1 A2 NK 14M+168 -M -M 0 0 22.000M P Indeks Z -1 2M-25 A1 0 1 8 -1 0 1 0 12.000 1.500 A2 0 1 6 0 -1 0 1 10.000 10.000/6 Z -1 1/4M-4 0 6/8M-21 -14/8M+21 0 252. 000+1.000M Q 0 1/8 1 -1/8 0 1/8 0 1.500 -12.000 A2 0 1/4 0 6/8 -1 -6/8 1 1.000 8.000/6 Z -1 3 0 0 -28 -M -M+28 280.000 Q 0 1/6 1 0 -1/6 0 0 10.000/6 10.000 S1 0 1/3 0 1 -8/6 -1 8/6 8.000/6 4.000 Z -1 0 0 -9 -16 -M+9 -M+16 268.000 Q 0 0 1 -1/2 1/2 3/6 -1/2 1.000 P 0 1 0 3 -4 -3 4 4.000 -M Jadi, solusinya dapat dilihat pada kolom NK dan didapatkan Zmaks = 268.000 dengan Q = 1. 000 dan P = 4.000. 13 BAB III PENUTUP A. Kesimpulan Setelah model dual didefinisikan secara lengkap, dapat dikatakan bahwa model dual dikembangkan dari model primal sepenuhnya. Hal tersebut dapat berarti bahwa operasi simpleks tidak perlu dilakukan untuk mengetahui informasi tentang dual karena solusi dual dapat ditentukan dari solusi primal. Solusi optimum primal memberikan informasi mengenai banyaknya jumlah laba yang diperoleh, sedangkan solusi optimum dual yang juga didapat dari solusi terhadap suatu masalah primal memberikan informasi yang tidak kalah penting dalam pengambilan keputusan. Bentuk dual akan memberikan informasi mengenai nilai-nilai sumber yang biasanya merupakan pembatas dari suatu model sehingga dapat membantu pengambila keputusan dalam menentukan harga dari sumber daya yang menjadi pembatas bagi tercapainya laba tersebut. 14 DAFTAR PUSTAKA http://www.math.unsyiah.ac.id/asep/images/analisis_post_optimal.pdf. pada 5 maret 2014 pukul 13.54 WIB. Diunduh http://profit.is.unikom.ac.id/_s/data/jurnal/volume-01/4-lusi-melian.pdf/pdf/4-lusimelian.pdf. Diunduh pada 5 maret 2014 pukul 13.24 WIB. J, Zakiyay, Thomas. 2008. Pemrograman Linier Metode dan Problema. Yogyakarta: ANDI. http://naharindiastuti.blogspot.com/2012/11/contoh-soal-transformasi-dan-primal dual.html.diunduh pada hari kamis, 06 maret 2014. 15