Bottleneck Identification Using Process Chronologies - CiteSeerX

3 downloads 0 Views 193KB Size Report
resource timeline representing the constraints on its use ..... gies, the scheduling system builds a limited history of .... 25, Edinburgh University,. 1976. [Vere ...
Bottleneck Identification Using Process Chronologies Eric Biefeld and Lynne Cooper Jet Propulsion Laboratory California Institute of Technology 4800 Oak Grove Drive Pasadena, CA 91109-8099 U. S. A. Abstract We present a heuristics-based approach to deep space mission scheduling w h i c h is modeled on the approach used by e x p e r t h u m a n schedulers in p r o d u c i n g schedules for p l a n e t a r y encounters. New chronological evaluation techniques are used to focus the search by using inform a t i o n gained d u r i n g the scheduling process to locate, classify, and resolve regions of conflict. O u r approach is based on the assumption t h a t d u r i n g the c o n s t r u c t i o n of a schedule there exist several disjunct t e m p o r a l regions where the demand for one resource t y p e or a single t e m p o r a l constraint dominates (bottleneck regions). If the scheduler can i d e n t i f y these regions and classify t h e m based on their d o m i nant constraint, then the scheduler can select the scheduling heuristic.

1

Introduction

Tn a heuristics-based a u t o m a t e d scheduling system, it is possible to c o n s t r u c t a large set of scheduling heuristics such t h a t each scheduling heuristic optimizes a different aspect of the schedule [ S m i t h and O w , 1985]. For example, one scheduling heuristic could t e m p o r a l l y colocate steps t h a t use the same resources, reducing set-up times. W h i l e a p a r t i c u l a r scheduling heuristic optimizes one aspect of the schedule, it can cause inefficiencies in the other aspects of the schedule. T h u s , the scheduler must carefully choose which scheduling heuristic to r u n and l i m i t the scope of its a p p l i c a t i o n . T h i s paper presents the results of research on developing a heuristics-based approach to a u t o m a t e d scheduling. T h e approach is based on the assumption t h a t duri n g the c o n s t r u c t i o n of a schedule there exist several disj u n c t t e m p o r a l regions of the schedule where the demand *This research was done at the Jet Propulsion Laboratory, California Institute of Technology, and was sponsored by the U.S. Department of Defense through an agreement with the National Aeronautics and Space Administration. In addition to the authors, individuals participating in this project include David Atkinson, Len Charest, Richard Doyle, Loretta Falcone, K i r k Kandt, Raymond Lam, Gaius M a r t i n , Elmain Martinez, and Harry Porta.

218

Automated Reasoning

for one resource t y p e or a single t e m p o r a l constrain dominates (referred to as bottlenecks). If the scheduler can identify these regions, and choose the appropriate heuristics to o p t i m i z e for the d o m i n a n t constraint w i t h i n the regions, then the system can construct an efficient solution. In this paper, we w i l l provide the b a c k g r o u n d and mot i v a t i o n for this approach, discuss the object representations necessary to s u p p o r t i t , describe the mechanisms used for l o c a t i n g , classifying, and resolving bottlenecks, and describe the results achieved t o w a r d i m p l e m e n t i n g this approach. Discussion of related work is also included.

2

Background

Mission scheduling is characterized by large numbers of science experiments which are considered m u t u a l l y independent except for their c o m p e t i t i o n for l i m i t e d spacecraft resources [Biefeld and Cooper, 1989]. For missions such as the Voyager G r a n d - T o u r of the planets, the requested t a s k i n g far exceeds the c a p a b i l i t y of the spacecraft resources. M o s t of the science requests w i l l never be scheduled, so the p r o b l e m is one of configuring a subset of the requested tasks in such a way as to o p t i m i z e the t o t a l science r e t u r n . W h i l e there is considerable flexibili t y in scheduling an i n d i v i d u a l task, p r o d u c i n g schedules w i t h the necessary science r e t u r n density requires the interleaving of tasks in a manner w h i c h increases the total n u m b e r of experiments t h a t can be p e r f o r m e d . Due to the c o m p l e x i t y and size [Dean, 1986] of the d o m a i n , mission scheduling is c u r r e n t l y performed by teams of expert h u m a n schedulers. W h e n constructi n g a mission schedule, the e x p e r t h u m a n schedulers work incrementally. T h e y first lay o u t a rough draft of the schedule complete w i t h large numbers of conflicts and high levels of over-subscription [Biefeld and Cooper, 1988]. T h e y proceed by i d e n t i f y i n g p r o b l e m areas, class i f y i n g these areas, and using t h e a p p r o p r i a t e techniques to resolve any conflicts. As t h e y cycle t h r o u g h the problem regions, they b u i l d up knowledge a b o u t this particular scheduling p r o b l e m , e.g. where the m a j o r resource 1

Optimize is not used in the mathematical sense. Because of the intractability of the problem domain, a working definition is: to develop a schedule which an expert human scheduler cannot easily improve.

contentions are located, and which tasks have a high level of i n t e r a c t i o n or are difficult to place i n t o the schedule. T h i s i n f o r m a t i o n is t h e n used to guide their f u t u r e scheduling actions. T h e approaches used in classical p l a n n i n g systems such as N O N L I N [Tate, 1976], F O R B I N [Dean et a/., 1987], and D E V I S E R [Vere, 1983], are f u n d a m e n t a l l y different f r o m the approaches used by the h u m a n mission schedulers. T h e classical p l a n n i n g systems b u i l d a schedule sequentially, w i t h each scheduling action res u l t i n g in either a conflict-free schedule ready to have a d d i t i o n a l tasks added to i t , or an illegal schedule which requires b a c k t r a c k i n g to correct. An alternative approach, presented in this paper, is modeled after expert h u m a n schedulers. T h e Operations Mission Planner ( O M P ) models the inherently cyclic nature of the h u m a n scheduling process and the types of i n f o r m a t i o n t h a t the h u m a n schedulers develop as they are generating and refining a schedule.

3

Representations

O M P makes use of t w o p r i m a r y object types: tasks and resources. A task is a request to the scheduler for the use of resources (e.g. a science experiment on Voyager). It includes all of the internal constraints such as t i m e windows (e.g. w h e n the red spot of J u p i t e r is visible to the spacecraft). A resource is a c o m m o d i t y on the spacecraft (e.g. cameras, d o w n l i n k , power). It is modeled as a resource t i m e l i n e representing the constraints on its use (e.g. capacity, d i r e c t i o n , b a n d w i d t h ) . Detailed descriptions of how O M P implements tasks and resources are given in the f o l l o w i n g sections. 3.1

Tasks

Tasks are represented in O M P as d a t a objects w i t h parametrized slots and demons w h i c h ensure internal consistency for the task representation. A task is composed of a set of steps and the t e m p o r a l constraints t h a t exist between the steps. A task can have several different sets of steps w h i c h satisfy i t . T h e t e m p l a t e for a task request is shown below. N a m e : A s y m b o l representing the name of the task. D e s c r i p t i o n : A string providing background information on the task. W i n d o w s : T h e list o f t e m p o r a l intervals i n which the task can be scheduled. R e p e t i t i o n s : T h e number o f times t o repeat the task d u r i n g the schedule. P r i o r i t y : T h e p r i o r i t y o f this task (relative t o other tasks) for this schedule. S c e n a r i o s : T h e order(s) i n w h i c h t o p e r f o r m the task steps and their associated preference(s), this can include a l t e r n a t i v e ways in which to implement a given task b r e a k d o w n . S t e p s : A list of steps. S t e p # : T h e step's identification number. D u r a t i o n : M i n i m u m and m a x i m u m (desired) dur a t i o n for the step.

D e l a y : T h e m i n i m u m and m a x i m u m t i m e delay between this step and the previous step. R e s o u r c e s : T h e resources requested by the step. 3.2

Steps a n d A c t i v i t i e s

In O M P , a step is a t e m p o r a l interval w h i c h consumes resources. Each step has specified d u r a t i o n constraints, t e m p o r a l w i n d o w i n g constraints, and a list of the resources requested. A step o b j e c t , S, specifies the start and end times of the step ( I n t e r v a l , / ) , and pairs representing the resource assigned, R, and the amount of resource assigned to the step (Usage, SU). S=[I,(Ri,SUi(I))]

where

(Ri

E

(R1...RN))

An a c t i v i t y is a set of steps and the associated constraints [Le Pape and S m i t h , 1987] w h i c h satisfy a request. There may be more t h a n one a c t i v i t y t h a t satisfies a task request (see S C E N A R I O slot above). W h i l e O M P actually schedules at the step level, demons attached to the a c t i v i t y ensure t h a t the task is always consistent and t h a t all task constraints are m e t . Therefore, the only constraint satisfaction t h a t the scheduling engine (discussed below) must p e r f o r m is to satisfy resource constraints. 3.3

Resources

There are four f u n d a m e n t a l types of resources: capacity, consumable/renewable, state-continuous, and statediscrete [ S t a r b i r d , 1987]. A capacity resource is basically a pooled resource. Tasks request and use the resource, then free it up for other tasks to use (e.g. spacecraft d o w n l i n k ) . A consumable resource is one for which there is a l i m i t e d supply, and once it is used by a task, it, is no longer available (e.g. spacecraft fuel). A renewable is a special case of consumable, where the resource can be replenished (e.g. storage t a p e ; it is used up during recording, and " r e p l e n i s h e d " d u r i n g playback). A state resource represents a resource whose state (configurat i o n , p o s i t i o n , etc.) must be a certain value in order to s u p p o r t a task. A State-continuous resource is one in which the state of the resource can best be described by a continuous variable (e.g. the direction that an ant e n n a is p o i n t i n g ) . State-discrete resources, on the other h a n d , are represented by discrete values (e.g. on/off, lowgain/medium-gain/high-gain). T h e O M P system has represented two of these types of resources: capacity and state-continuous. However, they were represented independently in two separate implementations of O M P . T h e following discussion assumes a capacity type resource. T h e Conflict Level function must be redefined for the other types of resources. O M P resources are represented as timelines. Each timeline is a sequence of contiguous, discrete temporal intervals represented by the following parameters: Interval val.

(ts,te)'-

T h e start and end times of the inter-

R e s o u r c e C a p a c i t y (CA): T h e m a x i m u m capacity of the resource, known a priori. Can be a function of time. S t e p A s s i g n m e n t s (SA): A list of steps requesting the resource d u r i n g a given t e m p o r a l region.

Biefeld and Cooper

219

R e s o u r c e U s a g e (RU): The average amount of the resource requested by the assigned steps during a given temporal region where:

C o n f l i c t L e v e l (CL): The average level of conflict (contention for resources) during a given temporal region where:

CL(I) = F(RU(I),CA(I)) Each resource, RS, is represented by a temporal ordered list of tuples, where for each time tick, t,

RS(t) = [CA(t),SA{t),RU(t),CL(t)) 3.4

Regions

O M P adds a descriptive layer over the timelines called regions. A region is a variable-length, continuous time segment on a single resource. It is designated by a start time and end time and is defined dynamically by the scheduler. In addition to the general parameters associated w i t h the resource timeline (RS), each region, REi, has special-purpose parameters.

RE = [I,F,CL,RU] I n t e r v a l ( I ) : The temporal area bounded by the start and end times of the region. F o c u s L e v e l (F): T h e number of times a given time slot has been the FOCUS of the scheduler. O M P defines several types of specialized regions: Conflict time than that

R e g i o n (CR): A variable length, continuous interval where the requested usage is greater the theoretical capacity of the resource during interval. CLRS(I)

>

a

where a corresponds to the percent of over subscription allowed by the current scheduling phase. F o c u s R e g i o n (FR): T h e conflict region which the scheduler has chosen to work on during the upcoming scheduling pass. E f f e c t e d R e g i o n (ER): Any region which is changed as a result of a scheduling action in a focus region. B o t t l e n e c k R e g i o n (BNR): A set of regions (not necessarily continuous) which comprise a bottleneck.

4

Scheduling

The O M P approach to scheduling is based on the following assumptions: 1. The schedule can be decomposed into several disj u n c t temporal regions where a small set of constraints dominates (bottlenecks). 2. A parametrized scheduling heuristic i n s t i t u t i n g a specialized search can be used to optimize for the dominant constraint w i t h i n the bottleneck.

220

Automated Reasoning

3. T h e scheduler can merge the resulting partial schedules and complete any unspecified portions while maintaining the highly optimized sections. O M P decomposes a scheduling problem by using chronologies to locate, classify, and resolve bottlenecks. An i n t u i t i v e , working definition of a bottleneck is: A set of disjunctive temporal regions where: 1. A small set of resource constraints dominate; 2. T h e potential resource demand based on possible requests exceeds the available resource capacity. 4.1

Locate Bottlenecks

O M P ' s approach to locating bottlenecks is not based on a static evaluation of requests versus resource limits [see C O R T E S ; Section 6]. Instead it is based on the observation that repeatedly applying a conflict-repair strategy to a schedule will cause the conflict level(s) w i t h i n a region (s) to change. By tracking changes in the conflict levels in different regions, O M P is able to locate interdependent regions and merge them into a bottleneck. The chronology subsystem is responsible for capturing the information needed to locate the bottlenecks. 4.1.1

Chronograms and Chronology

After performing the initial expansion of the tasks into activities and making preliminary resource assignments, the scheduler focuses on the area of the schedule w i t h the most conflicts. The scheduler performs a shallow search which lowers the number of conflicts in this area. Only the activities that are involved in the conflict are modified. The impact of these modifications on the resources is recorded in an object called a chronogram. The procedure is: 1. Select a FR f r o m the various CR on the schedule using the appropriate selection criteria (e.g. select the CR w i t h the m a x i m u m CL); 2. Move tasks out of the FR until the selection parameter (e.g. CL) is less than the threshold value set by scheduler; 3. Create a chronogram and add it to the chronology; 4. Repeat untill no conflicts exist or a bottleneck is identified. The shallow search used by O M P is a simple hill climber whose u t i l i t y function is composed of the conflict level w i t h i n the focus region, the total conflict level of the schedule and the number of times an activity has been modified. W h i l e the search tries to minimize the t o t a l conflict level, it will at times increase the conflict level over the total schedule in order to lower the conflict level w i t h i n the focus region. A newly created conflict region w i l l eventually become the focus of the scheduler. Solving this region may, in t u r n , cause other conflicts and so on, u n t i l the original conflict region is once again in conflict. As the search progresses through the oversubscribed resources, the level of conflict in these and other areas oscillate. T h e conflict areas t h a t oscillate in this manner are classified as potential bottlenecks.

Each time the system focuses on a new region it creates an entry i n t o the chronology called a chronogram. A chronogram includes the focus region, the change in conflict level of the focus region, and a list of any other resource regions whose conflict level changed (the effected regions), and the actual change in conflict ER for the effected regions. C h r o n o g r a m ( C i ) , Ci =

[FR,F,CL,

CL,(ERS,CLER)1

and C h r o n o l o g y ( C Y ) , CY = (C i , i = 1, M) for M scheduling passes Eventually, the number of times the system has focused on the same region w i l l reach a heuristic threshold. This signifies t h a t the search is wandering around in circles and it is time to analyze the chronology to identify the bottlenecks. 4.1.2

Chronograph

The first step in processing the chronology is to build a graph for each chronogram. Each region in the chronogram is a node and an arc is placed between the focus region node and the effected region nodes in the chronogram. A pulse count of one is assigned to each of the newly created nodes indicating the number of times this region has changed its conflict level. The strength of the arc is the ratio of the change in conflict level of the region and the focus region. N o d e (Ni):

For

(Ri\Ri

ERs), a node,

Ni,is

created

with a P u l s e C o u n t (PC):

PC(Ni)

= 1.

A r c ( A ) : For every node, A7,, there exists an arc, .4,, which connects i?R i and the FR, w i t h an A r c S t r e n g t h (Si):

Si —

The next step in processing the chronology is to merge the i n d i v i d u a l chronographs. O M P combines any nodes that represent the same region. If any two regions on the same resource overlap temporally, the ratio of overlap duration to t o t a l temporal duration is used to determine if the regions should be combined. When two nodes are combined, the temporal extent of the resulting node is the union of the original two nodes 1 temporal extents and the pulse count is the sum of the original two nodespulse count. A n y two arcs which link the same nodes are combined and the resulting strength is the sum of the strengths of the original two arcs. After all the graphs have been merged, any node whose pulse count is below a heuristic threshold is deleted from the graph and any arc whose strength is below a threshold is also deleted. The graph is then split into a set of connected graphs and a bottleneck is created for each of the connected graphs. 4.2

Classify a n d Resolve Bottlenecks

Once O M P has identified the bottlenecks, the next goal is to classify t h e m . O M P calculates a set of metrics for each bottleneck. These metrics evaluate the conflict level, temporal scope

( n u m b e r , size, and c o n t i n u i t y of t e m p o r a l intervals i n volved), and resource scope ( n u m b e r of different resources involved) of the i n d i v i d u a l bottlenecks. Once a bottleneck has been evaluated based on these metrics, appropriate strategies can be employed to resolve the bottleneck. T h e goal of the strategies is to either produce a conflict-free schedule w i t h i n the bottleneck region or break-down the bottleneck i n t o more manageable pieces. If the metrics indicate t h a t a bottleneck is massively oversubscribed (i.e. the requested usage w i t h i n the bottlenecks is greater t h e n 150% of the theoretical capacity of the bottleneck ), O M P w i l l employ strategies which delete the lower p r i o r i t y activities f r o m the bottleneck u n t i l the requested d e m a n d is reduced to about 120% over the theoretical capacity. A f t e r the demand has been lowered O M P w i l l once again search for bottlenecks. T h e variance in the resource usage is a metric which checks for u n i f o r m usage t h r o u g h o u t t h e bottleneck. If, for example the variance is high t h e n a simple hill climber, which minimizes the square of the resource dem a n d , is applied to the bottleneck to level o u t the resource usage. A f t e r this leveling strategy has completed then the system w i l l apply a more specific strategy to reduce the t o t a l conflict w i t h i n the bottleneck. A n o t h e r metric used to classify a bottleneck is the t o t a l t e m p o r a l extent and the n u m b e r of resources the bottleneck employs. If the bottleneck is t e m p o r a l l y large in scope then a general purpose strategy is used which adds constraints to the activities in the bottleneck, causing the large bottleneck to split i n t o several smaller bottlenecks. If the bottleneck is small in scope, then a strategy t h a t optimizes for a specific type of resource is applied to the bottleneck. For example, if the resource tracks the p o i n t i n g d i r e c t i o n of an antenna and the direction changes frequently d u r i n g the t e m p o r a l extent of the bottleneck, a l o t - s i z i n g 2 strategy is applied which collects requests w i t h similar direction requirements together. T h i s strategy reduces the p a n n i n g (setup time) of the antenna and thus frees up the antenna for addit i o n a l requests.

5

Status

T h e current i m p l e m e n t a t i o n of O M P has been tested on a Space Station Freedom (SSF) scenario consisting of 400 tasks (—1000 steps), using 17 different capacity resources. O M P generates a 7 day schedule. Using the approach presented in this paper, O M P is able to develop a schedule in approximately 15 minutes. Randomly reordering the i n p u t requests has a less than two percent i m p a c t on the number of tasks in the schedule. ( A l though the actual schedule that's produced is highly inp u t dependent, the general characteristics of the schedule such as t o t a l number of tasks in schedule and profile w i t h respect to task p r i o r i t y , vary only slightly). O M P currently performs no preprocessing on the i n p u t tasking. It uses an extremely simple loading algor i t h m which r a n d o m l y assigns the steps to the resources. 2

Lot-sizing is a concept from manufacturing scheduling where several tasks of the same type are scheduled together as a lot in order to reduce equipment setup time.

Biefeld and Cooper

221

A d d i t i o n a l analysis is needed to identify the potential benefits which could be realized by incorporating a more intelligent loading scheme. The chronology analysis techniques discussed in this paper center around the merging and separating of i n dividual chronographs. We are currently investigating a more efficient methodology for building the chronographs which takes advantage of the fact t h a t by careful selection of the next focus region, you can build up a chronograph incrementally w i t h a high degree of confidence t h a t all of the nodes of the graph are part of the same bottleneck region. We believe that this technique, chronological coherence, could eliminate the need for an in-depth analysis and reduction of the chronograph into a series of directed graphs and improve the overall efficiency of the scheduler. The heuristic threshold values referred to throughout Section 4 are currently set manually and cannot be changed during the course of a scheduling session. A f u ture goal for O M P is to incorporate learning capabilities which would enable O M P to dynamically set the values of those parameters during the production of a schedule. O M P has proven itself capable of handling a complex, real-world domain. It produced realistic schedules in a reasonable amount of time for a large, detailed problem domain. The crux of O M P research up to this point has been to prove t h a t an automated approach modeled after expert human schedulers could be developed. T h e possibility of producing such an automated scheduling system has been established. Future work w i l l concentrate on the feasibility of this approach.

6

Related W o r k

Other work in mission scheduling done at J PL includes D E V I S E R , which was tested on Voyager's Uranus nearencounter sequence. W h i l e D E V I S E R was able to produce Voyager schedules for cruise mode operations, it was impractical to use for the highly packed encounter sequences [McLaughlin and Wolff, 1989]. In order to constrain the search, the expert human scheduler who built the knowledge base had to 1) divide the encounter tasks into several smaller groups; 2) modify the knowledge base for each set of tasks to l i m i t the search; and 3) manually integrate the partial schedules into a complete schedule. After the near-encounter test was finished, various techniques for heuristically l i m i t i n g the search were investigated. These techniques included: 1) dynamic rule subsetting; 2) dynamic rule ordering; 3) pruning search paths; and 4) backtracking to check points instead of the previous state. W h i l e these mechanisms were technically possible to implement, the domain experts could not formulate domain-specific heuristics which used these mechanisms. When a t t e m p t i n g to l i m i t the search of D E V I S E R , the expert would construct a schedule by hand and analyze the bottlenecks w i t h i n this schedule. The expert was unable to use D E V I S E R to extract this type of informat i o n . T h i s (and other observations of the human expert) led to the use of chronologies for identifying bottlenecks.

222

Automated Reasoning

T h e F O R B I N planner uses the T i m e M a p Manager ( T M M ) [Dean and M c D e r m o n t t , 1987] as a temporal t r u t h maintenance database and incorporates many classical planning techniques. T h e T M M uses the constraints knowledge base to make t e m p o r a l predictions on plan viability. However, since the T M M is not capable of detecting all of the steps' interactions, F O R B I N has a scheduling module, Heuristic Task Scheduler ( H S T ) [Miller, 1988], which searches the partially constructed plan for a t o t a l l y specified schedule. If a viable schedule is f o u n d , F O R B I N goes on to the next goal to be expanded while the particular parameters chosen by the scheduler w i l l not be enforced, in keeping w i t h a policy of least commitment. One of the major heuristics used by H S T for limiting the search space is "generate only the feasible schedules" [Miller, 1988]. Like H S T , the T M M can only work w i t h feasible schedules. O M P , on the other hand, does most of its processing on infeasible schedules. As Dean noted "It is often convenient in debugging plans to determine what the repercussions are of modifying certain constraints .. . What you want is a blow-by-blow account of what things might go wrong, so you can assess what might be done'1 [Dean, 1985]. A basic premise of O M P ' s architecture is that a careful analysis of the implications of the infeasibility of a schedule allows the scheduler to t i g h t l y control the search and that the increase in search control more than compensates for the increase in the search space. The Opportunistic Intelligent Scheduler (OPIS) [Smith et al., 1986] is a j o b shop scheduler t h a t grew out of ISIS [Fox and S m i t h , 1984]. OPIS implements multiple scheduling perspectives. It incorporates the orderbased perspective used in ISIS and adds a resource-based perspective. T h e resource-based perspective is used to focus the search on the resource bottlenecks. Like O M P , OPIS uses different strategies to resolve a bottleneck depending on the metrics of the bottleneck. However, OPIS uses a simple infinite capacity scheduler to find bottlenecks that is easily fallible under conditions other than its test domain [Ow and S m i t h , 1988]. The technique described in this paper for finding bottlenecks is more robust and allows the system to distinguish the structure of a bottleneck. C O R T E S [Fox and Sycara, 1990] and R A L P H Johnson an d Werntz, 1987] use a look ahead technique Johnson and Roadifer, 1986; Muscettola and S m i t h , 1987; Sadeh and Fox, 1990] t h a t is conceptually similar to the technique presented in this paper. T h i s technique is based on first constructing a probabilistic model of the activities. If an activity can be scheduled in a large temporal window, then it has a non-zero probability dist r i b u t i o n w i t h i n this temporal window which depends inversely on the duration of the window and is proportional to the duration of the activity. T h e activity probability distribution is then weighted by its resource usage and the activity resource d i s t r i b u t i o n is summed for all the activities. T h e resulting resource usage distribution is compared to the resource capacity to locate potential bottlenecks. O M P uses a statistical technique to generate the same

i n f o r m a t i o n f o u n d in the resource usage d i s t r i b u t i o n s . Instead of c a l c u l a t i n g the p r o b a b i l i t y of a resource usage level, O M P generates resource usage samples d u r i n g its i n i t i a l search. These samples are used to statistically calculate a resource usage d i s t r i b u t i o n . A significant advantage of the O M P approach is t h a t not o n l y are the bottleneck regions identified b u t the regions are collected i n t o independent bottlenecks. W i t h the p r o b a b i l i t y approach mentioned above all the bottleneck regions are identified b u t there is no direct inform a t i o n on how these regions are connected. W h i l e O M P is not a learning p r o g r a m there has been recent work [Eskey and Zweben, 1990] in extending E x p l a n a t i o n - B a s e d L e a r n i n g of search control rules [ M i n t o n , 1988] to learn the general conditions under which chronic contention occurs. A chronic contention is similar to a bottleneck. However, instead of having to analyze the schedule to f i n d the bottlenecks, the general conditions under w h i c h they w i l l occur are learned. T h e advantage of an E B L approach is t h a t the system can quickly i d e n t i f y passible chronic conditions. However, the connection between the bottleneck regions depends on t h e p a r t i c u l a r set of t a s k i n g and the exact t i m i n g of the o r b i t of the spacecraft. Since this can radically vary f r o m day to day it makes exact prediction of the bottleneck regions very h a r d w i t h o u t actually r o u g h i n g o u t the schedule. W h i l e a good a prion guess of the chronic resources could speed up the i n i t i a l processing of the schedule, O M P can produce its first r o u g h set of bottlenecks in three to five minutes, so the p o t e n t i a l t i m e savings is small. E x t e n d i n g this concept to the learning of how to classify a bottleneck once it has been found does, however, offer s u b s t a n t i a l performance gains.

7

Summary

In this paper, we have presented a heuristics-based aut o m a t e d scheduling p r o t o t y p e , the Operations Mission Planner ( O M P ) , modeled after the expert h u m a n schedulers w h o produce schedules for planetary encounters. O M P uses new chronological evaluation techniques to focus the search by using i n f o r m a t i o n gained incrementally d u r i n g the scheduling process to locate, classify, and resolve bottlenecks. O u r approach is based on the assumption t h a t d u r i n g t h e c o n s t r u c t i o n of a schedule there exist several disjunct t e m p o r a l regions where the demand for one resource t y p e or a single t e m p o r a l cons t r a i n t dominates (bottleneck regions). Using chronologies, the scheduling system builds a l i m i t e d h i s t o r y of the scheduling process and t h e n analyzes the i n f o r m a t i o n inherent in t h a t h i s t o r y using a set of metrics. A rule-based system t h e n classifies the bottlenecks based on the metrics and determines the a p p r o p r i a t e scheduli n g actions to resolve the bottleneck. In order to implement the chronology system, O M P incorporates special d a t a items in its representations of b o t h tasking and resources. A special d a t a t y p e , the c h r o n o g r a m , is also used to record the effects of a scheduling pass. T h e chronograms are t r a n s f o r m e d i n t o a g r a p h representat i o n a n d , using g r a p h analysis techniques, the chronographs are merged i n t o a set of connected graphs which represent the b o t t l e n e c k regions.

References [Biefeld and Cooper, 1988] Eric Biefeld and Lynne Cooper. R e p l a n n i n g and I t e r a t i v e Refinement in Mission Scheduling. Sixth Annual Intelligence Community AI Symposium,, W a s h i n g t o n , D C , October 1988. [Biefeld and Cooper, 1989] Erie Biefeld and Lynne Cooper. Comparison of Mission and Job Shop Scheduling. Proceedings of the Third International Conference on Expert Systems and the Leading Edge tn Production Planning and Control, pages 483-494, H i l t o n Head I s l a n d , S o u t h C a r o l i n a , M a y 1989. [Dean, 1985] T h o m a s Dean,. An A p p r o a c h to Reason a b o u t T i m e for P l a n n i n g and P r o b l e m Solving. Technical R e p o r t 433, Yale University, 1985. [Dean, 1986] T h o m a s Dean,. I n t r a c t a b i l i t y and T i m e Dependent P l a n n i n g . Proceedings of Workshop on Planning and Reasoning About Action, pages 143-164, June 1986. [Dean and M c D e r m o n t t , 1987] T h o m a s Dean and Drew M c D e r m o t t . T e m p o r a l D a t a Base Management. Artificial Intelligence Journal, 32(1): 1-55, 1987. [Dean et al, 1987] T h o m a s D e a n , R. James Firby, and D a v i d M i l l e r . Hierarchical P l a n n i n g i n v o l v i n g Deadlines, Travel T i m e , and Resources. Computational Intelligence, 4 ( 4 ) , November 1988. [Eskey and Zweben, 1990] Megen Eskey and Monte Zweben. L e a r n i n g Search C o n t r o l for C o n s t r a i n t Based Scheduling. I n t e r n a l N A S A Ames Research D o c u m e n t , 1990. [Fox and Sycara, 1990] M a r k Fox and K a t i a Sycara. Overview of C O R T E S : A C o n s t r a i n t Based Approach to P r o d u c t i o n P l a n n i n g , Scheduling and C o n t r o l . Proceedings of the Fourth International Conference on Expert Systems in Production and Operations Management, pages 1-15, H i l t o n Head I s l a n d , South Caro l i n a , M a y 1990. [Fox and S m i t h , 1984] M a r k Fox and Stephen S m i t h . ISIS: A K n o w ledge-Based System for Factory Scheduli n g . Expert Systems, 1(1):25 49, J u l y 1984. [Johnson and Roadifer, 1986] Craig Johnson and James Roadifer. A L o o k - A h e a d Strategy for Heuristic Act i v i t y Scheduling. Joint Conference of the Operations Research Society of America and the Institute of Management Sciences, October 1986. [Johnson and Werntz, 1987] C r a i g Johnson and David Werntz. A u t o m a t i o n of the Resource Allocation and P l a n n i n g System at N A S A ' s Jet Propulsion Laboratory. SPACE: Technology, Commerce and Communications, H o u s t o n , Texas, November, 1987. [Le Pape and S m i t h , 1987] Claude Le Pape and Stephen S m i t h . Management of T e m p o r a l Constraints for Factory Scheduling. Proceedings of the Working Conference on Temporal Aspects in Information Systems, M a y 1987. [ M c L a u g h l i n and Wolff, 1989] W. I. M c L a u g h l i n and D. M. Wolff. A u t o m a t i n g the U p l i n k Process for Plan-

Biefeld and Cooper

223

etary Missions. AIAA 21th Aerospace Science Meeting, Reno, Nevada, January 1989. [Miller, 1988] David M i l l e r . A Task and Resource Scheduling System for A u t o m a t e d Planning. Annals of Operations Research, 12(1—4):69—198, February 1988. [ M i n t o n , 1988] Steven M i n t o n . Quantitative results Concerning the U t i l i t y of Explanation-Based Learning. Proceedings of the Seventh National Conference on Artificial Intelligence, pages 564-569, Saint Paul, Minnesota, August 1988. [Muscettola and S m i t h , 1987] Nicola Muscettola and Stephen S m i t h . A Probabilistic Framework for Resource-Constrained M u l t i - Agent Planning. Proceedings of the Tenth International Joint Conference On Artificial Intelligence, page 1063-1066, M i l a n , A u gust 1987. [Ow and S m i t h , 1988] Peng Si Ow and Stephen S m i t h . V i e w i n g Scheduling as an Opportunistic ProblemSolving Process. Annals of Operations Re search,12(14):85-108, February 1988. [Sadeh and Fox, 1990] N orman Sadeh and M a r k Fox. Variable and Value Ordering Heuristics for A c t i v i t y Based Job-Shop Scheduling. Proceedings of the Fourth International Conference on Expert Systems in Production and Operations Management, pages 134-144, H i l t o n Head Island, South Carolina, May 1990. [Smith et ai, 1986] Stephen S m i t h , M a r k Fox, and Peng Si O w . Constructing and M a i n t a i n i n g Detailed Production Plans: Investigations into the Development of Knowledge-Based Factory Scheduling Systems. AI Magazine, 7(4):45-61, 1986. [Smith and O w , 1985] Stephen S m i t h and Peng Si Ow. T h e Use of M u l t i p l e Problem Decompositions in T i m e Constrained Planning Tasks. Proceedings of the Ninth International Joint Conference On Artificial Intelligence, pages 10130-1015, Los Angeles, California, A u gust 1985. [Starbird, 1987] T o m S t a r b i r d . Space Flight Operations Center Sequence Subsystem (SEQ) Functional Requirements Document for Planning. J PL Internal Document D-4697; N A S A , Jet Propulsion Laboratory, California I n s t i t u t e of Technology, Pasadena California, August 1987. [Tate, 1976] A u s t i n Tate, Project Planning Using a H i erarchical Non-linear Planner. Department of A r t i f i cial Intelligence Report No. 25, Edinburgh University, 1976. [Vere, 1983] Steven Vere. Planning in T i m e : Windows and Durations for A c t i v i t i e s and Goals. IEEE Transactions on Machine Intelligence PAMI-5, No. 3, pages 246-267, May 1983.

224

Automated Reasoning

Suggest Documents