Tech Report CS-04-01
Scheduling Abstractions for Local Search
Pascal Van Hentenryck and Laurent Michel
Comet is an object-oriented language supporting a constraint-based architecture for local search. This paper presents a collection of abstractions, inspired by constraint-based schedulers, to simplify scheduling algorithms by local search in Comet. The main innovation is the computational model underlying the abstractions. Its core is a precedence graph which incrementally maintains a candidate schedule at every computation step. Organized around this precedence graph are differentiable objects, e.g., resources and objective functions, which support queries to define and evaluate local moves. The abstractions enable Comet programs to feature declarative components strikingly similar to those of constraint-based schedulers and search components expressed with high-level modeling objects and control structures. Their benefits and performance are illustrated on two applications: minimizing total weighted tardiness in a job-shop and cumulative scheduling.