نحوهی کدبندی اولین گام، در شکل (۳-۲) قابل مشاهده است.

 

for each particle
initialize particle
end

شکل (۳-۲): شبه کد گام ۱
الگوریتم PSO، الگوریتمی مبتنی بر جمعیت است، بدین معنا که چندین ذره در تلاش برای یافتن نقطهی بهینهاند. گام اول تولید تصادفی جمعیت بر اساس بیشترین تعداد ذره، که به آن اندازهی جمعیت میگویند، میباشد. نوعا دامنهی ذرات بین ۲۰ تا ۴۰ است، اما برای غالب مسائل ۱۰ ذره، به اندازهی کافی نتایج معقولی ارائه میدهد. برای حل مسائل خاص و پیچیده، میتوان ۱۰۰ یا ۲۰۰ ذره تعیین کرد. الگوریتم بایستی به گونهای نوشته شود که آن ذرات را در داخل محدودهی فضای جستجو انتخاب کند. هر ذره دارای ویژگیهای زیر است:
دانلود پایان نامه - مقاله - پروژه
به منظور مقداردهی اولیه یک ذره بین دو محدوده، رابطه زیر بایستی بکار رود:
(۳-۱)
که در آن، Rand(0,1)، عدد تصادفی بین صفر و یک را نشان میدهد. bu مقدار کران بالای محدوده و bi مقدار کران پائین محدوده است. توجه کنید که اندازه جمعیت، در طول فرایند بهینه سازی تغییر نمیکند.
ارزیابی برازندگی کل اجتماع:

 

Do
for each particle
calculate fitness value
if the fitness value is better than the best fitness value in history
set current value as the new personal best
end

شکل (۳-۳): شبه کد گام ۲
هدف از مقدار برازندگی ایجاد مقدار معنیدار، قابل ارزیابی و قابل مقایسه برای یک ارزیابی کیفیست. نتیجه بهینه سازی نشان میدهد که ذره بکار گرفته شده تا چه حد خوب یا بد بوده است. بعد از ایجاد جمعیت، مقدار برازندگی بایستی به ازای هر ذره محاسبه شود. هر ذره دارای یک تناسب است که آن را مقدار «بهترین جزء» مینامند و اغلب به صورت pbest میگویند. این مقدار دارای بهترین مقدار برازندگی ذره بدست آمده تاکنون است. بعد از محاسبهی مقدار برازندگی، الگوریتم آن را با بهترین ذره مقایسه میکند. اگر برازندگی فعلی بهتر باشد، آن بهترین ذره جدیدی را ایجاد خواهد کرد.
ثبت بهترین وضعیت هر ذره، pbesti، و بهترین موقعیت کلی، gbest :

 

choose particle with best fitness value of all particle as the global best

شکل (۳-۴): شبه کد گام ۳
بهینهساز اجتماع ذرات، مقدار بهینهی کلی را دنبال میکند. مقدار بهینهی کلی در واقع بهترین برازندگی حاصل از تمامی مقادیر تاکنون است. بهینهساز، از طریق بهترین ذرات پیگیری شده و gbest برابر با بهترین gbest قرار داده میشود. از این رو، الگوریتم میداند که ذره بهترین جمعیت در هر لحظه است و تمامی ذرات قادر به حرکت آرام به سمت بهترین همسایه هستند.
به روزرسانی بردار سرعت و بردار موقعیت هر ذره:

 

for each particle
calculate particle velocity
update particle position
end

شکل (۳-۵): شبه کد گام ۴

موضوعات: بدون موضوع  لینک ثابت


فرم در حال بارگذاری ...