Linear Programming (Pemrograman Linier)

  Linear Programming (Pemrograman Linier) Program Studi Statistika Semester Ganjil 2012/2013

  Dual Problem 

  Transpose dari LP (Primal) 

  Bukan lagi masalah optimal bagi peubah keputusan 

  Masalah optimal bagi sumber daya 

  Untuk mempelajari efek perubahan- perubahan koefsien dan ketersediaan sumber daya pada hasil optimal

   Seolah-olah sumber daya mempunyai ‘harga’ dan menjadi aset: konsep “shadow price”

   Bagaimana memanfaatkan aset tersebut dengan optimal

  

Menentukan Dual Problem dari

suatu LP (Primal) 

  LP semula dinamakan Primal Problem 

  Jika Primal kasus max → Dual kasus min 

  Jika Primal kasus min → Dual kasus max 

  Dibedakan dari tipe permasalahan ◦

  Masalah max yang normal: semua peubah non negatif dan semua kendala ≤

  ◦ Masalah min yang normal: semua peubah non negatif dan semua kendala

  ≥

  Secara Umum 

  . . . ... ... . .

               

  2 2 1 1 2 2 2 22 1 12 1 1 2 21 1 11 2 2 1 1 m i y c y a y a y a c y a y a y a c y a y a y a t s y b y b y b w i n m mn n n m m m m m m

  ... min

  . . . ... ... . .

  ) ,..., , 1 ( ...

  2 2 1 1 2 2 2 22 1 21 1 1 2 12 1 11 2 2 1 1 n j x b x a x a x a b x a x a x a b x a x a x a t s x c x c x c z j m n mn m m n n n n n n                  

  ... max

  ) ,..., , 1 ( ...

  Primal

  peubah mewakili setiap kendala

  ◦ Dengan setiap

  Transpose dari Primal

  ◦ Normal min ◦

  Dual:

  

  Normal Max

  ◦

     

  Dalam bentuk Tabel Primal vs Dual untuk LP Normal Primal: max z (x 1 ≥0) (x 2 ≥0) …

  (x n ≥0)   x 1 x 2 … x n a 11 a 12 … a 1n ≤b1 a 21 a 22 … a 2n ≤b2 …     … … a m1 a m2 … a mn ≤b m y 1 y 2 … y m

  Dual: min w   (y 1 ≥0) (y 2 ≥0) …

  (y m ≥0)   ≥c 1 ≥c 2 … ≥c n  

  Kendala dual ke-j bersesuaian dengan peubah Peubah dual ke-i bersesuaian dengan kendala primal ke -i

  Dalam bentuk Tabel Primal vs Dual untuk LP non normal Primal: max z (x 1 ≥0) (x 2 ≥0) …

  (x n ≥0)   x 1 x

2

… x n a 11 a 12 … a 1n ≤b1 a 21 a 22 … a 2n ≥b2 …     … … a m1 a m2 … a mn =b m y 1 y 2 … y m

  Dual: min w   (y 1 ≥0) (y 2

  0) … (y m urs)  

  ≥c 1 ≥c 2 … ≥c n   Kendala dual ke-j bersesuaian dengan peubah Peubah dual ke-i bersesuaian dengan kendala primal ke -i Dalam bentuk Tabel Primal vs Dual untuk LP Non Normal Primal: max z (x 1 ≥0) (x 2 ≤0) …

  (x n urs)   x 1 x

2

… x n a 11 a 12 … a 1n ≤b1 a 21 a 22 … a 2n ≥b2 …     … … a m1 a m2 … a mn =b m y 1 y 2 … y m

  Dual: min w   (y 1 ≥0) (y 2

  0) … (y m urs)  

  ≥c 1 ≤ c 2 … =c n   Kendala dual ke-j bersesuaian dengan peubah Peubah dual ke-i bersesuaian dengan kendala primal ke -i

Contoh LP Dakota sebagai Primal

  x 1 : jumlah bangku x 2 : jumlah meja x 3 : jumlah kursi

  , , (jam carpentry)

  8 5 . 5 .

  1

  2 (jam finishing)

  20 5 .

  1

  2

  4 (bahan kayu)

  48

  6 . 8 .

  20

  30 60 max

  3 2 1 3 2 1 3 2 1 3 2 1 3 2 1    

           x x x x x x x x x x x x t s x x x z Konsep Dual untuk Masalah Dakota

Seolah-olah Dakota akan menjual seluruh sumber daya

(aset) nya, kepada pihak lain. Peubah dari dual adalah harga dari setiap sumber daya

  ◦ Kayu dengan harga y 1

  ◦ Jam fnishing dengan harga y

2

  ◦ Jam carpentry dengan harga y 3

  Fungsi obyektif adalah minimum total biaya yang harus dikeluarkan oleh pihak pembeli aset ◦

  Total persediaan kayu 48 unit (dengan harga y 1 )

  Total persediaan jam fnishing 20 jam (dengan harga y 2 ) ◦ Total persediaan jam carpentry 8 jam (dengan harga y 3 )

  3 2 1

  8

  20 48 min y y y w    Konsep Dual untuk Masalah Dakota 

  Kendala pada Dual: ‘konsep opportunity cost’, 

  Nilai aset dengan komposisi sesuai pembuatan bangku lebih besar daripada harga bangku

   Nilai aset dengan komposisi sesuai pembuatan meja lebih besar daripada harga meja

   Nilai aset dengan komposisi sesuai pembuatan kursi lebih besar daripada harga kursi max z 60 x 30 x 20 x    1 2 3 s . t . 8 x 6 x x 48 (bahan kayu) 1    2 3

  x : jumlah 1

  4 x 2 x 1 . 5 x 20 (jam finishing) 1    2 3

  bangku

  2 x 1 . 5 x . 5 x 8 (jam carpentry)

  x : jumlah meja 1    2 3 2 x : jumlah kursi

  x , x , x 1 2 33 Harga setiap aset/sumber daya adalah y ,i=1, i 2, 3

  Produk Nilai Jual Aset Harga produk Yang dipakai untuk produksi 8 y 4 y 2 y 1

    2 3

  60 Bangku

  6 y 2 y 1 . 5 y 1   2 3

  30 Meja

  y 1 .

  5 y . 5 y

  20 1   2 3 Kursi

  8 y 4 y 2 y

  60 1    2 3 6 y 1  2 y 2  1 . 5 y 3 

  30 y 1 . 5 y . 5 y

  20 1    2 3

Dalam bentuk Tabel Primal vs Dual Dakota Problem

  30 5 .

           y y y y y y

y y y

y y y t s y y y w

  3

2

1 3

2

1 3

2

1 3 2 1    

  20 48 min

  8

  4 . 8 .

  2

  60

  6

  2

  1

  Primal: max z (x 1 ≥0 ) (x 2 ≥0 )

  (x 3 ≥0 )   x 1 x 2 x 3

  20 5 . 5 .

  , ,

  Dual

  

≥60 ≥30 ≥20  

  (y 3 ≥0 )  

    (y 1 ≥0 ) (y 2 ≥0 )

  1.5 0.5 ≤8 y 1 y 2 y m Dual: min w

  2

  4 2 1.5 ≤20

  6 1 ≤48

  8

  1

  

Contoh Primal Pada Diet Problem

min z 50 x 20 x 30 x 80 x     1 2 3 4 s.t.

  (Calorie

  400 x 200 x 150 x 500 x 500 1     2 3 4

  constraint) (Chocolate

  3 x

  2

  6 1x2

  constraint) (Sugar constraint)

  2 x 2 x 4 x 4 x

  10 1     2 3 4

  (Fat constraint)

  2 x 4 x x 5 x

  8 1     2 3 4 x , x , x , x 1 2 3 4

  

Konsep Dual untuk Diet Problem

Pada primal, peubah adalah jumlah makanan yang harus dibeli

  ◦ Memenuhi kebutuhan nutrisi

  ◦ Dengan biaya minimum Pada dual, kita seolah-olah menjadi kolektor nutrisi:

  ◦ Kalori, coklat, gula dan lemak

  ◦ Sejumlah kebutuhan yang harus dipenuhi pada Primal Nutrisi tersebut adalah aset yang kita jual

  ◦ Keputusan: berapa harga per nutrisi agar keuntungan maksimum

  Kendala dari sudut pandang calon pembeli: ◦

  

Harga nutrisi sesuai komposisinya jika dibuat makanan harus

lebih murah daripada harga makanan masing-masing

  (Calorie constraint) (Chocolate constraint)

  , , , 4 3 2 1 x x x x 4 3 2 1

  2 2 200 y y y y    4 3 1 4 150 y y y   4 3 1

  4

  2 3 400 y y y y    4 3 2 1

  2

  4 3 2 1

  3 2 1   x x

  2

  6

  400 200 150 500 500 4 3 2 1     x x x x

     

  x x x x z

  20 50 min

  30

  80

  2 4 3 2 1     x x x x

  (Sugar constraint) (Fat constraint) s.t. x 1 : jumlah Brownie x 2 : jumlah Ice Cream x 3 : jumlah Soda x 4 : jumlah Cheesecake y 1 : harga per unit kalori y 2 : harga per unit coklat y 3 : harga per unit gula y 4 : harga per unit lemak

  4

  5

  

8

  2 4 3 2 1     x x x x

  2

  4

  4

  10

  80

  30

  20

  50

  Brownie Ice cream Soda Cheesecake

  Makanan Nilai Jual Nutrisi Harga makanan

  5 4 500 y y y  

  400 y 1     3 y 2 2 y 3 2 y 4

  pandang pembeli koleksi

  200 y 1     2 y 2 2 y 3 4 y 4

  20

  nutrisi kita

  150 y 1    4 y y 3 4

  30 500 y 1    4 y 3 5 y 4

  nutrisi? Pendapatan maksimum:

  • Jumlah/persediaan setiap nutrisi kali harga setiap unit nutrisi max w 500 y

  6 y 10 y 8 y     1 2 3 4

Dalam bentuk Tabel Dual vs Primal Diet Problem

     

  

, , ,

4 3 2 1 y y y y

  5 4 500 4 3 1    y y y

  80

  30 4 150 4 3 1    y y y

  2 2 200 4 3 2 1     y y y y

  4

  20

  2 3 400 4 3 2 1     y y y y

  2

  50

  Primal: min z (x 1 ≥0 ) (x 2 ≥0 )

  

(x

3 ≥0 ) (x 4 ≥0 )  

  10 6 500 max

  8

  ≤50 ≤20 ≤30 ≤80  s.t. 4 3 2 1

  Dual: max w   (y 1 ≥0) (y 2 ≥0) (y 3 ≥0)  

  1 5 ≥8 y 1 y 2 y m

  4

  2

  4 4 ≥10

  2

  2

  X 1 x 2 x 3 x 4 400 200 150 500 ≥500 3 2 ≥6

  y y y y w

  Teorema Dual (Weak Duality)

     

   yb

  y y x untuk untuk w z

  

    m ... y y y 2 1

  x x x ... 2 1 x

   n

       

       

               

  Solusi feasibel dari primal:

  2 2 1 1 2 2 2 22 1 12 1 1 2 21 1 11 2 2 1 1 m i y c y a y a y a c y a y a y a c y a y a y a t s y b y b y b w i n m mn n n m m m m m m

  ... min

  . . . ... ... . .

  ) ,..., , 1 ( ...

  2 2 1 1 2 2 2 22 1 21 1 1 2 12 1 11 2 2 1 1 n j x b x a x a x a b x a x a x a b x a x a x a t s x c x c x c z j m n mn m m n n n n n n                  

  ... max

  . . . ... ... . .

  ) ,..., , 1 ( ...

  Solusi feasibel dari dual:

  cx

  Contoh Weak Duality pada Dakota Problem

  1

  

  1

  1

  1

  x

     

  110

  20

      

  1

  30

  1

  60    

  z

  110 

      

           x x x x x x x x x x x x t s x x x z

  Solusi feasibel dari primal.

  20 5 .

  Dengan nilai

  z: Tidak ada solusi dual feasibel dengan w<110 Semua solusi dual feasibel mempunyai w≥110

  , , (jam carpentry)

  8 5 . 5 .

  1

  2 (jam finishing)

  1

  3 2 1 3 2 1 3 2 1 3 2 1 3 2 1    

  2

  4 (bahan kayu)

  48

  6 . 8 .

  20

  30 60 max

  z w

  Solusi feasibel dari Dual.

           y y y y y y y y y y y y t s y y y w

  680 

  w

  48    

  10

  20

  10

  8

  680

  y      

  10 

  10

   

  3 2 1 3 2 1 3 2 1 3 2 1 3 2 1    

  Dengan nilai

  20 48 min

  8

  4 . 8 .

  2

  60

  6

  2

  1

  30 5 .

  1

  20 5 . 5 .

  Tidak ada solusi primal feasibel dengan z>680 , ,

  w: Semua solusi primal feasibel mempunyai z≤680

  w z

Teorema Dual (Strong Duality)

  Solusi optimal dari primal:

  Solusi optimal dari dual:

  Maka akan berlaku: Jika BV adalah basis optimal bagi primal maka solusi optimal dari dual adalah:

       

       

   n

  x x x ... 2 1 x

    m ... y y y 2 1

  

  y w z min max 

  b y x

  c

  1

  

  B

BV c y Solusi Dual Dakota Problem berdasarkan Teorema Dual:

  Basis optimal bagi

  s , x , x BV   1 3 1 

  primal

  1

  2

  8  1  

   

  c

  20

  60 BV  

  B

  2

  4  

     .

  5 1 . 5   1  

  y c B

   BV

  10

  10    y , y 10 , y

  10   

  Solusi optimal bagi 1 2 3 dual:

  w

  48

  20

  10

  8 10 280          

  Harga setiap aset/sumber daya Dengan harga jual adalah: aset: $280 - Kayu (y ) seharga $0 1 - Jam fnishing (y ) seharga $10 2

  Membaca Solusi Dual dari Optimal Tableau Solusi dual dapat diperoleh dari baris nol tableau optimal (Primal) Tergantung dari tipe permasalahan primal, max atau min Karena peubah dual mewakili kendala dual:

  ◦ Tergantung pula dari tanda pada kendala ( , , =) ≤ ≥

  Tanda pada kendala Solusi Dual ke-i dari baris nol tableau optimal

  ≤ Koefsien s i

  ≥ (-) Koefsien e i

  = Koefsien a i

  PRIMAL kasus MAX PRIMAL kasus MIN

  Tanda pada kendala Solusi Dual dari baris nol tableau optimal

  ≤ Koefsien s i

  ≥ (-) Koefsien e i

  • - M

  = Koefsien a i

  • + M
Tableau Optimal Dakota’s Problem Semua kendala pada Dakota’s Problem Primal adalah

  ≤

Solusi dual (y , i=1, 2, 3), berhubungan dengan masing-masing kendala

i Sehingga pada baris nol tableau optimal primal, solusi dual adalah koefsien s i , i=1, 2, 3

  Tablea u 2 z x1 x2 x3 s1 s2 s3 rhs BV z=28

  Baris 0

  1

  5

  10 10 280 s1=2 Baris 1 -2

  1 2 -8

  24

  4 Baris 2 -2

  1 2 -4 8 x3=8 Baris 3

  1 1.25 -0.5

  1.5 2 x1=2

  y y y

  10

  10   1 2 3    min w max z 280  

  Harga setiap aset/sumber daya adalah:

  • - Kayu (y ) seharga $0
  • 1 - Jam fnishing (y ) seharga $10 2

    Tableau Optimal Diet’s Problem

      BV z=90 x3=1 e4=5 e1=4 32 x2=3 z x1 x2 x3 x4 e1 e2 e3 e4 a1 a2 a3 a4 rhs 1 -2,75 -50 0 -2,5 -7,5 02,5-M 7,5-M 7,5-M 90 Baris 1 0 -0,25 1 1 0 0,25 -0,25 0 -0,25 0,25 1 Baris 2 0 3,75 -4 0 -1,75 -0,25 1 0 1,75 0,25 -1 5 Baris 3 -1

    • - 495,6
    • Baris 1 - 126,2 -46,6 36,4 -1 126,2 46,6 -36,4 432 4 1,5 1 0 -0,5 0,5 3 Semua kendala pada Diet’s Problem Primal adalah ≥ Solusi dual (y i , i=1, 2, 3, 4), berhubungan dengan masing-masing kendala Sehingga pada baris nol tableau optimal primal, solusi dual adalah (-) koefsien e i , i=1, 2, 3, 4

        Harga setiap aset nutrisi adalah: - Kalori (y

      • - 1 ) seharga $0

        Coklat (y 2 ) seharga $2.5 - Gula (y 3 ) seharga $7.5 -

        Lemak (y 4 ) seharga $0 Dengan harga jual maksimum $90

            5 .

        7 5 .

        2 4 3 2 1y y y y

        90 min max  

        z w

        

      Konsep Shadow Prices (Harga

      Bayangan) 

        Shadow Price kendala ke-i suatu LP: ◦

        Ukuran seberapa banyak perbaikan nilai optimal z jika jumlah sumber daya (koefsien rhs) bertambah satu unit

         Dapat dianalisis dari konsep dual max z baru max z lama

      • Δb harga bayangan kendala ke i  

        i

        

      • min z baru min z lama Δb harga bayangan kendala ke i  

        i

         Konsep Shadow Price dari Dakota’s Problem 

        Nilai optimal keuntungan 

        Diperoleh pada ketersediaan: 

        48 unit kayu 

        20 jam fnishing 

        8 jam carpentry Dari dual: 

        Setiap unit kayu berharga $0 

        Setiap jam fnishing berharga $10 

        Setiap jam carpentry berharga $10 280 max  z

        

        Nilai optimal z dapat dinyatakan dalam peubah dual:

        max z 48 y 20 y 8 y    1 2 3

        48

        

      20

        10

        8 10 280          

         Harga bayangan fnishing hour adalah:

         Perbaikan (penambahan) nilai z ketika persediaan fnishing hour bertambah 1 jam b 20 b

        21 2   

      1

      max z 48 y 20 y 8 y max z ' 48 y 21 y 8 y       1 2 3 1 2 3

        48

        21

        10

        8 10 290          

        Perbaikan z sebesar y = 2 $10: Shadow

        Price

         Solusi optimal peubah dual ke-i adalah shadow price dari kendala ke-i masalah Primal

      • baru max lama max

         Harga bayangan kayu adalah:

        

      Perbaikan (penambahan) nilai z ketika

      persediaan kayu bertambah 1 unit

         Harga bayangan carpentry hour adalah:

         Perbaikan (penambahan) nilai z ketika persediaan carpentry hour bertambah 1 jam i i

        

      Δb y z z

        lama max baru max

        1  i Δb i y z z

        

        $ 1y

        10 $ 3y Konsep Complementary Slackness

        Dengan logika: 

        

      Sumber daya yang habis terpakai (s i atau e i =0),

      pasti sangat berharga 

        

      Penambahan satu unit dari sumber daya tsb akan

      menaikkan nilai z (harga bayangan y >0) i

        

      Sumber daya yang tidak habis terpakai (s atau e

      i i >0), dianggap tidak berharga (harga bayangan y =0) i

        ◦ Tidak perlu melakukan penambahan, tidak akan menaikkan nilai z Teorema Complementary Slackness

        

      x akan primal optimal dan y akan dual

      optimal jika dan hanya jika:

        Peubah primal Peubah Dual

            

            

         n

        x x

         1

        x   m

        ... y y y 2 1

        

        y

        ) ,..., 1 ( m i y s i i  

        ) ,..., 1 ( n j x e j j   Dari Dakota’s Problem BFS : x

        2 , x , x 8 , s 24 , s s , z 280 1        2 3 1 2 3

         Kayu bersisa 24 unit

        Finishing hour habis terpakai → penambahan akan

        s i meningkatkan nilai z dengan tambahan produksi

        Carpentry hour habis terpakai → penambahan akan meningkatkan nilai z dengan tambahan produksi Perbaikan nilai z berdasarkan konsep shadow price

        Tambahan kayu, $0

        y i Tambahan fnishing hour $10

        Tambahan carpentry hour $10

        s y ( i

        1 ,..., m ) i i  