MIE562: Scheduling J. Christopher Beck Department of Mechanical & Industrial Engineering University of Toronto [email protected] Overview: This course takes a practical approach to scheduling problems and solution techniques, motivating the different mathematical definitions of scheduling with realworld scheduling systems and problems. The linking theme for the course is the use of search (partition, relaxations, and inference) to solve hard combinatorial problems. Topics covered include: job shop scheduling, timetabling, project scheduling, and the variety of solution approaches including constraint programming, local search, heuristics, and dispatch rules. Also covered will be information engineering aspects of building scheduling systems. A group project will require the creation a scheduling system using the Warp Shoes database. Evaluation will be based on three terms tests, the project, and the final exam. Students should have a basic knowledge of standard optimization techniques as taught in second and third year MIE courses. Syllabus MIE562 is a senior undergraduate and junior graduate course. The students are primarily in their fourth year of an Industrial Engineering degree having already specialized in Operations Research or Information Engineering. The course takes a modeling and an algorithmic approach, emphasizing different types of scheduling problems, common models for them, and common algorithms and solving frameworks (i.e., heuristics, tree search within MIP and Constraint Programming, and local search/metaheuristics). 1. Project Planning: CPM, PERT, Graph theory concepts, Time/cost trade-off. Emphasis is on the mechanics of CPM and PERT as they appear repeatedly in all types of scheduling algorithms as well as some of the connections with graph theory. (Students are not expected to know any graph theory). Four lectures (Lec 3 – Lec 6) 2. Heuristics for Scheduling: Dispatch rules, Shifting bottleneck. Emphasis is again on the mechanics with some mentions of restricted scheduling models where dispatch rules guarantee optimality. Three lectures (Lec 8 – Lec 10) 3. Search: Tree search (Partitioning, Relaxation, Inference, MIP solving, Constraint Programming), Local search (Tabu search). The primary conceptual content of the course are the ideas underlying search. These ideas are illustrated by solving manufacturing scheduling problems. Some treatment of problem modeling. Seven lectures (Lec 11 – Lec 17) 4. Service Scheduling: Timetabling (Workforce Capacity, Operator Constraints, Shift scheduling, Graph coloring, Bin packing), Sports scheduling (Problem Decompositions), Hospital scheduling (Operating room scheduling, Nurse Rostering). Search and modeling concepts are revisited and reinforced using applications from the service sector. The text is supplemented with a number of journal papers that students are expected to read and understand. Nine lectures (Lec 18 – Lec 26) 5. Supply Chain and Distributed Scheduling: Concepts, Discrete vs. Continuous Manufacturing, Problem and data aggregation, Distributed/multi-agent scheduling. Manufacturing scheduling problems are seen in the context of wider supply chain optimization goals and as local problems in a network of self-interested agents. Four lectures (Lec 27 – Lec 30) 6. Scheduling Systems: System architecture, A non-optimization perspective, Scheduling and the web. The systems side of scheduling is presented with a perspective on how real scheduling systems are used. Three lectures (Lec 31 – Lec 33) Lecture slides are Copyright © J. Christopher Beck 2008. Permission is given to use and modify the slides for educational purposes only, provided attribution is given. (An email to [email protected] would also be appreciated, but is not required).