راهنمای نگارش مقاله با موضوع جایابی بهینه خازن با هدف بهبود پروفیل ولتاژ و کمینه ... |
نحوهی کدبندی اولین گام، در شکل (۳-۲) قابل مشاهده است.
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 |
شکل (۳-۵): شبه کد گام ۴
فرم در حال بارگذاری ...
[جمعه 1400-07-30] [ 06:23:00 ب.ظ ]
|