L INTRODUCTION
3. RESCHEDULING FRAMEWORK
Unlike the scholastic study of scheduling, which has been organized around a particular classification scheme (Graham et al., 1979), the area of rescheduling has a much greater variety. Like a great swamp, it resists an orderly classification into mathematical abstractions.
Traditionally there was no standard way of describing rescheduling approaches, which includes methods for repairing a schedule that has been disrupted, methods for creating a schedule that is robust with respect to disruptions, and studies of how rescheduling policies affect the performance of the dynamic manufacturing system. To understand this work, Vieira et al.
(2003) presented a framework for understanding rescheduling not only as a collection of techniques for generating and updating production schedules but also as a control strategy that has an impact on manufacturing system performance in a variety of environments.
This rescheduling framework includes rescheduling environments, rescheduling strategies, rescheduling policies, and rescheduling methods.
The rescheduling environment identifies the set of jobs that need to be scheduled. A rescheduling strategy describes whether or not production schedules are generated. A rescheduling policy specifies when rescheduling should occur. Rescheduling methods describe how schedules are generated and updated.
1 Rescheduling Environments | 1 Static (finite set of jobs)
Deterministic (all information given)
Stochastic (some information
uncertain)
Dynamic (infinite set of jobs) | No arrival
variability (cyclic production)
Arrival variability (flow shop)
Process flow variability (job shop)
Rescheduling Strategies 1 Dynamic (no schedule)
Dispatching rules Control-theoretic
Predictive-reactive (generate and update) | Rescheduling Policies | Periodic Event-driven Hybrid |
1 Rescheduling Methods | 1 Schedule generation
Nominal schedules Robust schedules
Schedule repair | Right-shift
rescheduling
Partial rescheduling
Complete regeneration
Figure 6-1. Rescheduling framework (from Vieira et al. 2003)
Figure 6-1 presents the framework for understanding rescheduling. The framework includes rescheduling environments, rescheduling strategies, rescheduling policies, and rescheduling methods. Either rescheduling strategy (dynamic scheduling or predictive-reactive scheduling) can be used in any rescheduling environment with uncertainty or variability. However, dynamic rescheduling environments are the ones most relevant to manufacturing systems, and the predictive-reactive rescheduling strategy is the approach most commonly used in practice. Still, there are a great variety of rescheduling policies used in predictive-reactive scheduling.
3.1 Rescheduling environments
The rescheduling environment, which identifies the set of jobs that need to be scheduled, is an important component of the rescheduling framework, as Figure 6-1 illustrates. Static rescheduling environments have a finite set of jobs. Dynamic rescheduling environments have an infinite set of jobs (that is, jobs continue to arrive over an infinite time horizon).
Deterministic, static scheduling problems can be viewed as a special case of rescheduling, where there is a finite set of jobs and no uncertainty about the future. The specified schedule can be followed without any modifications.
Stochastic, static rescheduling environments are an important special case of rescheduling. Again, there is a finite set of jobs, but some variables
are uncertain. For instance, the exact task processing times may be unknown. A production schedule may specify resource assignments and task sequences, but the actual task start times and completion times will not match the expected ones. At the minimum, executing the schedule requires some rule or policy for reconciling the error in the schedule. However, other policies exist. One can modify the schedule at some point during execution to react to additional information, or one can construct a solution that only partially specifies the schedule, leaving details unspecified until the appropriate time comes.
A dynamic rescheduling environment has an infinite stream of jobs.
Each job requires scheduling before it can be processed. As shown in the framework, three important cases exist.
First, when a manufacturing system produces a specific set of jobs repeatedly (and there is no uncertainty or variability in the arrival process), then the system can follow the same production schedule repeatedly. The production schedule specifies a sequence of operations that are done. This is sometimes called a "cycle." After the system finishes one cycle, it starts the next cycle using the same sequence. The cycle might be a daily schedule that is repeated every day, or it could be a relatively short interval that is repeatedly many times in a day. The scheduling decision requires solving a cyclic scheduling problem. A flexible manufacturing system that performs milling and drilling operations to produce the same set of aluminum and steel transmission components each day is an example of a cyclic environment (Flanders and Davis, 1995).
Second, there may exist some uncertainty in job arrivals, but all jobs follow the same route through the manufacturing system, and the arrival rate is steady. When there exist significant setups between different classes of jobs or reentrant flow, scheduling is necessary to determine when a resource
should switch from processing one type of job to another.
Third, there may exist process flow variability along with the variability in job arrivals. Job shops often have this characteristic, since there are many products, but a limited subset of them are being produced at any given time.
Thus, a specific product's arrival process has great variability. In some situations, no advance information is available about jobs before they arrive.
Otherwise, some information about future arrivals may be known, but the information is subject to change as new jobs are added and existing jobs are delayed or deleted.
Another aspect that characterizes rescheduling environments is the presence of potential additional capacity using subcontracting or overtime.
A facility that works 24 hours every day is not the same as a facility that work five eight-hour shifts a week. The presence of capacity buffers (in the
form of potential overtime) affects the rescheduling environment, since it relaxes a set of constraints (capacity) but adds a set of costs (overtime).
3.2 Rescheduling strategies
As shown in the rescheduling framework there are two basic rescheduling strategies: dynamic scheduling and predictive-reactive scheduling.
Dynamic scheduling does not create production schedules. Instead, decentraUzed production control methods dispatch jobs when necessary and use information available at the moment of dispatching. Sometimes dynamic scheduling schemes are called on-line scheduling or reactive scheduling. Such schemes use dispatching rules or other heuristics to prioritize jobs waiting for processing at a workstation or waiting to be moved by a material handling vehicle. In some facilities, pull production control schemes such as kanban or constant work-in-process (CONWIP) are used instead of scheduling.
Predictive-reactive scheduling is a common strategy for rescheduling dynamic manufacturing systems. Predictive-reactive scheduling has two primary steps. The first step generates a production schedule. The second step updates the schedule in response to a disruption or other event to minimize its impact on system performance. Rescheduling can occur frequently in a dynamic rescheduling environment, or it can simply be a single revision of the schedule of a stochastic, static rescheduling environment.
Within this rescheduling strategy, there are various rescheduling poHcies that govern when rescheduling occurs.
1. A periodic rescheduling policy reschedules the facility periodically and implements the schedules on a rolling time horizon basis.
2. In an event-driven rescheduling policy, events in a certain class trigger rescheduling. In the extreme, a new schedule is created (or revised) every time an event that alters system status occurs. Triggering events may be machine breakdowns, the arrival of urgent jobs, job cancellation, or job priority changes.
3. A hybrid rescheduling policy reschedules the system periodically and also when special (or major) events take place.
In practice, periodic and hybrid policies appear to be the most common.
Katok and Ott (2000) describe a weekly scheduling policy for an aluminum can plant, and Moss et al. (2000) describe a weekly scheduling policy for a health care products factory. Leachman et al. (2002) describe a rescheduling policy that creates a new schedule each shift (which is eight hours long) and updates it every ten minutes.
Chacon (1998) describes a hybrid policy for a semiconductor wafer fabrication facility operated by Sony. The production scheduling system periodically downloads data from a manufacturing execution system and generates a schedule. According to Chacon, the users determine which events trigger rescheduling: "if an unscheduled event makes the schedule significantly obsolete, the fab supervisor has an option to recreate the schedule manually."
3.3 Rescheduling methods
Rescheduling methods are used to create or update schedules as part of a predictive-reactive scheduling strategy. Schedule generation methods include most of the literature in the area of scheduling. For a general introduction to the topic, see, for instance, Pinedo (2002) and Pinedo (2005).
Traditional approaches to creating schedules do not consider the possible need to adjust the schedule by making small changes when disruptions occur. Thus, manufacturing system performance may suffer significantly when a change is necessary.
However, robust scheduling is an attempt to create a schedule that achieves good performance even though changes occur. This is similar to the concept of robust design, which creates products that can perform well in a variety of environments.
When rescheduling becomes necessary, there are various methods available for changing the old schedule to create a feasible plan for future production. Such methods are called schedule repair methods, and there are three basic types:
1. Right shift rescheduling postpones each remaining operation (shifting it to the right on a Gantt chart) by the amount of time needed to make the schedule feasible.
2. More generally, partial rescheduling reschedules only the operations that were affected directly or indirectly by the disruption. This preserves the original schedule as much as possible. Right-shift rescheduling is a special case of this method.
3. Complete regeneration reschedules everything not processed before the rescheduling point, including those operations (jobs) not affected by the disruption.
To illustrate, consider the following example of a simple three-machine flowshop (Figure 6-2). Each job is processed on the three machines Ml, M2, and M3. The current production schedule has a number of jobs already scheduled. As job Jl finishes on Ml and job J4 finishes on M2, M2 fails and will be down as shown by the thick line.
n 1 '^2 1 J3 1 J6
1 ^'^
J4
1 ^^
J5 1 J4 ]
1 -^^ 1
Jl
1 13 1 1 r6 1J7
n J3 1 1 J6 J7 (a)
Ml
M2
M3