سورس کد الگوریتم ازدحام ذرات PSO در متلب

الگوریتم ازدحام ذرات PSO در متلب عنوان موضوعی است که در این پست به آن پرداخته شده است. این الگوریتم با نام Particle Swarm Optimization Algorithm یا الگوریتم PSO نیز نامیده می شود. در این مجموعه سعی می کنیم تا جزئیات بهتری از سورس کد الگوریتم ازدحام ذرات PSO در متلب ارائه دهیم.

الگوریتم ازدحام ذرات در متلب

الگوریتم بهینه سازی PSO رفتارهای ازدحام پرندگان را شبیه سازی می کند. تصور کنید گروهی از پرندگان به طور تصادفی در یک منطقه در معرض غذا قرار می گیرند. در منطقه مورد جستجو تنها یک قطعه غذا وجود دارد. همه پرندگان نمی دانند کجا غذا است. اما آنها می دانند که چقدر مواد غذایی در هر تکرار است. بنابراین بهترین استراتژی برای یافتن غذا چیست؟ راه حل این است که دنبال پرنده ای که نزدیکتر به غذا است را دنبال کنید.

الگوریتم ازدحام ذرات PSO

الگوریتم PSO با گروهی از ذرات تصادفی (راه حل) آغاز می شود و سپس با به روز رسانی نسل ها جستجو می کند. در هر تکرار، هر ذره با دو ارزش “بهترین” به روزرسانی می شود. اولین مورد بهترین راه حل ( تابع تناسب ) است که تاکنون به دست آورده است. (ارزش تناسب نیز ذخیره می شود.) این ارزش pbest نامیده می شود. یکی دیگر از “بهترین ها” ارزشی است که تا کنون توسط هر ذره در جمعیت به دست آمده است. این بهترین ارزش جهانی بهترین است و به نام gbest است. هنگامی که یک ذره بخشی از جمعیت را به عنوان همسایگان توپولوژیکی خود می گیرد، بهترین ارزش بهترین محلی است و به نام lbest نامیده می شود.

پس از پیدا کردن بهترین مقادیر pbest و gbest  ذره سرعت و موقعیت خود را با معادله زیر (1) و (2) به روز می کند.

v[] = v[] + c1 * rand() * (pbest[] – present[]) + c2 * rand() * (gbest[] – present[]) (1)
present[] = persent[] + v[] (2)

که در آن v سرعت ذرات است، present ذره فعلی (راه حل) است. pbest و gbest قبلا تعریف شده اند. rand یک عدد تصادفی بین (0،1) است. C1، C2 عامل یادگیری هستند. معمولا c1 = c2 = 2 هستند.

توضیح کامل این الگوریتم را می توانید در همین سایت از مقاله ای کامل تحت عنوان الگوریتم PSO مطالعه فرمایید.

سورس کد الگوریتم ازدحام ذرات PSO در متلب

سورس کد الگوریتم PSO در Matlab شامل یک فایل با یک Script  که در واقع کد اصلی برنامه می باشد و بقیه فراخوانی ها از آنجا انجام می شود. همچنین این برنامه با 6 تابع تست ارائه شده است. توابع تست برای ارزیابی الگوریتم های بهینه سازی بکار می روند که در این سایت برای توضیحات بیشتر در مورد توابع تست الگوریتم های بهینه سازی مقاله ای آماده کردیم. توابع تست این پروژه عبارتند از :

  • تابع  SPHERE
  • تابع ACKLEY
  • تابع SUM SQUARES
  •  تابع ROSENBROCK
  • تابع SUM OF DIFFERENT POWERS
  • تابع ZAKHAROV

توابع زیادی برای تست عملکرد الگوریتم های بهینه سازی وجود دارد که در اینجا ما به این 6 تابع اکتفا کرده ایم. همچنین لازم به ذکر است که برای اجرای الگوریتم بهینه سازی روی مسئله مورد نظر تابع هزینه یا Cost Function آن تغییر خواهد کرد و بقیه الگوریتم دست نخورده باقی می ماند بنابراین برای اجرای الگوریتم PSO برای بهینه سازی مسئله خودتان تابع هزینه خود را بر اساس پارامترهای مسئله خود تعریف کنید. در ادامه قسمت هایی از سورس کد الگوریتم PSO در  Matlab آورده شده است.

درباره محصول

سورس کد سورس کد الگوریتم ازدحام ذرات PSO در متلب در محیط Matlab 2014b نوشته و اجرا شده است این سورس کد توسط تیم پشتیبانی پی استور تست و اجرا شده است. کیفیت محصول توسط پی استور تضمین می شود و محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری فرمایید به محض خرید لینک دانلود در دسترس خواهد بود.

1 دیدگاه برای سورس کد الگوریتم ازدحام ذرات PSO در متلب

  1. امتیاز 5 از 5

    programstore

    نظرات و پیشنهادات خود را با ما در میان بگذارید.

دیدگاه خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

اطلاعات فروشنده