Since World War II, production management has slowly evolved from local to global decision making.
Initially, developments in the field of production management were limited to the improvement of the management of activities related to departments of pro- duction systems, such as inventory management, planning and scheduling of manufacturing activities, quality management, transportation management, to quote just a few. Most of the time, each of these activities was usually under the responsibility of a particular manager whose goal was to make decisions for a given period (management horizon). Usually, manufacturing managers generated an operation schedule each week, the goal being either to balance the load of the
328 9 Dynamic Scheduling and Real-time Assignment machines, or to meet intermediate deadline, or to perform most of the operations during the week, etc.
Scheduling is defined as the process of assigning operations to a set of re- sources in the course of time with the objective of optimizing a criterion. Some criteria will be mentioned hereafter. We will mainly consider the makespan1 that is the common criterion in real-time situations. Four types of constraints may be part of a scheduling problem:
1. Operation precedence constraints. Such a constraint requires the completion time of an operation to be less than or equal to the start time of any succeeding operation.
2. Resource capacity constraints. Such a constraint requires that there is no over- lap between two manufacturing periods of operations that share the same re- source.
3. Processing time constraints. A processing time constraint asserts that the dif- ference between the completion time and the start time of an operation is equal to the operation time.
4. Ready time constraints. A ready time requirement concerns a product. It states that the start time of the first operation of the product is greater than or equal to the release date of the product.
Several criteria may be involved in a scheduling problem but, in this case, vari- ous techniques are available to transform the multicriteria problem into a unique criterion problem. Among these techniques are the weighted sum of the criteria, conversion of the multicriteria problem into a single-criterion problem by treating all but one criteria as constraints, introduction of a hierarchy among criteria, appli- cation of the so-called goal programming method that consists in minimizing a weighted sum of deviations of the criteria to predefined values, application of the so-called compromise programming that consists in approaching some “ideal” so- lution as closely as possible. These methods have been illustrated in the chapter dedicated to outsourcing.
The first schedules were worked out “by hand” using a Gantt chart.2 Further- more, they were frozen until the end of the management horizon and modified based on the experience of the manager in case of disturbances of the schedule due to the appearance of unexpected events. In other words, the global adjustment of the different departments was done at the beginning of each period and adapted locally in case of disturbances meanwhile.
1In manufacturing systems, the makespan of a set of products is the difference between the maximal completion time and the minimal start time of the operations required to complete the set of products.
2A Gantt chart is a type of bar chart that illustrates a project schedule. A Gantt chart represents each operation by a bar on a time axis associated with the resource in charge of the operation. The origin (respectively, the end) of the bar is located at the abscissa that represents the starting (respectively, the completion) time of the operation. Usually, the bars related to operations performed on the same prod- uct or batch of products are of the same color.
When computers started appearing in firms, the schedules switched from Gantt charts to computer screens. At the same time, computer programs were established to compute schedules that “optimize” some criterion over the management hori- zon. Among the criteria mentioned in the literature are the minimization of the completion time of the set of operations under consideration (the makespan), mean WIP (work-in-progress), mean manufacturing time (the mean flow time), mean tardiness, and mean processing cost, as well as the maximization of productivity, etc.
These first tentative approaches largely ignored the randomness inherent to production systems. They made the implicit assumption of a static environment without any kind of unexpected event that may disrupt the schedule. This kind of technique is called static scheduling. An extensive literature exists on this subject when operation times are deterministic, see for instance (Baker, 1974), (Wiers, 1997), (Blazewicz et al., 2001), (Pinedo, 2008). Static scheduling problems that call for an optimal solution are usually NP-hard.3
The explanation of such a restrictive decision support system is twofold: weak data processing and communications systems, combined with relatively limited competition until the 1970s. Remember that affordable powerful processing and communications systems appeared quite recently. Furthermore, international trade agreements really started only at the end of World War II. For instance, the GATT (General Agreement on Tariffs and Trade) was signed in 1947 and put in place in 1948, but became really influential at the beginning of the 1990s.
In most real-world environments, unexpected events arise, which forces revis- ing or adapting the schedule. Unexpected events are either resource or operation related, see (Stoop and Wiers, 1996), (Cowling and Johansson, 2002), (Vieira et al., 2003). Resource-related events are machine breakdowns, tool failures, un- availability of tools or employees, shortage of raw material or components, defec- tive or inadequate material or components, etc. Operation-related events are, for instance, modifications of deadlines, order cancellations, late arrivals of orders and changes in manufacturing processes due to replacement of some resources.
Thus, a schedule often becomes obsolete almost the moment it is completed (Wu et al., 1999).
Some authors addressed the gap between scheduling theory mainly focused on static decisions and the needs of real-life environments that are often disturbed by unexpected events, see (MacCarthy and Liu, 1993), (Cowling and Johansson, 2002). This situation advocates promoting dynamic scheduling, a set of methods that are able to react to unexpected events by either adjusting the existing schedule or rescheduling the remaining operations.
Despite competition among companies and an ever-changing market, the basic structure of production systems remained stable until the middle of the 1990s: a
3A problem is NP-hard if an algorithm for solving it can be translated into one for solving any NP- problem (non-deterministic polynomial time problem). NP-hard therefore means “at least as hard as any NP-problem”. A problem is assigned to the NP class if it is solvable in polynomial time by a non- deterministic Turing machine.
330 9 Dynamic Scheduling and Real-time Assignment set of departments, each of them having its own manager whose goal was to opti- mize a criterion specific to the department on a given horizon, was the common organization of production systems.
Recently, the pressure of the competitive market, encouraged by powerful data processing, communication systems and permissive international trade agree- ments, has affected the structure of production systems, calling for:
• Integration of the activities that cover the whole spectrum from customers’ re- quirements to cashing.
• Flexibility with regard to demand changes.
The answer to these requirements is given by the supply chain paradigm, see (Govil and Proth, 2002), (Lee et al., 1997), (Poirier and Reiter, 1996).
A supply chain is a global network of organizations that cooperate to improve the flows of material and information between suppliers and customers at the low- est cost and with the highest speed. Thus, a supply chain is organized by projects instead of departments. The scheduling objective in such a system is no longer to optimally schedule a set of tasks. The goal is now to schedule and reschedule op- erations on-line, in the order in which the demands these operations are related to, appear in the system. We refer to this activity as real-time assignment.
A decision is said to be made in real time if the period between the time the data required to make the decision are available and the decision time is greater than the time required to process the decision. As a consequence, this period can vary drastically from case to case. For example, this period is around 10–4 s when controlling multifunction radars or may be 24 h or more in a civil engineering pro- ject.
For a long period, real-time decisions were linked with data processing and communication. Now, this notion is common in the management of supply chains.
Real-time assignment in supply chains is motivated by two objectives:
• Being able to reschedule “on-line” the whole supply chain in the case of unex- pected events such as machine breakdowns, strikes, rework, fundamental changes in the market, etc.
• Being able to react immediately to customers’ requirements. In particular, it is not unusual to guarantee the delivery date in less than two minutes, possibly over the phone.
Part of the work done on real-time assignment is mentioned in (Chauvet et al., 2000) and will be detailed in this chapter.
It should be noted that dynamic scheduling is different from real-time assign- ment.
Dynamic scheduling is in keeping with the classical production architecture that considers a production system as the concatenation of departments that are under the responsibility of different managers. A dynamic scheduling approach is used in the manufacturing departments, providing a static schedule at the begin- ning of the management period, and adjusting this schedule in the case of distur-
bance during this period as aforementioned. This schedule concerns a set of opera- tions corresponding to different products that have to be completed on a given ho- rizon (a week, for instance).
Real-time assignments appeared when the supply chain paradigm started spreading. In a supply chain, each project covers the whole production cycle, from customers’ requirements to cashing and, in addition, the diversity of the products involved in a project is limited in terms of the number of types of operations.
Nowadays, a project is a continuous flow of activities. In particular, manufactur- ing systems progressively switch from job-shops to assembly lines that, ade- quately balanced, guarantee productivity as well as flexibility. Thus, real-time as- signment consists in assigning a set of operations related to a product (or a small range of product types) to a set of resources as soon as the order arrives in the manufacturing system. In the case of a disturbance, previously scheduled opera- tions that are not completed are rescheduled in the order of the arrival of the corre- sponding demands. The goal is to reassign the operations in real time.
In this chapter, we address dynamic scheduling and introduce real-time as- signment, keeping in mind that the future will certainly favor real-time assign- ment. The next section deals with dynamic scheduling. The last two sections of this chapter relate some new advances in real-time assignment.