برنامه ریزی خطی پیشرفته (21715) Advanced Linear Programming Lecture 5 بنام خدا برنامه ریزی خطی پیشرفته (21715) Advanced Linear Programming Lecture 5 Duality in Linear Programming مدرس: ناصر سلماسی
برنامه ریزی خطی پیشرفته (21715) ارتباط هر مساله برنامه ریزی خطی یک مساله برنامه ریزی خطی دیگر حل هر دو مساله با حل یکی از این مساله ها بدست آوردن اطلاعات کامل از وضعیت جواب بهینه یکی از روی جواب بهینه مساله دیگر کشف وجود مساله دوگان توسط John von Neumann دانشمند فعال در زمینه تئوری بازی ها، اقتصاد و ریاضیات (ظاهرا قبل از طرح مساله برنامه ریزی خطی) 2 2
برنامه ریزی خطی پیشرفته (21715) این اطلاعات می تواند اطلاعات بسیار مناسبی را برای تعبیرهای اقتصادی مساله ها فراهم کند. مساله اصلی را مساله اولیه و مساله مرتبط با آن را مساله دوگان آن می گوییم. این امر کمک می کند که در حل مساله های برنامه ریزی خطی همواره مساله ساده تر را حل کنیم. 3 3
برنامه ریزی خطی پیشرفته (21715) مثال: خانواده ای را در نظر بگیرید که می خواهد ویتامین مورد نیاز خود را از میان شش ماده با هدف کمینه کردن هزینه ها تامین کند. اطلاعات مورد نیاز در مورد ویتامین های موجود در مواد، قیمت مواد و محدوده ویتامین های مورد نیاز بصورت جدول زیراست: ویتامین مواد مورد مصرف حداقل نیاز روزانه 1 2 3 4 5 6 Vitamin A 9 Vitamin C 19 هزینه هر کیلوگرم از ماده 35 30 60 50 27 22 4 4
برنامه ریزی خطی پیشرفته (21715) مدل برنامه ریزی خطی مساله به منظور کاهش هزینه ها بصورت زیر است: فرض کنید سازمانی به خانواده پیشنهاد دهد که به جای مصرف غذا از قرص های ویتامین A و C استفاده کند. برای این منظور قرص های ارایه شده توسط سازمان علاوه بر کاهش هزینه برای خانواده باید ویتامین های مورد نیاز را تامین کنند. MIN Z = 35X1 + 30X2 + 60X3 + 50X4 + 27X5 + 22X6 X1 + 2X3 + 2X4 + X5 + 2X6 ≥ 9 X2 + 3X3 + X4 + 3X5 + 2X6 ≥ 19 Xi ≥ 0 5 5
برنامه ریزی خطی پیشرفته (21715) با توجه به این مساله سازمان با محدودیت هایی در زمینه ارایه قیمت قرص ها رو به رو خواهد بود. فرض کنید قیمت هایی که سازمان برای قرص های ویتامین A وC می خواهد ارایه کند با π1و π2 نمایش داده شوند. ماده شماره پنج را در نظر بگیرید. یک کیلو گرم از این ماده قیمتی معادل 27 سنت دارد و دارای یک واحد ویتامین C و یک واحد ویتامین A است. برای اینکه برای مشتریان خرید این قرص ها به صرفه باشد و همچنین موارد مورد نیاز خانواده را تامین کند بایستی رابطه زیر میان قیمت ها برقرار باشد: π1 + 3π2 ≤ 27 6 6
برنامه ریزی خطی پیشرفته (21715) با توجه به این مطالب اگر سازمان بخواهد قرص ها را به فروش برساند باید محدودیت های زیر را در مورد قیمت قرص ها مدنظر بگیرد: π1 + 0π2 ≤ 35 0π1 + π2 ≤ 30 2π1 + 3π2 ≤ 60 2π1 + π2 ≤ 50 π1 + 3π2 ≤ 27 2π1 + 2π2 ≤ 22 واضح است که به دلیل سود آوری سازمان مقادیر π1 و π2باید مثبت باشند. 7 7
برنامه ریزی خطی پیشرفته (21715) از آنجا که هدف خانواده کاهش هزینه ها است، مقادیر ویتامین خریداری شده تنها برابر مقادیری است که حداقل ویتامین مورد نیاز خانواده را تامین کند. لذا سود سازمان در اثر فروش ویتامین به این خانواده از رابطه زیر حاصل می شود: V(π) = 9π1 + 19π2 واضح است که هدف سازمان بیشینه کردن مقدار سود خود است. مشخص است که مساله بیان شده معادل مساله اصلی است. 8 8
برنامه ریزی خطی پیشرفته (21715) مشخص است که تنها در صورتی خانواده به خرید ویتامین ها اقدام می کنند که: The maximum value of V(π) ≤ The minimum value of z(x) این مطلب نتیجه قضیه ضعیف دوگانگی است که بعدا مورد بحث قرار می گیرد. 9 9
برنامه ریزی خطی پیشرفته (21715) دو مساله بیان شده دوگان یکدیگر نام دارند. هر متغیر مساله اولیه با یک محدودیت مساله دوگان ارتباط دارد و برعکس. اگر فردی تصمیم بگیرد که قرص های ویتامین A را خریداری کند، مسلم است که بیش از نیاز خود خریداری نمی کند (9 واحد). در این حالت قطعا محدودیت اول مساله که تفاضل ویتامین A تامین شده و مقدار نیاز واقعی است قطعا بصورت تساوی ارضا می شود. 10 10
برنامه ریزی خطی پیشرفته (21715) اگر دوگان یک مساله دارای جواب بهینه یکتا باشد، متغیرهای دوگان مساله قیمت های سایه نام دارند. در این حالت به این متغیرها ضریب های سیمپلکس و یا ضریب های لاگرانژ نیز می گویند. اگر جواب بهینه مساله اصلی تبهگن باشد چنین امری صحیح نیست. دوگان دوگان یک مساله با خود مساله برابر است. 11 11
برنامه ریزی خطی پیشرفته (21715) قیمت های سایه و مساله های تبهگن اگر جواب بهینه مساله ای تبهگن باشد، محاسبه قیمت های سایه و مقدارهای متغیرهای تصمیم دوگان ساده نیست. مساله برنامه ریزی خطی زیر و مساله دوگان آن را در نظر بگیرید: Max 5x1 +3x2 4x1 +2x2 ≤12 4x1 + x2 ≤10 x1 + x2 ≤ 4 x1,x2 ≥0 Min 12w1 +10w2+4w3 4w1 +4w2 +w3 ≥ 5 2w1 + w2 + w3 ≥ 3 w1,w2,w3 ≥0 12 12
برنامه ریزی خطی پیشرفته (21715) قیمت های سایه و مساله های تبهگن (ادامه) جدول بهینه این دو مساله به شرح زیر است: Z X1 X2 S1 S2 S3 b 1 16 -1/2 2 1/2 -1 -3/2 Z W1 W2 W3 S΄1 S΄2 R1 R2 b W 1 2 M-2 16 3/2 -1/2 1/2 -2 -1 13 13
برنامه ریزی خطی پیشرفته (21715) قیمت های سایه و مساله های تبهگن (ادامه) مساله دوگان دارای جواب بهینه چندگانه است. جواب دیگر بهینه عبارت است از: لذا محاسبه مقدار متغیرهای دوگان و قیمت های سایه در حالتی که جواب بهینه مساله تبهگن باشد پیچیده است. Z W1 W2 W3 S΄1 S΄2 R1 R2 b W 1 2 M-2 16 2/3 -1/3 1/3 -4/3 4/3 -19/6 7/3 14 14
برنامه ریزی خطی پیشرفته (21715) تمرین: دوگان مساله برنامه ریزی خطی زیر را بنویسید: Min Z = X1 +X2 +X3 -X2 +X3 ≥ -1 X1 -X3 ≥ -1 -X1 +X2 ≥ -1 Xi ≥ 0 15 15
برنامه ریزی خطی پیشرفته (21715) به چنین مساله هایی مساله های Self-dual می گویند. سوال ماتریس ضرایب در محدودیت ها، ضرایب تابع هدف و مقدارهای بردارهای سمت راست باید چه خصوصیت هایی داشته باشند تا مساله برنامه ریزی خطی self-dual باشد؟ 16 16
برنامه ریزی خطی پیشرفته (21715) قضیه مساله های دوگان دو مساله برنامه ریزی خطی معادل معادل همدیگر هستند. 17 17
برنامه ریزی خطی پیشرفته (21715) قضیه ضعیف دوگانگی در یک مساله برنامه ریزی خطی و دوگان آن فرض کنید x یک جواب موجه اولیه و z(x) مقدار تابع هدف نقطه مربوطه باشد. فرض کنید تابع هدف مساله اولیه min باشد. فرض کنید π جواب موجه مساله دوگان و v(π) مقدار تابع هدف نقطه مربوطه با تابع هدف maxباشد. در این حالت همواره خواهیم داشت: z(x) ≥ v(π) تعبیر: در هر مساله برنامه ریزی خطی و دوگان آن هر جواب موجه مساله اولیه ((min بزرگتر یا مساوی هر جواب موجه مساله (max) است. 18 18
برنامه ریزی خطی پیشرفته (21715) نتایج جانبی قضیه ضعیف دوگانگی. هر جواب موجه مساله اولیه (min) کران بالایی برای جواب بهینه همچنین جواب های موجه مساله ثانویه (max)است. هر جواب موجه مساله دوگان (max) کران پایینی برای جواب بهینه هر دو مساله و همچنین جواب های موجه مساله اولیه (min) است. اگر مساله اولیه دارای جواب موجه بوده و مقدار بهینه تابع هدف آن بی نهایت باشد، مساله دوگان نمی تواند دارای جواب موجه باشد. 19 19
برنامه ریزی خطی پیشرفته (21715) نتایج جانبی قضیه ضعیف دوگانگی (ادامه). اگر مساله دوگان (max) دارای جواب موجه باشد و جواب بهینه مساله نامحدود باشد مساله اولیه (min) بدون منطقه موجه است. اگر مساله دوگان فاقد منطقه موجه باشد و مساله اولیه دارای منطقه موجه باشد، جواب بهینه مساله اولیه قطعا نامحدود خواهد بود. مساله های اولیه و دوگان بطور همزمان می توانند بدون منطقه موجه باشند. 20 20
برنامه ریزی خطی پیشرفته (21715) مثال: مساله برنامه ریزی خطی و دوگان آن را در نظر بگیرید Min -x1 –x2 x1 –x2 ≥1 -x1 +x2 ≥1 x1,x2 ≥0 Max w1 –w2 w1 –w2 ≤ -1 -w1 +w2 ≤ -1 w1,w2 ≥0 21 21
برنامه ریزی خطی پیشرفته (21715) قضیه. شرط کافی برای بهینه بودن در مساله های برنامه ریزی خطی فرض کنید z(x) جواب مساله اولیه و v(π) جواب مساله دوگان باشد. اگر یک نقطه و نقطه متناظر دوگان آن هر دو موجه باشند، آن دو نقطه جواب های بهینه این دو مساله هستند. قضیه. قضیه پایه ای دوگانگی (قضیه قوی دوگانگی) اگر یک مساله برنامه ریزی خطی دارای جواب بهینه باشد، دوگان مساله هم دارای جواب بهینه است و هر دو جواب با هم برابر هستند. 22 22
برنامه ریزی خطی پیشرفته (21715) لذا اگر یک مساله برنامه ریزی خطی و دوگان آن دارای جواب موجه باشند، حتما هر دو مساله دارای جواب بهینه بوده و جواب بهینه هر دو با هم برابر است. اگر یکی از مساله ها دارای جواب موجه و مساله دیگر فاقد جواب موجه باشد، جواب بهینه مساله اول قطعا بی کران خواهد بود. 23 23
برنامه ریزی خطی پیشرفته (21715) قضیه. یک مساله برنامه ریزی خطی فاقد منطقه موجه است اگر و فقط اگر حالت همگن مساله دوگان نامحدود باشد. اثبات. یک مساله برنامه ریزی خطی، دوگان آن، مساله همگن دوگان و دوگان مساله همگن دوگان آن را به شرح زیر در نظر بگیرید: مساله اولیه P مساله دوگان D مساله همگن دوگان HD دوگان مساله همگن دوگان DHD Min z = cx Ax ≥ b x ≥ 0 Max W =wb wA ≤ c w≥0 wA ≤ 0 Min z = cx=0 24 24
برنامه ریزی خطی پیشرفته (21715) اگر مساله P فاقد منطقه موجه باشد، در این صورت مساله DHD هم فاقد منطقه موجه است. در اینصورت مساله HD یا بی کران است و یا فاقد منطقه موجه. از آنجا که مبدا مختصات در مساله HD موجه است پس مساله HD حالت بی کران دارد. مساله اولیه P مساله دوگان D مساله همگن دوگان HD دوگان مساله همگن دوگان DHD Min z = cx Ax ≥ b x ≥ 0 Max W =wb wA ≤ c w≥0 wA≤ 0 Min z = cx=0 25 25
برنامه ریزی خطی پیشرفته (21715) اگر مساله HD بی کران باشد حتما مساله DHD و به دنبال آن مساله P بی کران خواهد بود. مساله اولیه P مساله دوگان D مساله همگن دوگان HD دوگان مساله همگن دوگان DHD Min z = cx Ax ≥ b x ≥ 0 Max W =wb wA ≤ c w≥0 wA≤ 0 Min z = cx=0 26 26
برنامه ریزی خطی پیشرفته (21715) قضیه. شرط لازم و کافی برای بهینه بودن یک جواب در مسایل برنامه ریزی خطی یک مساله برنامه ریزی خطی و دوگان آن را در نظر بگیرید. فرض کنید x و π جواب های متناظر مساله اولیه و دوگان باشند. فرض کنید مقدارهای تابع هدف به ازای این متغیرها برای مساله های اولیه و دوگان برابر با z(x) و v(π) باشد. در صورتی x1 جواب بهینه مساله اولیه است که جواب دوگان موجهی همانند π1 وجود داشته باشد که z(x1) = v(π1) 27 27
برنامه ریزی خطی پیشرفته (21715) از این تکنیک ها می توان برای محاسبه کران پایین برای مساله های برنامه ریزی خطی استفاده کرد. برای یک مساله برنامه ریزی خطی با تابع هدف min هر جواب موجه مساله دوگان یک کران پایین برای جواب بهینه است. برای هر مساله برنامه ریزی خطی با تابع هدف max هر جواب موجه دوگان یک کران بالا برای جواب بهینه مساله است. 28 28
برنامهریزی خطی پیشرفته (21715) قضیه لنگی مکمل* اگر x* و y* دو جواب موجه برای مساله اولیه و دوگان آن در حالت کانونی باشند، هر دو جواب های بهینه مساله مربوطه هستند اگر و فقط اگر رابطه های زیر میان اعضای جواب گسترده این دو نقطه برقرار باشد: Xj S′j = 0 Yi Si = 0 * Complementary Slackness Theorem 29 29
برنامهریزی خطی پیشرفته (21715) نتیجه مهم قضیه لنگی مکمل در مورد متغیرهای جواب گسترده هر دو گوشه (نقطه) مرتبط همواره روابط زیر برقرار است. Xj S′j = 0 Yi Si = 0 30 30
برنامه ریزی خطی پیشرفته (21715) قضیه لنگی مکمل نکته: متغیرهای تصمیم متناطر اولیه و دوگان می توانند هر دو برابر صفر باشند. حل کدام مساله بهتر است؟ اولیه یا دوگان؟ مساله هایی با ساختار خاص قضیه لنگی مکمل تنها برای مساله هایی با محدودیت هایی به صورت نامساوی و متغیرهایی تصمیم مثبت برقرار است. 31 31
برنامه ریزی خطی پیشرفته (21715) شرط های مورد نیاز برای بهینه بودن یک نقطه موجه بودن جواب در مساله اولیه موجه بودن جواب دوگان متناظر در مساله دوگان برقراری شرایط لنگی مکمل میان جواب های مساله اولیه و دوگان 32 32
برنامه ریزی خطی پیشرفته (21715) توجه استفاده از گوشه های موجه اولیه در الگوریتم سیمپلکس برای رسیدن به جواب بهینه با پیدا کردن یک گوشه موجه دوگان استفاده از گوشه های موجه دوگان در الگوریتم سیمپلکس دوگان برای رسیدن به جواب بهینه با پیدا کردن یک گوشه موجه در مساله اولیه پیدا کردن یک مجموعه زوج از نقطه های مساله های اولیه و دوگان که شرایط موجه بودن در هر دو مساله اولیه و دوگان را دارا هستند. خاتمه این الگوریتم ها زمانی است که شرایط قضیه لنگی مکمل میان گوشه های متناظر برقرار شود. الگوریتم های Out-of-Kilter و Complementary Pivot از این نوع هستند. 33 33
برنامه ریزی خطی پیشرفته (21715) قضیه یک مساله برنامه ریزی خطی فاقد جواب موجه است اگر و فقط اگر مساله همگن دوگان آن نامحدود باشد. حالت عکس این قضیه نیز برقرار است. 34 34
برنامه ریزی خطی پیشرفته (21715) لم فارکس در مواردی علاقمند هستیم که در مورد وجود جواب موجه برای یک سیستم از نامعادله های خطی تحقیق کنیم. روشی وجود دارد که با مراجعه به حالت دوگان این سیستم به سوال فوق جواب داده می شود. نشان داده می شود که دو سیستم از نامعادله ها به صورتی با هم ارتباط دارند که تنها یکی از آنها دارای جواب های موجه است. 35 35
برنامه ریزی خطی پیشرفته(21715 ( لم فارکس اگر Am*n و bm*1 باشند، همواره دقیقا یکی از سیستم های زیر دارای جواب موجه است و سیستم دیگر ناسازگار است. System 1 System 2 Ax=b x≥ 0 wA ≤0 wb >0 36 36
برنامه ریزی خطی پیشرفته (21715) اثبات: مساله برنامه ریزی خطی زیر و دوگان آن را در نظر بگیرید: فرض کنید مساله اولیه Ax=b, x ≥ 0 فاقد منطقه موجه باشد، در این حالت چون مساله دوگان دارای حداقل یک جواب موجه است(w = 0) ، می توان نتیجه گرفت مساله دوگان دارای جواب بی کران است. لذا در این حالت فقط مساله دوگان دارای جواب موجه است. مساله اولیه مساله دوگان Min Z(x) = 0x Ax = b x ≥ 0 Max V(w) = wb wA ≤ 0 37 37
برنامه ریزی خطی پیشرفته (21715) اگر مساله اولیه دارای جواب موجه باشد، دارای جواب بهینه نیز خواهد بود با مقدار تابع هدفی برابر با صفر. در این حالت بیشینه مقدار مساله دوگان برابر با صفر خواهد بود. لذا مقدار تابع هدف مساله دوگان نمی تواند مثبت باشد. بنابراین اگر سیستم 1 دارای جواب موجه باشد سیستم 2 جواب موجه ندارد. حالت های دیگری برای نمایش لم فارکس در کتاب و تمرین ها ارایه شده اند. نمونه ای دیگر در اسلاید بعدی مشخص است. 38 38
برنامه ریزی خطی پیشرفته(21715 ( حالت دیگر لم فارکس- حالت A1 اگر Am*n و bm*1 باشند، همواره دقیقا یکی از سیستم های زیر دارای جواب موجه است و سیستم دیگر ناسازگار است. System 1 System 2 Ax ≥ 0 cx < 0 wA = c w ≥ 0 39 39
برنامه ریزی خطی پیشرفته (21715) تعبیر هندسی لم فارکس فرض کنید سطر iام ماتریس A بصورت ai نمایش داده شود. سیستم 2 در حالت A1 (wA = c, w ≥ 0)را در نظر بگیرید. مشخص است که سیستم 2 فقط و فقط جواب موجه دارد اگر که بردار c در داخل مخروط ایجاد شده با سطرهای ماتریس A باشد. بر پایه لم فارکس بردار c یا متعلق به این مخروط است و یا نیست. در حالتی که بردار c متعلق به این مخروط باشد، سیستم 1 جواب موجه ندارد و در حالتی که بردار c متعلق به این مخروط نباشد، سیستم 1 جواب موجه دارد. 40 40
برنامه ریزی خطی پیشرفته (21715) تعبیر هندسی لم فارکس 41 41
برنامه ریزی خطی پیشرفته (21715) Duality Gap در مساله های برنامه ریزی غیر خطی لزوما مقدار بهینه مساله های اولیه و دوگان برابر نیست. به اختلاف میان مقدار تابع هدف مساله های اولیه و دوگان در این حالت Duality Gap می گویند. 42 42