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

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

الگوریتم ازدحام ذرات 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 گرافیکی در GUI متلب

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

  • Parabolloid
  • Griewank
  • Rastrigin
  • Rosenbrock
  • Bukin
  • Log-Sumcan
  • Ackley
  • Booth
  • Holder-Table
  • Levy
  • Michalewicz
  • Styblinski-Tang
  • Custom

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

تصویر خروجی محصول

الگوریتم PSO گرافیکی

ویدئوی معرفی محصول

درباره محصول

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

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

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

    programstore

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

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

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

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

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