Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

Synthesis of Planning and Scheduling Software

Douglas R. Smith, Eduardo A. Parra, and Stephen J. Westfold


Kestrel Institute
3260 Hillview Avenue
Palo Alto, California 94304 USA
email: smith@kestrel.edu

Abstract a sequence of transformations to the problem speci-


cation. The transformations embody programming
This report describes our research on transporta- knowledge about algorithms, data structures, program
tion planning and scheduling supported by the optimization techniques, etc. The result of the trans-
ARPA/Rome Lab Planning Initiative (ARPI). The formation process is executable code that is correct by
main goal of this project was to develop generic construction. Furthermore, the resulting code can be
tools to support the construction of exible, high-
performance planning and scheduling software. Our extremely ecient.
technical approach is based on program transforma- Transportation scheduling tools currently used by
tion technology which allows machine-supported de- the U.S. government are based on models of the trans-
velopment of software from requirement speci cations. portation domain that few people understand (Schank
The development process produces code that is correct
by construction and which can be highly ecient. 1991). Consequently, users often do not trust that the
We have used KIDS (Kestrel Interactive Development
scheduling results re ect their particular needs. Our
System) to derive extremely fast and accurate trans- approach tries to address this issue by making the do-
portation schedulers from formal speci cations. As main model and scheduling problem explicit and clear.
test data we use strategic transportation plans which If a scheduling situation arises which is not treated
are generated by U.S. government planners. A typical by existing scheduling tools, the user can specify the
problem, with 10,000 movement requirements, takes problem and generate an situation-speci c scheduler.
the derived scheduler 1 { 3 minutes to solve, com- One of the bene ts of a transformational approach
pared with 2.5 hours for a deployed feasibility es-
timator (JFAST) and 36 hours for deployed sched- to scheduling is the synthesis of specialized constraint
ulers (FLOGEN, ADANS). The computed schedules management code. Previous systems for performing
use relatively few resources and satisfy all speci ed scheduling in AI (e.g. (Fox, Sadeh, & Baykan 1989;
constraints. The speed of this scheduler is due to the Smith 1989)) and Operations Research (Applegate &
synthesis of strong constraint checking and constraint Cook 1991; Luenberger 1989) use constraint represen-
propagation code.
tations and operations that are geared for a broad
class of problems, such as constraint satisfaction prob-
Introduction lems or linear programs. In contrast, transformational
techniques can derive specialized representations for
This paper describes our exploration of the transforma- constraints and related data, and also derive ecient
tional development of transportation schedulers.1 Our specialized code for constraint operations such as con-
approach involves several stages. The rst step is to straint propagation and constraint checking.
develop a formal model of the transportation schedul- In Sections 2 and 3 we describe the KIDS program
ing domain, called a domain theory. Second, the con- synthesis system and the programming knowledge that
straints, objectives, and preferences of a particular it uses to synthesize scheduling algorithms. In Section
scheduling problem are stated within a domain the- 4 we describe the application of KIDS to the synthesis
ory as a problem speci cation. Finally, an executable of three di erent schedulers. The rst, called KTS, is
scheduler is produced semi-automatically by applying a strategic transportation scheduler that runs as much
1
This research was supported by ARPA/Rome Labora- as several orders of magnitude faster than currently
tories under Contracts F30602-91-C-0043 and F30602-95- deployed (and manually written) schedulers. The sec-
C-0247, and also by the Oce of Naval Research under ond, called ITAS, is a laptop-based in-theater scheduler
Contract N00014-93-C-0056. that has been delivered to PACAF at Hickham AFB
in Hawaii and is regarded as being ready for opera- menu and applies it by pointing at a program ex-
tion during contingencies. The third is a scheduler for pression. Each of the optimization methods are fully
power plant maintenance activities. automatic and, with the exception of simpli cation
(which is arbitrarily hard), take only a few seconds.
KIDS model of program development
KIDS is a program transformation system { one ap- 5. Apply data type re nements { The user can select
plies a sequence of consistency-preserving transforma- implementations for the high-level data types in the
tions to an initial speci cation and achieves a cor- program. Data type re nement rules carry out the
rect and hopefully ecient program (Smith Septem- details of constructing the implementation.
ber 1990). The system emphasizes the application of 6. Compile { The resulting code is compiled to exe-
complex high-level transformations that perform sig- cutable form. In a sense, KIDS can be regarded as
ni cant and meaningful actions. From the user's point a front-end to a conventional compiler.
of view the system allows the user to make high-level
design decisions like, \design a divide-and-conquer al- Actually, the user is free to apply any subset of the
gorithm for that speci cation" or \simplify that ex- KIDS operations in any order { the above sequence is
pression in context". We hope that decisions at this typical of our experiments in algorithm design.
level will be both intuitive to the user and be high-level
enough that useful programs can be derived within a Specifying Transportation Scheduling
reasonable number of steps.
The user typically goes through the following steps
Problems
in using KIDS for program development. The essential notion of transportation scheduling is
that some movement requirements (e.g. bulk cargo,
1. Develop a domain theory { An application domain is passengers) are assigned to transportation assets (e.g.
modeled by a domain theory (a collection of types, planes, ships, trucks) over certain time intervals. Var-
operations, laws, and inference rules). The domain ious constraints on the assignments must be satis ed
theory speci es the concepts, operations, and rela- and certain measures of the cost or \goodness" of the
tionships that characterize the application and sup- assignment may need to be optimized. A domain the-
ports reasoning about the domain via a deductive ory for transportation scheduling de nes the basic con-
inference system. Our experience has been that dis- cepts of transportation scheduling and the laws for rea-
tributive and monotonicity laws provide most of the soning about the concepts.
laws that are needed to support design and opti- The U.S. Transportation Command and the com-
mization of code. KIDS has a theory development ponent service commands use a relational database
component that supports the automated derivation scheme called a TPFDD (Time-Phased Force and De-
of various kinds of laws. ployment Data) for specifying the movement require-
ments of an operation, such as Desert Storm or the
2. Create a speci cation { The user enters a problem Somalia relief e ort. A typical air movement require-
speci cation stated in terms of the underlying do- ment includes the following information:
main theory. POE : port 7! UHHZ
3. Apply a design tactic { The user selects an algo- POD : port 7! VRJT
rithm design tactic from a menu and applies it to movement?type : symbol 7! BULK
a speci cation. Currently KIDS has tactics for sim- quantity : Short?Tons 7! 2
ple problem reduction (reducing a speci cation to available?to?load?date : time 7! 0
a library routine), divide-and-conquer, global search earliest?arrival?date : time 7! 0
(binary search, backtrack, branch-and-bound), con- latest?arrival?date : time 7! 86400
straint propagation, problem reduction generators distance : nautical?miles 7! 5340
(dynamic programming, general branch-and-bound, mode : symbol 7! AIR
and game-tree search algorithms), and local search Here, the Port of Embarkation (POE) and Port
(hillclimbing algorithms). of Debarkation (POD) are the origin and destina-
tion of the cargo, respectively. UHHZ and VRJT
4. Apply optimizations { The KIDS system allows the are geographical codes (GEOLOCs) for Robins AF
application of optimization techniques such as ex- Base, Georgia and Sigonella Airport, Italy, respec-
pression simpli cation, partial evaluation, nite dif- tively. Movement requirements are classi ed into a few
ferencing, case analysis, and other transformations. gross types including BULK (which ts on a standard
The user selects an optimization method from a 463L pallet), OVRsize (which doesn't t on 463L pallet
but ts on most standard cargo transports), OUTsize 8. Consistent Trip Separation { Movements scheduled
(which doesn't t on 463L pallet and requires a heavy on the same resource must start either simultane-
lift transport such as a C-5 or C-17), PAX (passengers), ously or with enough separation to allow for return
and POL (petroleum). Resources are characterized by trips. The inherently disjunctive and relative nature
their capacities (both passenger (PAX) and cargo ca- of this constraint makes it more dicult to satisfy
pacities for each movement type), travel rate in knots, than the others.
initial port, available date, maintenance pro le, etc.
As an example, one TPFDD speci es the evacua- 9. Consistent Resource Use { Only the given resources
tion of non-combatants from a Paci c island nation. are used.
The TPFDD for this NEO (Non-combatant Evacu- 10. Completeness { All movement requirements must be
ation Operation) has 33,291 records (movement re- scheduled.
quirements for force units, non-unit related cargo and
non-unit related passengers) which generates about A domain theory formalizing the movement require-
12,500 air and 6,000 sea movement requirements to be ment structure, resource models, and constraints may
processed. The scenario includes 103 air POEs (air- be found in (Smith 1992).
ports), 47 air PODs, 48 sea POEs (seaports), and 29 The informal speci cation above can be expressed as
sea PODs. There are air movement requirements for follows:
1,445,511 STONs (BULK, OVERsize, and OUTsize
cargo) and 737,492 passengers, and sea movement re- function TS
quirements for 4,902,129 MTONs (Measurement TONs (mvrs : seq(movement-record );
{ a unit of volume, not weight) and 240,090 hundreds of assets : seq(resource-name ))
barrels of petroleum products. Available air resources returns (sched : map(resource-name ; seq(trip)) j
include KC10s, C-141s, C-5s, B-747, and sea resources Consistent-POE (sched)
include tankers (small, medium, and large), RO-ROs, ^ Consistent-POD (sched)
LASHs, sea barges, container ships, and breakbulks. ^ Consistent-Release-Times (sched)
We list below twelve constraints that partially char- ^ Consistent-Arrival-Times (sched)
acterize a feasible schedule for this problem: ^ Consistent-Due-Times (sched)
^ Consistent-Trip-Separation (sched)
1. Consistent POE and POD { The POE and POD ^ Consistent-Pax-Resource-Capacity (sched)
of each movement requirement on a given trip of a ^ Consistent-Cargo-Resource-Capacity (sched)
resource must be the same. ^ Consistent-Movement-Type-and-Resource (sched)
2. Consistent Resource Class { Each resource can han- ^ Available-Resources-Used (assets; sched)
dle only some movement types. For example, a C- ^ Scheduled-mvrs (sched) = seq-to-set (mvrs))
141 can handle bulk and oversize movements, but
not outsize movements. This speci es a function called TS that takes two
3. Consistent PAX and Cargo Capacity { The capacity inputs, a sequence of movement records called mvrs
of each resource cannot be exceeded. and a sequence of resources called assets. The func-
tion returns a schedule, which has type map(resource?
4. Consistent Initial Time { The start time of the rst name; seq(trip)) and must satisfy the 11 conjoined
trip of a transportation asset must not precede its constraints. Each constraint is de ned in the domain
initial available date, taking into account any time theory; for example:
needed to position the resource in the appropriate
POE. function CONSISTENT-DUE-TIMES
(sched : schedule) : boolean
5. Consistent Release Time { The start time of a trip = 8(rsrc : resource-name ; trp : integer;
must not precede the available to load dates (ALD) mvr : movement-record )
of any of the transported movement requirements. (rsrc 2 domain(sched)
6. Consistent Arrival time { The nish time of a trip ^ trp 2 [1::size(sched(rsrc))]
must not precede the earliest arrival date (EAD) of ^ mvr 2 sched(rsrc)(trp):manifest
any of the transported movement requirements. =)
sched(rsrc)(trp):start-time
7. Consistent Due time { The nish time of a trip must  (mvr:due-date
not be later than the latest arrival date (LAD) of any ?sched(rsrc)(trp):trip-duration )
of the transported movement requirements.
This predicate expresses the constraint that every ally. Thus global search algorithms are based on an
scheduled movement-record arrives before its due date. abstract data type of intensional representations called
The problem speci ed by TS is NP-complete. This space descriptors. In addition to the extraction and
problem does not consider certain aspects of trans- splitting operations mentioned above, the type also
portation scheduling, such as resource utilization rates, includes a predicate satis es that determines when a
crew scheduling, load/unload rates, aircraft mainte- candidate solution is in the set denoted by a descrip-
nance, port characteristics, etc. We have dealt with tor. See (Smith 1987) for a formal exposition of global
most of these issues and we are continually develop- search theory.
ing more complex domain theories, speci cations, and A simple global search theory of scheduling has the
schedulers. following form. Schedules are represented as maps
from resources to sequences of trips, where each trip
Synthesizing a Scheduler includes earliest-start-time, latest-start-time, port of
There are two basic approaches to computing a sched- embarkation, port of debarkation, and manifest (set of
ule: local and global. Local methods focus on indi- movement requirements). The type of schedules has
vidual schedules and similarity relationships between the invariant (or subtype characteristic) that for each
them. Once an initial schedule is obtained, it is itera- trip, the earliest-start-time is no later than the latest-
tively improved by \moving" to neighboring schedules. start-time. A partial schedule is a schedule over a sub-
Repair strategies (Zweben, Deale, & Gargan 1990; set of the given movement records.
Minton & Philips 1990; Biefeld & Cooper 1990), case- A set of schedules is represented by a partial sched-
based reasoning, linear programming, and local search ule. The split operation extends the partial schedule
(hillclimbing) are examples of local methods. in all possible ways. The initial set of schedules is de-
Global methods focus on sets of schedules. A feasi- scribed by the empty partial schedule { a map from
ble or optimal schedule is found by repeatedly splitting each available resource to the empty sequence of trips.
an initial set of schedules into subsets until a feasible or A partial schedule is extended by rst selecting a move-
optimal schedule can be easily extracted. Backtrack, ment record mvr to schedule, then selecting a resource
constraint satisfaction, heuristic search, and branch- r, and then a trip t on r (either an existing trip or
and-bound are all examples of global methods. We ex- a newly created one). Finally the extended schedule
plore the application of global methods. In the follow- has mvr added to the manifest of trip t on resource
ing subsections we discuss the notion of global search r. The alternative ways that a partial schedule can be
abstractly and show how it can be applied to synthesize extended naturally gives rise to the branching struc-
a scheduler. Other projects taking a global approach ture underlying global search algorithms. The formal
include ISIS (Fox & Smith 1984), OPIS (Smith 1989), version of this global search theory of scheduling can
and MicroBoss (Sadeh 1991) (all at CMU). be found in (Smith 1992).

Global Search Theory Pruning, Cutting Constraints, and


Constraint Propagation
The basic idea of global search is to represent and ma- When a partial schedule is extended it is possible that
nipulate sets of candidate solutions. The principal op- some problem constraints are violated in such a way
erations are to extract candidate solutions from a set that further extension to a complete feasible schedule
and to split a set into subsets. Derived operations in- is impossible. In tree search algorithms it is crucial to
clude various lters which are used to eliminate sets detect such violations as early as possible.
containing no feasible or optimal solutions (e.g. prun-
ing and constraint propagation). Global search algo- Pruning Mechanisms. Pruning tests are derived in
rithms work as follows: starting from an initial set that the following way. Let ps be a partial schedule and let
contains all solutions to the given problem instance, feasible(sched) be a predicate that holds if the schedule
the algorithm repeatedly extracts solutions, splits sets, sched satis es the 12 problem constraints. The test
and eliminates sets via lters until no sets remain to be 9(sched) (sched extends ps ^ feasible (sched)) (1)
split. The process is often described as a tree (or DAG)
search in which a node represents a set of candidates decides whether there exist any feasible completions of
and an arc represents the split relationship between set partial schedule ps. If we could decide this at each node
and subset. The lters serve to prune o branches of of our branching structure then we would have perfect
the tree that cannot lead to solutions. search { no deadend branches would ever be explored.
The sets of candidate solutions are often in nite and In reality it would be impossible or horribly complex
even when nite they are rarely represented extension- to compute it, so we rely instead on an inexpensive
approximation to it. In fact, if we approximate (1) by
weakening it (deriving a necessary condition of it) we
obtain a sound pruning test. That is, suppose we can
derive a test (ps) such that
9(sched) (sched extends ps ^ feasible(sched))
=) (ps):
By the contrapositive of this formula, if :(ps) then global
feasible
there are no feasible extensions of ps, so we can prune search
space solutions
ps. So our backtrack algorithm will test  at each node
it explores, pruning those nodes where the test fails.
More generally, necessary conditions on the exis-
tence of feasible (or optimal) solutions below a node in cutting
a branching structure underlie pruning in backtracking constraints
and the bounding and dominance tests of branch-and-
bound algorithms (Smith 1987).
It appears that the bottleneck analysis advocated in Figure 1: Global Search Subspace and Cutting Con-
the constraint-directed search projects at CMU (Fox, straints
Sadeh, & Baykan 1989; Sadeh 1991) leads to a seman-
tic approximation to (1), but neither a necessary nor subtree rooted at the node. Thus the root denotes the
sucient condition. Such a heuristic evaluation of a set of all candidate solutions found in the tree.
node is inherently fallible, but if the approximation is Pruning has the e ect of removing a node (set of so-
close enough it can provide good search control with lutions) from further consideration. In contrast, con-
relatively little backtracking. straint propagation has the e ect of changing the data
To derive pruning tests for the strategic transporta- structure at a node so that it denotes a smaller set of
tion scheduling problem, we instantiate (1) with our candidate solutions. The basic idea underlying con-
de nition of extends and feasible and use an infer- straint propagation is cutting constraints (see Figure
ence system to derive necessary conditions. The re- 1). Let ^r be a data structure in a global search tree
sulting tests are fairly straightforward; of the 12 orig- (i.e. a subspace descriptor) that denotes the subspace
inal feasibility constraints, 6 yield pruning tests on S = subspace(^r) and let (z; ^r ) be a cutting constraint
partial schedules. For example, the partial sched- where z is a candidate solution. The predicate
ule must satisfy Consistent-POE, Consistent-POD,
Consistent-Pax-Resource-Capacity, Consistent-Cargo-  (^r ) () 8(z )(z 2 subspace(^r) =) (z; ^r ))
Resource-Capacity, Consistent-Movement-Type-and- is a propagation constraint that decides whether sub-
Resource, and Available-Resources-Used. The reader
may note that computing these tests on partial sched- space descriptor ^r incorporates cutting constraint .
ules is rather expensive and mostly unnecessary { later If  has a particular Horn-like form described below,
program optimization steps in KIDS will however re- then we can mechanically translate  into a monotone
duce these tests to their non-redundant essence. For function on subspace descriptors that has a greatest
example, the rst test will reduce to checking that xed-point which corresponds to the largest subspace
when we place a movement record mvr on trip t, the compatible with the constraints. Furthermore, we can
POE of mvr and t are consistent. then mechanically generate a xed-point iteration algo-
For details of deriving pruning mechanisms for other rithm that converges on a descriptor for that greatest
problems see (Smith 1987; 1991; September 1990; xed-point. In (Smith, Parra, & Westfold 1995) we
Smith & Lowry 1990). describe how to calculate Horn-like propagation con-
straints from a formal problem speci cation and how
Cutting Constraints and Constraint Propaga- to generate ecient propagation code from Horn-like
tion. Constraint propagation is another mechanism constraints.
that is crucial for early detection of infeasibility. We De nition: A constraint  is Horn-like if it has the
developed a general mechanism for deriving constraint form
propagation code and applied it to scheduling. B (^r ) w ^r
Each node in a backtrack search tree can be viewed where w is a partial order on subspace descriptors such
as a data structure that denotes a set of candidate that
solutions { in particular the solutions that occur in the ^r w ^s =) subspace(^r)  subspace(^s):
lsti denotes latest-start-time and eadi denotes earliest-
arrival-time). For each resource r and the ith trip on
r,
8 est ;
feasible
solutions
>< i
prune off subspace eadi ? duration(r; POEi ; PODi );
esti = max > est
(contains no feasible split + dur(i ? 1; r);
: maxi??1release
solutions) cut ?time(manifest i )
8 lst ;
>< i
lsti+1 ? dur(i; r);
lsti = min > min
cut : ??finish ?time(manifest i )
duration(r; POEi ; PODi )
Here POEi and PODi represent the ports of
.. embarkation and debarkation of trip i respectively;
. dur(r; i) is the roundtrip time for trip i on resource
r:
fixpoint of the cutting process cut dur(r; i) = duration(r; POEi ; PODi )
+duration(r; PODi ; POEi+1 )
split where duration(r,p1,p2) is the travel time from
port p1 to port p2 using resource r; max-release-
time(manifest i ) computes the max over all of the
available to load dates, earliest arrival dates -
duration(POEi ; PODi ) of movement records in the
Figure 2: Pruning and Constraint Propagation manifest of trip i; also, esti?1 is the earliest-start-time
of the trip preceding trip i, and so on. The boundary
cases must be handled appropriately.
The e ect of constraint propagation is to propagate The e ect of iterating the recurrence equations after
information through the subspace descriptor resulting adding a new movement record to some trip will be to
in a tighter descriptor and possibly exposing infeasi- shrink the hest; lsti window of each trip on the same
bility (see Figure 2). In fact the main use for propa- resource. If the window becomes negative for any trip,
gation in transportation scheduling is the early detec- then the partial schedule is necessarily infeasible and
tion of infeasibility. For other problems, propagation it can be pruned.
can serve to reduce the branching factor of the search Our model of constraint propagation generalizes the
tree. Propagation can also be used in optimization al- concepts of Gomory cutting planes (Nemhauser &
gorithms to obtain tight lower bounds on the cost of Wolsey 1988) and the forms of propagation studied in
optimal solutions in a subspace (cf. Gomory cutting the constraint satisfaction literature (e.g. (Hentenryck
planes (Nemhauser & Wolsey 1988)). 1989)).
The mechanism for deriving cutting constraints is
similar to (in fact a generalization of) that for deriving Constraint Relaxation. Many scheduling prob-
pruning mechanisms. We want a necessary condition lems are overconstrained. Overconstrained problems
that a candidate solution z is feasible: are typically handled by relaxing the constraints.
The usual method, known as Lagrangian Relaxation
8(sched; ps) (sched extends ps ^ feasible (sched) (Nemhauser & Wolsey 1988), is to move constraints
=) (sched; ps) ) into the objective function. This entails reformulating
By the contrapositive of this formula, if : (sched; ps) the constraint so that it yields a quantitative measure
then sched cannot be a feasible schedule that extends of how well it has been satis ed.
ps. So we can try to incorporate into ps to obtain a Another approach is to relax the input data just
new descriptor. enough that a feasible solution exists. To test this
For TS, we derive Horn-like constraints and then approach, we hand-modi ed one version of KTS so it
transform them into a propagation algorithm based relaxes the LAD (Latest Arrival Date) constraint. The
on the following recurrence equations, where esti de- relaxation takes place only when there is no feasible
notes the earliest-start-time for trip i (analogously, solution to the problem data. KTS keeps track of a
quantitative measure of each LAD violation (e.g. the ADANS model.
di erence between the arrival date of a trip and the
LAD of a movement requirement in that trip). If there In-Theater Airlift Scheduling
is no feasible reservation for the movement requirement The PACAF (Paci c Air Force) Airlift Operations
being scheduled, then KTS uses the recorded informa- Center at Hickam AFB, Honolulu is tasked with in-
tion to relax its the LAD. The relaxation is such as to theater scheduling of a eet of 26 C-130 aircraft (plus
minimally delay the arrival of the requirement to its assorted strategic aircraft on loan) throughout the Pa-
POD. ci c region. Current scheduling practice is essentially
Applications manual; for example, the relief e ort for Hurricane
Iniki which struck the island of Kauai in September
Strategic Transportation Scheduling 1992 was sketched out on 2 sheets of legal paper and
During 1992{1994 we used KIDS to synthesize a va- required hours of labor.
riety of TPFDD schedulers, generically called KTS Since Spring 1994 researchers from Kestrel Institute
(Kestrel Transportation Scheduler). The TS speci - and BBN (Bolt, Beranek, and Newman) have been
cation presented above was the rst in a series of in- working with personnel from PACAF to model the
creasingly rich speci cations of strategic scheduling as in-theater scheduling problem. The resulting domain
performed by the U.S. Airlift Mobility Command at theory has been used to synthesize an series of sched-
Scott AFB. ulers generically called ITAS (In-Theater Airlift Sched-
The KTS schedulers are extremely fast and accurate. uler). ITAS runs on a laptop computer which makes it
The chart in Figure 3 lists 4 TPFDD problems, and for useful for both eld and command center operations.
each problem (1) the number of TPFDD lines (each re- ITAS can currently produce ATOs (Air Tasking Or-
quirement line contains up to several hundred elds), ders) based on the schedules that it generates. BBN
(2) the number of individual movement requirements has built the user interface based on the commercial
obtained from the TPFDD line (each line can specify Foxpro database package.
several individual movements requirements), (3) the ITAS schedules the Hurricane Iniki data in a few
number of movement requirements obtained after split- seconds (Burstein & Smith 1996). ITAS has been used
ting (some requirements are too large to t on a single in several exercises and was the sole scheduler used in
aircraft or ship so they must be split), (4) the cpu time JWID-95 (an international exercise) during September
to generate a complete schedule (on a SUN Sparcsta- 1995. It is regarded as being ready to use for contin-
tion 5), and (5) time spent per scheduled movement. gency purposes.
Similar results were obtained for sea movements. To produce \ yable" schedules it has been necessary
We compared the performance of KTS with several to model and schedule a variety of resources, including
other TPFDD scheduling systems. We do not have di- aircraft, air crews and their duty days, ground crews,
rect access to JFAST and FLOGEN, but these are (or parking space for aircraft, and other port restrictions.
were) operational tools at AMC (Airlift Mobility Com- We have gone through many cycles of learning about
mand, Scott AFB). According to (Schank 1991) and the problem from the customer/end-user, elaborating
David Brown (retired military planner consulting with our domain theory, generating new code, and observing
the Planning Initiative), on a typical TPFDD of about PACAF personnel using the scheduler. Although this
10,000 movement records, JFAST takes several hours is a time-consuming process, it seems essential to de-
(on a Unix workstation) and FLOGEN about 36 hours veloping an application that will be used. Nevertheless
(on a mainframe). KTS on a TPFDD of this size will there has been signi cant payo to us as researchers,
produce a detailed schedule in one to three minutes. since the problem features required by the end-user
So KTS seems to be a factor of about 25 times faster have forced us to generalize and deepen our theories of
than JFAST and over 250 times faster than FLOGEN. algorithm design.
The currently operational ADANS system reportedly The ITAS scheduling theory has evolved over months
runs at about the same speed as FLOGEN (running of e ort into about 3500 lines of text. It currently
on a Korbex machine). When comparing schedulers it takes about 90 minutes to transform our most com-
is also important to compare the transportation mod- plex scheduling speci cation into optimized and com-
els that they support. KTS has a richer model than piled CommonLISP code. Evolution of the scheduler is
JFAST (i.e. handles more constraints and problem fea- performed by evolving the domain theory and speci -
tures), but less rich than ADANS. The ITAS e ort de- cation, followed by regeneration of code. The resulting
scribed in the next section re ects our e orts to syn- code, after optimizing transformations, is roughly 3000
thesize schedulers that have at least the richness of the lines of code in the REFINE language (depending on
Data # of input # of # of scheduled Solution Msec per
Sets TPFDD individual items after time scheduled
(Air only) records (ULNs) movements splitting item
CDART 296 330 0.5 sec 1.5
CSRT01 1,600 1,261 3,557 25 sec 6
096-KS 20,400 4,644 6,183 45 sec 7
9002T Borneo 28,900 10,623 15,119 160 sec 12

Figure 3: KTS Scheduling Statistics

how its formatted), which is transformed automatically help to speed up the process of building domain the-
into about 5200 lines of (largely unreadable) Common- ories and speci cations and cut the time necessary to
LISP code. synthesize new scheduling applications.
Power Plant Outage Scheduling Concluding Remarks
We are continuing to develop new scheduling applica- In conclusion, there are several advantages to a trans-
tions using KIDS. A joint project with the EPRI (Elec- formational approach to scheduling. The rst is based
tric Power Research Institute) in Palo Alto, California on the observation that there is no one scheduling prob-
and Rome Laboratory, focuses on the scheduling of lem. Instead there are families of related problems.
maintenance activities during an outage period at nu- The problems can di er in the mix of constraints to
clear power plants (Gomes & Smith 1995). Since an satisfy, cost objectives to minimize, and preferences to
outage period costs millions of dollars per day, there is take into account. In this paper we have mainly treated
great incentive to quickly generate the shortest possi- the problem of nding a feasible detailed schedule. An-
ble schedule while achieving all maintenance goals and other kind of problem is to nd an estimate of the
ensuring safe operations. We have developed a pro- resources needed to bring about a desired completion
totype scheduling system, called ROMAN, which has date. Another kind of problem is to work backwards
received positive reviews from prospective users. from a given completion date to feasible start dates
Current schedulers used by the utility industry are for individual movements. Another kind of problem
slow and handle only a small subset of the important is incremental or reactive scheduling. We believe that
features of the problem. We have particularly focused transformation systems such as KIDS will provide the
on safety constraints since they are critical and they most economical means for generating such families of
are currently not handled by scheduling tools used in schedulers. We have observed a great deal of reuse of
industry. concepts and laws from the underlying domain theory
One safety constraint handled by ROMAN deals and of the programming knowledge in the transforma-
with maintaining a sucient number of backup sources tions.
of electric power. We found that this constraint has A second advantage is the reuse of best-practice pro-
the same abstract structure as the \MOG" problem in gramming knowledge. The systematic development of
airlift scheduling (ensuring that adequate resources ex- global search algorithms has helped us exploit prob-
ist to handle the aircraft ow at a particular airport). lem structure in ways that other projects sometimes
This insight led us to develop an abstract theory of overlook. The surprising eciency of KTS stems from
asynchronously sharable resources that specializes to two sources. First, the derived pruning and propaga-
many domains, including power plant outages, trans- tion tests are surprisingly strong. The stronger the
portation scheduling, parallel processing, manufactur- test, the smaller the size of the runtime search tree.
ing, and power management (Smith & Westfold 1996). In fact, on many of the TPFDD problems we've tried
Reusable theories of various classes of resources will so far, KTS nds a complete feasible schedule without
backtracking! The pruning and propagation tests are Schank, J. 1991. A Review of Strategic Mobility Mod-
derived as necessary conditions on feasibility, but they els and Analysis. Santa Monica, CA: Rand Corpora-
are so strong as to be virtually sucient conditions. tion.
The second reason for KTS' eciency is the special- Smith, D. R. 1987. Structure and design of global
ized representation of the problem constraints and the search algorithms. Technical Report KES.U.87.12,
development of specialized and highly optimized con- Kestrel Institute. to appear in Acta Informatica.
straint operations. The result is that KTS explores the
runtime search tree at a rate of several hundred thou- Smith, D. R. September 1990. KIDS { a semi-
sand nodes per second, almost all of which are quickly automatic program development system. IEEE
eliminated. Transactions on Software Engineering Special Is-
sue on Formal Methods in Software Engineering
References 16(9):1024{1043.
Applegate, D., and Cook, W. 1991. A computational Smith, D. R., and Lowry, M. R. 1990. Algorithm
study of the job-shop scheduling problem. ORSA theories and design tactics. Science of Computer Pro-
Journal on Computing 3(2):149{156. gramming 14(2-3):305{321.
Biefeld, E., and Cooper, L. 1990. Operations mission Smith, D. R. 1991. KIDS: A knowledge-based soft-
planner. Technical Report JPL 90-16, Jet Propulsion ware development system. In Lowry, M., and McCart-
Laboratory. ney, R., eds., Automating Software Design. Menlo
Burstein, M., and Smith, D. 1996. ITAS: A portable Park: MIT Press. 483{514.
interactive transportation scheduling tool using a Smith, D. R. 1992. Transformational approach to
search engine generated from formal speci cations. In scheduling. Technical Report KES.U.92.2, Kestrel In-
Proceedings of the Third International Conference on stitute.
Arti cial Intelligence Planning System (AIPS-96). Smith, D. R.; Parra, E. A.; and Westfold, S. J. 1995.
Fox, M. S., and Smith, S. F. 1984. ISIS { a knowledge- Synthesis of high-performance transportation sched-
based system for factory scheduling. Expert Systems ulers. Technical Report KES.U.95.6, Kestrel Insti-
1(1):25{49. tute.
Fox, M. S.; Sadeh, N.; and Baykan, C. 1989. Smith, D. R., and Westfold, S. J. 1996. Scheduling
Constrained heuristic search. In Proceedings of the an asynchronous shared resource. Technical report,
Eleventh International Joint Conference on Arti cial Kestrel Institute. submitted for publication.
Intelligence, 309{315.
Smith, S. F. 1989. The OPIS framework for modeling
Gomes, C., and Smith, D. R. 1995. Synthesis of power manufacturing systems. Technical Report CMU-RI-
plant outage schedulers. Technical report, Kestrel In- TR-89-30, The Robotics Institute, Carenegie-Mellon
stitute. submitted for publication. University.
Hentenryck, P. V. 1989. Constraint Satisfaction in Zweben, M.; Deale, M.; and Gargan, R. 1990. Any-
Logic Programming. Cambridge, MA: Massachusetts time rescheduling. In Proceedings of the Workshop on
Institute of Technology. Innovative Approaches to Planning, Scheduling and
Luenberger, D. G. 1989. Linear and Nonlinear Pro- Control, 215{219. San Diego, CA: DARPA.
gramming. Reading, MA: Addison-Wesley Publishing
Company, Inc.
Minton, S., and Philips, A. B. 1990. Applying a
heuristic repair method to the HST scheduling prob-
lem. In Proceedings of the Workshop on Innova-
tive Approaches to Planning, Scheduling and Control,
215{219. San Diego, CA: DARPA.
Nemhauser, G. L., and Wolsey, L. A. 1988. Integer
and Combinatorial Optimization. New York: John
Wiley & Sons, Inc.
Sadeh, N. 1991. Look-ahead techniques for micro-
opportunistic job shop scheduling. Technical Report
CMU-CS-91-102, Carenegie-Mellon University.

You might also like