34
Shuffled Frog Leaping Algorithm ه غ ا ورب ق ی ب ی ک ر ت ش ه ج م ت ی ور گ ل ا ور# پ% ن ی ر ر ت ر کت م د ن ا کار خ ر س اد: ت س ا ی ج ت ر م% ن سی ح د طه ت س و: ج ش ن دا1

Shuffled Frog Leaping Algorithm الگوریتم جهش ترکیبی قورباغه استاد : سرکار خانم دکتر برزین پور دانشجو : سید طه حسین

Embed Size (px)

Citation preview

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

3

SFLA: Concept and AssumptionZÅ °̧b¼»{Y| e�

m=6

°̧ b¼» ÅÉZ Y{Y| e� � � �n=5

ÄÀÌÆ][ YÂmZËY~£

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

20

Example 1: Search Pattern for a Small Scale Problem

21

Example 2: Search Pattern for F5

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

26

SFLA: Performance Analysis

27

SFLA: Performance Analysis in Finance-Based Scheduling Problem

28

Case Study: SFLA for RCPCP

29

Case Study: SFLA for RCPCP …•Algorithm Flowchart

30

•Crossover Operation

Case Study: SFLA for RCPCP …

31

•Repair Procedure

Case Study: SFLA for RCPCP …

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)

34

Evolution: Memetic vs. Genetic