مهدي-ستاري-الگوريتم-بهينه-سازي-انبوه

Download Report

Transcript مهدي-ستاري-الگوريتم-بهينه-سازي-انبوه

‫مقدمه‬
‫‪ ‬روش‌ها ‌و الگوریتم‌های بهینه‌سازی‌ به د ‌و دسته الگوریتمهای دقیق ( )‪‌ exact‬و‬
‫الگوریتم‌های تقریبی (‪ )algortithms approximate‬تقسیم‌بندی می‌شوند‪.‬‬
‫در مورد‬
‫قادر به یافتن جواب بهینه به صورت دقیق هستند اما ‌‬
‫‪ ‬الگوریتم‌های دقیق ‌‬
‫در این مسائل به صورت‬
‫ی سخت کارایی ندارند ‌و زمان حل آنها ‌‬
‫مسائل بهینه ساز ‌‬
‫قادر به یافتن جواب‌های خوب (نزدیک‬
‫نمایی افزایش می‌یابد‪ .‬الگوریتم‌های تقریبی ‌‬
‫ی سخت هستند‪ .‬الگو ‌ریتم‌های‬
‫در زمان حل کوتاه برای مسائل بهینه‌ساز ‌‬
‫به بهینه) ‌‬
‫نیز به سه دسته الگوریتم‌های ابتکاری‌ ( ‪‌ )heuristic‬و فراابتکاری‌‬
‫تقریبی ‌‬
‫ی (‪ )heuristic hyper‬بخش بندی می‬
‫ق ابتکار ‌‬
‫(‪‌ )meta-heuristic‬و فو ‌‬
‫ی‬
‫در واقع الگوریتم‌های فراابتکاری‪ ،‬یکی ‌از انواع الگوریتم‌های بهینه‌ساز ‌‬
‫شوند‪‌ .‬‬
‫تقریبی هستند که دارای راهکارهای برونرفت ‌از بهینه محلی می‌باشند ‌و قابل کاربرد‬
‫در ده‬
‫در طیف گسترده ای ‌از مسائل هستند‪ .‬رده های گوناگونی ‌از این نوع الگوریتم ‌‬
‫‌‬
‫اخیر توسعه یافته است‬
‫های ‌‬
‫مقدمه(ادامه)‬
‫‪‌ ‬از الگوریتم‌های شناخته شده فراابتکاری‌ ‌بر پایه جمعیت می‌توان الگوریتم‌های‬
‫ی کل ‌ونی مورچگان ‪،‬‬
‫ی ژنتیک‪ ،)... ،‬بهینه‌ساز ‌‬
‫تکاملی (الگوریتم ژنتیک‪ ،‬برنامه‌ریز ‌‬
‫کلونی زنبورها ‪ ،‬روش بهینه‌سازی‌ ازدحام ذرات‪ ،‬الگوریتم رقابت استعماری‌ ‪‌ ،‬و‬
‫الگوریتم چکه آبهای هوشمند را نام برد‪.‬‬
‫ی مبتنی ‌بر یک جواب ‌از الگوریتم‌های متداو ‌ل‬
‫‪ ‬الگوریتم‌های متداو ‌ل فراابتکار ‌‬
‫ی ممنوعه ‪ ،‬الگوریتم‬
‫ی مبتنی ‌بر یک جواب می‌توان الگوریتم جستجو ‌‬
‫فراابتکار ‌‬
‫تبرید شبیه‌سازی‌ شده را نام برد‪.‬‬
‫یک مثال‬
‫هر یک ‌از اعضای‬
‫‪ ‬فرض کنید شما ‌و گروهی ‌از دوستانتان به دنبال گنج می‌گردید‪‌ .‬‬
‫کار خود را به‬
‫گروه یک فلزیاب ‌و یک بی‌سیم دارد که می‌تواند مکان ‌و وضعیت ‌‬
‫همسایگان نزدیک خود اطالع بدهد‪ .‬بنابراین شما می‌دانید آیا همسایگانتان ا ‌ز شما‬
‫به گنج نزدیکترند یا نه؟‬
‫نزدیکتر بود شما می‌توانید به طرف ا ‌و حرکت‬
‫‌‬
‫اگر همسایه‌ای به گنج‬
‫‪ ‬پس ‌‬
‫بیشتر می‌شود ‌و همچنین‬
‫‌‬
‫ی شانس شما برای رسیدن به گنج‬
‫کنید‪ .‬با چنین کار ‌‬
‫دتر ‌از زمانی که شما تنها باشید‪ ،‬پیدا می‌شود ‪.‬‬
‫گنج زو ‌‬
‫فتار جمعی یا ‪ Swarm behavior‬است که افراد برای‬
‫‪ ‬این یک مثال ساده ‌از ر ‌‬
‫مؤثرتر ‌از زمانی است که افراد‬
‫‌‬
‫رسیدن به یک هدف نهایی همکاری‌ می‌کنند‪ .‬این روش‬
‫جداگانه عمل کنند‬
‫کرد‬
‫‪Swarm ‬را می‌توان به صورت مجموعه‌ای سازمان یافته ‌از موجوداتی تعریف ‌‬
‫ی می‌کنند‪.‬‬
‫یکدیگر همکار ‌‬
‫‌‬
‫که با‬
‫در کاربردهای محاسباتی‬
‫‪‌ ‬‬
‫‪(Swarm intelligence‬هوش جمعی) ‌از‬
‫موجوداتی مانند مورچه‌ها‪ ،‬زنبورها‪ ،‬موریانه‌ها‪ ،‬دسته‌های ماهیان ‌و دسته‌ی‬
‫ی می‌شود‪.‬‬
‫پرندگان الگ ‌و بردار ‌‬
‫فتار‬
‫ساختار نستبا‌ ساده‌ای دارند ولی ‌ر ‌‬
‫‌‬
‫هر یک ‌از موجودات‬
‫در این نوع اجتماعات ‌‬
‫‪‌ ‬‬
‫جمعی آنها بی‌نهایت پیچیده است‪.‬‬
‫‪ ‬تعامل بین افراد‪ ،‬تجربه‌ی افراد درباره‌ی محیط را افزایش می‌دهد ‌و موجب‬
‫ساختار اجتماعی ‪ Swarm‬بین افراد مجموعه‬
‫‌‬
‫پیشرفت اجتماع می‌شود‪.‬‬
‫کانالهای ارتباطی ایجاد می‌کند که طی آن افراد می‌توانند به تبادل تجربه‌های‬
‫شخص ی بپردازند‪.‬‬
‫ایده پایه‬
‫در حال جستج ‌و براي نقطة بهينه است‪.‬‬
‫هر ذره ‌‬
‫‪‌ ‬‬
‫غیر اينصورت نمي‌تواند جستج ‌و كند!)‬
‫در ‌‬
‫در حال جابجايي است ( ‌‬
‫هر ذره ‌‬
‫‪‌ ‬‬
‫‪ ‬به دليل اين جابجايي‪ ،‬داراي سرعت است‪.‬‬
‫خاطر مي‌سپارد‪.‬‬
‫‌‬
‫در آن داشته به‬
‫هر مرحله‪ ،‬موقعيتي را كه بهترين نتيجه را ‌‬
‫در ‌‬
‫هر ذره ‌‬
‫‪‌ ‬‬
‫هر ذره)‬
‫(بهترين موقعيت فردي ‌‬
‫در‬
‫ق بتنهايي خيلي خوب نيستند‪ .‬ذرات به اين كمك احتياج دارند كه بدانند ‌‬
‫‪ ‬داليل فو ‌‬
‫كجا به جستج ‌و بپردازند‪.‬‬
‫)‪Particle Swarm Optimitation(PSO‬‬
‫‪ ‬الگوریتم ‪ pso‬یک تکنیک بهینه سازی مبتنی بر قوانین احتمال است که برای اولین بار توسط‬
‫‪Russell C.Eberhart‬‬
‫مهندس ی برق‬
‫‪James Kennedy‬‬
‫روانشناس اجتماعی‬
‫در سال ‪ 1995‬ارئه شد و از رفتار اجتماعی پرندگان یا ماهی ها در پیدا کردن غذا الهام گرفته شده است‪.‬‬
‫‪ ‬فرض ‌بر این است که یک گروه ‌از‬
‫در یک‬
‫پرندگان بصورت تصادفی ‌‬
‫در‬
‫منطقه به دنبال غذا می گردند ‌‬
‫در یک قسمت ‌از ناحیه‬
‫حالی که تنها ‌‬
‫ی جستج ‌و ‪ ،‬غذا وجود دارد ‪.‬‬
‫پرندگان ‌از مکان غذا اطالعی ندارند‬
‫‌و تنها میزان فاصله ی خود تا آن‬
‫محل را می دانند ‪.‬‬
‫کار رفته این است که‬
‫ی به ‌‬
‫‪ ‬استراتژ ‌‬
‫پرندگان به دنبال پرنده ای حرکت‬
‫می کنند که نزدیکترین فاصله را تا‬
‫غذا دارد‪.‬‬
‫در فضای جستج ‌و است که ذره نام‬
‫هر جواب مسئله ‪ ،‬یک پرنده ‌‬
‫‪‬در ‪‌ pso‬‬
‫گرفته است‪.‬‬
‫در فضای جستجوی‌ تابعی که قصد کمینه کردن ( ‌و یا بهینه کردن)‬
‫این ذرات ‌‬
‫مقدار آن را داریم‪ ،‬پخش شده اند‪.‬‬
‫‌‬
‫در آن قر ‌ار گرفته است‪،‬‬
‫در موقعیتی ‌از فضا که ‌‬
‫مقدار تابع هدف را ‌‬
‫‌‬
‫هر ذره‬
‫‪‌ ‬‬
‫محاسبه می کند‪ .‬سپس با استفاده ‌از ترکیب اطالعات محل فعلی اش ‌و بهترین‬
‫در آن بوده است ‌و همچنین اطالعات یک یا چند ذره ‌از بهترین‬
‫محلی که قب ‌ال ‌‬
‫در جمع‪ ،‬جتهی را برای حرکت انتخاب می کند‪.‬‬
‫ذرات موجود ‌‬
‫بهمین ترتیب همه ذرات جتهی برای حرکت انتخاب کرده ‌و پس ‌از انجام حرکت‪ ،‬یک‬
‫مرحله ‌از الگوریتم به پایان می رسد‪.‬‬
‫در فضای پاسخ حرکت می‌کنند ‌و نتایج حاصله ‪‌ ،‬بر مبنای یک «مالک‬
‫‪ ‬درواقع ذرات ‌‬
‫هر باز ‌ه زمانی محاسبه می‌شود‪ .‬با گذشت زمان‪ ،‬ذرات به سمت‬
‫شایستگی» پس ‌از ‌‬
‫هر ذره دا ‌رای یک‬
‫ذراتی که دارای مالک شایستگی باالتری‌ هستند‪ ،‬شتاب می‌گیرند‪‌ .‬‬
‫مقدار شایستگی است که توسط تابع شایستگی مسئله بدست می آید‪.‬‬
‫‌‬
‫ی دارد‪.‬‬
‫نزدیکتر است ‪ ،‬شایستگی بیشتر ‌‬
‫‌‬
‫‪ ‬پرنده ای که به غذا‬
‫دیگر این است که‪ ،‬تعداد فراوان‬
‫‪ ‬مزیت اصلی این روش ‌بر استراتژی‌های بهینه‌سازی‌ ‌‬
‫ابر مشکل پاسخ بهینه محلی می‌گردد‬
‫در بر ‌‬
‫ذرات ازدحام کننده‪ ،‬باعث انعطاف روش ‌‬
‫ودارای سرعت همگرایی نسبتا خوبی است‪.‬‬
simulation
max
y
min
fitness
x
search space
simulation
max
y
min
fitness
x
search space
simulation
max
y
min
fitness
x
search space
simulation
max
y
min
fitness
x
search space
simulation
max
y
min
fitness
x
search space
simulation
max
y
min
fitness
x
search space
simulation
max
y
min
fitness
x
search space
simulation
max
y
min
fitness
x
search space
‫‪Particle swarm Optimitation Algorithm‬‬
‫‪ ‬ابتدا تعدادی ذره ایجاد می کنیم و به آنها مقادیر تصادفی می دهیم ‪ .‬در هرتکرار بهترین ذره به سایر ذرات کمک می کند‬
‫وحرکت آنها را اصالح می کند و پس از تکرارهای متوالی مسئله به جواب بهینه همگرا خواهد شدتفاوت اصلی این‬
‫روش با سایر روشها در این است که هر ذره دارای یک بردار سرعت هم می باشد که به وسیله تغییرات آن به‬
‫جستجوی پیوسته فضای تصمیم می پردازد‪.‬‬
‫مشخصه های الگوریتم ‪pso‬‬
‫تغییر مکان ) است که مطابق‬
‫‪ ‬در ‪ pso‬هرعض ‌و ‌از جمعیت دارای یک سرعت انطباقی ( ‌‬
‫در فضای جستج ‌و حرکت می کند‬
‫با آن ‌‬
‫‪ ‬هرکدام ‌از اعضا دارای حافظه می باشند تابهترین مکانی که به آن می رسند (بهینه‬
‫ابخاطر بسپارند‪.‬‬
‫‌‬
‫شخص ی) وموقعیت ‪X‬ر‬
‫‪ ‬همچنین هرذره بهترین جوابی را که تاکنو ‌ن درکل گروه بدست آمده است (بهینه‬
‫فراگیر) را می شناسد‪.‬‬
‫سایر ذرات قر ‌ار می گیرد ‌و یک همکاری‌ بین‬
‫تاثیر ‌‬
‫هر تکر ‌ار تحت ‌‬
‫در ‌‬
‫هر ذره ‌‬
‫فتار ‌‬
‫ر ‌‬
‫هر تکرار(باکمک تابع) موقعیت‬
‫در ‌‬
‫هر ذره ‌‬
‫هر تکراربوجود آمده ‌و ‌‬
‫در ‌‬
‫تمام ذرات ‌‬
‫هر عض ‌و درد ‌و جهت صورت می گیرد‪:‬‬
‫خود را به رو ‌ز رسانی می کند لذا حرکت ‌‬
‫‪ ) 1‬بسوی‌ بهترین موقعیتی که مالقات کرده اند( بهترین جوابی که ذره تا به حال‬
‫بدست آورده)‬
‫ی بهترین موقعیتی که بهترین عض ‌و درهمسایگی آنها مالقات کرده است‬
‫‪ ) 2‬بسو ‌‬
‫سایر ذرات بدست آورده اند)‬
‫(بهترین جوابی که ‌‬
‫‪ ‬فرض کنید فضای جستجوی‌ مسئله ‪ D‬بعدی باشد ‪ .‬پس ‪i‬مین ‪ particle‬از ‪ Swarm‬را می توان با یک‬
‫بردار ‪ D‬بعدی‬
‫وسرعت‬
‫نمایش داد ‪.‬‬
‫در می آید ‪:‬‬
‫ی سرعت آتی هرذره را مشخص می کند ‪ swarm ،‬به حرکت ‌‬
‫طبق د ‌و رابطه ز ‌یر که یکی مکان ودیگر ‌‬
‫(‪)1‬‬
‫(‪)2‬‬
‫‪ : Pbest‬بهترین موقعیتی که ذره تاکنون مالقات کرده‬
‫‪ : gbest‬بهترین موقعیتی که یک ذره در کل جمعیت به آن رسیده‬
‫‪ : N‬اندازه ‪Swarm‬‬
‫‪ : w‬اینرس ی وزنی ( ‪) inertia weight‬‬
‫‪ : C2 ,C1‬ضرایب ثابت ومثبت (ضرایب شتاب دهنده به سمت نقاط بهینه ) که بترتیب پارامترهای شناختی ( ‪ ) cognitive‬واجتماعی ( ‪ ) social‬نام‬
‫دارد‬
‫‪ : r2,r1‬اعداد تصادفی در محدوده [ ‪ ]0 ,1‬باتوزیع یکنواخت‬
‫‪ : n‬مشخص کننده شماره تکرارها‬
‫‪ ‬اینرس ی وزنی (‪)w‬به عنوان شاخص ی موثر بر رفتار همگرایی ‪ pso‬جهت کنترل تاثیر سوابق سرعتهای پیشین بر سرعت‬
‫جاری می باشد ‪ .‬این پارامتر باعث توزین مناسب سرعت در جستجوی نقاط بهینه محلی و مطلق می باشد‪.‬‬
‫در حالیکه انتخاب مقادیر کم این پارامتر باعث دستیابی به نقاط بهینه محلی واستخراج جواب بهینه می شود انتخاب مقادیر‬
‫زیاد باعث جستجوی نواحی بیشتر ودر واقع کمک به انتخاب نقاط بهینه مطلق (فراگیر)می گردد‪.‬‬
‫نتایج تجربی نشان می دهد بهتر است در ابتدا جهت بهبود اکتشاف فراگیردر فضای جستجو ‪ ،‬مقادیر زیادتری برای این پارامتر‬
‫در نظرگرفته شود وبه تدریج جهت بهبود دراستخراج راه حل بهینه ‪ ،‬از مقدارآن کاسته شود‪.‬‬
‫که درآن‬
‫و‬
‫مقادیر اولیه ونهایی اینرس ی وزنی و‬
‫حداکثر تعداد تکرارها و ‪ n‬شماره تکرار جاری است‪.‬‬
‫درنظر گرفته می شود تاچنانچه سرعت ازاین حد باالتر رفت‬
‫‪ ‬جهت کنترل سرعت ‪ particle‬یک مقدار حداکثر‬
‫قرارگیرد‪.‬این پارامتر برای فرایند بهینه سازی تعیین کننده است زیرا ممکن است به ازای مقادیر باالی آن ‪،‬‬
‫برابر‬
‫‪ particle‬ها از روی راه حل های خوب رد شوند ویا اینکه با مقادیر کم آن ‪ ،‬از اکتشاف مناسب در فضای جستجو‬
‫جلوگیری شود‪.‬‬
‫‪ C1,C2 ‬بامقادیر مناسب افزایش سرعت همگرایی وبهبود جواب بهینه محلی (جلوگیری ازهمگرایی‬
‫زودرس در بهینه های محلی)را نتیجه می دهد‪.‬‬
‫‪ ‬به عنوان پیش فرض مقدار ‪ C1=C2= 2‬پشنهاد شده است اما نتایج تجربی نشان می دهد مقدار‬
‫‪ C1=C2= 0/5‬نتایج بهتری را حاصل می نماید‪.‬‬
‫همچنین تحقیقات اخیر نشان می دهد انتخاب ‪ C1 > C2‬باشرط ‪ C1 + C2 ≤ 4‬منجر به نتایج‬
‫بهتری می شود‪.‬‬
‫‪ ‬پارامترهای ‪ r1 , r2‬برای حفظ تنوع وگوناگونی ‪ Swarm‬بکار می رود و اعداد تصادفی در محدوده‬
‫[ ‪ ]0 ,1‬باتوزیع یکنواخت هستند‪.‬‬
Flow chart depicting the General PSO Algorithm:
Start
For each particle’s position (p)
evaluate fitness
If fitness(p) better than
fitness(pbest) then pbest= p
Set best of pBests as gBest
Update particles velocity (eq. 1) and
position (eq. 3)
Stop: giving gBest, optimal solution.
Loop until max iter
Loop until all
particles exhaust
Initialize particles with random position
and velocity vectors.
‫منابع‬
Kennedy, J. and Eberhart, R., “Particle Swarm
Optimization,” Proceedings of the IEEE International
Conference on Neural Networks,
Venter, G. and Sobieski, J., “Particle Swarm
Optimization,” Structural Dynamics, and Materials
Conference, Denver, CO. April 2002.
• Kennedy, J. and Eberhart, R., Swarm Intelligence,
‫ بهینه سازی ترکیبی و‬، ‫ مهندس مهدی کریمی نسب‬- ‫دکتر کوروش عشقی‬
‫ چاپ اول‬,‫ ویرایش اول‬,١٣٩١ ، ‫الگوریتم های فرا ابتکاری‬
‫ مروری بر برخی از روش های بهینه‬، ‫ شهریار لطفی‬،‫حبیب مطیع قادر‬
‫ دانشگاه آزاد اسالمی واحد شبستر‬، ‫سازی هوشمند‬
‫باتشکر از توجه شما‬