الگوریتم اجتماع پرندگان (Particle Swarm Optimization)
ابتدا در فضای جستجوی مورد نظر تعدادی نقطه به عنوان جمعت اولیه انتخاب میشود. نقاط بر اساس فاصله اقلیدسی در دستههای مختلف قرار میگیرند.
به عنوان مثال دسته i شامل سه عامل جستجو کننده است. مقدار تابع به ازاء هر یک از عوامل موجود در فضای جستجوی محاسبه شده و در هر دسته مشخص می گردد که کدام نقطه مقدار تابع را بسته به هدف مورد نظر کمینه یا بیشینه کرده است.
به این ترتیب در هر دسته بهترین نقطه مشخص میگردد. از طرف دیگر با در دسترس بودن اطلاعات گذشته هر عامل میتوان بهترین نقطهای که تاکنون توسط آن کشف شده است را مشخص کرد. به این ترتیب اطلاعات نقطه بهینه هر دسته و هر عامل مشخص میگردند. دانش اول متناظر با نقطه بهینه سراسری در هر گروه و دانش دوم متناظر با نقطه بهینه محلی میباشد. با داشتن این اطلاعات، هر عامل در راستای بردار زیر حرکت داده ميشود.
بر اين اساس ميتوان نتيجه گرفت كه ماهيت رفتار هدفمند ذرات در روش PSO بر اساس دو اصل استوار است که اين دو اصل عبارتند از
1) دانش فردی : بر این اساس هر فرد به سمت بهترین دانش قبلی خود حرکت میکند که دانش جدیدی به دست آورد.
2) دانش اجتماعی: بر این اساس فرد بر حسب نوع ارتباط خودش با جامعه از بهترین اطلاعات دیگران برای ادامه حرکت استفاده میکند.
در اصل دوم نوع ارتباط فرد با جامعه مهم است که به توپولوژی ساختار جامعه بستگی دارد، بر این اساس برای جامعه توپولوژی های متفاوت تعریف میشود. این الگوریتم دارای مزایا و معایبی میباشد که در زیر به آن اشاره میشود.
مزایای الگوریتم
· این الگوریتم در مقایسه با سایر الگوریتمهای بهینهسازی دارای پارامترهای تنظیم کمتری میباشد.
· اجرای آن ساده است و دارای مفاهیم سادهای است.
· برای مسائل گوناگون، موثر و قابل اجراست.
· هم برای حالتهای گسسته به کار میرود و هم برای مفاهیم پیوسته.
· عملکرد اجرایی الگوریتم با رشد ابعاد فضای تحقیقاتی نیز از بین نخواهد رفت.
· الگوریتم فوق به هیچ نوع ترکیبی از اطلاعات کاربردی تابع بهینه شده نیازی ندارد و تنها از اپراتورهای ریاضی اولیه استفاده میکند.
· یک روش مرتبۀ صفر بوده و به عملیات سنگین ریاضی به مانند گرادیان احتیاج ندارد.
· روشی مبتنی بر جمعیت است.
· از مشارکت ذرات استفاده میکند.