الگوریتم پرش قورباغه S HUFFLED F ROG L EAPING A LGORITHM رئوس مطالب تاریخچه دید بیولوژیکی مقدمه الگوریتم اصلی SFLA بهبود الگوریتم SFLA کاربردهای الگوریتم حل مسئله TSP با این الگوریتم مقایسه.
Download ReportTranscript الگوریتم پرش قورباغه S HUFFLED F ROG L EAPING A LGORITHM رئوس مطالب تاریخچه دید بیولوژیکی مقدمه الگوریتم اصلی SFLA بهبود الگوریتم SFLA کاربردهای الگوریتم حل مسئله TSP با این الگوریتم مقایسه.
Slide 1
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 2
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 3
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 4
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 5
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 6
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 7
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 8
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 9
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 10
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 11
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 12
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 13
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 14
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 15
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 16
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 17
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 18
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 19
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 20
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 21
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 22
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 23
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 24
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 25
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 26
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 27
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 28
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 29
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 30
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 31
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 32
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 33
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 34
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 35
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 36
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 37
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 38
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 39
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 40
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 41
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 42
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 43
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 2
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 3
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 4
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 5
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 6
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 7
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 8
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 9
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 10
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 11
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 12
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 13
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 14
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 15
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 16
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 17
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 18
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 19
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 20
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 21
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 22
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 23
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 24
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 25
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 26
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 27
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 28
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 29
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 30
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 31
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 32
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 33
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 34
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 35
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 36
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 37
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 38
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 39
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 40
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 41
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 42
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43
Slide 43
الگوریتم پرش قورباغه
S HUFFLED F ROG L EAPING
A LGORITHM
رئوس مطالب
تاریخچه
دید بیولوژیکی
مقدمه
الگوریتم اصلی SFLA
بهبود الگوریتم SFLA
کاربردهای الگوریتم
حل مسئله TSPبا این الگوریتم
مقایسه با الگوریتم های فرا-مکاشفه ای
نتایج
منابع
2
تاریخچه
این الگوریتم درسال 2003توسط Eusuffو Lanseyارائه شده
است.
درسال 2006نیز ارائه کنندگان ,SFLAاین الگوریتم را برای مسائل
بهینه سازی گسسته نیز استفاده کردند.
در سال 2009بهبود این الگوریتم برای مسائل بهینه سازی پیوسته
توسط Zhenارائه شده است.
3
بحث زیستی
الهام گرفتن از حرکت دسته جمعي گروهي از موجودات زنده مثل
پرواز پرندگان ,پرش قورباغه ها و ...
ویلسون( ,)1975یک جامعه شناس " :حداقل در تئوري ,هر فردي
از این دسته ميتواند از اکتشافات و تجربیات گذشته افراد دیگر براي
پیدا کردن غذا سود ببرد“.
پایه و اساس الگوریتم جهش قورباغه ,تکامل از طریق اطالعاتي که
بین افراد جمعیت به اشتراک گذاشته ميشود ميباشد.
4
مقدمه
ت پیدا کردن MINو MAXیک تابع درعلوم مهندسی.
اهمی ِ
روش جستجوی فرا-کاشفه ای (آگاهانه ,کورکورانه).
فرا-مکاشفه ای :الگوریتمهاي مکاشفهاي که از توابع کشف کننده در
استراتژي جستجوي خود استفاده ميکنند.
فرا-مکاشفهايها بر پایه انواع مختلفي از پدیدههاي طبیعي هستند.
5
نمونه هاي فرا -مکاشفه
نمونههایي از فرا-مکاشفهايهاي معمول:
o
بهینهسازي مستعمره مورچگان),(ACO
o
الگوریتمهاي ژنتیک),(GA
o
شبکههاي عصبي مصنوعي),(ANN
o
بهینهسازي ازدحام ذرات),(PSO
o
الگوریتم تکامل پیچیده به هم آمیخته شده),(SCE
o
حرارت شبیهسازي شده).(SA
6
مفاهیم الگوریتم ممتیک
الگوریتم ممتیک( )MAیک روش بر پایه جمعیت براي جستجوي
مکاشفهاي در مسائل بهینهسازي ميباشد.
شکست فرا-مکاشفه ای های دیگر در مقابل .MA
مم یک الگوي اطالعات واگیرداري ميباشد که همانند یک انگل ذهن
بشر یا حیوان را آلوده ميکند.
مفهوم واقعي یک مم ,مموتیپ نامیده ميشود.
مم = ژن
و
مموتیپ = کروموزوم
7
مقایسه مم ها و ژن ها
ممها براي افزایش قابلیت ارتباط در بین موجودات (قورباغهها در
)SFLAانتخاب ميشوند .ژنها براي قابلیت تکثیر سلولي انتخاب
مي شوند.
تکامل ممتیک و ژنتیک در اصول کار مشابه هم هستند ,ولی تکامل
ممتیک یک مقداري مکانیزم انعطاف پذیرتري دارد.
ژنها فقط ميتوانند توسط والدینشان به فرزندان منتقل شوند.
مم ها مي توانند در حالت کلي بین دو فرد از جمعیت منتقل شوند در
حالیکه ژن ها بین دو نسل منتقل می شوند.
8
مقایسه مم ها و ژن ها ( ادامه )
تکرار ژن توسط نسبت کوچک تعداد فرزندان تولید شده از یک والد
محدود ميشود.
تعداد افرادي که ميتوانند یک مم را از یک فرد خاص بدست آورند
معمولا بینهایت است.
ممها توسط شخصي که دارنده آنهاست بهبود ميیابند چیزي که در
ژنها هیچ وقت اتفاق نميافتد.
9
خصوصیات مهم SCE
الگوریتم SCEبه جستجوي سراسري به عنوان یک پروسه تکامل
طبیعي نگاه ميکند.
هر عضوي از یک گروه ,یک والد محسوب ميشود که میتواند در
پروسههاي تکثیر سهیم شود.
والدین بهتر با احتمال بیشتري براي تولید نسل بعدي توزیع می شوند.
فرزندان در محلهاي تصادفي ایجاد ميشوند.
هر فرزند جدید با بدترین مکان در زیر گروه فعلي جایگزین ميشود.
10
قالب فرا -مکاشفه براي SFLA
بهبودالگوریتم فرا-مکاشفهاي با استفاده از ترکیب ایده های SCEو
PSO
این فرا-مکاشفه جدید الگوریتم جهش درهم قورباغه( )SFLAنامیده
شده است و بر پایه ممتیک موجودات زنده مي باشد.
جستجو بر پایه تکامل ممها ميباشد که در تعامل بین افراد ,و یک
تغیر سراسري بین اطالعاتشون بدست ميآید.
11
جمعیت مجازي از قورباغه ها
الگوریتمهاي تکاملي سنتي بر روي مفهوم جمعیت تکیه دارند.
در ,SFLAافراد جامعه مهم نیستند و به جمعیت به عنوان دستهاي از
ممها نگاه ميشود.
هر فردي یک مم تکي را در اختیار دارد(شامل مموتیپ ميشود).
الگوریتم SFLتعداد افراد را نميشمارد؛ بلکه از یک مدل انتزاعي
به نام جمعیت مجازي استفاده ميکنند.
12
جزئیات الگوریتم
الگوریتم SFLترکیبي از روشهاي تصادفي و قطعي مي باشد.
استراتژيهاي قطعي به الگوریتم اجازه ميدهند که از اطالعات
سطحي واکنش به عنوان راهنمایي براي جستجوي مکاشفهاي استفاده
کنند ،مانند اتفاقي که در PSOميافتد.
تصادفي بودن این الگوریتم انعطاف پذیري و قدرت الگوي جستجو
را تضمین ميکند.
انتخاب جمعیت Ωاز قورباغهها توسط عمل جستجو.
تقسیم جمعیت اولیه به گروه های موازی.
13
جزئیات الگوریتم ( ادامه )
عملیات انتقال اطالعات در ممها به صورت رقابتي است
قورباغههاي با بهترین مم را با احتمال بیشتري براي تولید ایدههاي بعدي
توزیع می کنیم
انتخاب قورباغهها با توزیع احتمال مثلثي رقابتي بین ایدهها ایجاد می کند.
مم جدید
مکان جدید بعد از پرش
مموتیپ جدید
اندازه پرش در هر مرحله
14
جزئیات الگوریتم ( ادامه )
بعد از تعداد مشخصي تکرار تکامل ممتیک ،درهم ميشوند و
گروههاي جدید شکل ميگیرد.
درهم کردن باعث ميشود کیفیت ممها بعد از اینکه قورباغهها در
نواحي مختلف ایدههایشان را به یکدیگر انتقال دادند ,بال برود.
15
مراحل SFLA
استراتژي فرا-مکاشفهاي SFLA
.Aاکتشاف سراسری
.Bاکتشاف محلی :الگوریتم جهش قورباغه
16
. Aاکتشاف سراسری
• (mتعداد گروهها) و (nتعداد قورباغهها در هر گروه)
• ) U(1),U(2),…,U(Fدر فضاي
• محاسبه )f(i
17
F=m.n
.1مقدار دهی
اولیه
,که :dتعداد متغیرهاي تصمیم گیري
• Fقورباغه را به ترتیب نزولي مقادیر کارایيشان مرتب مي کنیم.
• آرایه } ،X={U(i),f(i),i=1,2,…,Fمکان بهترین قورباغه )Px=U(1
.2تولید یک
جمعیت مجازي
.3رتبه بندي
قورباغهها
.4گروهبندي
قورباغهها
. Aاکتشاف سراسری ( ادامه )
• هر گروه بر طبق الگوریتم جهش قورباغه که در
ادامه توضیح داده خواهد شد تکامل ميیابد.
• مرتب کردن Xبه ترتیب نزولی و بروزرسانی Px
• اگر حداقل یک قورباغه بتواند در تعداد تکرار
مشخص شده بهترین ممتیک را بدون تغییر حمل کند
آنگاه الگوریتم به جواب همگرا شده است
18
.5تکامل ممتیک
در هر گروه
.6درهم کردن
گروهها
.7تست
همگرایي
B.اکتشاف محلی :
الگوریتم جهش قورباغه
im=0
• متغیر imتعداد گروهها را ميشمارد
• متغیر iNتعداد مراحل تکامل را ميشمارد iN=0
• im=im+1
• iN=iN+1
19
.0مقدار دهی
اولیه
.1افزایش
متغیرها
.2افزایش
متغیرها
• به قورباغههاي کاراتر وزنهاي بیشتري داده ميشود.
• qقورباغه تصادفی انتخاب می شود و Zرا تشکیل می دهند
.3ایجاد
زیرگروه
B.اکتشاف محلی :
الگوریتم جهش قورباغه ( ادامه )
• زیر گروه Zبه ترتیب نزولی مرتب شده
• بهترین قورباغه در PBو بدترین قورباغه در PW
20
.4مرتب نمودن
Z
.5تغییر مکان
PW
6
اکتشاف محلی B. :
الگوریتم جهش قورباغه ( ادامه )
• اگر مکان جدید قورباغه بهبود پیدا نکرد آنگاه تکامل مم قطع می شود و یک قورباغه
تصادفی ایجاد می شود
• هرگاه بدترین قورباغه در زیر گروه بهبود یافت آنگاه Zرا در مکان اصلی خود در
جانشین کن و آنرا مرتب کن
گروه
• اگر iN
• اگر im
21
.7سانسور
.8بهبود
گروه
9
10
مفهوم گروه و زیر گروه
22
اندازه جهش
23
فلوچارت اکتشاف سراسری
24
فلوچارت اکتشاف محلی
25
فضای جستجوی محلی و سراسری
26
پیشرفت SFLAبر روی
تابع D E J ONG ’ S
27
28
29
پارامترهای بهینه سازی SFLA
در SFLAشبیه به الگوریتم های مکاشفه ای دیگر انتخاب پارامترها
حیاتی می باشد.
SFLA پنج پارامتر اساسی داردm,n,q,N,Smax:
در تجربه ثابت شده است که F=m.nمهمترین پارامتر می باشد.
مقدار Fبه پیچیدگی مسئله بستگی دارد.
احتمال بدست آوردن بهینه سراسری با افزایش نمونه ها افزایش می
یابد ،اما بار محاسباتی نیز افزایش می یابد.
30
پارامترهای بهینه سازی
( ادامه ) SFLA
اگر تعداد قورباغه ها در هر دسته کم باشد مزایای استراتژی تکاملی
ممتیک نیز کاهش می یابد.
متغیر qبا زمان همگرایی رابطه غیر مستقیم دارد.
اگر Nکوچک باشد ایده بین گروه ها کمتر منتقل می شود و بیشتر
گروه ها درهم می شوند.
اگر Smaxکوچک باشد توانایی اکتشاف سراسری الگوریتم
پایین می آید و اگر بزرگ باشد الگوریتم به بهینه واقعی
همگرا نخواهد شد.
31
بهبود SFLA
در الگوریتم SFLAموقعیت جدید بدترین قورباغه در امتداد خطی
قرار می گیرد که بین XWو XBمی باشد.
در این روش موقعیت جدید بدترین قورباغه نمی تواند در اطراف این خط
باشد.
وجود این محدودیت باعث کاهش سریع سرعت همگرایی و یا
همگرا شدن به جواب های غلط می شود.
32
SFLAبهبود ( ادامه )
Rand عدد تصادفی بین 0و1
Cیک عدد ثابت بین 1و 2و Riاعداد تصادفی بین 1-و1
Wi,maxماکزیمم محدوده ای که قورباغه در بعد iام می بیند.
Dmaxبیشترین جابجایی که قورباغه می تواند داشته باشد.
33
حل مسئله TSPبا SFLA
TSP یک محکی برای الگوریتم های فرا-مکاشفه ای است.
بردار مکان هر قورباغه به عنوان یک راه حل برای TSPمی باشد.
i امین قورباغه به صورت زیر می باشد:
پارامترهای
برچسب های Nشهر می باشد.
تابع ارزیابی ) f(iاندازه هر تور می باشد.
طبق رابطه زیر قوباغه های با بیشترین مقدار برازندگی احتمال
بیشتری برای انتخاب در زیر گروه را دارند:
34
SFLAبا TSPحل مسئله ( ادامه )
برای بهبود بدترین قورباغه ) U(qدر زیرگروه ،یک رشته متوالی
تصادفی از PBرا انتخاب نموده و در مکان های متناظر در PWآنرا
جانشین می کنیم .اگر محدودیت های TSPبه خطر افتاد مکان های باقیمانده
را به طور تصادفی جانشین می کنیم.
35
نتایج عملی TSPبا استفاده از SFLA
36
نتایج عملی TSPبا استفاده از SFLA
( ادامه )
37
مقایسه SFLAبا روش های دیگر
38
39
منابع
40
Eusuff, M. M. and K. E. Lansey (2001). Water
Distribution Network Design Using the Shuffled Frog
Leaping Algorithm, Orlando, Florida, USA, ASCE.
Eusuff, M., K. Lansey, et al. (2006). "Shuffled frogleaping algorithm: a memetic meta-heuristic for
discrete optimization." Engineering Optimization
Elbeltagi, E., T. Hegazy, et al. (2005). "Comparison
among five evolutionary-based optimization
algorithms." Advanced Engineering Informatics
) منابع ( ادامه
41
Elbeltagi, E., T. Hegazy, et al. (2007). "A modified
shuffled frog-leaping optimization algorithm:
applications to project management." Structure and
Infrastructure Engineering: Maintenance,
Management, Life-Cycle Design and Performance
Xue-hui, L., Y. Ye, et al. (2008). Solving TSP with
Shuffled Frog-Leaping Algorithm.
Zhen, Z. Y., D. B. Wang, et al. (2009). Improved
shuffled frog leaping algorithm for continuous
optimization problem.
42
43