Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

الگوریتم شاخه و هزینه

1,328 views

Published on

الگوریتم شاخه و هزینه ترکیبی از متد تولید ستون و راهبرد شاخه و حد است که برای بهینه سازی عدد صحیح و گسسته در صنایع کاربرد دارد.

Published in: Science

الگوریتم شاخه و هزینه

  1. 1. Branch & Price ‫قیمت‬ ‫و‬ ‫شاخه‬ ‫الگوریتم‬ 1 REZA HAMOULEH School of industrial engineering Iran University of Science and Technology 2016
  2. 2. ‫مقدمه‬:‫ترکیبی‬ ‫سازی‬‫بهینه‬ 2 ‫یا‬ ‫ترکیبی‬ ‫سازی‬ ‫بهینه‬Combinatorial optimization‫مسائلی‬ ‫برای‬ ‫سازی‬ ‫بهینه‬ ‫به‬ ‫که‬ ‫هستند‬ ‫هایی‬‫روش‬ ‫ممکن‬ ‫های‬‫پاسخ‬ ‫مجموعه‬ ‫که‬ ‫پردازند‬‫می‬(‫حاالت‬ ‫فضای‬)‫باشد‬ ‫گسسته‬ ‫تواند‬‫می‬ ‫یا‬ ‫است‬ ‫گسسته‬ ‫ها‬‫آن‬ ‫در‬(‫توابع‬ ‫بهینه‬ ‫نقطه‬ ‫با‬‫گسسته‬ ‫متغیرهایی‬.)‫کامل‬ ‫جستجوی‬ ‫مسائل‬ ‫گونه‬‫این‬ ‫در‬ ‫معموال‬(‫فراگیر‬)‫ندارد‬ ‫عملیاتی‬ ‫امکان‬. ‫معروف‬ ‫مسائل‬:‫گرد‬‫دوره‬ ‫فروشنده‬(traveling salesman problem)‫کمینه‬ ‫پوشای‬ ‫درخت‬ ‫و‬ (minimum spanning tree problem) ‫ترکیبی‬ ‫سازی‬ ‫بهینه‬ ‫مشهور‬ ‫های‬‫الگوریتم‬:‫پو‬ ‫درخت‬ ‫های‬‫الگوریتم‬ ،‫پویا‬ ‫ریزی‬‫برنامه‬ ،‫حریصانه‬‫و‬ ‫شاخه‬ ،‫کمینه‬ ‫شای‬ ‫حد‬ ‫و‬ ‫شاخه‬ ‫و‬ ‫برش‬.
  3. 3. ‫مقدمه‬:‫صحیح‬ ‫عدد‬ ‫ریزی‬‫برنامه‬ -‫صحیح‬ ‫عدد‬ ‫ریزی‬‫برنامه‬ ‫مسائل‬(Integer Programming)‫مسائلی‬ ،‫صحیح‬ ‫عدد‬ ‫خطی‬ ‫سازی‬ ‫بهینه‬ ‫یا‬ ‫دارد‬ ‫وجود‬ ‫صحیح‬ ‫عدد‬ ‫متغیرهای‬ ‫ها‬‫آن‬ ‫در‬ ‫که‬ ‫تفاوت‬ ‫این‬ ‫با‬ ‫هستند‬ ‫خطی‬ ‫ریزی‬‫برنامه‬ ‫با‬ ‫مشابه‬. -Integer Programing‫مسئله‬ ‫یک‬ ‫گرد‬‫دوره‬ ‫فروشنده‬ ‫و‬ ‫ها‬‫گراف‬ ‫آمیزی‬ ‫رنگ‬ ‫مانند‬NP-Hard‫است‬. -‫الگوریتم‬Branch and Bound‫است‬ ‫مسائل‬ ‫این‬ ‫حل‬ ‫برای‬ ‫مطرح‬ ‫های‬‫الگوریتم‬ ‫از‬ ‫یکی‬. 3
  4. 4. ‫حد‬ ‫و‬ ‫شاخه‬ -‫گیرد‬‫می‬ ‫نظر‬ ‫در‬ ‫را‬ ‫گسسته‬ ‫حالت‬ ‫فضای‬ ‫یک‬ ‫الگوریتم‬ ‫این‬->S -‫صورت‬ ‫به‬ ‫را‬ ‫مسئله‬ ‫الگوریتم‬ ‫این‬«‫درخت‬»‫حالت‬ ‫فضای‬ ‫کل‬ ‫ریشه‬ ‫که‬ ‫گیرد‬‫می‬ ‫نظر‬ ‫در‬(‫تمامی‬ ‫ها‬‫جواب‬)‫هر‬ ‫و‬‫فرزند‬‫است‬ ‫ها‬‫جواب‬ ‫از‬ ‫ای‬‫مجموعه‬ ‫زیر‬ ‫آن‬.‫مرحله‬ ‫هر‬ ‫در‬B‫دهنده‬‫نشان‬‫جواب‬ ‫بهترین‬ ‫شده‬ ‫یافته‬‫است‬. -‫عددی‬ ،‫گره‬ ‫هر‬ ‫در‬(‫حدی‬)‫هست‬ ‫امیدبخش‬ ‫گره‬ ‫آن‬ ‫آیا‬ ‫که‬ ‫شود‬ ‫تعیین‬ ‫تا‬ ‫کند‬ ‫می‬ ‫محاسبه‬ ‫را‬‫خیر‬ ‫یا‬. -‫درخت‬‫جواب‬ ‫تولید‬ ‫توانایی‬ ‫شاخه‬ ‫زیر‬ ‫که‬ ‫درصورتی‬ ،‫شود‬‫می‬ ‫پیمایش‬ ‫عرضی‬ ‫صورت‬ ‫به‬‫برای‬ ‫تر‬‫بهینه‬ ‫پیمایش‬ ‫از‬ ،‫باشد‬ ‫نداشته‬ ‫را‬ ‫مسئله‬‫کل‬‫نظر‬ ‫صرف‬ ‫شاخه‬ ‫زیر‬‫شود‬‫می‬(‫شاخه‬ ‫آن‬‫هرس‬‫ش‬‫می‬‫ود‬). 4
  5. 5. ‫حد‬ ‫و‬ ‫شاخه‬ ‫مثال‬ 5 𝒑𝒊 𝒘𝒊 𝒘𝒊𝒑𝒊i $202$401 $65$302 $510$503 $25$104 totweight = weight + 𝒋=𝒊+𝟏 𝒌−𝟏 𝒘𝒋 bound = profit + 𝒋=𝒊+𝟏 𝒌−𝟏 𝒑𝒋 + (W - totweight) x 𝒑 𝒌 𝒘 𝒌
  6. 6. ‫حد‬ ‫و‬ ‫شاخه‬ ‫مثال‬ 6 𝒑𝒊 𝒘𝒊 𝒘𝒊𝒑𝒊i $202$401 $65$302 $510$503 $25$104 $0 0 $115 $40 2 $115 $0 0 $82 $70 7 $115 $40 2 $98 $30 5 $82 $0 0 $60 $120 17 $0 $70 7 $80 $80 12 $80 $70 7 $70 $100 17 $0 $90 12 $90 $90 12 $98 $40 2 $50 $80 15 $82 $30 5 $40 𝒊𝒕𝒆𝒎 𝟏 𝒊𝒕𝒆𝒎 𝟐 𝒊𝒕𝒆𝒎 𝟑 𝒊𝒕𝒆𝒎 𝟒 X XXXX X X X X (0,0) (1,1) (1,2) (2,1) (2,2) (2,3) (2,4) (3,1) (3,2) (3,3) (3,4) (3,5) (3,6) (4,1) (4,2) (4,3) (4,4) $90 12 $98 W = 16 Maxprofit = $0 W = 16 Maxprofit = $40 W = 16 Maxprofit = $70 W = 16 Maxprofit = $90
  7. 7. ‫ستون‬ ‫تولید‬ ‫روش‬ -‫متدی‬‫قدیمی‬(1962)‫خطی‬ ‫ریزی‬ ‫برنامه‬ ‫در‬ ‫بزرگ‬ ‫مسائل‬ ‫حل‬ ‫برای‬. -‫ب‬ ‫آنقدر‬ ‫خطی‬ ‫ریزی‬‫برنامه‬ ‫مسائل‬ ‫از‬ ‫بسیاری‬ ‫که‬ ‫است‬ ‫این‬ ‫ستون‬ ‫تولید‬ ‫روش‬ ‫برای‬ ‫اصلی‬ ‫ایده‬‫که‬ ‫هستند‬ ‫زرگ‬ ‫نباشد‬ ‫ممکن‬ ‫زمانی‬ ‫نظر‬ ‫از‬ ‫متغیرها‬ ‫تمامی‬ ‫صریح‬ ‫بررسی‬. -‫صورت‬ ‫به‬ ‫مسئله‬ ‫متد‬ ‫این‬ ‫در‬restricted master problem‫شود‬‫می‬ ‫فرموله‬ ‫محدود‬ ‫اصلی‬ ‫مسئله‬ ‫یا‬ (RMP) -‫یک‬ ‫در‬RMP‫نیاز‬ ‫صورت‬ ‫در‬ ‫متغیرها‬ ‫دیگر‬ ‫و‬ ‫آوریم‬‫می‬ ‫را‬ ‫ممکن‬ ‫متغیرهای‬ ‫کمترین‬‫شوند‬‫می‬ ‫اضافه‬ ‫مسئله‬ ‫به‬ (‫سیمپلکس‬ ‫روش‬ ‫مشابه‬.)‫متغیرها‬ ‫کردن‬ ‫اضافه‬ ‫برای‬«‫ها‬‫مسئله‬ ‫زیر‬»‫شوند‬‫می‬ ‫ایجاد‬. -‫مسئله‬cutting stock‫ستون‬ ‫تولید‬ ‫مدلسازی‬ ‫برای‬ ‫مثالی‬ ،‫است‬ ‫پشتی‬ ‫کوله‬ ‫مشابه‬ ‫ای‬‫مسئله‬ ‫که‬‫است‬. 7
  8. 8. ‫ستون‬ ‫تولید‬ ‫روش‬ -‫ب‬ ‫را‬ ‫مسئله‬ ،‫ستون‬ ‫تولید‬ ‫رویکرد‬‫ا‬‫ر‬ ‫یک‬ ‫با‬ ‫را‬ ‫مسئله‬ ‫سپس‬ ‫و‬ ‫کند‬‫می‬ ‫آغاز‬ ‫ها‬‫ستون‬ ‫از‬ ‫ای‬‫زیرمجموعه‬‫حل‬ ‫سازی‬ ‫بهینه‬ ‫وش‬ ‫کند‬‫می‬.‫اساس‬ ‫بر‬ ‫حل‬ ‫از‬ ‫پس‬«‫شده‬ ‫کاسته‬ ‫هزینه‬»‫ستونی‬ ،‫فعلی‬«‫خوب‬»‫اضافه‬ ‫ها‬‫ستون‬ ‫مجموعه‬ ‫به‬‫کند‬‫می‬. -‫دهد‬ ‫بهبود‬ ‫را‬ ‫مسئله‬ ‫نتواند‬ ‫خوبی‬ ‫ستون‬ ‫هیچ‬ ‫دیگر‬ ‫که‬ ‫یابد‬‫می‬ ‫ادامه‬ ‫جایی‬ ‫تا‬ ‫روند‬ ‫این‬. -‫اصلی‬ ‫مسئله‬ ‫مسئله‬ -‫فرعی‬ ‫مسئله‬->‫بهبو‬ ‫را‬ ‫اصلی‬ ‫مسئله‬ ‫هدف‬ ‫تابع‬ ‫که‬ ‫دارد‬ ‫را‬ ‫ستونی‬ ‫یافتن‬ ‫وظیفه‬ ‫مسئله‬ ‫این‬‫دهد‬‫می‬ ‫د‬. 8
  9. 9. ‫ستون‬ ‫تولید‬ ‫روش‬ -‫گست‬ ‫را‬ ‫هدف‬ ‫تابع‬ ‫که‬ ‫دانیم‬‫می‬ ‫مسئله‬ ‫زیر‬ ‫یک‬ ‫با‬ ‫متناظر‬ ‫را‬ ‫ستون‬ ‫هر‬ ،‫رویکرد‬ ‫این‬ ‫در‬ ‫حقیقت‬ ‫در‬‫مثال‬ ‫برای‬ ،‫دهد‬‫می‬ ‫رش‬ ‫زیر‬ ‫مسئله‬ ‫در‬ ‫ی‬‫مسئله‬ ‫برای‬: - A steel company wants to cut the steel rods of width 218cm. The customers want 44 pieces of width 81 cm., 3 pieces of width 70 cm. and 48 pieces of width 68 cm. 9
  10. 10. ‫ستون‬ ‫تولید‬ ‫روش‬ 10
  11. 11. ‫ستون‬ ‫تولید‬ ‫روش‬ 11
  12. 12. ‫تعاریف‬ ‫و‬ ‫مفاهیم‬ -‫است‬ ‫دقیق‬ ‫سازی‬‫بهینه‬ ‫روش‬ ‫یک‬ ‫قیمت‬ ‫و‬ ‫شاخه‬. ‫شاخه‬‫حد‬ ‫و‬ -‫الگوریتم‬‫قیمت‬ ‫و‬ ‫شاخه‬‫ستون‬ ‫تولید‬ ‫روش‬ ‫و‬ ،‫حد‬ ‫و‬ ‫شاخه‬ ‫راهبرد‬ ‫از‬ ‫ترکیبی‬ ‫توان‬‫می‬ ‫را‬‫دانست‬. -‫صحیح‬ ‫عدد‬ ‫ریزی‬‫برنامه‬ ‫مسائل‬ ‫حل‬ ‫برای‬ ‫قیمت‬ ‫و‬ ‫شاخه‬ ‫الگوریتم‬IP‫بزرگ‬ ‫های‬‫مقیاس‬ ‫در‬(‫باالی‬ ‫تعداد‬ ‫متغیرها‬)‫رود‬‫می‬ ‫کار‬ ‫به‬. 12 ‫و‬ ‫تکمیل‬ ‫گسترش‬ ‫برش‬ ‫و‬ ‫شاخه‬Branch and Cut ‫قیمت‬ ‫و‬ ‫شاخه‬Branch and Price
  13. 13. ‫قیمت‬ ‫و‬ ‫شاخه‬ 13 1-‫کمک‬ ‫با‬ ‫سپس‬ ‫کنیم‬‫می‬ ‫فرموله‬ ‫را‬ ‫مسئله‬ ‫ابتدا‬ ‫در‬‫تجز‬ ‫روش‬‫دانزیک‬ ‫یه‬ ‫ولف‬‫شکل‬ ‫به‬ ‫را‬ ‫آن‬‫یک‬MP‫کنیم‬‫می‬ ‫فرموله‬ ‫مجددا‬. 2-‫نمایی‬ ‫تعداد‬ ‫دلیل‬ ‫به‬ ‫قبل‬ ‫مرحله‬ ‫طریق‬ ‫از‬ ‫شده‬ ‫تولید‬ ‫مسئله‬‫ها‬‫ستون‬ ‫س‬ ‫یک‬ ‫تنها‬ ‫گرفتن‬ ‫نظر‬ ‫در‬ ‫با‬ ‫پس‬ ،‫شود‬ ‫حل‬ ‫مستقیما‬ ‫تواند‬‫نمی‬‫به‬ ‫را‬ ‫آن‬ ‫تون‬ RMP‫کنیم‬‫می‬ ‫تبدیل‬. 3-RMP‫طریق‬ ‫از‬Relaxation‫یک‬ ‫و‬ ‫صفر‬ ‫صحیح‬ ‫مسئله‬ ‫یک‬ ‫از‬‫به‬ ‫حل‬ ‫آن‬ ‫های‬‫مسئله‬ ‫زیر‬ ‫و‬ ‫شده‬ ‫تبدیل‬ ‫خطی‬ ‫ریزی‬‫برنامه‬ ‫مسئله‬ ‫یک‬‫شوند‬‫می‬.
  14. 14. ‫قیمت‬ ‫و‬ ‫شاخه‬ 14 -‫یک‬ ،‫مسئله‬ ‫زیر‬ ‫هر‬ ‫الگوریتم‬ ‫این‬ ‫در‬«‫گذاری‬ ‫قیمت‬ ‫مسئله‬»‫یا‬ Pricing Problem‫است‬. -‫مسئل‬ ‫به‬ ‫جدید‬ ‫های‬‫ستون‬ ‫کردن‬ ‫وارد‬ ‫برای‬ ‫گذاری‬ ‫قیمت‬ ‫مسائل‬‫حل‬ ‫اصلی‬ ‫ه‬ ‫شوند‬‫می‬. -‫بی‬ ‫با‬ ‫ستونی‬ ‫حتما‬ ‫نیست‬ ‫نیازی‬ ‫چون‬ ،‫مسائل‬ ‫زیر‬ ‫حل‬ ‫برای‬‫کاهش‬ ‫شترین‬ ‫جستج‬ ‫های‬‫الگوریتم‬ ‫از‬ ‫توان‬‫می‬ ،‫باشیم‬ ‫داشته‬ ‫را‬ ‫منفی‬ ‫هزینه‬‫یا‬ ‫محلی‬ ‫وی‬ ‫کرد‬ ‫استفاده‬ ‫هیورستیک‬.
  15. 15. ‫مسئله‬GAP‫طریق‬ ‫از‬Branch & Price 15 -‫یا‬ ‫یافته‬ ‫تعمیم‬ ‫تخصیص‬ ‫مسئله‬GAP‫ص‬ ‫صحیح‬ ‫ریزی‬‫برنامه‬ ‫حوزه‬ ‫در‬ ‫کاربردی‬ ‫بسیار‬ ‫مسئله‬ ‫یک‬‫و‬ ‫فر‬ ‫است‬ ‫یک‬. -‫مسئله‬GAP‫و‬ ‫ترکیبی‬ ‫سازی‬‫بهینه‬ ‫از‬ ‫ای‬‫مسئله‬NP-Hard‫است‬. ‫خواهیم‬‫می‬n‫به‬ ‫را‬ ‫وظیفه‬m‫یه‬ ‫باید‬ ،‫دهیم‬ ‫تخصیص‬ ‫ماشین‬ ‫شده‬ ‫ماکزیمم‬ ‫وظیفه‬ ‫هر‬ ‫سود‬ ‫که‬ ‫دهیم‬ ‫انجام‬ ‫را‬ ‫کار‬ ‫این‬ ‫شکلی‬(‫مینمم‬ ‫ها‬‫هزینه‬ ‫کردن‬)‫یک‬ ‫به‬ ‫دقیقا‬ ‫وظیفه‬ ‫هر‬ ‫که‬ ‫شکلی‬ ‫به‬ ،‫و‬ ‫شود‬ ‫داده‬ ‫ماشین‬ ‫بگیرد‬ ‫وظیفه‬ ‫خود‬ ‫ظرفیت‬ ‫اندازه‬ ‫به‬ ‫ماشین‬ ‫هر‬.
  16. 16. ‫مراحل‬‫حل‬GAP 16
  17. 17. ‫حل‬ ‫مراحل‬GAP 17
  18. 18. ‫برای‬ ‫مطرح‬ ‫مسائل‬ ‫دیگر‬Branch and Price -‫ها‬‫گراف‬ ‫آمیزی‬ ‫رنگ‬ -‫خودروها‬ ‫مسیریابی‬ ‫مسئله‬ 18

×