1 / 7

Tabu Search

Tabu Search. Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations. Basic Concepts. Tabu-lists contains moves which have been made in the recent past but are forbidden for a certain number of iterations. Algorithm Step 1 . k =1

desma
Download Presentation

Tabu Search

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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 ScN(Sk) If the move Sk Sc is prohibited by a move on the tabu-list then go to Step 2

  3. If the move Sk Sc is not prohibited by a move on the tabu-list then Sk+1 = Sc Enter reverse move at the top of the tabu-list Push all other entries in the tabu-list one position down Delete 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 STOP else go to Step 2

  4. Example. Minimize total wighted tardiness, where the tardiness of a job is the Amount it exceeds its deadline (or 0 if it is on time) Neighbourhood: all schedules that can be obtained throughadjacent pairwise interchanges. Tabu-list: pairs of jobs (j, k) that were swapped within the lasttwo moves

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

  6. S2 = 2, 4, 1, 3, F(S2) = 436 F(4, 2, 1, 3) =460 F(2, 1, 4, 3) (= 500) tabu! F(2, 4, 3, 1) = 608 Tabu-list: { (2, 4), (1, 4) } S3 = 4, 2, 1, 3, F(S3) = 460 F(2, 4, 1, 3) (=436)tabu! F(4, 1, 2, 3) = 440 F(4, 2, 3, 1) = 632 Tabu-list: { (2, 1), (2, 4) } S4 = 4, 1, 2, 3, F(S4) = 440 F(1, 4, 2, 3) =408 = F(Sbest) F(4, 2, 1, 3) (= 460) tabu! F(4, 1, 3, 2) = 586 Tabu-list: { (4, 1), (2, 4) } F(Sbest)= 408

  7. Practical considerations • Tabu tenure: the length of time t for which a move is forbiden • t too small - risk of cycling • t too large - may restrict the search too much • t=7 has often been found sufficient to prevent cycling • Number of tabu moves: 5 - 9 • If a tabu move is smaller than the aspiration level then we accept the move

More Related