J. Christopher Beck
Department of Mechanical & Industrial Engineering
University of Toronto jcb@mie.utoronto.ca
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 jcb@mie.utoronto.ca would also be appreciated, but is not required).