1.51k likes | 2.77k Views
به نام خدا. الگوریتم زنبور عسل. مائده جمالی نعیمه منصوری مریم مختاری. استاد درس : جناب آقای دکتر میرزایی. عنوان مطالب. مقدمه الگوریتم زنبور عسل مصنوعی الگوریتم زنبور عسل مصنوعی همیاری الگوریتم زنبور عسل مصنوعی موازی بهینه سازی کلونی زنبور عسل الگوریتم زنبور عسل
E N D
به نام خدا الگوریتم زنبور عسل مائده جمالی نعیمه منصوری مریم مختاری استاد درس : جناب آقای دکتر میرزایی دانشگاه صنعتی اصفهان زمستان 90
عنوان مطالب • مقدمه • الگوریتم زنبور عسل مصنوعی • الگوریتم زنبور عسل مصنوعی همیاری • الگوریتم زنبور عسل مصنوعی موازی • بهینه سازیکلونی زنبور عسل • الگوریتم زنبور عسل • الگوریتم کاوش زنبور عسل • الگوریتم بهینه سازی جمعی زنبور عسل • الگوریتم بهینه یابی جفت گیری زنبور عسل • الگوریتم بهینه یابی جفت گیری سریع زنبور عسل • الگوریتم بهینه یابی جفت گیری سریع تغییر یافته زنبور عسل • نتیجه گیری • مراجع دانشگاه صنعتی اصفهان زمستان 90
مقدمه • استفاده از هوش جمعی در حل مسائل • کلونی مورچه ها،کلونی زنبور عسل، موریانه ها، سوسک ها و ... • ویژگی های هوش جمعی • خود سازمانده • تقسیم کار • ایده گرفتن از رفتار زنبور ها در حل مسائل دانشگاه صنعتی اصفهان زمستان 90
ادامه... • وجود ویژگی های هوش جمعی در زنبورها • خودسازمانده • دنبال کردن منابع غذایی بهتر توسط زنبور های بیشتر • ترک منبع غذایی متروک شده • جستجوی منبع غذای بهتر • تقسیم کار • زنبور های 1 تا 10 روزه • زنبورهای 10 تا 20 روزه • زنبور های نزدیک به اواخر عمر دانشگاه صنعتی اصفهان زمستان 90
استفاده از رقص برای به اشتراک گذاشتن اطلاعات با دیگر زنبورها • مشخص کردن جهت، فاصله، کیفیت و کمیت منبع یافت شده دانشگاه صنعتی اصفهان زمستان 90
رفتار جمعی زنبور عسل • منابع غذا • کیفیت منبع غذا • آسانی دستیابی • فاصله از کندو • زنبور های کارگر • مسئول منبع غذای مربوط به خود • جمع آوری اطلاعات مربوط به منبع و به اشتراک گذاشتن اطلاعات • زنبور های غیر کارگر • تماشاچی • پیش آهنگ دانشگاه صنعتی اصفهان زمستان 90
رقص مدور • رقص فرفره ای دانشگاه صنعتی اصفهان زمستان 90
محل رقص • تبادل اطلاعات • مشاهده تعداد بیشماری رقص • تصمیم گیری در مورد انتخاب منبع متناسب با احتمال آن توسط زنبور تماشاچی دانشگاه صنعتی اصفهان زمستان 90
S – Scout • R- Onlooker • UF-Uncommitted Follower • EF1-Sharing information • EF2- Continue work alone S – Scout R- Onlooker UF-Uncommitted Follower EF1-Sharing information EF2- Continue work alone دانشگاه صنعتی اصفهان زمستان 90
Artificial Bee Colony (ABC) دانشگاه صنعتی اصفهان زمستان 90
الگوریتم زنبور عسل مصنوعی • ارائه شده توسط karabogaدر سال 2005 • مبتنی بر رفتار کاوشی زنبور عسل در یافتن منابع غذایی • مناسب برای حل مسائل بهینه سازی چند حالته و چند بعدی دانشگاه صنعتی اصفهان زمستان 90
جزئیات الگورتیم • مکان منبع غذا به عنوان راه حلی از مساله ی بهینه سازی • تساوی زنبور های کارگر و تماشاچی با تعداد راه حل ها • مدل شدن میزان شهد در دنیای واقعی با برازندگی راه حل • تبدیل شدن زنبور کارگر به پیش آهنگ در صورت منقضی شدن منبع دانشگاه صنعتی اصفهان زمستان 90
انتخاب یک منبع توسط زنبور تماشاچی بر اساس احتمال انتسابی به آن منبع: به طوری که = • محاسبه ی منبع جدید با استفاده از رابطه ی زیر: -+ دانشگاه صنعتی اصفهان زمستان 90
جایگزینی منبع متروک شده با یک منبع جدید • مدل سازی ویژگی فوق با عدم بهبود راه حل پس از تعداد مشخصی تکرار( SN × D ) • جستجوی منبع جدید توسط زنبور پیش آهنگ از طریق معادله ی زیر: دانشگاه صنعتی اصفهان زمستان 90
فرآیند های انتخاب در الگوریتم زنبور عسل مصنوعی • فرآیند انتخاب سراسری • فرآیند انتخاب محلی توسط زنبور های کارگر • فرآیند انتخاب محلی توسط زنبورهای تماشاچی • فرآیند انتخاب تصادفی توسط زنبور پیش آهنگ دانشگاه صنعتی اصفهان زمستان 90
مقایسه ی عملکرد الگوریتم با سایر الگوریتم ها: دانشگاه صنعتی اصفهان زمستان 90
Corporate Artificial Bee Colony (CABC) دانشگاه صنعتی اصفهان زمستان 90
الگوریتم زنبور عسل مصنوعی همیاری • نسخه ی توسعه یافته از الگوریتم ABC • عملکرد نامناسب الگوریتم ABC با افزایش ابعاد فضای جستجو • کارایی بهتر از لحاظ دقت و سرعت همگرایی دانشگاه صنعتی اصفهان زمستان 90
الگوریتم زنبور عسل مصنوعی همیاری • ملاک انتخاب در ABC میزان شایستگی منبع • عدم توجه به تاثیر ابعاد در ABC • دخالت دادن کلیه اشخاص در جواب نهایی • ارائه یک بردار راه حل شامل بهترین بعد کل جمعیت • عدم تاثیر این بردار بر روی جواب های یافت شده توسط زنبور های کارگر وتماشاچی دانشگاه صنعتی اصفهان زمستان 90
مقایسه ی کارایی دانشگاه صنعتی اصفهان زمستان 90
Parallel Artificial Bee Colony (PABC) دانشگاه صنعتی اصفهان زمستان 90
الگوریتم زنبور عسل مصنوعی موازی • پیاده سازی الگوریتم زنبور عسل مصنوعی به صورت موازی • عدم تاثیر گذاری بر روی جواب نهایی الگوریتم • افزایش سرعت پاسخ گویی • توزیع زنبور ها روی پروسسور های مختلف و بهبود راه حل های پیشنهادی به صورت مستقل • جستجوی همسایگی • محاسبه ی احتمال استفاده از یک حافظه ی اشتراکی دانشگاه صنعتی اصفهان زمستان 90
استفاده از حافظه ی اشتراکی • تقسیم زنبور ها(راه حل ها) بین پردازنده های موجود • وجود تعدادی راه حل در حافظه ی محلی هر پردازنده • وجود یک کپی از راه حل در حافظه ی اشتراکی • بهبود راه حل های موجود در حافظه ی محلی در هر اجرای حلقه • جایگزینی جواب حاصل با جواب موجود در حافظه ی اشتراکی در انتهای حلقه • تعداد پردازنده ها = p • تعداد راه حل های مربوط به هر پردازنده= دانشگاه صنعتی اصفهان زمستان 90
بهبود راه حل موجود در حافظه محلی با انتخاب تصادفی یک راه حل از حافظه ی اشتراکی در جستجو ی همسایگی • محاسبه احتمال برای زنبور های تماشاچی در حافظه ی محلی : دانشگاه صنعتی اصفهان زمستان 90
مقایسه ی کارایی دانشگاه صنعتی اصفهان زمستان 90
عنوان مطالب • مقدمه • الگوریتم زنبور عسل مصنوعی • الگوریتم زنبور عسل مصنوعی همیاری • الگوریتم زنبور عسل مصنوعی موازی • بهینه سازیکلونی زنبور عسل • الگوریتم زنبور عسل • الگوریتم کاوش زنبور عسل • الگوریتم بهینه سازی جمعی زنبور عسل • الگوریتم بهینه یابی جفت گیری زنبور عسل • الگوریتم بهینه یابی جفت گیری سریع زنبور عسل • الگوریتم بهینه یابی جفت گیری سریع تغییر یافته زنبور عسل • نتیجه گیری • مراجع دانشگاه صنعتی اصفهان زمستان 90
Bee Colony Optimization (BCO) دانشگاه صنعتی اصفهان زمستان 90
Bee Colony Optimization (BCO) • مطرح شده توسط Tedorovicو dellorce در سال 2005 • برای حل مسائل بهینه سازی قطعی • مراحل اصلی الگوریتم: • حرکت رو به جلو • حرکت رو به عقب دانشگاه صنعتی اصفهان زمستان 90
Bee Colony Optimization (BCO) دانشگاه صنعتی اصفهان زمستان 90
Bee Colony Optimization (BCO) دانشگاه صنعتی اصفهان زمستان 90
Bee Colony Optimization (BCO) دانشگاه صنعتی اصفهان زمستان 90
Bee Colony Optimization (BCO) دانشگاه صنعتی اصفهان زمستان 90
Bee Colony Optimization (BCO) • احتمال وفاداری به جواب یافته شده: جواب بهینه جواب یافته شده توسط زنبورb دفعات حرکت رو به جلو دانشگاه صنعتی اصفهان زمستان 90
Bee Colony Optimization (BCO) • احتمال دنبال کردن هر زنبور: دانشگاه صنعتی اصفهان زمستان 90
Bee Colony Optimization (BCO) دانشگاه صنعتی اصفهان زمستان 90
Bee Colony Optimization (BCO) (1) Initialization: an empty solution is assigned to each bee; (2) For each bee: (a) Set k = 1; // (count constructive moves in the forward pass) (b) Evaluate all possible constructive moves; (c) Choose one move using the roulette wheel; (d) k = k + 1; If k ≤ NC Goto step (b). (3) All bees are back to the hive; // (backward pass starts) (4) Evaluate (partial) objective function value for each bee; (5) Each bee decides randomly whether to continue its own exploration and become a recruiter, or to become a follower; (6) For each follower, choose a new solution from recruiters by the roulette wheel; (7) If solutions are not completed Goto step 2; (8) Evaluate all solution and find the best one; (9) If the stopping criteria is not met Goto step 1; (10) Output the best solution found. حرکت رو به جلو حرکت رو به عقب دانشگاه صنعتی اصفهان زمستان 90
Scheduling independent task by BCO • مسئله زمان بندی کارهای مستقل : NP-hard • N تا کار T={1,2,3,…,n} • M تا پردازنده P={1,2,3,…,m} • هدف:تخصیص کارها به پردازنده ها به گونه ای که زمان اتمام تمامی کارها کمینه باشد. دانشگاه صنعتی اصفهان زمستان 90
Scheduling independent task by BCO دانشگاه صنعتی اصفهان زمستان 90
Scheduling independent task by BCO • مرحله رو به جلو: • انتخاب یک کارتوسط هر زنبور با استفاده از چرخ رولت با احتمال زیر : • Li: مدت زمان مورد نیاز برای کارi ام • k: تعداد کارهای تخصیص نیافته توسط زنبورمورد نظر دانشگاه صنعتی اصفهان زمستان 90
Scheduling independent task by BCO • اانتخاب یک پردازنده توسط هر زنبور با استفاده از چرخ رولت با احتمال زیر : : بیشترین زمان اجرای پردازنده ها : کمترین زمان اجرای پردازنده ها :زمان اجرای پردازنده jام تاکنون دانشگاه صنعتی اصفهان زمستان 90
Scheduling independent task by BCO • محاسبه برازندگی هر جواب جزئی: • : بیشترین زمان اجرای زنبورها • : کمترین زمان اجرای زنبورها دانشگاه صنعتی اصفهان زمستان 90
Scheduling independent task by BCO • تعداد کارها=40 • تعداد پردازنده ها=4 • تعداد تکرار=100 • نرم افزار بهینه سازی ILOG,AMPL, CPLEX11.2 دانشگاه صنعتی اصفهان زمستان 90
Bee Algorithm(BA) دانشگاه صنعتی اصفهان زمستان 90
Bee Algorithm(BA) • مطرح شده توسطPham et al در سال 2006 • مخصوص مسائل بهینه سازی ترکیبی و تابعی دانشگاه صنعتی اصفهان زمستان 90
Bee Algorithm(BA) 1 مقدار دهی اولیه به n زنبور پیش آهنگ 2 محاسبه تابع ارزیابی برای هر کدام از اعضای جمعیت 3 انتخاب m مکان برای جستجوی محلی مشخص نمودن شعاع جستجو (ثابت یا متغیر با زمان) 4 جستجوی محلی فرستادن زنبورهای جدید برای مکان های انتخابی (تعداد بیشتر زنبور برای مکان های بهتر) 5 6 انتخاب بهترین زنبور از هر مکان 7 فرستادن n-m زنبور باقی مانده برای جستجوی تصادفی 8 جمعیت زنبورهای پیش آهنگ جدید دانشگاه صنعتی اصفهان زمستان 90
y x Bee Algorithm(BA) * * * * * * * * * * جمعیت اولیه زنبورهای پیش آهنگ10 دانشگاه صنعتی اصفهان زمستان 90
y x Bee Algorithm(BA) ▪ ▪ ▫ ▫ ▫ * * * * * انتخاب 5 مکان بهتر برای جستجوی محلی بهترین مکانe=2“▪” بقیه مکان ها“▫”