Scatter Search Algorithm

28
Scatter Search Astri Puspitasari Luthfan Hadi Pramono Media Digital and Game Technology, Institut Teknologi Bandung, 2012

description

A brief overview about Scatter Search algorithm and and its application to job scheduling

Transcript of Scatter Search Algorithm

Page 1: Scatter Search Algorithm

Scatter SearchAstri Puspitasari Luthfan Hadi Pramono

Media Digital and Game Technology, Institut Teknologi Bandung, 2012

Page 2: Scatter Search Algorithm

What is Scatter Search?Metaheuristic and Global Optimization

algorithm

Use diversification (extrapolation) and intensifications (interpolation) strategies, not randomize

Combining a set of diverse and high quality candidate solutions by considering the weights and constraints of each solution

Introduced in 1970’s , proposed by Fred Glover in 1977

Page 3: Scatter Search Algorithm

How does SS Combine Solutions?• A, B and C is seed solutions of

the reference set (generate randomly)

• New solution is crated from the linear (convex or non-convex) combination of at least two reference solutions

• New reference set evolved by deleting old solution, adding new solution

B

C

A

2

3

4

1

Page 4: Scatter Search Algorithm

How does SS Work?

Improvement Method

Diversification generation

method

Subset GenerationSolution Combination

Next iteration?

Reference set (Seed

Solutions)

New Reference Set New Reference Set

Most Optimal Solution

Yes

No

Page 5: Scatter Search Algorithm

Scatter Search Algorithm

Page 6: Scatter Search Algorithm

Scatter Search on Job Scheduling

Case Study

Page 7: Scatter Search Algorithm

Find The Most Optimal Schedule Using SS !

Machine 1

Machine 2

Machine 3

Machine 4

Machine 5

Job 1 23 10 40 26 27

Job 2 30 18 30 39 37

Job 3 12 2 13 31 6

Job 4 50 4 8 15 41

Job 5 21 33 8 12 8

Page 8: Scatter Search Algorithm

1. Set Up Parameter Number of seed solution P = 7 (choose randomly)

Solution 1 : 4-3-1-5-2 Solution 2 : 3-4-2-1-5 Solution 3 : 3-4-5-1-2 Solution 4 : 2-1-4-3-5 Solution 5 : 1-5-4-3-2 Solution 6 : 5-2-1-4-3 Solution 7 : 1-5-2-4-3

Reference set R = 3; Ra=2 (best solution) and

Rb=1 (worst solution)

Number of iteration = 1

Page 9: Scatter Search Algorithm

2. Diversification MethodCalculate fitness value of each solution by calculating

makespan

Solution 1

Machine 1 Machine 2 Machine 3 Machine 4 Machine 5

Start End Start End Start End Start End Start End

Job 1 0 50 50 54 54 62 62 77 77 118

Job 2 50 62 62 64 64 77 77 108 118 124

Job 3 62 85 85 95 95 135 135 161 161 188

Job 4 85 106 106 139 139 147 161 173 188 196

Job 5 106 136 139 157 157 187 187 226 226 263

Makespan = 263

Page 10: Scatter Search Algorithm

2. Diversification MethodBy doing the same for the rest solutions, then

Fitness Value

Solution 1 263

Solution 2 251

Solution 3 272

Solution 4 236

Solution 5 260

Solution 6 252

Solution 7 248

Page 11: Scatter Search Algorithm

3. Improvement Method

• Choose two worst solutions to be improved

• Worst solution has biggest fitness value • 1st worst solution will be improved

by using NEH algorithm

• 2nd worst solution will be improved by using SPT algorithm

Fitness Value

Solution 1 263

Solution 2 251

Solution 3 272

Solution 4 236

Solution 5 260

Solution 6 252

Solution 7 248

Page 12: Scatter Search Algorithm

3. Improvement Method (SPT) SPT algorithm use to improve fitness value for solution 1

Calculate total time consume for each job, then order job ascending by total time

Result of improvement

New schedule for solution 1 is 3-5-4-1-2

Makespan = 262

Machine 1 Machine 2 Machine 3 Machine 4 Machine 5 Total

Job 1 23 10 40 26 27 126

Job 2 30 18 30 39 37 154

Job 3 12 2 13 31 6 64

Job 4 50 4 8 15 41 118

Job 5 21 33 8 12 8 82

Page 13: Scatter Search Algorithm

3. Improvement Method (NEH) NEH algorithm use to improve fitness value for solution 3

Calculate total time for each job

Order job descending by the total time consume : 2 - 1 - 4 - 5 - 3

Take top two job on the order (Job 2 and Job 1), then calculate the makespan for each combination

1st combination : Job 1- Job 2 ; Makespan : 179

2nd Combination : Job 1 – Job 2 ; Makespan : 181

Machine 1 Machine 2 Machine 3 Machine 4 Machine 5 Total

Job 1 23 10 40 26 27 126

Job 2 30 18 30 39 37 154

Job 3 12 2 13 31 6 64

Job 4 50 4 8 15 41 118

Job 5 21 33 8 12 8 82

Take it to the next step

Page 14: Scatter Search Algorithm

3. Improvement Method (NEH) 1-2 combination is the most optimal combination

Combine the 3rd job (job 4) with 1-2 combination

Combinations : 1-2-4, 1-4-2, and 4-1-2

Fitness value for each combination :

Combination Fitness

4-1-2 229

1-4-2 227

1-2-4 220 Take it to the next step

Page 15: Scatter Search Algorithm

3. Improvement Method (NEH) 4-1-2 combination is the most optimal combination

Combine the 4th job (job 5) with 4-1-2 combination

Combinations : 5-1-2-4, 1-5-2-4, 1-2-5-4, 1-2-4-5

Fitness value for each combination :

Combination Fitness

5-1-2-4 251

1-5-2-4 242

1-2-5-4 228

1-2-4-5 228

Take it to the next step

Page 16: Scatter Search Algorithm

3. Improvement Method (NEH) 1-2-4-5 combination is the most optimal combination

Combine the 5th job (job 3) with 4-1-2 combination

Combinations : 3-1-2-4-5 , 1-3-2-4-5 , 1-2-3-4-5, 1-2-4-3-5, 1-2-4-5-3

Fitness value for each combination :

Combination Fitness

3-1-2-4-5 240

1-3-2-4-5 255

1-2-3-4-5 237

1-2-4-3-5 234

1-2-4-5-3 234 NEH Result

Page 17: Scatter Search Algorithm

New Reference Set

Job Order Fitness Value

Solution 1 3-5-4-1-2 262

Solution 2 3-4-2-1-5 251

Solution 3 1-2-4-5-3 234

Solution 4 2-1-4-3-5 236

Solution 5 1-5-4-3-2 260

Solution 6 5-2-1-4-3 252

Solution 7 1-5-2-4-3 248

Page 18: Scatter Search Algorithm

4. Subset GenerationJob Order Fitness

ValueSolution

1 3-5-4-1-2 262

Solution 2 3-4-2-1-5 251

Solution 3 1-2-4-5-3 234

Solution 4 2-1-4-3-5 236

Solution 5 1-5-4-3-2 260

Solution 6 5-2-1-4-3 252

Solution 7 1-5-2-4-3 248 Reference set R = 3; Ra=2 (best solution); Rb=1 (worst solution)

R-1 = 2 max type subset

Ra

Rb

Page 19: Scatter Search Algorithm

4. Subset Generation(Type 1)a1 = solution 3 ; a2 = solution 4 ; b = solution 1

Each subset type-1 has 2 values

Every subset is a set combination of a1, a2, and b

Subset type 1 : (a1,a2) , (a1,b), (a2,b) = (3,4), (3,1), (4,1)

Find new combination solution by using neighborhoods method Find diverse value between job order one each

subset combination solutions

Page 20: Scatter Search Algorithm

4. Subset Generation (Type 1) Find new solutions by exchanging jobs between solution

3 and solution 4

1 2 4 5 3

Solution 3

2 1 4 3 5

Solution 4

1 4 5 3

New Solution 1

2

2 4 3 5

New Solution 2

1

Page 21: Scatter Search Algorithm

4. Subset Generation (Type 1)

1 2 4 5 3

Solution 3

2 1 4 3 5

Solution 4

1 4 5 3

New Solution 3

2

2 4 3 5

New Solution 4

1

1 2 4 5 3

Solution 3

2 1 4 5 3

Solution 4

2 4 3 5

New Solution 3

1

1 4 5 3

New Solution 4

2

Page 22: Scatter Search Algorithm

4. Subset Generation (Type 1)

Do neighborhood method for the rest member of subset type 1 Exchanging jobs between solution 3 and solution 1 Exchanging jobs between solution 4 and solution 1

1 2 4 5 3

Solution 3

2 1 4 5 3

Solution 4

2 4 3 5

New Solution 5

1

1 4 5 3

New Solution 6

2

Page 23: Scatter Search Algorithm

4. Subset Generation (Type 1)

Neighborhood New solution Combination Fitness

Solution 3 and Solution 4

New Solution 1 2-1-4-5-3 236New Solution 2 1-2-4-3-5 234New Solution 3 2-1-4-5-3 236New Solution 4 1-2-4-3-5 234New Solution 5 1-2-4-3-5 234New Solution 6 2-1-4-5-3 236New Solution 7 1-2-4-3-5 234New Solution 8 2-1-4-5-3 236

Solution 3 and Solution 1

New Solution 9 1-5-4-3-2 260New Solution 10 3-2-4-5-1 249New Solution 11 3-2-4-1-5 242New Solution 12 1-5-4-2-3 254New Solution 13 3-1-4-5-2 263New Solution 14 5-2-4-1-3 252New Solution 15 2-5-4-1-3 237New Solution 16 1-3-4-5-2 263

Solution 1 and Solution 4

New Solution 17 2-5-4-1-3 237New Solution 18 3-1-4-2-5 247New Solution 19 3-1-4-5-2 263New Solution 20 2-5-4-3-1 239New Solution 21 1-5-4-3-2 260New Solution 22 2-3-4-1-5 239New Solution 23 3-2-4-1-5 242New Solution 24 5-1-4-3-2 260

Page 24: Scatter Search Algorithm

4. Subset Generation (Type 2) Each subset type-2 has 3 values

Every subset is a set combination of a1, a2, and b

Subset type 1 : (a2,b) a1 = (4,1) 3

The most optimal combination of neighborhood (4,1) is New Solution 17

Find new combination solutions by using neighborhood method on New Solution 17 and Solution 3

1 2 4 5 3

New Solution 17

2 1 4 3 5

Solution 3

1 4 5 3

New Solution 25

2

2 4 3 5

New Solution 26

1

Page 25: Scatter Search Algorithm

4. Subset Generation (Type 2)

New solution Combination FitnessNew Solution 25 1-5-4-2-3 254New Solution 26 2-1-4-5-3 236New Solution 27 5-2-4-1-3 252New Solution 28 1-5-4-2-3 254New Solution 29 2-1-4-5-3 236New Solution 30 5-2-4-1-3 252

The most optimal combination of 37 solution (7 seed + 30 new) is Solution 3 (1-2-4-5-3), with Fitness value = 234

Page 26: Scatter Search Algorithm

The Application

Page 27: Scatter Search Algorithm

References Glover, F., M. Laguna and R. Martí (2000), “Fundamentals of Scatter Search and Path

Relinking” Control and Cybernetics, 29 (3), pp. 653-684http://leeds.colorado.edu/Faculty/Laguna/articles/ss3.pdf (Last Access: March 24th 2003).

Laguna, M. (2002), “Scatter Search” in Handbook of Applied Optimization, P. M. Pardalos and M. G. C. Resende (Eds.), Oxford University Press, pp. 183-193http://www-bus.colorado.edu/Faculty/Laguna/articles/ss1.pdf (Last Access: March 24th 2003).

Marti, R., M. Laguna and F. Glover (2003), “Principle of Scatter Search”, Technical Report, Universidad de Valencia, Valencia.

Harris, Jason and S. Coe, (2005), “Introduction to Scatter Search”, Lecture handout: Paper Review, University of Guelph, Guelph.

Raharjo, Aliong (2007), “Analyzing The Comparison Between Genetic Algorithm and Scatter Search Algorithm on Flowshop Scheduling Matter With Makespan Criterion”, Industrial Engineering Project, Petra Christian University, Surabaya.

Nugroho, Susetyo (2004), “Analyzing System of Surabaya Public Transportation Route Using Scatter Search Algorithm”, Information System Project, STIKOM Surabaya, Surabaya.

Page 28: Scatter Search Algorithm

Thank You