سوال در مورد الگوریتم pso
همونطور که می دونید در pso بردارحرکت به صورت زیر محاسبه می شه :
vt=(vt-pbest)A+(vt-gbest)B
من خیلی از مقالات زبان اصلی رو مطالعه کردم ولی هنوز نتونستم جوابم رو بگیرم
سوالم اینه که می گن ضریب الفا و بتا (یا A,B ) باید بین 1.5 تا 2.5 باشه و اگه بالاتر یا پایین تر بره بهینه نیست و تا حالا هم کسی جوابی قانع کننده به من نداده .
چرا بین 1.5 تا 2.5 بیشتر هم می گن عدد 2 خیلی عالی هست و عدد 1 کارامد نیست البته جوابو بدست میاره و لی بهینه بهینه نیست
از دوستان خواهش می کنم اگه اطلاعاتی در این زمینه دارن بهم کمک کنن ، چون واقعا توش موندم ؟
با تشکر
نقل قول: سوال در مورد الگوریتم pso
تا اونجا که من میدونم این پارامترها بستگی به نوع برنامه دارند و هیچ موقع نمی تونی بگی کدوم عدد بهینه ی بهینست.از تجربه های قبلی و عددایی که پیشنهاد میشه استفاده کن.کتاب Swarm intelligence مال Eberhart اینجوری گفته :چشمک:
نقل قول: سوال در مورد الگوریتم pso
سلام،
دقيقاً اين ضرايب بستگي به نوع مسئله شما دارد و شما به عنوان کسي که از مسئله آگاه هست تصميم ميگيريد که اين ضرايب چه مقداري داشته باشند. حتي ميتونند متغير هم باشند و بسته به شرايط زماني و مکاني ذرات تغيير کنند.
مثلاً اگر ضريب الفا رو بيشتر از بتا درنظر بگيريد، ذرات (پرندگان) شبيه الگوريتم Hill Climbing عمل مي کنند. و يا اگر ضريب بتا را که با تجربه جمعي ذرات در ارتباط هست بيش از حد افزايش بديد ممکن هست دچار همگرايي زودرس بشيد.
کلاً اين ضرايب دست خودتون هستند هرطور که بخوايد مقداردهي شون ميکنيد. مثلاً فرض کنيد ذرات بعد از مدتي به حالت بهينه محلي برسند که مدنظر ما نيست، در اينجا ميتونيد ضريب آلفا رو افزايش بديد تا شايد ذرات بتوانند با توجه به تجربه شخصي خودشان از موقعيت بهينه محلي فاصله گرفته و ساير ذرات رو به دنبال خودشان بکشانند. البته معمولاً براي فرار از اين موقعيت يک مرحله جهش به الگوريتم اضافه مي کنند (مثل الگوريتم ژنتيک)
در کل هرچه A بيشتر باشه ذرات به صورت خودمختار به جستجو مي پردازند و پراکنده مي شوند. و هرچه B بيشتر باشه ذرات حالت جمعي خودشون رو حفظ مي کنند. بايد سعي کنيد يک توازن بين اين دو ايجاد کنيد.
موفق باشيد/