
الگوریتم زنبور عسل یک الگوریتم بهینه سازی است که بر اساس هوش جمعی و با استفاده از شبیه سازی رفتار دسته های زنبور عسل توسعه یافته است. در نسخه ابتدایی، این الگوریتم ترکیبی از جستجوی محلی و جستجوی تصادفی را انجام می دهد. یک کلونی از زنبورهای عسل می توانند در طول فواصل بلند و در جهات مختلف به طور هم زمان به برداشت شهد یا گرده از منابع غذایی متعدد پراکنده شوند. بخش کوچکی از این کلونی به طور مداوم محیط زیست را برای پیدا کردن تکه های گل جدید جستجو می کنند. این زنبورهای دیده بان به طور تصادفی در منطقه اطراف کندو حرکت می کنند و به ارزیابی سودآوری منابع غذایی وارد شده می پردازند. وقتی آنها به کندو باز می گردند، آن دسته از زنبورهایی که منبع غذایی بسیار سودآوری پیدا کرده اند به قسمتی از کندو رفته و رقص مخصوصی را انجام می دهند. از آن جا که طول رقص متناسب باامتیاز دیده بان از منبع غذایی است، کاوشگرهای بیشتری برای برداشت تکه های گل با بهترین امتیاز استخدام می شوند. همانطورکه بیان شد، الگوریتم زنبور عسل در حل مسائل بهینه سازی پیچیده، تاثیر به سزایی دارد. الگوریتم زنبور عسل هر نقطه را در فضای پارامتری – متشکل از پاسخهای ممکن- به عنوان منبع غذا تحت بررسی قرار میدهد. زنبورهای دیدهبان – کارگزاران شبیهسازی شده – به صورت تصادفی فضای پاسخها را ساده میکنند و به وسیله تابع شایستگی کیفیت موقعیت های بازدید شده را گزارش میدهند. جوابهای ساده شده رتبه بندی میشوند و دیگر زنبورها نیروهای تازهای هستند که فضای پاسخها را در پیرامون خود برای یافتن بالاترین رتبه محلها جستجو میکنند که گلزار نامیده میشود. الگوریتم به صورت گزینشی دیگر گلزارها را برای یافتن نقطه بیشینه تابع شایستگی جستجو میکند.