Bukti intuitif / informal untuk LP Duality?

19

Apa yang akan menjadi bukti informal / intuitif yang baik untuk 'mencapai titik asal' tentang dualitas LP? Bagaimana cara terbaik untuk menunjukkan bahwa fungsi objektif yang diminimalkan memang minimum dengan cara intuitif memahami batasan?

Cara saya diajari Dualitas hanya mengarah pada satu pemahaman yang saya yakini dimiliki oleh BANYAK orang yang saya kenal: Untuk setiap masalah minimisasi yang bersesuaian, ada masalah maksimalisasi setara yang dapat diturunkan dengan membalikkan kendala ketimpangan. Titik. "Kesimpulan" dualitas ini adalah apa yang tampaknya melekat tetapi tidak "mengapa demikian" (yaitu bagaimana / mengapa ada solusi yang optimal).

Apakah ada cara bermain dengan ketidaksetaraan hanya untuk 'menunjukkan' batas bawah / atas pada optimum yang bisa menjadi motivasi untuk pembuktian?

Saya telah membaca buku Chvatal dan juga beberapa buku lainnya, tetapi tidak menemukan apa pun yang dapat dipahami oleh noobs mutlak untuk LP. Yang paling dekat yang saya dapatkan adalah dari buku Vazirani tentang algoritma, di mana ia berbicara tentang 'mengalikan ketidaksetaraan dengan beberapa angka ajaib yang menunjukkan batasan' - Saya tidak yakin bagaimana mereproduksi efek untuk LP yang sewenang-wenang.

PhD
sumber
5
Dalam jawaban math.SE ini saya melihat contoh langkah-demi-langkah dari mana dual berasal - dan mengapa - untuk masalah yang memiliki sebagian besar kemungkinan berbeda yang dapat muncul dengan LP. Mungkin itu bisa membantu?
Mike Spivey
2
Tidak yakin mengapa Anda berpikir argumen Vazirani tidak berfungsi untuk LP umum. Secara pribadi, saya suka penjelasan itu yang terbaik dari semuanya.
Suresh Venkat
1
Apakah Anda bertanya tentang dualitas yang lemah atau dualitas yang kuat?
Tsuyoshi Ito
7
Anda bisa mendapatkan intuisi geometris dengan memvisualisasikan (dalam 2d, katakanlah) apa artinya mengambil kombinasi linear dari kendala. Misalnya, gambar kendala dan di pesawat. Kombinasi linear dari batasan ini memberi Anda untuk setiap . Gambarlah ini untuk melihatnya. Umumnya, kombinasi linear dari kendala memberi Anda setengah ruang pendukung dari polyhedra. Sekarang tanyakan, mengapa salah satu dari setengah ruang pendukung ini selalu cukup, dengan sendirinya, untuk memberi batasan pada biaya? Jika Anda melihatnya, itu dualitas yang kuat. y 1 a x + b y a + b a , b 0x1y1ax+bya+ba,b0
Neal Young
@MikeSpivey - Saya harap komentar Anda adalah jawaban :)
PhD

Jawaban:

19

Sesuai keinginan OP, inilah jawaban math.SE yang saya tautkan dalam komentar saya di atas.


Mungkin ada baiknya untuk membahas dari mana dual berasal dari contoh masalah. Ini akan memakan waktu, tetapi mudah-mudahan dual tidak akan tampak begitu misterius ketika kita selesai.

Misalkan dengan memiliki masalah mendasar sebagai berikut.

Primal={max    5x16x2   s.t.    2x1x2=1              x1+3x29    x10}

Sekarang, anggaplah kita ingin menggunakan batasan primal sebagai cara untuk menemukan batas atas pada nilai optimal primal. Jika kita mengalikan kendala pertama dengan , kendala kedua dengan , dan menambahkannya bersama-sama, kita mendapatkan untuk sisi kiri dan untuk sisi kanan. Karena kendala pertama adalah persamaan dan yang kedua adalah ketidaksetaraan, ini menyiratkan Tetapi karena , juga benar bahwa , dan demikian juga Oleh karena itu, adalah batas atas pada nilai optimal dari masalah primal.1 9 ( 2 x 1 - x 2 ) + 1 ( x 1 + 3 x 2 ) 9 ( 1 ) + 1 ( 9 ) 19 x 1 - 6 x 218. x 10 5 x 119 x 1 5 x 1 - 6 x 219 x 1919(2x1x2)+1(x1+3x2)9(1)+1(9)
19x16x218.
x105x119x118
5x16x219x16x218.
18

Tentunya kita bisa melakukan lebih baik dari itu. Daripada hanya menebak dan sebagai pengganda, mari kita biarkan mereka menjadi variabel. Karenanya kami sedang mencari pengganda dan untuk memaksa1 y 1 y 2 5 x 1 - 6 x 2y 1 ( 2 x 1 - x 2 ) + y 2 ( x 1 + 3 x 2 ) y 1 ( 1 ) + y 2 ( 9 ) .91y1y2

5x16x2y1(2x1x2)+y2(x1+3x2)y1(1)+y2(9).

Sekarang, agar pasangan ketidaksetaraan ini bisa bertahan, apa yang benar tentang dan ? Mari kita ambil dua ketidaksetaraan satu per satu.y 2y1y2


Ketidaksetaraan pertama :5x16x2y1(2x1x2)+y2(x1+3x2)

Kita harus melacak koefisien variabel dan secara terpisah. Pertama, kita perlu total koefisien di sisi kanan paling tidak . Mendapatkan tepat akan bagus, tetapi karena , apa pun yang lebih besar dari juga akan memuaskan ketidaksetaraan untuk . Secara matematis, ini berarti kita membutuhkan .x1x2x155x105x12y1+y25

Di sisi lain, untuk memastikan ketidaksetaraan untuk variabel kita membutuhkan total koefisien di sisi kanan menjadi . Karena bisa positif, kita tidak bisa lebih rendah dari , dan karena bisa negatif, kita tidak bisa lebih tinggi dari (karena nilai negatif untuk akan membalik arah ketidaksetaraan). Jadi untuk ketidaksetaraan pertama yang berfungsi untuk variabel , kita harus memiliki .x2x26x26x26x2x2y1+3y2=6


Ketidaksetaraan kedua :y1(2x1x2)+y2(x1+3x2)y1(1)+y2(9)

Di sini kita harus melacak dan variabel secara terpisah. The variabel berasal dari kendala pertama, yang merupakan kendala kesetaraan. Tidak masalah jika positif atau negatif, batasan kesetaraan tetap berlaku. Dengan demikian, tidak dibatasi masuk. Namun, variabel berasal dari kendala kedua, yang merupakan kurang dari atau sama dengan kendala. Jika kita mengalikan kendala kedua dengan angka negatif yang akan membalik arahnya dan mengubahnya menjadi kendala yang lebih besar atau sama. Untuk tetap dengan tujuan kami melampaui batas tujuan utama, kita tidak bisa membiarkan itu terjadi. Jadiy1y2y1y1y1y2y2variabel tidak boleh negatif. Jadi kita harus memiliki .y20

Akhirnya, kami ingin membuat sisi kanan ketimpangan kedua sekecil mungkin, karena kami ingin batas atas seketat mungkin pada tujuan utama. Jadi kami ingin meminimalkan .y1+9y2


semua pembatasan ini pada dan bersama-sama kami menemukan bahwa masalah menggunakan kendala primal untuk menemukan batas atas terbaik pada tujuan primal optimal mencakup penyelesaian program linear berikut:y1y2

Minimize y1+9y2subject to 2y1+y25y1+3y2=6y20.

Dan itu dual.


Mungkin perlu meringkas implikasi argumen ini untuk semua bentuk yang mungkin dari yang primer dan ganda. Tabel berikut ini diambil dari hal. 214 dari Pengantar Riset Operasi , edisi ke-8, oleh Hillier dan Lieberman. Mereka menyebut ini sebagai metode SOB, di mana SOB singkatan Sensible, Odd, atau Aneh, tergantung pada seberapa besar kemungkinan seseorang akan menemukan kendala tertentu atau batasan variabel dalam masalah maksimalisasi atau minimisasi.

             Primal Problem                           Dual Problem
             (or Dual Problem)                        (or Primal Problem)

             Maximization                             Minimization

Sensible     <= constraint            paired with     nonnegative variable
Odd          =  constraint            paired with     unconstrained variable
Bizarre      >= constraint            paired with     nonpositive variable

Sensible     nonnegative variable     paired with     >= constraint
Odd          unconstrained variable   paired with     = constraint
Bizarre      nonpositive variable     paired with     <= constraint
Mike Spivey
sumber
7

Menguraikan jawaban Mike dan komentar Vazirani, Anda mendapatkan dua dengan mempertimbangkan bentuk umum dari bukti optimalitas untuk solusi untuk masalah asli. Misalkan Anda memiliki masalah maksimalisasi yang diberikan beberapa ketidaksetaraan linear, dan tanpa kehilangan generalitas, misalkan Anda mencoba untuk memaksimalkan variabel . Diberikan solusi di mana , bagaimana kita tahu bahwa itu optimal? Salah satu caranya adalah mencoba untuk terikat pada dengan mengambil kombinasi linear dari ketidaksetaraan linear. Beberapa kombinasi linear memberikan batas-batas bentuk , dan Anda mencoba untuk mendapatkan yang terbaik (minimal) mungkin. Dualitas yang lemah menyatakan bahwaxx=BxxCCBminC, yang jelas menurut definisi. Kuat negara dualitas bahwa ketika terbatas, maka . Ini berarti bahwa jika maksimum adalah maka ada "alasan" bahwa Anda tidak dapat melampaui , yang berfungsi ganda sebagai bukti optimalitas.BB=minCBB

Sudut pandang ini terkadang sangat membantu. Biarkan menjadi fungsi set ( mengambil set dan menampilkan bilangan real), dan menjadi dua set. Misalkan Anda mencoba menurunkan ketimpangan dari sekelompok ketidaksetaraan mengenai fungsi (itu contoh nyata). Anda menulis program linear di mana nilai-nilai adalah variabel, adalah kendala, dan tujuannya adalah untuk meminimalkan . Solusi untuk program ini adalah (anggaplah adalah yang terbaik), dan solusi untuk dual memberi Anda buktif S , O f ( S ) ( 1 - 1 / e ) f ( O ) f f f ( O ) = 1 f ( S ) min f ( S ) = 1 - 1 / e 1 - 1 / e f ( S ) 1 - 1 / effS,Of(S)(11/e)f(O)fff(O)=1f(S)minf(S)=11/e11/ef(S)11/e .

Ini membuka pertanyaan mengapa dualitas yang kuat benar-benar berlaku. Ada dua bukti fakta ini untuk pemrograman linier, satu melibatkan algoritma simpleks, lemma Farkas lainnya. Lemma Farkas mungkin adalah cara yang "benar" untuk memahami situasi, mereduksi segalanya menjadi fakta geometris yang intuitif. Namun, saya akui bahwa intuisi ini melampaui kepala saya.

Dalam situasi yang lebih umum (katakanlah pemrograman semidefinite), Anda perlu menggunakan kondisi Karush-Kuhn-Tucker yang lebih umum (suatu bentuk pengganda Lagrange) untuk mendapatkan dual dan kondisi untuk dualitas yang kuat. Ini diperlakukan dalam teks pada optimasi non-linear atau cembung.

Yuval Filmus
sumber