tabu search

7
1 Tabu Search Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations

Upload: carson

Post on 04-Jan-2016

39 views

Category:

Documents


0 download

DESCRIPTION

Tabu Search. Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations. Literature 1. Modern Heuristic Techniques for Combinatorial Problems, (Ed) C.Reeves 1995, McGraw-Hill. Chapter 3. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Tabu Search

1

Tabu Search

Contents

1. Basic Concepts

2. Algorithm

3. Practical considerations

Page 2: Tabu Search

2

Literature

1. Modern Heuristic Techniques for Combinatorial Problems, (Ed) C.Reeves 1995, McGraw-Hill. Chapter 3.

2. Operations Scheduling with Applications in Manufacturingand Services, Michael Pinedo and Xiuli Chao, McGraw Hill, 2000,Chapter 3.6.

or

Scheduling, Theory, Algorithms, and Systems, Second Addition,Michael Pinedo, Prentice Hall, 2002, Chapter 14.4

Page 3: Tabu Search

3

Basic Concepts

Tabu-lists contains moves which have been made in the recent past butare forbidden for a certain number of iterations.

Algorithm

Step 1.k=1 Select an initial schedule S1 using some heuristic and set Sbest = S1

Step 2.Select ScN(Sk)If the move Sk Sc is prohibited by a move on the tabu-listthen go to Step 2

Page 4: Tabu Search

4

If the move Sk Sc is not prohibited by a move on the tabu-listthen Sk+1 = Sc

Enter reverse move at the top of the tabu-listPush all other entries in the tabu-list one position downDelete the entry at the bottom of the tabu-list

If F(Sc) < F(Sbest) then Sbest = Sc

Go to Step 3.

Step 3.k = k+1 ;If stopping condition = true then STOPelse go to Step 2

Page 5: Tabu Search

5

Example.

jobs 1 2 3 4pj 10 10 13 4dj 4 2 1 12wj 14 12 1 12

1 | dj | wjTj

Neighbourhood: all schedules that can be obtained throughadjacent pairwise interchanges.Tabu-list: pairs of jobs (j, k) that were swapped within the lasttwo moves

S1 = 2, 1, 4, 3F(S1) = wjTj = 12·8 + 14·16 + 12·12 + 1 ·36 = 500 = F(Sbest)F(1, 2, 4, 3) = 480F(2, 4, 1, 3) = 436 = F(Sbest)F(2, 1, 3, 4) = 652Tabu-list: { (1, 4) }

Page 6: Tabu Search

6

S2 = 2, 4, 1, 3, F(S2) = 436F(4, 2, 1, 3) = 460F(2, 1, 4, 3) (= 500) tabu!F(2, 4, 3, 1) = 608Tabu-list: { (2, 4), (1, 4) }

S3 = 4, 2, 1, 3, F(S3) = 460F(2, 4, 1, 3) (= 436) tabu!F(4, 1, 2, 3) = 440F(4, 2, 3, 1) = 632Tabu-list: { (2, 1), (2, 4) }

S4 = 4, 1, 2, 3, F(S4) = 440F(1, 4, 2, 3) = 408 = F(Sbest) F(4, 2, 1, 3) (= 460) tabu!F(4, 1, 3, 2) = 586Tabu-list: { (4, 1), (2, 4) }F(Sbest)= 408

Page 7: Tabu Search

7

Practical considerations

• Tabu tenure: the length of time t for which a move is forbident too small - risk of cyclingt too large - may restrict the search too mucht=7 has often been found sufficient to prevent cycling

nt

• Number of tabu moves: 5 - 9

• If a tabu move is smaller than the aspiration level thenwe accept the move