282613 A Reactive Scheduling Framework for Batch Plants: Balancing Schedule Stability and Efficiency Performance Measures
Predictive scheduling methodologies are aimed at addressing the generation of production agendas, while assuming that all the operational features considered at the beginning of the scheduling horizon do not change during such horizon. However, scheduling has to be considered as an ongoing process in which evolving and changing circumstances continually force reconsideration and revision of pre-established plans (Smith, 1995). Due to their intrinsic dynamics, real industrial environments frequently face unexpected events (new order arrivals, order cancellations/modifications, equipment failures, etc.), which disrupt in-progress schedules. Nevertheless, continuous and disturbing changes are not well accepted on the shop-floor since they lead to “shop nervousness”. Consequently, not only predictive scheduling systems are required, but also reactive scheduling support ones, intended at coping with unforeseen events and preserving the main characteristics of the active agenda.
This paper presents new developments associated with a rescheduling support framework (Novas and Henning, 2010), aimed at addressing the repair-based reactive scheduling problem. This framework is based on a hybrid approach that combines an explicit object-oriented domain representation and a constraint programming (CP) methodology. Since the modeling of domain knowledge is a critical issue in any scheduling support system, the proposed framework has incorporated an explicit representation of the scheduling scenario, as well as a categorization of the disrupting events. This representation allows capturing the status of an in-progress agenda when an unexpected disrupting event occurs.
Based on the captured information, the reactive scheduling problem to be faced is specified. A rescheduling problem specification is defined as a set of associations between types of rescheduling actions and those processing tasks that comprise the reactive scheduling problem. The types of actions being considered are: task shift, swap, re-assign, among others. Each action type that is associated with a task does not define a particular rescheduling operation, but several possible ones. In fact, each association prescribes a category of rescheduling operation and a range of possibilities to apply it on the particular task. For instance, a task-shift action type defines a shift operation, as well as the interval in which the task is allowed to move. Similarly, a task-reassign action type specifies a reassignment operation and the possible units to which the task can be reallocated.
For a given specification, many solutions to the problem could exist. In order to find a good quality/optimal one, a constraint-based formulation is employed. Then, the second step of the solution methodology relies on the translation of the set of previously specified rescheduling action types into a constraint programming (CP) model. In this model, each rescheduling action type-task association is automatically translated into assignment, timing and/or precedence constraints. The solution of the model renders an updated schedule in which the repair action types that were suggested are instantiated.
Since the association between a task and an action type is not unique in many cases, different solution scenarios can be generated. Although some insights regarding the generation of alternative scenarios were discussed in Novas and Henning (2010), more elaborated techniques aimed at associating rescheduling action types with processing tasks are required. This paper focuses on this issue by considering different intervals along the scheduling horizon, as explained below.
The rescheduling framework allows identifying those tasks that are directly and indirectly affected by the disrupting event, as well as those non-affected tasks. Directly affected tasks are those that are associated with particular action types, which are mandatory and depend on the type of event (e.g., reassigning a task allocated to a broken unit). On the other hand, actions types to be associated with both indirectly and non-affected tasks cannot be prescribed beforehand, and are specified depending on the schedule status and the state of the plant at the rescheduling time point. These types of tasks are the ones that are expected to be less influenced by disruptions. Since maintaining the schedule stability is one of the main goals of the revision activity, scheduling decisions associated with these tasks should be directed towards maintaining as much as possible the current agenda. In consequence, tasks belonging to these two categories are not to be associated with very unsettling action types.
As it was pointed out by Musier and Evans (1990), whenever possible, batches which are about to be processed should not be moved to another unit or to another position in the sequence because their required raw materials have already been sent to the shop floor. Therefore, a possible scenario consists in freezing those non-affected tasks that have a start time close to the rescheduling time point, establishing a Freezing Interval (FI). For those not frozen tasks, the less disturbing action type to be applied to them is the shift-jump action type. Thus, an interval located to the right of the freezing one is defined in order to identify tasks that can be shifted or can make small “jumps” (Shift-Jump Interval, S-JI). Finally, those tasks located further to the right and close to the end of the scheduling horizon can be subject to any type of rescheduling action, including the more disrupting ones, like the reassign action type. They give rise to a Reassign Interval (RI). The challenge is to set adequate limits of such time windows, because the length of the FI, S-JI and RI intervals will affect the stability of the updated schedule, as well as its quality in terms of time-related or cost performance measures. Progress on this matter is discussed in this paper. It is shown how the length of these intervals depends on the average task processing time, the time remaining before the end of the scheduling horizon, etc.
This paper presents the framework components explained above and describes how to cope with unexpected events, while trying to optimize a conventional performance measure (e.g. makespan, tardiness, etc.), and at the same time, attempting to preserve the schedule stability. The contribution put emphasis on the new work that is related to the proper specification of the FI, S-JI and RI intervals lengths.
The use of the framework and the new enhancements is illustrated by means of a case study involving a multiproduct multistage batch plant. Different scenarios, associated with various disruptive events, occurring at distinct time points, are considered. Efficiency performance measures and stability ones are both sought.
Novas, J.M., Henning G.P. (2010). Reactive scheduling framework based on domain knowledge and constraint programming. Computers and Chemical Engineering 34, 2129–2148.
Musier, R. F. H., Evans, L. (1990). Batch process management. Chemical Engineering Progress, 87, 66–77.
Smith, S. F. (1995). In: D. E. Brown, & W. T. Scherer (Eds.), Reactive scheduling systems. Intelligent Scheduling Systems. Kluwer Press.