3 . PowerPoint - Dr. Abdolreza Mirzaei

Download Report

Transcript 3 . PowerPoint - Dr. Abdolreza Mirzaei

‫به نام خدا‬
‫الگوریتم زنبور عسل‬
‫مائده جمالی‬
‫نعیمه منصوری‬
‫مریم مختاری‬
‫استاد درس ‪ :‬جناب آقای دکتر میرزایی‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫عنوان مطالب‬
‫‪ ‬مقدمه‬
‫‪ ‬الگوریتم زنبور عسل مصنوعی‬
‫‪ ‬الگوریتم زنبور عسل مصنوعی همیاری‬
‫‪ ‬الگوریتم زنبور عسل مصنوعی موازی‬
‫‪ ‬بهینه سازی کلونی زنبور عسل‬
‫‪ ‬الگوریتم زنبور عسل‬
‫‪ ‬الگوریتم کاوش زنبور عسل‬
‫‪ ‬الگوریتم بهینه سازی جمعی زنبور عسل‬
‫‪ ‬الگوریتم بهینه یابی جفت گیری زنبور عسل‬
‫‪ ‬الگوریتم بهینه یابی جفت گیری سریع زنبور عسل‬
‫‪ ‬الگوریتم بهینه یابی جفت گیری سریع تغییر یافته زنبور عسل‬
‫‪ ‬نتیجه گیری‬
‫‪ ‬مراجع‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪2‬‬
‫مقدمه‬
‫‪‬استفاده از هوش جمعی در حل مسائل‬
‫• کلونی مورچه ها‪،‬کلونی زنبور عسل‪ ،‬موریانه ها‪ ،‬سوسک ها و ‪...‬‬
‫‪‬ویژگی های هوش جمعی‬
‫• خود سازمانده‬
‫• تقسیم کار‬
‫‪‬ایده گرفتن از رفتار زنبور ها در حل مسائل‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪3‬‬
‫ادامه‪...‬‬
‫‪‬وجود ویژگی های هوش جمعی در زنبورها‬
‫• خودسازمانده‬
‫• دنبال کردن منابع غذایی بهتر توسط زنبور های بیشتر‬
‫‪ ‬ترک منبع غذایی متروک شده‬
‫‪ ‬جستجوی منبع غذای بهتر‬
‫‪‬تقسیم کار‬
‫• زنبور های ‪ 1‬تا ‪ 10‬روزه‬
‫• زنبورهای ‪ 10‬تا ‪ 20‬روزه‬
‫• زنبور های نزدیک به اواخر عمر‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪4‬‬
‫‪‬استفاده از رقص برای به اشتراک گذاشتن اطالعات با دیگر‬
‫زنبورها‬
‫• مشخص کردن جهت‪ ،‬فاصله‪ ،‬کیفیت و کمیت منبع یافت شده‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪5‬‬
‫رفتار جمعی زنبور عسل‬
‫‪‬منابع غذا‬
‫•‬
‫•‬
‫•‬
‫کیفیت منبع غذا‬
‫آسانی دستیابی‬
‫فاصله از کندو‬
‫•‬
‫•‬
‫مسئول منبع غذای مربوط به خود‬
‫جمع آوری اطالعات مربوط به منبع و به اشتراک گذاشتن اطالعات‬
‫•‬
‫•‬
‫تماشاچی‬
‫پیش آهنگ‬
‫‪‬زنبور های کارگر‬
‫‪‬زنبور های غیر کارگر‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪6‬‬
‫‪‬رقص مدور‬
‫‪‬رقص فرفره ای‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪7‬‬
‫‪‬محل رقص‬
‫• تبادل اطالعات‬
‫• مشاهده تعداد بیشماری رقص‬
‫• تصمیم گیری در مورد انتخاب منبع متناسب با احتمال آن توسط‬
‫زنبور تماشاچی‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪8‬‬
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
9
90 ‫دانشگاه صنعتی اصفهان زمستان‬
‫‪Artificial Bee Colony‬‬
‫)‪(ABC‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪10‬‬
‫الگوریتم زنبور عسل مصنوعی‬
‫‪‬ارائه شده توسط ‪karaboga‬در سال ‪2005‬‬
‫‪‬مبتنی بر رفتار کاوشی زنبور عسل در یافتن منابع غذایی‬
‫‪‬مناسب برای حل مسائل بهینه سازی چند حالته و چند بعدی‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪11‬‬
‫‪‬جزئیات الگورتیم‬
‫•‬
‫•‬
‫•‬
‫•‬
‫مکان منبع غذا به عنوان راه حلی از مساله ی بهینه سازی‬
‫تساوی زنبور های کارگر و تماشاچی با تعداد راه حل ها‬
‫مدل شدن میزان شهد در دنیای واقعی با برازندگی راه حل‬
‫تبدیل شدن زنبور کارگر به پیش آهنگ در صورت منقضی شدن‬
‫منبع‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪12‬‬
‫‪‬انتخاب یک منبع توسط زنبور تماشاچی بر اساس احتمال انتسابی به آن‬
‫منبع‪:‬‬
‫𝑖𝑡𝑖𝑓‬
‫𝑡𝑖𝑓 𝑁𝑆‬
‫𝑛‬
‫‪𝑛=1‬‬
‫= 𝑖𝑝‬
‫به طوری که‬
‫‪𝑓𝑖 ≤ 0‬‬
‫‪1‬‬
‫‪|𝑓𝑖 |+1‬‬
‫= 𝑖𝑡𝑖𝑓‬
‫𝑤‪1 + 𝑓𝑖 𝑜.‬‬
‫‪‬محاسبه ی منبع جدید با استفاده از رابطه ی زیر‪:‬‬
‫) 𝒋𝒌𝒙 ‪𝒗𝒊𝒋 = 𝒙𝒊𝒋 +ф𝒊𝒋 (𝒙𝒊𝒋 -‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪13‬‬
‫‪‬جایگزینی منبع متروک شده با یک منبع جدید‬
‫‪‬مدل سازی ویژگی فوق با عدم بهبود راه حل پس از تعداد‬
‫مشخصی تکرار( ‪) SN × D‬‬
‫‪‬جستجوی منبع جدید توسط زنبور پیش آهنگ از طریق معادله ی‬
‫زیر‪:‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪14‬‬
‫‪‬فرآیند های انتخاب در الگوریتم زنبور عسل مصنوعی‬
‫•‬
‫•‬
‫•‬
‫•‬
‫فرآیند انتخاب سراسری‬
‫فرآیند انتخاب محلی توسط زنبور های کارگر‬
‫فرآیند انتخاب محلی توسط زنبورهای تماشاچی‬
‫فرآیند انتخاب تصادفی توسط زنبور پیش آهنگ‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪15‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪16‬‬
‫‪‬مقایسه ی عملکرد الگوریتم با سایر الگوریتم ها‪:‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪17‬‬
Corporate Artificial Bee Colony
(CABC)
18
90 ‫دانشگاه صنعتی اصفهان زمستان‬
‫الگوریتم زنبور عسل مصنوعی همیاری‬
‫‪‬نسخه ی توسعه یافته از الگوریتم ‪ABC‬‬
‫‪‬عملکرد نامناسب الگوریتم ‪ABC‬با افزایش ابعاد فضای جستجو‬
‫‪‬کارایی بهتر از لحاظ دقت و سرعت همگرایی‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪19‬‬
‫الگوریتم زنبور عسل مصنوعی همیاری‬
‫‪‬مالک انتخاب در ‪ABC‬میزان شایستگی منبع‬
‫‪‬عدم توجه به تاثیر ابعاد در ‪ABC‬‬
‫‪‬دخالت دادن کلیه اشخاص در جواب نهایی‬
‫‪‬ارائه یک بردار راه حل شامل بهترین بعد کل جمعیت‬
‫‪‬عدم تاثیر این بردار بر روی جواب های یافت شده توسط زنبور‬
‫های کارگر وتماشاچی‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪20‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪21‬‬
‫مقایسه ی کارایی‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪22‬‬
Parallel Artificial Bee Colony
(PABC)
23
90 ‫دانشگاه صنعتی اصفهان زمستان‬
‫الگوریتم زنبور عسل مصنوعی موازی‬
‫‪ ‬پیاده سازی الگوریتم زنبور عسل مصنوعی به صورت موازی‬
‫‪‬عدم تاثیر گذاری بر روی جواب نهایی الگوریتم‬
‫‪‬افزایش سرعت پاسخ گویی‬
‫‪‬توزیع زنبور ها روی پروسسور های مختلف و بهبود راه حل های‬
‫پیشنهادی به صورت مستقل‬
‫• جستجوی همسایگی‬
‫• محاسبه ی احتمال‬
‫استفاده از یک حافظه ی اشتراکی‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪24‬‬
‫‪‬استفاده از حافظه ی اشتراکی‬
‫• تقسیم زنبور ها(راه حل ها) بین پردازنده های موجود‬
‫‪ ‬وجود تعدادی راه حل در حافظه ی محلی هر پردازنده‬
‫‪ ‬وجود یک کپی از راه حل در حافظه ی اشتراکی‬
‫‪ ‬بهبود راه حل های موجود در حافظه ی محلی در هر اجرای حلقه‬
‫‪ ‬جایگزینی جواب حاصل با جواب موجود در حافظه ی اشتراکی در انتهای‬
‫حلقه‬
‫• تعداد پردازنده ها = ‪p‬‬
‫• تعداد راه حل های مربوط به هر پردازنده= 𝑝𝑁𝑆‬
‫𝑁𝑆‬
‫= 𝑝𝑁𝑆‬
‫𝑝‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪25‬‬
‫‪‬بهبود راه حل موجود در حافظه محلی با انتخاب تصادفی یک راه‬
‫حل از حافظه ی اشتراکی در جستجو ی همسایگی‬
‫‪‬محاسبه احتمال برای زنبور های تماشاچی در حافظه ی محلی ‪:‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪26‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪27‬‬
‫‪‬مقایسه ی کارایی‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪28‬‬
‫عنوان مطالب‬
‫‪ ‬مقدمه‬
‫‪ ‬الگوریتم زنبور عسل مصنوعی‬
‫‪ ‬الگوریتم زنبور عسل مصنوعی همیاری‬
‫‪ ‬الگوریتم زنبور عسل مصنوعی موازی‬
‫‪ ‬بهینه سازی کلونی زنبور عسل‬
‫‪ ‬الگوریتم زنبور عسل‬
‫‪ ‬الگوریتم کاوش زنبور عسل‬
‫‪ ‬الگوریتم بهینه سازی جمعی زنبور عسل‬
‫‪ ‬الگوریتم بهینه یابی جفت گیری زنبور عسل‬
‫‪ ‬الگوریتم بهینه یابی جفت گیری سریع زنبور عسل‬
‫‪ ‬الگوریتم بهینه یابی جفت گیری سریع تغییر یافته زنبور عسل‬
‫‪ ‬نتیجه گیری‬
‫‪ ‬مراجع‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪29‬‬
Bee Colony Optimization (BCO)
30
90 ‫دانشگاه صنعتی اصفهان زمستان‬
‫)‪Bee Colony Optimization (BCO‬‬
‫‪‬مطرح شده توسط ‪Tedorovic‬و ‪ dellorce‬در سال‬
‫‪2005‬‬
‫‪‬برای حل مسائل بهینه سازی قطعی‬
‫‪‬مراحل اصلی الگوریتم‪:‬‬
‫‪‬حرکت رو به جلو‬
‫‪‬حرکت رو به عقب‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪31‬‬
‫)‪Bee Colony Optimization (BCO‬‬
‫مرحله رو به جلو‬
‫مشاهده ‪NC‬جز از جواب‬
‫تکمیل جواب جزئی‬
‫بازگشت به کندو‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪32‬‬
Bee Colony Optimization (BCO)
33
90 ‫دانشگاه صنعتی اصفهان زمستان‬
‫)‪Bee Colony Optimization (BCO‬‬
‫مرحله رو به عقب‬
‫ارزیابی جواب ها‬
‫تصمیم گیری بر روی وفاداری‬
‫انتخاب زنبور برای تعقیب‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪34‬‬
Bee Colony Optimization (BCO)
35
90 ‫دانشگاه صنعتی اصفهان زمستان‬
‫)‪Bee Colony Optimization (BCO‬‬
‫‪‬احتمال وفاداری به جواب یافته شده‪:‬‬
‫جواب یافته شده توسط زنبور‪b‬‬
‫جواب بهینه‬
‫دفعات حرکت رو به جلو‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪36‬‬
‫)‪Bee Colony Optimization (BCO‬‬
‫‪‬احتمال دنبال کردن هر زنبور‪:‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪37‬‬
Bee Colony Optimization (BCO)
38
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.
39
90 ‫دانشگاه صنعتی اصفهان زمستان‬
‫‪Scheduling independent task by BCO‬‬
‫‪ ‬مسئله زمان بندی کارهای مستقل ‪NP-hard :‬‬
‫‪ N‬تا کار‬
‫}‪T={1,2,3,…,n‬‬
‫‪ M‬تا پردازنده‬
‫}‪P={1,2,3,…,m‬‬
‫‪‬هدف‪:‬تخصیص کارها به پردازنده ها به گونه ای که زمان اتمام تمامی‬
‫کارها کمینه باشد‪.‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪40‬‬
Scheduling independent task by BCO
41
90 ‫دانشگاه صنعتی اصفهان زمستان‬
‫‪Scheduling independent task by BCO‬‬
‫‪‬مرحله رو به جلو‪:‬‬
‫‪‬انتخاب یک کارتوسط هر زنبور با استفاده از چرخ رولت با احتمال‬
‫زیر ‪:‬‬
‫‪ :Li‬مدت زمان مورد نیاز برای کار‪ i‬ام‬
‫‪ :k‬تعداد کارهای تخصیص نیافته توسط زنبور مورد نظر‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪42‬‬
‫‪Scheduling independent task by BCO‬‬
‫‪ ‬اانتخاب یک پردازنده توسط هر زنبور با استفاده از چرخ رولت با احتمال زیر ‪:‬‬
‫𝑓𝑥𝑎𝑚 ‪ :‬بیشترین زمان اجرای پردازنده ها‬
‫𝑓𝑛𝑖𝑚 ‪ :‬کمترین زمان اجرای پردازنده ها‬
‫𝑗𝑓 ‪:‬زمان اجرای پردازنده‪ j‬ام تاکنون‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪43‬‬
‫‪Scheduling independent task by BCO‬‬
‫‪‬محاسبه برازندگی هر جواب جزئی‪:‬‬
‫𝐵 ‪𝑏 = 1,2, … ,‬‬
‫‪‬‬
‫‪‬‬
‫𝑏𝐶 ‪𝐶𝑚𝑎𝑥 −‬‬
‫= 𝑏𝑂‬
‫𝑛𝑖𝑚𝐶 ‪𝐶𝑚𝑎𝑥 −‬‬
‫𝑥𝑎𝑚𝐶 ‪ :‬بیشترین زمان اجرای زنبورها‬
‫𝑛𝑖𝑚𝐶 ‪ :‬کمترین زمان اجرای زنبورها‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪44‬‬
‫‪Scheduling independent task by BCO‬‬
‫‪‬تعداد کارها=‪40‬‬
‫‪‬تعداد پردازنده ها=‪4‬‬
‫‪‬تعداد تکرار=‪100‬‬
‫‪‬نرم افزار بهینه سازی‬
‫‪ILOG,AMPL,‬‬
‫‪CPLEX11.2‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪45‬‬
‫)‪Bee Algorithm(BA‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪46‬‬
‫)‪Bee Algorithm(BA‬‬
‫‪‬مطرح شده توسط‪ Pham et al‬در سال ‪2006‬‬
‫‪‬مخصوص مسائل بهینه سازی ترکیبی و تابعی‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪47‬‬
‫)‪Bee Algorithm(BA‬‬
‫‪2‬‬
‫محاسبه تابع ارزیابی برای هر کدام از اعضای جمعیت‬
‫‪3‬‬
‫انتخاب ‪ m‬مکان برای جستجوی محلی‬
‫‪4‬‬
‫مشخص نمودن شعاع جستجو‬
‫(ثابت یا متغیر با زمان)‬
‫‪5‬‬
‫فرستادن زنبورهای جدید برای مکان های انتخابی‬
‫‪6‬‬
‫انتخاب بهترین زنبور از هر مکان‬
‫(تعداد بیشتر زنبور برای مکان های بهتر)‬
‫جستجوی محلی‬
‫‪1‬‬
‫مقدار دهی اولیه به ‪ n‬زنبور پیش آهنگ‬
‫فرستادن ‪ n-m‬زنبور باقی مانده برای جستجوی تصادفی‬
‫‪7‬‬
‫‪8‬‬
‫جمعیت زنبورهای پیش آهنگ جدید‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪48‬‬
‫)‪Bee Algorithm(BA‬‬
‫‪y‬‬
‫*‬
‫*‬
‫*‬
‫*‬
‫*‬
‫*‬
‫*‬
‫*‬
‫*‬
‫*‬
‫‪x‬‬
‫جمعیت اولیه زنبورهای پیش آهنگ ‪10‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪49‬‬
‫)‪Bee Algorithm(BA‬‬
‫‪y‬‬
‫▪‬
‫▪‬
‫▫‬
‫▫‬
‫▫‬
‫*‬
‫*‬
‫*‬
‫*‬
‫*‬
‫‪x‬‬
‫انتخاب ‪ 5‬مکان بهتر برای جستجوی محلی‬
‫بهترین مکان‪“▪” e=2‬‬
‫بقیه مکان ها”▫“‬
‫‪50‬‬
‫)‪Bee Algorithm(BA‬‬
‫‪y‬‬
‫▪‬
‫▪‬
‫▫‬
‫▫‬
‫▫‬
‫‪x‬‬
‫مشخص کردن شعاع جستجو‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪51‬‬
‫)‪Bee Algorithm(BA‬‬
‫‪Hive‬‬
‫**‬
‫**‬
‫‪y‬‬
‫**‬
‫**‬
‫*‬
‫▪‬
‫*‬
‫*‬
‫▫‬
‫*‬
‫▫‬
‫*‬
‫*‬
‫*‬
‫*‬
‫*‬
‫*‬
‫▪‬
‫*‬
‫▫‬
‫*‬
‫‪x‬‬
‫فرستادن زنبورهای بیشتر برای مکان های انتخابی‬
‫(بیشترین زنبورها برای دو مکان بهتر)‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪52‬‬
‫)‪Bee Algorithm(BA‬‬
‫‪y‬‬
‫**‬
‫*‬
‫*‬
‫▪‬
‫*‬
‫*‬
‫▫‬
‫*‬
‫▫‬
‫*‬
‫*‬
‫*‬
‫*‬
‫*‬
‫*‬
‫▪‬
‫▫‬
‫*‬
‫‪x‬‬
‫انتخاب بهترین زنبور از هر مکان ” * “‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪53‬‬
‫)‪Bee Algorithm(BA‬‬
‫‪y‬‬
‫‪o‬‬
‫*‬
‫*‬
‫*‬
‫‪o‬‬
‫*‬
‫*‬
‫‪o‬‬
‫‪o‬‬
‫‪o‬‬
‫‪x‬‬
‫تخصیص‪ n-m‬زنبور باقی مانده به جستجوی تصادفی‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪54‬‬
‫)‪Bee Algorithm(BA‬‬
‫‪y‬‬
‫*‬
‫*‬
‫*‬
‫*‬
‫*‬
‫‪x‬‬
‫یافتن بهترین جواب‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪55‬‬
‫)‪Bee Algorithm(BA‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪56‬‬
‫)‪Bee Algorithm(BA‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪57‬‬
‫)‪Bee Foraging Algorithm(BFA‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪58‬‬
‫)‪Bee Foraging Algorithm(BFA‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪59‬‬
‫)‪Bee Foraging Algorithm(BFA‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪60‬‬
‫)‪Bee Swarm Optimization(BSO‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪61‬‬
‫)‪Bee Swarm Optimization(BSO‬‬
‫‪‬مطرح شده توسط‪ Drias et al‬در سال ‪2006‬‬
‫‪ 3‬دسته زنبور‪:‬‬
‫‪‬زنبورهای پیش آهنگ 𝜈‬
‫‪‬زنبورهای تماشاچی𝜅‬
‫‪‬زنبورهای جستجوگر 𝜁‬
‫𝜈∪𝜅∪𝜁=‪β‬‬
‫)‪n(κ)=n(ζ‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪62‬‬
‫)‪Bee Swarm Optimization(BSO‬‬
‫‪‬موقعیت هر زنبور‪:‬‬
‫)) 𝐷𝑖 ‪β,i =(x(β,𝑖1 ), 𝑥 𝛽, 𝑖2 , … . , 𝑥(𝛽,‬‬
‫‪‬با برازندگی‪:‬‬
‫) 𝑖 ‪𝑓𝑖𝑡(𝑥 𝛽,‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪63‬‬
‫)‪Bee Swarm Optimization(BSO‬‬
‫‪‬پارامترهای مسئله‪:‬‬
‫‪‬تعداد کل زنبورها‬
‫‪‬تعداد زنبورهای پیش آهنگ‬
‫‪‬تعداد دفعات تکرار الگوریتم‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪64‬‬
‫)‪Bee Swarm Optimization(BSO‬‬
‫‪‬مراحل الگوریتم‪:‬‬
‫‪‬مقداردهی اولیه‬
‫‪‬محاسبه برازندگی‬
‫‪‬مرتب سازی‬
‫‪‬مشخص نمودن تعداد انواع زنبورها‬
‫بدترین ها ‪ :‬پیش آهنگ‬
‫بهترین ها‪ :‬جستجوگر‬
‫‪‬برای هر زنبور جستجوگر بهترین جواب یافته شده توسط آنها را‬
‫نگه داری کن‪.‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪65‬‬
‫)‪Bee Swarm Optimization(BSO‬‬
‫‪‬بهترین جواب یافته شده توسط زنبورهای جستجوگر را ذخیره‬
‫کن‪.‬‬
‫‪‬مکان هر زنبور جستجوگر را طبق معادله زیر به روز کن‪:‬‬
‫عدد تصادفی بین ‪0‬و‪1‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫وزن‬
‫‪66‬‬
‫)‪Bee Swarm Optimization(BSO‬‬
‫‪‬برای هر زنبور تماشاچی انجام بده‪:‬‬
‫‪‬یک زنبور جستجوگر با احتمال زیر با استفاده از چرخ رولت انتخاب کن‪:‬‬
‫) 𝑗 ‪𝑓𝑖𝑡(𝑥 𝜁,‬‬
‫) 𝑐 ‪𝜁,‬‬
‫)𝜁(𝑛‬
‫𝑥(𝑡𝑖𝑓 ‪𝑐=1‬‬
‫= 𝑗𝑝‬
‫‪‬مکان زنبور تماشاچی را با توجه به فرمول زیر به روز رسانی کن‪:‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪67‬‬
‫)‪Bee Swarm Optimization(BSO‬‬
‫‪‬مکان هر زنبور پیش آهنگ را طبق معادله زیر تغییر بده‪:‬‬
‫) 𝑖 ‪𝑥𝑛𝑒𝑤 𝜈, 𝑖 = 𝑥𝑜𝑙𝑑 𝜈, 𝑖 + 𝑅𝑤(𝜏, 𝑥𝑜𝑙𝑑 𝜈,‬‬
‫| 𝑛𝑖𝑚𝑥 ‪τ = |𝑥𝑚𝑎𝑥 −‬‬
‫تابع حرکت تصادفی‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪68‬‬
‫)‪Bee Swarm Optimization(BSO‬‬
‫‪BSO ‬‬
‫‪‬درصد زنبورهای پیش آهنگ‪%4:‬‬
‫‪‬درصد زنبورهای تماشاچی=درصد زنبورهای جستجوگر=‪%48‬‬
‫‪ABC ‬‬
‫‪‬تعداد زنبورهای پیش آهنگ‪1:‬‬
‫‪‬درصد زنبورهای تماشاچی=درصد زنبورهای جستجوگر=‪%50‬‬
‫‪BFA ‬‬
‫‪‬طول پرواز=‪11‬‬
‫‪‬حد آستانه=‪0.8‬‬
‫‪ ‬شرط خاتمه مقدار خطا کمتر از‪0.0001‬‬
‫‪ ‬تعداد دفعات انجام آزمایش‪100:‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪69‬‬
‫)‪Bee Swarm Optimization(BSO‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪70‬‬
‫عنوان مطالب‬
‫‪ ‬مقدمه‬
‫‪ ‬الگوریتم زنبور عسل مصنوعی‬
‫‪ ‬الگوریتم زنبور عسل مصنوعی همیاری‬
‫‪ ‬الگوریتم زنبور عسل مصنوعی موازی‬
‫‪ ‬بهینه سازی کلونی زنبور عسل‬
‫‪ ‬الگوریتم زنبور عسل‬
‫‪ ‬الگوریتم کاوش زنبور عسل‬
‫‪ ‬الگوریتم بهینه سازی جمعی زنبور عسل‬
‫‪ ‬الگوریتم بهینه یابی جفت گیری زنبور عسل‬
‫‪ ‬الگوریتم بهینه یابی جفت گیری سریع زنبور عسل‬
‫‪ ‬الگوریتم بهینه یابی جفت گیری سریع تغییر یافته زنبور عسل‬
‫‪ ‬نتیجه گیری‬
‫‪ ‬مراجع‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪71‬‬
Marriage in Honey-Bees
Optimization (MBO)
72
90 ‫دانشگاه صنعتی اصفهان زمستان‬
‫مدلسازی جفت گیری زنبور های عسل‬
‫‪ ‬ملکه‬
‫‪ ‬زنبورهای نر‬
‫‪ ‬بچه زنبور ها‬
‫‪ ‬زنبور های کارگر‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪73‬‬
‫مدلسازی جفت گیری زنبورهای عسل‬
‫‪ ‬زنبور های کارگر‬
‫توابع هیوریستیک ( ‪WalkSat , Random Walk‬‬
‫‪)…,Random Flip‬‬
‫‪‬احتمال جفت گیری موفق زنبور های نر‬
‫‪ : S(t) ‬سرعت ملکه در لحظه ی ‪t‬‬
‫‪‬‬
‫‪ ‬پس از هر جابه جایی ملکه در فضا ‪:‬‬
‫‪‬‬
‫‪ :‬مقدار کاهش انرژی ملکه در هر انتقال ‪،‬‬
‫متعلق به بازه ی ]‪[0,1‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪74‬‬
‫بازترکیب هاپلوئید‬
‫‪ ‬زنبور های نر تک جنسی اند و نیمی از ژن ها را ندارند ‪:‬‬
‫‪Unmarked jen‬‬
‫‪Marked jen‬‬
‫ژن های نشاندار در کروموزوم زنبور نر وجود ندارند پس ژن های زنبور نر به صورت زیر است‪:‬‬
‫اگر رشته ی زیر نشان دهنده ی ژن های ملکه باشد‪:‬‬
‫آنگاه فرزند حاصل از بازترکیب هاپلوئید به این صورت است ‪:‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪75‬‬
‫‪A BEE COLONY OPTIMIZATION ALGORITHM TO JOB‬‬
‫‪SHOP‬‬
‫‪SCHEDULING‬‬
‫آغاز پرواز جفت گیری‬
‫به روز رسانی مقادیر سرعت و انرژی ملکه‬
‫پایان پرواز و بازگشت به کندو‬
‫ایجاد فرزند‬
‫به روز رسانی برازندگی‬
‫کارگرها‬
‫‪3‬‬
‫دانشگاه صنعتی اصفهان‬
‫‪Fall 2010‬‬
‫زمستان ‪90‬‬
‫‪Isfahan University of Technology‬‬
‫‪76‬‬
‫مقایسه کارایی الگوریتم ‪GA , MBO‬‬
‫‪ ‬مثال ‪ :‬تابع اکلی‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪77‬‬
‫تغییرات مقدار تابع هدف در طول پروازهای جفت گیری برای‬
‫تابع اکلی‬
‫جواب حاصل از الگورتیم ژنیتک ‪-0.005456 :‬‬
‫جواب حاصل از ‪ 0.1 ، MBO‬درصد کمتر از جواب الگوریتم ژنتیک‬
‫همگرایی سریع به جواب بهینه‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪78‬‬
Fast Marriage in Honey Bees
Optimization (FMBO)
79
90 ‫دانشگاه صنعتی اصفهان زمستان‬
‫‪Fast Marriage Bees Optimization (FMBO) Algorithm‬‬
‫‪ ‬کاهش پیچ یدگی محا سبات و ا فزایش سرعت ال گوریتم ‪ MBO‬با‬
‫حذف چ ندین پارامتر ( پارامتر های سرعت ‪ ،‬ا نرژی ‪ ،‬حذف شرط‬
‫احتماالتی برای جفت گیری )‬
‫‪‬جلوگیری از به دام افتادن در بهینه محلی با تولید تصادفی زنبور نر در‬
‫هر مرحله‬
‫الگوریتم ‪FMBO‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪80‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪81‬‬
‫مقایسه کارایی الگوریتم ‪ FMBO‬با الگوریتم های ‪ GA‬و ‪MBO‬‬
‫‪ ‬مثال ‪ : 1‬مسئله ‪ Rosenbrock‬تعمیم یافته‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪82‬‬
‫مقایسه کارایی الگوریتم ‪ FMBO‬با الگوریتم های ‪ GA‬و ‪MBO‬‬
‫‪ ‬مثال ‪ : 2‬مسئله ‪Rastrigin‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪83‬‬
Modified Fast Marriage Honey Bees Optimization
(MFMBO)
84
90 ‫دانشگاه صنعتی اصفهان زمستان‬
‫‪Modified Fast Marriage Bees Optimization‬‬
‫‪(MFMBO) Algorithm‬‬
‫‪ ‬در ال گوریتم ‪ FMBO‬پس از تول ید هر فرز ند ‪ ،‬لی ست مل که ها به روز می شود‬
‫(جایگزینی بدترین ملکه با بهترین فرزند)‬
‫‪ ‬با این جایگزینی احتمال ناقص ماندن چرخه ی پردازش برای ملکه جاری وجود دارد در ضمن‬
‫ممکن است بعضی از ملکه ها بدون پردازش رد شوند‪.‬‬
‫‪ ‬در کل این جایگزینی باعث کاهش کارایی الگوریتم ‪ FMBO‬می شود‪.‬‬
‫راه حل پیشنهادی ‪ :‬الگوریتم ‪MFMBO‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪85‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪86‬‬
‫مقایسه کارایی الگوریتم ‪ MFMBO‬با الگوریتم های ‪FMBO , ABC‬‬
‫‪ ‬تنظیم پارامترها‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪87‬‬
‫مقایسه کارایی الگوریتم ‪ MFMBO‬با الگوریتم های ‪FMBO , ABC‬‬
‫‪ ‬مثال ‪ : 1‬تابع ‪Sphere‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪88‬‬
‫مقایسه کارایی الگوریتم ‪ MFMBO‬با الگوریتم های ‪FMBO , ABC‬‬
‫‪ ‬مثال ‪ : 2‬تابع ‪Schwefel‬‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪89‬‬
‫خالصه‬
‫الگوریتم زنبور عسل مصنوعی‬
‫الگوریتم زنبور عسل مصنوعی همیاری‬
‫الگوریتم زنبور عسل مصنوعی موازی‬
‫بهینه سازی کلونی زنبور عسل‬
‫الگوریتم زنبور عسل‬
‫الگوریتم کاوش زنبور عسل‬
‫الگوریتم بهینه سازی جمعی زنبور عسل‬
‫‪ ‬الگوریتم های مبتنی بر غذا یابی زنبور های عسل‬
‫‪ ‬الگوریتم های مبتنی بر جفت گیری زنبورهای عسل‬
‫الگوریتم بهینه یابی جفت گیری زنبور عسل‬
‫الگوریتم بهینه یابی جفت گیری سریع زنبور عسل‬
‫الگوریتم بهینه یابی جفت گیری سریع تغییر یافته زنبور‬
‫عسل‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪90‬‬
‫مراجع‬
 Artificial Bee Colony (ABC) Optimization Algorithm for Solving Constrained
Optimization Problems by Dervis Karaboga and Bahriye Basturk
 A Clustering Approach Using Cooperative Artificial Bee Colony Algorithm by
Wenping Zou, Yunlong Zhu, Hanning Chen and Xin Sui
 DUˇSAN TEODOROVI´C TATJANA DAVIDOVI´C and MILICA ˇSELMI´C, ” Bee
Colony Optimization: The Applications Survey”, ACM Transactions on
Computational Logic,2011.
 D.T. Pham, A. Ghanbarzadeh, E. Koç, S. Otri , S. Rahim , M. Zaidi, “The Bees
Algorithm – A Novel Tool for Complex Optimisation problem ”, IPROMS 2006
Proceeding 2nd international virtual conference on intelligent production machine
and systems,Oxford,2006
 Dr. K.Sundareswaran , V.T. Sreedevi ,” Development of Novel Optimization
Procedure Based on Honey Bee Foraging Behavior ”, IEEE 2008
 Reza Akbari, Alireza Mohammadi, and Koorush Ziarati ,” A Powerful Bee Swarm
Optimization Algorithm ”, IEEE 2009
 Salim Bitam , Mohamed Batouche , El-ghazali Talbi2,” A Survey On Bee Colony
Algorithms ”, IEEE 2010
91
90 ‫دانشگاه صنعتی اصفهان زمستان‬
‫مراجع‬
 M.Salim, M.T Vakil-Baghmisheh,” A Modified Fast Marriage in Honey
Bee Optimization Algorithm”, 2010 5th International Symposium on
Telecommunications (IST'2010)
 C.Yang, J.Chen, X.Tu,” Algorithm of Fast Marriage in Honey Bees
Optimization and Convergence Analysis ”, Proceedings of the IEEE
International Conference on Automation and Logistics, August 18 - 21,
2007, Jinan, China
 A.Afshar,O.Bozorg Hadad,”MBO(Marriage Bees Optimization)
Algorithm A New Heuristic Approach in Hydrosystems Design and
Operation”,International Conference on Managing Rivers in the 21
Century: Issues & Challenges.
92
90 ‫دانشگاه صنعتی اصفهان زمستان‬
‫با تشکر از توجه شما‬
‫دانشگاه صنعتی اصفهان زمستان ‪90‬‬
‫‪93‬‬