مهدي-ستاري-الگوريتم-بهينه-سازي-انبوه
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,
بهینه سازی ترکیبی و، مهندس مهدی کریمی نسب- دکتر کوروش عشقی
چاپ اول, ویرایش اول,١٣٩١ ، الگوریتم های فرا ابتکاری
مروری بر برخی از روش های بهینه، شهریار لطفی،حبیب مطیع قادر
دانشگاه آزاد اسالمی واحد شبستر، سازی هوشمند
باتشکر از توجه شما