آموزش الگوریتم بهینه سازی زنبور عسل Bee Algorithm
یکی از الگوریتم های بهینه سازی بسیار توانمند در انجام بهینه سازی ها الگوریتم بهینه سازی زنبور عسل است.این الگوریتم بهینه سازی بر اساس رفتار تجمعی زنبورها ایجاد شده است. سرعت و دقت آن از الگوریتم ژنتیک بسیاربالاتر است. یکی از مبتکران الگوریتم بهینه سازی زنبور عسل نیز از هموطنان خودمان است. مزیت عمده ی این الگوریتم نسبت به اگلوریتم های مشابه مانند الگوریتم ژنتیک سرعت و دقت بالای آن است. طبق توضیحاتی که درمقاله ی اصلی این الگوریتم آمده است . این الگوریتم توانسته برای تمامی توابع معروف بهینه سازی خوب عمل کرده وبدون کوچکترین اشتباهی مقادیر بهینه توابع معروف را بدست آورد. درادامه مطلب روش بهینه سازی زنبور عسل کامل توضیح داده شده است و همچنین لینک مربوط به مقالات این روش در گوگل اسکولار نیز قرار داده شده است.
جهت داشتن سوال، مشاوره ودرخواست پروژه های صنعتی یا دانشگاهی در زمینه ی کلیه الگوریتم های بهینه سازی، مانند الگوریتم ژنتیک، زنبور عسل، ازدحام ذرات، و… و همچنین کدنویسی آنها، و یا تعریف مسئله بهینه سازی، با هر الگوریتم بهینه سازی دلخواهی می توانید از منوی بالای سایت قسمت تماس با ما، با ما ارتباط بر قرار کنید.
این الگوریتم یکی از بهترین الگوریتم هایی هست که تاکنون ارائه شده است. از این جهت که دارای انعطاف بالای در بدست آوردن توابع مختلف، چه تابع هموار با شیب بسیار کم و چه تابع با ناهمواریهای زیاد وشیب تند است. بنای این الگوریتم بر اساس زندگی جمعی زنبور عسل و پیدا کردن گلستانهای با کیفیت گل بالا و مقدار شهد زیاد برای زنبورها است. بدین صورت که زنبورها ابتدا به دنبال گلستانهایی با کیفیت بالا میگردند، پس از یافتن گلستانها اطلاعات مربوط به گلستان را به کندو آورده، سپس با توجه به اطلاعتی که زنبورها به کندو آوردهاند، تعدادی زنبور را با خود به محل گلستان وطراف آن میبرند تا نقاط بهتری را پیدا کنند، به تناسب گلستانهایی که یافت شده از نظر کیفیت و مقدار، زنبورهایی بیشتری اطراف آن را جستجو میکنند و این روند ادامه میابد، تا بهترین و بهینه ترین نقاط یافت شوند.
از این اساس و روند زندگی زنبور عسل در این الگوریتم الهام گرفته شده تا نقاط بهینه توابع یافت شوند. روند کلی این الگوریتم به صورت زیر است.
1-ایجاد جمعیت اولیه(n) یا زنبورهای پیش آهنگ به صورت اعداد رندوم یکنواخت
2-یافتن ارزش تابعی هر کدام از زنبورهای جمعیت اولیه
3-با توجه به ارزش تابع m مکان به عنوان نقاط بهتر که از میان آن e نقطه به عنوان نقاط بهترین و m-e مکان به عنوان سایر نقاط بهتر از بین مکانهایی که زنبورها یافته اند انتخاب میشود.
4-مشخص کردن کردن همسایگی این مکانها برای اعزام نقاط جدید (ngh)
5-فرستادن زنبورها به نقاط انتخاب شده، البته زنبورهای بیشتری باید برای نقاط بهترین فرستاده شود.
6-مشخص کردن ارزش تابعی زنبورها در هر همسایگی یا گلستان و اطراف آن، برای مشخص کردن زنبورهای پیش آهنگ جدید، m)) زنبور پیش اهنگ جدید.
7-فرستادن زنبورهای جدید به(n-m)نقطه باقیمانده.
8-رفتن به مرحله 2 و انجام مجدد کلیه روند تا زمانی که شرط توقف اعمال شود
عکس زیر روند این الگوریتم در مقاله ی اصلی آن را نشان میدهد.
این مقاله به صورت مجانی در گوگل اسکولار موجود است که دو لینک آن در زیر قرار داده شده است
جهت داشتن سوال، مشاوره ودرخواست پروژه های صنعتی یا دانشگاهی در زمینه ی کلیه الگوریتم های بهینه سازی، مانند الگوریتم ژنتیک، زنبور عسل، ازدحام ذرات، و… و همچنین کدنویسی آنها، و یا تعریف مسئله بهینه سازی، با هر الگوریتم بهینه سازی دلخواهی می توانید از منوی بالای سایت قسمت تماس با ما، با ارتباط بر قرار کنید.