Post on 18-Dec-2015
1
Shuffled Frog Leaping Algorithm
الگوریتم جهش ترکیبی قورباغه
استاد: سرکار خانم دکتر برزین پوردانشجو: سید طه حسین مرتجی
2
ارائه شد.Kevin Lancey و Muzaffar Eusuff توسط 2003در سال •غ2ذای • جس2تجوی نح2وه از ک2ه اس2ت ممتی2ک فرا ابتک2اری الگ2وریتم یک
قورباغه ها در یک آبگیر سرچشمه میگیرد.•SFLA مزایای الگوریتم ممتیک و PSO.مبتنی بر رفتار را در بردارد •SFLA دارای دو مرحله General Exploration و Local Exploration.میباشد
SFLA:Preface
4
Step 0. Initialize
Step 1. Generate Virtual Population
Step 2. Rank Frogs
Step 3. Partition frogs into memeplexes
Step 4. Memetic evolution within each memeplex
Step 5. Shuffle Memplexes
Step 6. Check Convergence
)تعداد ممپلکس(mتعیین مقدار • )تعداد قورباغه های داخل هر ممپلکس(nتعیین مقدار •P=m*nتعداد کل قورباغه های داخل آبگیر: •
SFLA: General Exploration
5
Step 0. Initialize
Step 1. Generate Virtual Population
Step 2. Rank Frogs
Step 3. Partition frogs into memeplexes
Step 4. Memetic evolution within each memeplex
Step 5. Shuffle Memplexes
Step 6. Check Convergence
قورباغه میباشد بطور تصادفی P جمعیت اولیه که شامل •تولید میشوند.جواب های شدنی از میان
هر قورباغه نشان دهنده یک جواب شدنی برای مساله •بعد، مکان هر dمیباشد، بنابراین در مساله ای با فضای
قورباغه با استفاده از رابطه زیر نشان داده میشود
SFLA: General Exploration
6
Step 0. Initialize
Step 1. Generate Virtual Population
Step 2. Rank Frogs
Step 3. Partition frogs into memeplexes
Step 4. Memetic evolution within each memeplex
Step 5. Shuffle Memplexes
Step 6. Check Convergence
مقدار برازندگی هر کدام از قورباغه ها محاسبه میشود.•مقادیر محاسبه شده بصورت نزولی مرتب میشوند و در •
ذخیره میشوند.Xآرایه
بنابراین در این مرحله بهترین جواب در بین کل قورباغه ها مقدار میباشد که آن را با نشان میدهیم.
SFLA: General Exploration
7
Step 0. Initialize
Step 1. Generate Virtual Population
Step 2. Rank Frogs
Step 3. Partition frogs into memeplexes
Step 4. Memetic evolution within each memeplex
Step 5. Shuffle Memplexes
Step 6. Check Convergence
مختل2ف • ه2ای گ2روه بین ه2ا قورباغ22ه مرحل2ه این در )ممپلکس ه2ا( تقس2یم میش2وند. روی2ه تقس2یم قورباغ2ه ه2ا در
ممپلکس ها معموال بصورت زیر است:
1 2 m
...m+1 m+2 2m
.
.
.
.
.
.
.
.
.P
µÁY ° b̧¼»� ¹Á{ ° b̧¼»� ° b̧¼»�m¹Y
n� �
SFLA: General Exploration
8
Step 0. Initialize
Step 1. Generate Virtual Population
Step 2. Rank Frogs
Step 3. Partition frogs into memeplexes
Step 4. Memetic evolution within each memeplex
Step 5. Shuffle Memplexes
Step 6. Check Convergence
انج2ام • مم2تیکی تکام2ل ه2ا ممپلکس از ک2دام ه2ر درون میپذیرد.
الگوریتم • از قسمت این یا Frog-Leapingبه Local Exploration.میگویند
SFLA: General Exploration
9
ق2وت • نق2اط از اطالع2ات SFLAیکی ک2ه اس2ت این به2ترین قورباغ2ه در ه2ر ممپلکس و همینط2ور به2ترین
قورباغه آبگیر به اشتراک گذاشته میشود.
SFLA: Local Exploration
𝑋𝐵 :𝐵𝑒𝑠𝑡
𝑋𝐵 :𝐵𝑒𝑠𝑡
𝑋𝐺 :𝐺𝑙𝑜𝑏𝑎𝑙
𝑋𝑊 :𝑊𝑜𝑟𝑠𝑡𝑋𝑊 :𝑊𝑜𝑟𝑠𝑡
Step 0. Initialize
Step 1. Generate Virtual Population
Step 2. Rank Frogs
Step 3. Partition frogs into memeplexes
Step 4. Memetic evolution within each memeplex
Step 5. Shuffle Memplexes
Step 6. Check Convergence
Step 0. Construct a Submemeplex
Step 1. Improve the Worst Frog’s Position
Step 2. Censorship
Step 3. Upgrade the memeplex
10
SFLA: Local ExplorationStep 0. Initialize
Step 1. Generate Virtual Population
Step 2. Rank Frogs
Step 3. Partition frogs into memeplexes
Step 4. Memetic evolution within each memeplex
Step 5. Shuffle Memplexes
Step 6. Check Convergence
Step 0. Construct a Submemeplex
Step 1. Improve the Worst Frog’s Position
Step 2. Censorship
Step 3. Upgrade the memeplex
11
SFLA: Local Exploration ه2ا submemplexانتخ2اب قورباغ2ه ه2ا ب2رای عض2ویت در •
احتمالی میباشد.ی2ک • ه2ای قورباغ2ه منظ2ور مبن2ای memplexبدین ب2ر
برازندگی و بصورت نزولی مرتب میشوند.از • اس2تفاده ب2ا قورباغ2ه ه2ر انتخ2اب احتم2ال سپس
توزیع مثلثی بصورت زیر محاسبه میشود.
( ممپلکس ی2ک قورباغ2ه به2ترین ت2رتیب ب2ا j=1بدین ،)( ب2ا j=n و ب2دترین قورباغ2ه ی2ک ممپلکس )n+1/2احتم2ال انتخاب خواهد شد.n(n+1)/2احتمال
Step 0. Initialize
Step 1. Generate Virtual Population
Step 2. Rank Frogs
Step 3. Partition frogs into memeplexes
Step 4. Memetic evolution within each memeplex
Step 5. Shuffle Memplexes
Step 6. Check Convergence
Step 0. Construct a Submemeplex
Step 1. Improve the Worst Frog’s Position
Step 2. Censorship
Step 3. Upgrade the memeplex
12
SFLA: Local Explorationه22ر • در قورباغ22ه ب22دترین جایگ22اه مرحل22ه این در
submemplex تغی2یر از رابط2ه ه2ای زی2ر ب2ا اس2تفاده )( پیدا میکند.
، ی2ک ع2دد تص2ادفی بین ص2فر و ی2ک randدر رابط2ه ف2وق •میباشد.
حداکثر مق2داری ک2ه ی2ک قورباغ2ه میتوان2د پ2رش داش2ته •ب2ا بن2ابراین S (Step Size)باش2د میش2ود. داده نش2ان
همواره انتخاب میشوند.اگ2ر برازن2دگی مک2ان جدی2د قورباغ2ه به2تر از ب2ود، آن را •
جایگزین میکنیم.
Step 0. Initialize
Step 1. Generate Virtual Population
Step 2. Rank Frogs
Step 3. Partition frogs into memeplexes
Step 4. Memetic evolution within each memeplex
Step 5. Shuffle Memplexes
Step 6. Check Convergence
Step 0. Construct a Submemeplex
Step 1. Improve the Worst Frog’s Position
Step 2. Censorship
Step 3. Upgrade the memeplex
13
SFLA: Local Exploration
𝑋𝑊
𝑋𝐺
𝑋𝐵
Step 0. Initialize
Step 1. Generate Virtual Population
Step 2. Rank Frogs
Step 3. Partition frogs into memeplexes
Step 4. Memetic evolution within each memeplex
Step 5. Shuffle Memplexes
Step 6. Check Convergence
Step 0. Construct a Submemeplex
Step 1. Improve the Worst Frog’s Position
Step 2. Censorship
Step 3. Upgrade the memeplex
14
SFLA: Local Explorationب2ه • ب2ار این نش2د، بروزرس2انی قب2ل در مرحل2ه اگ2ر
جای از استفاده میکنیم. بنابراین خواهیم داشت:
اگ2ر برازن2دگی مک2ان جدی2د قورباغ2ه به2تر از ب2ود، آن •را جایگزین میکنیم.
Step 0. Construct a Submemeplex
Step 1. Improve the Worst Frog’s Position
Step 2. Censorship
Step 3. Upgrade the memeplex
Step 0. Initialize
Step 1. Generate Virtual Population
Step 2. Rank Frogs
Step 3. Partition frogs into memeplexes
Step 4. Memetic evolution within each memeplex
Step 5. Shuffle Memplexes
Step 6. Check Convergence
15
SFLA: Local Exploration
𝑋𝑊
𝑋𝐺
𝑋𝐵
Step 0. Construct a Submemeplex
Step 1. Improve the Worst Frog’s Position
Step 2. Censorship
Step 3. Upgrade the memeplex
Step 0. Initialize
Step 1. Generate Virtual Population
Step 2. Rank Frogs
Step 3. Partition frogs into memeplexes
Step 4. Memetic evolution within each memeplex
Step 5. Shuffle Memplexes
Step 6. Check Convergence
16
SFLA: Local Explorationبهب2ودی • ی2ا نب2ود تولی2د ش2ده ش2دنی اگ2ر ج2واب جدی2د
حاص2ل نک2رد، ح2ذف ش2ده و ی2ک ج2واب جدی2د بص2ورت تصادفی تولید میشود.
𝑋𝑊 𝑋𝐺
𝑋𝐵
Step 0. Construct a Submemeplex
Step 1. Improve the Worst Frog’s Position
Step 2. Censorship
Step 3. Upgrade the memeplex
Step 0. Initialize
Step 1. Generate Virtual Population
Step 2. Rank Frogs
Step 3. Partition frogs into memeplexes
Step 4. Memetic evolution within each memeplex
Step 5. Shuffle Memplexes
Step 6. Check Convergence
17
SFLA: Local Exploration مج2ددا ب2ر حس2ب memplexقورباغ2ه ه2ای موج2ود در •
آنه2ا ب2رای ف2وق و مراح2ل برازن2دگی م2رتب میش2وند تکرار میشود.
مرتبه انجام میشود.Nاین کار برای •
Step 0. Construct a Submemeplex
Step 1. Improve the Worst Frog’s Position
Step 2. Censorship
Step 3. Upgrade the memeplex
Step 0. Initialize
Step 1. Generate Virtual Population
Step 2. Rank Frogs
Step 3. Partition frogs into memeplexes
Step 4. Memetic evolution within each memeplex
Step 5. Shuffle Memplexes
Step 6. Check Convergence
18
Step 0. Initialize
Step 1. Generate Virtual Population
Step 2. Rank Frogs
Step 3. Partition frogs into memeplexes
Step 4. Memetic evolution within each memeplex
Step 5. Shuffle Memplexes
Step 6. Check Convergence
مرحله • در که ممتیکی تکامل معینی تعداد از Localبعد Exploration آرای2ه میش2ود، انج2ام X دهن2ده نش2ان ک2ه
گ2رفتن نظ2ر در ب2ا مج2ددا اس2ت، ه2ا قورباغ2ه برازن2دگی مقادیر جدید بروز رسانی میشوند.
همینطور مقدار نیز بروز رسانی میشود.•
SFLA: General Exploration
19
Step 0. Initialize
Step 1. Generate Virtual Population
Step 2. Rank Frogs
Step 3. Partition frogs into memeplexes
Step 4. Memetic evolution within each memeplex
Step 5. Shuffle Memplexes
Step 6. Check Convergence
اگ2ر ش2رط ی2ا ش2روط توق2ف ب2ه دس2ت آم2ده اس2ت، الگ2وریتم •نظ2ر در بهین2ه ج2واب عن2وان ب2ه مق2دار و ش2ده متوق2ف
گرفته میشود. بازمیگردیم.3در غیر اینصورت به مرحله •معم2وال از ش2روط ت2وقفی مث2ل چن2دین تک2رار ب2دون بهب2ود، •
رس2یدن ب2ه ی2ک ج2واب از پیش تع2یین ش2ده، ی2ا تع2داد تک2رار معین استفاده میشود.
SFLA: General Exploration
22
SFLA: Diversification and Intensification
همگرایی• تکامل ممتیک: حرکت به سمت بهترین جواب در هرsubmemplexحرکت به سمت بهترین جواب موجود در بین همه جواب ها
واگرایی•( به هم ریختن جواب هاShuffling) استفاده از بخشی از قورباغه های موجود در هر ممپلکس برای تشکیل
submemplexها
23
SFLA: Parameters
(mتعداد ممپلکس ها )•(nتعداد اعضای هر ممپلکس )•submemplex (q)تعداد اعضای هر •(Nتعداد تکامل ممتیک در هر ممپلکس )•(S maxحداکثر اندازه جهش )•
24
SFLA: Number of Publications
2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 20140
10
20
30
40
50
60
70
80
SFLA
Count
25
SFLA: Applications
Shuffled Frog Leaping Algorithm
Travelling Salesman Problem
Knapsack
Minimum Spanning Tree
Resource Constrained Project Scheduling Problem
Finance-Based Scheduling
Water Resource Distribution Network Design
…
32
SFLA: References• Eusuff, Muzaffar, Kevin Lansey, and Fayzul Pasha. "Shuffled frog-leaping algorithm: a memetic meta-
heuristic for discrete optimization." Engineering Optimization 38.2 (2006): 129-154.
• Elbeltagi, Emad, Tarek Hegazy, and Donald Grierson. "Comparison among five evolutionary-based optimization algorithms." Advanced engineering informatics19.1 (2005): 43-53.
• Fang, Chen, and Ling Wang. "An effective shuffled frog-leaping algorithm for resource-constrained project scheduling problem." Computers & Operations Research 39.5 (2012): 890-901.
• Li, Zhoufang, and Yuhua Wang. "An Improved Shuffled Frog Leaping Algorithm for TSP." Advances in Multimedia, Software Engineering and Computing Vol. 2. Springer Berlin Heidelberg, 2012. 139-144.
• Elbeltagi, Emad, Tarek Hegazy, and Donald Grierson. "A modified shuffled frog-leaping optimization algorithm: applications to project management." Structure and Infrastructure Engineering 3.1 (2007): 53-60.
• Han, Yi, et al. "Shuffled Frog Leaping Algorithm for Preemptive Project Scheduling Problems with Resource Vacations Based on Patterson Set.“ Journal of Applied Mathematics 2013 (2013).
33
با تشکر
“Most people have a price. And they have a price because of human emotions named fear and
greed. First, the fear of being without money motivates us to work hard, and then once we get that
paycheck, greed or desire starts us thinking about all the wonderful things money can buy. The
pattern is then set. The pattern of get up, go to work, pay bills, get up, go to work, pay bills...
“There is another way?” Mike asked.
“Yes,” said rich dad slowly. “But only a few people find it.”
(Rich Dad Poor Dad, Robert Kiyosaki)