Presentation is loading. Please wait.

Presentation is loading. Please wait.

بهينه‌سازي گروه ذرات (PSO)

Similar presentations


Presentation on theme: "بهينه‌سازي گروه ذرات (PSO)"— Presentation transcript:

1 بهينه‌سازي گروه ذرات (PSO)

2 ابداع‌كنندة 1: Russell Eberhart

3 ابداع‌كنندة 2: James Kennedy

4 اولين مقاله در زمينة PSO:
در سال 1995 براي اولين بار ارائه شد. Kennedy, J. and Eberhart, R., “Particle Swarm Optimization,” Proceedings of the IEEE International Conference on Neural Networks, Perth, Australia 1995, pp

5 مثال همياري:

6 ايدة پايه: هر ذره در حال جستجو براي نقطة بهينه است.
هر ذره در حال جابجايي است (در غير اينصورت نمي‌تواند جستجو كند!) به دليل اين جابجايي، داراي سرعت است. هر ذره در هر مرحله، موقعيتي را كه بهترين نتيجه را در آن داشته به خاطر مي‌سپارد. (بهترين موقعيت فردي هر ذره) دلايل فوق بتنهايي خيلي خوب نيستند. ذرات به اين كمك احتياج دارند كه بدانند در كجا به جستجو بپردازند.

7 ايدة پايه 2: ذرات در گروه ذرات با هم همياري مي‌كنند. ذرات اطلاعاتي كه دربارة موقعيتي كه در آن هستند را با هم تبادل مي‌كنند. اين همياري بايد خيلي ساده باشد. همياري در PSO پايه بشكل زير مي‌باشد: - يك ذره داراي همسايگيهاي منتسب به خودش است. - يك ذره تطابق ذراتي را كه در همسايگيش هستند، مي‌داند و از موقعيت ذره‌اي كه بهترين تطابق را دارد استفاده مي‌كند (بهترين موقعيت سراسري). - از اين موقعيت بسادگي براي تنظيم سرعت ذره استفاده مي‌شود.

8 ويژگيها و كاربردها: مزايا:
يك روش مرتبة صفر است و نيازي به عمليات سنگين رياضي مثل گراديان‌گيري احتياج ندارد. يك روش مبتني بر جمعيت است. از مشاركت ذرات استفاده مي‌كند. كاربردها: آموزش شبكه عصبي بهينه‌سازي تابع بازشناسي الگو

9 مقداردهي اولية موقعيتها و سرعتها:

10 يك ذره چه كارهايي را انجام مي‌دهد؟
يك ذره در هر مرحلة زماني (Timestep) بايد به يك موقعيت جديد جابجا شود. اين جابجايي با تنظيم سرعت ذره انجام مي‌شود. تنظيم سرعت بقرار زير است: - سرعت فعلي بعلاوة - سهم وزن‌يافتة تصادفي در جهت بهترين موقعيت منفرد هر ذره - سهم وزن‌يافتة تصادفي در جهت بهترين موقعيت موجود در همسايگي ذره تنظيم موقعيت بشكل زير است: مقدار قديمي موقعيت - سرعت جديد

11 همسايگيها: geographical social

12 همسايگيها: Global

13 همسايگيهاي دايره‌اي: 1 5 7 6 4 3 8 2 همسايگيهاي ذرة 1 دايرة مجازي

14 بهترين موقعيت همساية من
Particles Adjust their positions according to a ``Psychosocial compromise’’ between what an individual is comfortable with, and what society reckons بهترين موقعيت منفرد i-proximity pi بهترين موقعيت همساية من x من در اينجا هستم! pg g-proximity v

15 شبه-كد كامپيوتري: Equation (a) v[] = c0 *v[]
Equation (a) v[] = c0 *v[] + c1 * rand() * (pbest[] - present[]) + c2 * rand() * (gbest[] - present[]) در روش اصلي c1=1 است ولي در بسياري از الگوريتمهاي مطرح شده اين مقدار را ثابت نمي‌گيرند و آنرا تغيير مي‌دهند. Equation (b) present[] = present[] + v[] جابجايي فعلي اثر حافظة ذره اثر گروه ذرات

16 شبه‌-كد كامپيوتري: http://www.swarmintelligence.org/tutorials.php
For each particle     Initialize particle END Do     For each particle         Calculate fitness value         If the fitness value is better than its peronal best             set current value as the new pBest     End     Choose the particle with the best fitness value of all as gBest     For each particle         Calculate particle velocity according equation (a)         Update particle position according equation (b)     End While maximum iterations or minimum error criteria is not attained

17 شبه-كد كامپيوتري: سرعت ذرات در هر بعد را به Vmax محدود مي‌كنيم. بدين معني كه اگر سرعت در يك جهت بخواهد از اين مقدار بيشتر شود، آنگاه سرعت در آن بعد به Vmax محدود مي‌شود. دليل: از جابجايي سريع ذرات در فضاي جستجو مي‌توانيم جلوگيري كنيم.

18 نحوة پايان الگوريتم: 1- اجراي تعداد ماكزيمم دفعاتي كه براي اجراي الگوريتم در نظر گرفته شده است. 2- عدم تغيير مقدار تابع تطابق در تعداد معيني تكرار پشت سر هم. 3- كاهش ميزان خطا از يك حد معين.

19 الگوريتم پايه: مقادير تصادفي در داخل حلقه At each time step t
for each particle بروزرساني سرعت بروزرساني موقعيت then move

20 پارامترها: تعداد ذرات C1 (اهميت مربوط به بهترين هر ذره)
C1 (importance of personal best) C2 (اهميت مربوط به بهترين همسايگيها) C2 (importance of neighbourhood best) Vmax

21 پارامترها را چگونه انتخاب بكنيم؟
The right way اين راه ... Or this way

22 پارامترها: تعداد ذرات نشان داده شده است كه 10-50 معمولاً كافي مي‌باشد.
نشان داده شده است كه معمولاً كافي مي‌باشد. C1 (اهميت مربوط به بهترين هر ذره) C2 (اهميت مربوط به بهترين همسايگيها) معمولاً C1+C2 = 4. فقط بدلايل تجربي انتخاب شده است. Vmax: خيلي كم- سرعت پايين خيلي زياد- ناپايدار

23 مثال:

24 مثال:

25 تعيين تطبيقي تعداد ذرات:
I try to kill myself There has been enough improvement although I'm the worst I try to generate a new particle I'm the best but there has been not enough improvement

26 ضرايب تطبيقي: av rand(0…b)(p-x)
هر چقدر من بهتر باشم، بيشتر مسير خودم را دنبال مي‌كنم. اگر همساية من بهتر باشد، بسمت همساية خودم تمايل پيدا مي‌كنم.

27 مراجع: Kennedy, J. and Eberhart, R., “Particle Swarm Optimization,”
Proceedings of the IEEE International Conference on Neural Networks, Perth, Australia 1995, pp Venter, G. and Sobieski, J., “Particle Swarm Optimization,” Structural Dynamics, and Materials Conference, Denver, CO., April 2002. Kennedy, J. and Eberhart, R., Swarm Intelligence, Academic Press, 1st ed., San Diego, CA, 2001.


Download ppt "بهينه‌سازي گروه ذرات (PSO)"

Similar presentations


Ads by Google