Intelligent Workflow - State of the Art in Scheduling


Summary of literature search

There is a large body of work in the area of scheduling ranging from OR based "traditional" approaches to some exotic "AI" based approached such as genetic algorithms. However, there appears to be much in common with all the efforts. They are all constraint-based and either conform to a constructive or a repair (iterative improvement) approach to the problem.

Constraint-based Scheduling

Scheduling is an extremely difficult and complex problem with a huge variety of types of problem and application domains. There is a large body of work from the fields of operations research and artificial intelligence. Recent research and application of constraint-based or constraint-directed approaches to the problem of scheduling have demonstrated a surprising degree of effectiveness and generality. However, even within this class of algorithms there are a wide variety of techniques. The basis of the constraint approach is in the formulation of the problem. The topology of the problem is represented as a constraint graph or network where the nodes are activities to be scheduled and the acs represent the constraints between them.

Scheduling is often viewed as an optimization problem but in very large domains or domains where the definition of an optimal solution is more difficult than the problem itself scheduling is often classed as a constraint satisfaction problem (CSP).

Generative Techniques

Generative techniques start with an empty schedule and construct the schedule usually using some type of search technique. This usually involves steping through the instantiation of values to variables to prune the search space and backtracking when an inconsistency is detected. These techniques have many advantages: the search strategy is complete and straightforward; solution quality can be controlled dynamically through the variable amd value ordering. Variable orderingis the order in which values are instantiated to variables. Forward checking is the most common and well known constructive search algorithm for CSP problems, it uses a depth -first search procedure, backtracking when an infeasibility is found, but at each stage it uses the constraints to look ahead at the effect of the current choice on future choices. In recent years, more algorithms with greater levels of look ahead have been the basis of much research. Full look ahead including Maintaining Arc Consistency (MAC) is increasingly popular and some interesting results have been obtained when combining its study with the phenomenon of phase transition (Grant and Smith '95

Iterative Repair Techniques

The idea behind iterative repair is to start with a proposed solution, or population of solutions, which may or may not even be feasible. The solution, or solutions, are modified in some way and compared with the previous "best so far" solution. This process is called "instensification" and causes incremental improvement. To avoid local optima, these techniques normally also have a "diversification" strategy which will cause a worse than "best so far" solution to be retained. Some examples of these "anytime" algorithms are simulated anealing, genetic algorithms, ans varients on the min-conflict heuristic.

Research

It appear that research in the ares of intelligent scheduling has been moving forward in a number of different and perhaps complimentary directions. For example there has been a tendency towards distributed systems, e.g., (Musliner and Boddy '96) using the contract net protocol, DAS (Burke et al. '91) with hierarchical organisation of agents, REDS (Hadavi et al. '92) and (Ghedira and Verfaille '92). Also a move towards the use of stochastic or iterative repair techniques including scheduling the Hubble Space Telescope (Swanson et al. '94) (Zweben et al. '92), using learning to improve scheduling (Zweben '92), case-based programming in scheduling (Sycara and Miyashita '92), abstraction techniques (Berry et al.) and the improvement of constructive CSP algorithms (Prosser '92) as well as the use of capacity analysis and texture measures to improve schedule quality, (Berry '92) and (Sadeh '91).

Adaptive Scheduling

The approach we propose in this projects is to maintain a variety of scheduling algorithms envoking the algorithm most suited to a particular scheduling problem state. There has already been some work done in this area (Borrett et al.)

It is the intention of this project to implement and evaluate a suite of scheduling algorithms for agent tasking which can be applied according to the current problem situation and temporal interval concerned. This will include scheduling in the face of incomplete plans.

Some asset assignment may have to occur before a complete plan has been developed. It is important that a scheduling system be able to handle different levels of abstraction and reason effectively about constraint loading and availability. Thus, an adaptive algorithm will be able to apply the algorithm must suited to the level of temporal reasoning. There are several suitable algorithm suites available.

Tim Duncan's Review: provides a good overview and evaluation of the commercial suites

References

Other Relevant Links

Back to SWIM Project Page
Back to AI Center Home Page
Back to SRI International Home Page

Pauline M. Berry berry@ai.sri.com
Last modified: 2/10/98