© J. Christopher Beck 20081 Lecture 17: Tabu Search.

Slides:



Advertisements
Similar presentations
Informed search algorithms
Advertisements

Informed search algorithms
Heuristic Search techniques
Local Search Algorithms
Local Search Jim Little UBC CS 322 – CSP October 3, 2014 Textbook §4.8
CPSC 322, Lecture 14Slide 1 Local Search Computer Science cpsc322, Lecture 14 (Textbook Chpt 4.8) Oct, 5, 2012.
Local Search Algorithms Chapter 4. Outline Hill-climbing search Simulated annealing search Local beam search Genetic algorithms Ant Colony Optimization.
Lecture 6: Job Shop Scheduling Introduction
© J. Christopher Beck Lecture 7: Shifting Bottleneck.
DIJKSTRA’s Algorithm. Definition fwd search Find the shortest paths from a given SOURCE node to ALL other nodes, by developing the paths in order of increasing.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Lecture 10: Integer Programming & Branch-and-Bound
© J. Christopher Beck Lecture 15: CP Search.
Artificial Intelligence Lecture
Slide 1 Search: Advanced Topics Jim Little UBC CS 322 – Search 5 September 22, 2014 Textbook § 3.6.
© J. Christopher Beck Lecture 14: Assembly Line Scheduling 2.
MAE 552 – Heuristic Optimization Lecture 24 March 20, 2002 Topic: Tabu Search.
© J. Christopher Beck Lecture 20: Sports Scheduling.
1 IOE/MFG 543 Chapter 14: General purpose procedures for scheduling in practice Section 14.4: Local search (Simulated annealing and tabu search)
© J. Christopher Beck Lecture 11: Constraint Programming 1.
© J. Christopher Beck Lecture 22: Local Search for Sports Scheduling.
MAE 552 – Heuristic Optimization Lecture 25 March 22, 2002 Topic: Tabu Search.
Metaheuristics The idea: search the solution space directly. No math models, only a set of algorithmic steps, iterative method. Find a feasible solution.
Elements of the Heuristic Approach
Escaping local optimas Accept nonimproving neighbors – Tabu search and simulated annealing Iterating with different initial solutions – Multistart local.
Internet Traffic Engineering by Optimizing OSPF Weights Bernard Fortz (Universit é Libre de Bruxelles) Mikkel Thorup (AT&T Labs-Research) Presented by.
© J. Christopher Beck Lecture 5: Project Planning 2.
Design & Analysis of Algorithms Combinatory optimization SCHOOL OF COMPUTING Pasi Fränti
© J. Christopher Beck Lecture 13: Modeling in Constraint Programming.
© J. Christopher Beck Lecture 21: Sports Scheduling 1.
Escaping Local Optima. Where are we? Optimization methods Complete solutions Partial solutions Exhaustive search Hill climbing Random restart General.
Informed search algorithms Chapter 4. Outline Best-first search Greedy best-first search A * search Heuristics.
CP Summer School Modelling for Constraint Programming Barbara Smith 2. Implied Constraints, Optimization, Dominance Rules.
Spring 2015 Mathematics in Management Science Critical Path Scheduling Critical Paths & Times Backflow Algorithm Critical Times PL Critical Path Algorithm.
Heuristic Optimization Methods Greedy algorithms, Approximation algorithms, and GRASP.
CSCI 5582 Fall 2006 CSCI 5582 Artificial Intelligence Fall 2006 Jim Martin.
FORS 8450 Advanced Forest Planning Lecture 11 Tabu Search.
Iterative Improvement Algorithm 2012/03/20. Outline Local Search Algorithms Hill-Climbing Search Simulated Annealing Search Local Beam Search Genetic.
© J. Christopher Beck Lecture 6: Time/Cost Trade-off in Project Planning.
Lecture 9: Simplified Shifting Bottleneck
Single-solution based metaheuristics. Outline Local Search Simulated annealing Tabu search …
Bonus Round Assembly Line Scheduling Assume Assembly Line is used for multiple products 1.
Maximum Likelihood Given competing explanations for a particular observation, which explanation should we choose? Maximum likelihood methodologies suggest.
© J. Christopher Beck Lecture 10: (Full) Shifting Bottleneck.
Heuristic Methods for the Single- Machine Problem Chapter 4 Elements of Sequencing and Scheduling by Kenneth R. Baker Byung-Hyun Ha R2.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Lecture 6 – Local Search Dr. Muhammad Adnan Hashmi 1 24 February 2016.
© J. Christopher Beck Lecture 16: Local Search.
Ch. Eick: Randomized Hill Climbing Techniques Randomized Hill Climbing Neighborhood Hill Climbing: Sample p points randomly in the neighborhood of the.
Escaping Local Optima. Where are we? Optimization methods Complete solutions Partial solutions Exhaustive search Hill climbing Exhaustive search Hill.
Tabu Search Applications Outlines: 1.Application of Tabu Search 2.Our Project with Tabu Search: EACIIT analytics.
CMPT 463. What will be covered A* search Local search Game tree Constraint satisfaction problems (CSP)
Tabu Search for Solving Personnel Scheduling Problem
School of Computer Science & Engineering
Lecture 11: Tree Search © J. Christopher Beck 2008.
Local Search Algorithms
Computer Science cpsc322, Lecture 14
Games with Chance Other Search Algorithms
General Purpose Procedures Applied to Scheduling
Study Guide for ES205 Yu-Chi Ho Jonathan T. Lee Nov. 7, 2000
Randomized Hill Climbing
Hill-climbing Search Goal: Optimizing an objective function.
Lecture 23: Workforce Scheduling 1
Heuristics Local Search
Lecture 9: Tabu Search © J. Christopher Beck 2005.
More on Search: A* and Optimization
Heuristics Local Search
Mental Health and Wellness Resources
EE5900 Advanced Embedded System For Smart Infrastructure
Local Search Algorithms
Presentation transcript:

© J. Christopher Beck Lecture 17: Tabu Search

© J. Christopher Beck Outline Review: Local Search & Crystal Maze Tabu Search Tabu & 1-machine JSP Example C.5.4 Tabu & JSP N1 neighborhood

© J. Christopher Beck Readings P Ch C.5

© J. Christopher Beck Core Ideas of Local Search Start with some (random?) assignment of variables Look in “neighborhood” formed by making a small change to the assignment Choose best neighbor Repeat

© J. Christopher Beck Crystal Maze Place the numbers 1 through 8 in the nodes such that: Each number appears exactly once ? ? ? ? ? ? ?? –No connected nodes have consecutive numbers

© J. Christopher Beck Random Initial Solution ? ? ? ? ? ? ??

© J. Christopher Beck Random Initial Solution ? ? ? ? ? ? ?? “Broken” constraint Cost = # of broken constraints

© J. Christopher Beck What Should We Do Now? Move: Swap two numbers Which two numbers? Randomly pick a pair The pair that will lead to the biggest decrease in cost Cost: number of broken constraints

© J. Christopher Beck What Should We Do Now? Move: Swap two numbers Which two numbers? Randomly pick a pair The pair that will lead to the biggest decrease in cost Cost: number of broken constraints

© J. Christopher Beck Random Initial Solution ? ? ? ? ? ? ??

© J. Christopher Beck Cost Difference Table

© J. Christopher Beck Cost Difference Table

© J. Christopher Beck Current State ? ? ? ? ? ? ??

© J. Christopher Beck Swap 1 & 7: Cost 3 ? ? ? ? ? ? ??

© J. Christopher Beck New Cost Difference Table

© J. Christopher Beck Current State ? ? ? ? ? ? ??

© J. Christopher Beck Swap 3 & 8: Cost 2 ? ? ? ? ? ? ??

© J. Christopher Beck Swap 6 & 7: Cost 1 ? ? ? ? ? ? ??

© J. Christopher Beck Moves Initial State: Cost 6 Swap 1 & 7: Cost 3 Swap 3 & 8: Cost 2 Swap 6 & 7: Cost 1

© J. Christopher Beck Cost Difference Table

© J. Christopher Beck Now what? There are no improving moves to make! So far, we have been “hill- climbing” moves cost

© J. Christopher Beck Tabu Search Idea Local search but: Keep a small list of the moves that are “tabu”: you can’t (un)do them List has a limited length and the oldest entries “fall off” when the list is full

© J. Christopher Beck Tabu Search Start with some (maybe random) initial state Look at the moves in the “neighborhood” and take the best one Remember the last k moves (“tabu list”) so you don’t undo them

© J. Christopher Beck Tabu Search & 1-Machine Example C.5.4, min  w j T j Tabu List Size = 2 Jobs1234 pjpj djdj wjwj J j, p j, d j, w j J1, 10, 4, 14

© J. Christopher Beck TS Step 1: Find Initial Solution Arbitrarily choose (2, 1, 4, 3) J3, 13, 1, 1J1, 10, 4, 14J2, 10, 2, 12 J4, 4, 12, J j, p j, d j, w j

© J. Christopher Beck TS Step 2: Evaluate Neighborhood & Select Move Neighborhood: swap Adjacent pairwise interchange J3, 13, 1, 1J1, 10, 4, 14J2, 10, 2, 12 J4, 4, 12, 12 J3, 13, 1, 1J1, 10, 4, 14J2, 10, 2, 12 J4, 4, 12, 12  wjTj = 480 J4, 4, 12, 12 J3, 13, 1, 1J1, 10, 4, 14J2, 10, 2, 12  wjTj = 436 J3, 13, 1, 1J1, 10, 4, 14J2, 10, 2, 12 J4, 4, 12, 12  wjTj = 652 Choose (1,4)

© J. Christopher Beck TS Step 3: Add Move to Tabu List J4, 4, 12, 12 J3, 13, 1, 1J1, 10, 4, 14J2, 10, 2, 12  wjTj = 436 Tabu: ((1, 4)) Best so far: (2, 4, 1, 3): 436

© J. Christopher Beck TS Step 2: Evaluate Neighborhood & Select Move J4, 4, 12, 12 J3, 13, 1, 1J1, 10, 4, 14J2, 10, 2, 12 J4, 4, 12, 12  wjTj = 460 J3, 13, 1, 1J1, 10, 4, 14J2, 10, 2, 12  wjTj = 500 J3, 13, 1, 1J1, 10, 4, 14J2, 10, 2, 12 J4, 4, 12, 12  wjTj = 608 Choose (4,2) J4, 4, 12, 12 J3, 13, 1, 1J1, 10, 4, 14J2, 10, 2, 12  wjTj = 436 Tabu: ((1, 4))

© J. Christopher Beck TS Step 3: Add Move to Tabu List Tabu: ((2,4) (1, 4)) J3, 13, 1, 1J1, 10, 4, 14J2, 10, 2, 12 J4, 4, 12, 12  wjTj = 460 Best so far: (2, 4, 1, 3): 436

© J. Christopher Beck TS Step 2: Evaluate Neighborhood & Select Move J4, 4, 12, 12 J3, 13, 1, 1J1, 10, 4, 14J2, 10, 2, 12 J4, 4, 12, 12  wjTj = 436 J3, 13, 1, 1J1, 10, 4, 14J2, 10, 2, 12  wjTj = 440 J3, 13, 1, 1J1, 10, 4, 14J2, 10, 2, 12 J4, 4, 12, 12  wjTj = 632 Choose (1,2) Tabu: ((2,4) (1, 4)) J3, 13, 1, 1J1, 10, 4, 14J2, 10, 2, 12 J4, 4, 12, 12  wjTj = 460

© J. Christopher Beck TS Step 3: Add Move to Tabu List Tabu: ((1,2), (2,4)) J3, 13, 1, 1J1, 10, 4, 14J2, 10, 2, 12 J4, 4, 12, 12  wjTj = 440 Best so far: (2, 4, 1, 3): 436

© J. Christopher Beck TS Step 2: Evaluate Neighborhood & Select Move J4, 4, 12, 12 J3, 13, 1, 1J1, 10, 4, 14J2, 10, 2, 12 J4, 4, 12, 12  wjTj = 460 J3, 13, 1, 1J1, 10, 4, 14J2, 10, 2, 12  wjTj = 408 J3, 13, 1, 1J1, 10, 4, 14J2, 10, 2, 12 J4, 4, 12, 12  wjTj = 586 Choose (1,4) Tabu: ((1,2), (2,4)) J3, 13, 1, 1J1, 10, 4, 14J2, 10, 2, 12 J4, 4, 12, 12  wjTj = 440

© J. Christopher Beck TS Step 3: Add Move to Tabu List Tabu: ((1,4), (1,2))  wjTj = 408 Best so far: (1,4,2,3): 408 J4, 4, 12, 12 J3, 13, 1, 1J1, 10, 4, 14J2, 10, 2, 12 And so on until a bound on the number of iterations (actually 408 is optimal, but TS has no way of knowing)

© J. Christopher Beck Tabu Search Framework Find initial solution (something quick) Until N moves are done Evaluate neighborhood Choose best non-tabu neighbor Update tabu list Return best solution found

© J. Christopher Beck Tabu Search Framework To completely define a TS algorithm, you must define How the initial solution is found Format and length of tabu list How to generate a neighborhood from a given state

© J. Christopher Beck TS & JSP J0 J1 J2 J0 J1 J2

© J. Christopher Beck TS & JSP How might you find a first solution? What could your tabu list format be? Can you define a neighborhood?

© J. Christopher Beck The N1 Neighborhood for JSP J0 J1 J2

© J. Christopher Beck The N1 Neighborhood for JSP J0 J1 J2 Pick a critical path Neighborhood: all swaps on the chosen CP

© J. Christopher Beck Tabu Example JSP Run Tabu on JSP from previous lectures JobsProcessing times 0 J0R0[15]  J0R1[50]  J0R2[60] 1 J1R1[50]  J1R0[50]  J1R2[15] 2 J2R0[30]  J2R1[15]  J2R2[20]