Journal ArticleDOI

# A framework for dynamic rescheduling problems

02 Jan 2019-International Journal of Production Research (CRC Press/Balkema)-Vol. 57, Iss: 1, pp 16-33
TL;DR: In practice, this situation is not often met in practice, since data may be subject to uncertainty and it may change as mentioned in this paper, which may change the deterministic and known in advance data.
Abstract: Academic scheduling problems usually assume deterministic and known in advance data. However, this situation is not often met in practice, since data may be subject to uncertainty and it may change...

### 1 Introduction

• Scheduling problems are among the hardest and the most studied problems in operations research.
• In some contexts these assumptions may be reasonable since they lead to simplified and more tractable models.
• In this case the problem is usually maintained deterministic and the presence of the uncertainty is addressed in a external wrapper.
• However there are also shortfalls for these approaches.
• Whenever a trigger condition is met, a new rescheduling problem is formulated according to the information available at the moment and solved by the solver.

### 2 Definitions and notation

• On the other hand, dynamic scheduling refers to problems where data may change during the execution of the scheduling and some information is not available to the scheduler at the planning stage.
• Different kinds of information could be available to the scheduler such as the probability distribution or expected values.
• The rescheduling policy decides when a new rescheduling process can be started.
• The frozen period is the length of the part of the schedule that cannot be changed, and that should be maintained.
• Some applications may require fast algorithms whereas in others settings the length of the allowed computation time for the rescheduling can be comparable to the CPU time for calculating the offline schedule.

### 2.1 Mathematical notation

• Wij is known in advance and can assume positive, null or negative values.
• That is, one of the two alternative disjunctive arcs has to be selected, i.e., added to the current graph.
• These internal changes are algorithmic decisions carried out before time t that cannot be undone because they are already active and operation oi is already in execution, i.e., scheduling decisions such as adding one alternative arc (i, j) to the current selection S. An instance for the dynamic scheduling problem I is the pair I = (G,∆∞).

### 3 Literature and applications

• Dynamic scheduling problems are an interesting practical extension of classical scheduling problems but they are not deeply investigated [14].
• Among the possible approaches, the simulation based are often applied to address the rescheduling problem [17] since they combine classical scheduling problems with widely applied techniques such as the discrete-events simulation.
• The recent surveys by Vieira et al. [24] and Aytug et al. [1] review these approaches and applications.
• Different online strategies are evaluated; the no rescheduling, rescheduling with penalties and full rescheduling.
• In their tests, the evaluated objective functions takes both stability and efficiency into consideration.

### 4 Architecture

• This section describes the implementation of the dynamic rescheduling framework proposed in this paper.
• The framework is implemented in Java and uses the statistical package R version 2.13.1 for generating plots.
• Figure 2 presents the framework for dynamic rescheduling, which is composed of a Controller, a Simulator, a Solver, an Instance Writer and Solution Reader module.
• Moreover the framework should interact with both the Reality (either the real world application or a its simulation) and possibly with a human supervisor.

### 4.1 Reality module

• Thus it contains the “real” information about uncertainty and probability distributions and provides it to the Simulator in form of exogenous events ∆t.
• Observe that all the other modules are not aware of how such exogenous events are generated.
• Typical changes to a distribution associated with an uncertain event makes the event become less uncertain as more information becomes available.
• This process terminates when all stochasticity is removed and the actual duration of each operation is finally known.
• Depending on the application the actual duration can be known in advance with respect to the starting time of the operation or while the operation is being processed.

### 4.2 Simulator module

• The Simulator maintains the system state information and updates it as time passes.
• This event is communicated to the Simulator by the Solution Reader module when a new scheduling solution is available.
• To analyse the stochasticity of the problem, the Simulator generates a predetermined amount m of Monte Carlo samplings by instantiating the probability distributions associated to the uncertain events.

### 4.2.1 Human Interaction

• In some applications the Simulator could work with no human intervention or supervision, while in other applications a decision maker could decide whether or not a new rescheduling should be started and supervise the solutions found by the Solver.
• More often, the presence of a Human Supervisor should be considered.
• They are drawn as regular Gantt charts, but the boxes signifying an event occurring with certainty at a given time, have been replaced by a shape representing the approximate likelihood of an event happening at a given time.
• The red line can be divided into three parts:.
• The area above represents the chance that J1, 1 has not started at time 350, as this area is occupied by the shape representing J0, 0, the authors must conclude that the machine is occupied by the previous operation (J0, 0) in these cases.

### 4.3 Controller module

• The Controller implements the rescheduling policy, i.e., it decides when the Solver should be invoked.
• A trigger is a function T (Σt, t, tlast,∆t \∆tlast) that maps the current state of the system Σt, the time t, the last time a solver was run tlast, and the events ∆t \∆tlast into a boolean value.
• Changed makespan is triggering when the longest path from source to the sink node changes.
• Infeasibility of the solution originally provided by the solver.
• With 95% confidence, there is at least 10% chance of worsening the objective function.

### 4.4 Solution Reader and Instance Writer modules

• The Solution Reader and Instance Writer modules must be implemented separately for each Solver that is to be used with the framework.
• The Solution Reader module must generate an temporal network from the instance file and the solution produced by the deterministic solver.
• The Instance Writer module is responsible for creating a deterministic instance based on the simulation of the current system state Σt.
• The Instance Writer should enforce that the starting time of locked events should never be modified by the Solver.
• The choice is determined by the ability of the solver to handle the constraints needed.

### 4.5 Solver module

• The Solver is the optimization core of the rescheduling system.
• The proposed dynamic rescheduling framework is Solver independent.
• Both exact and heuristic solvers can be interfaced with the framework.
• In Section 5 the authors show how a dispatching rule yielding the optimal solution or a truncated commercial solver can both be used as Solvers within the framework.

### 4.6 Parameters and Input

• The framework requires the following application specific parameters: Knowledge parameter k ∈ (−∞; 1] is used when the framework is not connected to a real life application.
• A value in the interval [0; 1] denotes the percentage completion an operation must be at before the process time becomes known to the framework.
• Finally the framework must be given information detailing how and when to reschedule.
• For bounded distributions this will be treated as reverse lookup in the cumulative distribution function.
• Rolling Horizons can be handled if implemented in the instance reader and writer, and the solver must be able to solve the partial instance.

### 5 Computational Experiments

• The computational experiments reported in this paper are based on two different scheduling applications.
• Namely the authors consider the Single Machine Weighted Completion Time problem and the academic Job-Shop Scheduling problem.
• In the results the authors show the deviation from the optimal value of the ex-post optimization z∗((G,∆,∞), (G,∆,∞)).

### 5.1 Single Machine Weighted Completion Time (SMWCTP)

• The single machine problem the authors consider is the classical 1|| ∑ wiCi single machine problem with the objective of minimizing the sum of the weighted completion time of each job.
• The problem is known to be polynomially solvable [22] by applying the Weighted Shortest Processing Time (WSPT) rule, that is to sequence jobs according to their non-decreasing ratios pi/wi.
• For each of the 100 stochastic instances, the authors create 4 sample instances (sample = 4) by sampling each of the distributions associated with the processing times.
• Trigger when the sum of absolute values of changes in the process times exceeds 10 time units.

### 5.1.1 Results

• Figure 6 (a) shows that guessing a low process time pi seems favorable for low values of f , i.e., when rescheduling frequently, while less frequent optimizations favor g values closer to 0.5 and thus guesses closer to the expected value of pi.
• If an exogenous cost is associated with each rescheduling, rescheduling only if the change in duration exceeds 10 time units (Tchange10), becomes interesting as it saves 11.3 reschedules on average and obtaining solutions with 2.26% deviation from the ex-post optimum on average.
• The exogenous cost must be significant to justify using Tchange100, as the average deviation increases to 38.89%.

### 5.1.2 Test cases analysis

• Observe that the stochasticity extend, the knowledge k and the frequency f parameters are usually determined by the application.
• The choices left to the managers are which trigger and sampling strategy to adopt.
• By running the proposed dynamic rescheduling framework it turns out that the best configuration is Tobjective and g = 0.25 since it provides the smaller deviation from the ex post optimum (as shown by Table 4).
• If there is an exogenous cost associated with rescheduling, the problem becomes multiobjective, as Tobjective always causes more than 40 reschedules while Tchange10 causes significantly less.

### 5.2 Job shop scheduling

• The classical job shop scheduling problem (J ||Cmax) is one of the most studied NP-hard problems [16].
• As solver the authors use a standard constraint programming model for the classical job shop scheduling problem and it has been implemented using IBM ILOG CP Optimizer version 12.2.
• In order to generate their tests the authors consider the well known 10-job 10-machine benchmark instance FT10 [13] and they create stochastic instances by changing all of the process times into a uniform distribution ranging from its original duration pi,j to pi,j + pi,j · extend (extend ∈ {0.1, 0.2, . . .0.9, 1.0}).
• Tobjective Trigger when the objective function changes, also known as The 4 Triggers are.
• Trigger when the sum of absolute values of changes in the process times exceeds 10 time units.

### 5.2.1 Results

• For higher values of the extend parameter there is a gap that can actually be exploited by allowing dynamic rescheduling.
• For higher values of the extend parameter the two optimal solutions differs, thus making rescheduling beneficial.
• If the job shop problem has exogenous costs associated with rescheduling fewer reschedules can be obtained through the use of triggers.
• In the plot the estimated solution quality is the makespan as computed by the deterministic solver (red marks).

### 5.2.2 Test cases analysis

• The general quality of the solution appears to have no clear correlation with the trigger used, which further substantiates the hypothesis that the rescheduling is done often enough to take advantage of the available information.
• Given that the triggers appear to give solutions of comparative quality, a decision maker would likely choose Tobjective or Tchange100 to minimize the number of reschedules performed (Table 7).
• To calculate if lowering the value of k is worth it, the benefit of 0.29% and 0.39% for Tobjective and Tchange100 respectively must be compared to any exogenous costs.

• From their tests it turns out that having information earlier is more important than frequent reschedules.
• For the JSP the most important factor turns out to be the magnitude of the uncertainties.
• When the problem allows only small changes (less than 20%) in the processing times there is no need of dynamic rescheduling since the ex ante solutions are already good enough.
• When coming to the influence of the parameter setting of the framework, the authors observe a different behavior for the two problems.
• In the SMWCTP the choice of the trigger is influential, and while giving different results the sampling strategies do not radically change the quality of the solutions if f 6=.

### 6 Conclusions and future research

• In this paper the authors introduced a simulation-based framework for addressing dynamic rescheduling problems.
• The functionality of this framework has been shown by considering two different dynamic scheduling problems: A single machine and a job shop scheduling problem.
• The framework has in this paper been used to investigate some issues: (i) comparing the relative performance of different solver configurations and the absolute performance with ex-ante/ex-post optimization; (ii) evaluating the robustness of the ex ante solution to uncertain distributions; (iii) the influence of triggers on the number of times rescheduling is performed, and the effect on the solution quality.

Did you find this useful? Give us your feedback

Content maybe subject to copyright    Report

General rights
Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright
owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights.
Users may download and print one copy of any publication from the public portal for the purpose of private study or research.
You may not further distribute the material or use it for any profit-making activity or commercial gain
You may freely distribute the URL identifying the publication in the public portal
A framework for dynamic rescheduling problems
Larsen, Rune; Pranzo, Marco
Published in:
International Journal of Production Research
10.1080/00207543.2018.1456700
Publication date:
2019
Document Version
Peer reviewed version
Citation (APA):
Larsen, R., & Pranzo, M. (2019). A framework for dynamic rescheduling problems. International Journal of
Production Research, 57(1), 16-33. https://doi.org/10.1080/00207543.2018.1456700

UNIVERSIT
`
A DI SIENA
DIPARTIMENTO DI INGEGNERIA DELLINFORMAZIONE
A Framework for
Dynamic Rescheduling Problems
Rune Larsen, Marco Pranzo
DII Technical Report n.2012-01
Research Group: Decision and Management Methods April 30, 2012

A Framework for
Dynamic Rescheduling Problems
Rune Larsen, Marco Pranzo
April 30, 2012
Abstract
Academic scheduling problems usually assume d eterministic and known
in advance data. However this situation is not often met in practice, since
data may be subject to uncertainty and it may change over time. In this
paper we introduce a general resched uling framework to address such dy-
namic scheduling problems. The framework consists in a solver and a con-
troller. The solver can also assume deterministic and static data, whereas
the controller is in charge of triggering the solver when needed and when
possible. Extensive tests are carried out for two well-known scheduling
problems, namely the single machine weighted completion time problem
and the job shop problem. The tests show how the proposed framework
allows to deal with d iﬀerent scheduling problems and to select the best
framework conﬁguration.
Keywords: Scheduling, Simulation, Dyn amic rescheduling.
1 Introduction
Scheduling problems are among the hardest and the most studied problems in
operations research. However, as observed by many authors [10, 12], there is
still a gap between theory and practice, in fact most formulations of scheduling
problems usually assume that data is deterministic and static over time. It is
well known that both uncertainties and dynamic environments are often present
in real- world applications. Never theless these presences are often neglected since
they are hard to model and to take into account alg orithmically. Usually, sim-
plifying assumptions are done to assume all information deterministic, static
over time and known in advance. In some contexts these assumptions may be
reasonable since they lead to simpliﬁed and more tractable models. However,
a careful validation analysis on the problem is often required to assess whether
simpliﬁed models are reasonable or if they induce an oversimpliﬁcation.
When the environment is assumed to be non- de terministic and dynamic
the pr oblem is to formulate a plan in which the pr esence of the uncertainties
has been taken into account during the solution process. At lea st two kind of
approaches have been proposed in the literature:
1. Approaches that try to produce the best possible plan incorporating a ll
the available information on the uncertainties. Among these approaches
we can mention stochastic programming [21] and robust optimization [4].
1

In stochastic programming the idea is trying to inc lude the uncertainty
sources directly in the formulation of the problem by generating and solv-
ing several sc enarios, if ne cessary allowing chang e s in the solution over
time. However, allowing recurse decisions makes the problem fundamen-
tally intractable. In robust optimization the idea is to try to produce
a “robust” solution satisfying additional constraints taking into account
possible rea liz ations of the uncertainty.
2. Approaches that try to r epresent the dynamic nature of the problem as
an additional layer between the solver and the application. In this case
the problem is usually maintained deterministic and the presence of the
uncertainty is addres sed in a external wrapper. As time passes, whenever
some conditions ar e met, the deterministic scheduling solver is invoked
and a new problem corresponding to a current snapshot” of the system
is solved. The results are then considered as a new plan to be followed
during the execution.
The advantages of dynamic rescheduling based approach over stochastic or
robust optimization are threefold:
Tractability A rescheduling approach a llows solving larger instances within
reasonable computation times allowing, if application permits, hundreds
of reschedules over time.
Easiness of implementation This approach does not require the develop-
ment of a new solver for the problem at hand, if the deterministic solver
can be adapted to meet some simple requirements. Hence, it can be put
in production faster.
Knowledge of the problem This approach is robust with respe c t to errors
in the uncertainty modelling, i.e., the eﬀects of diﬀerent probability distri-
butions and parameters, since there is no need to embed the uncertainty
in the solver.
However there are also shortfalls for these approaches. In fact, better perfor-
mances can be achieved if the solver takes the information on the uncertainties
into account within the optimization process. Moreover, no theoretical results
are known for this kind of approach.
In this paper we take a dynamic rescheduling approach, in which a deter-
ministic scheduling solver is dynamically executed to update the plan in order
to adapt uncertainties as they happen. The fo c us of this work is to introduce a
general framework to model a dynamic rescheduling problem in an uniﬁed way.
The main components of the system are:
Solver The solver is in charge of actually solving at each iteration the schedul-
ing problem and thus producing a plan that is going to b e executed.
Controller The Controller checks for rescheduling conditions during the execu-
tion of the schedule. Whenever a trigger condition is met, a new reschedul-
ing pro ble m is formulated according to the information available at the
moment and solved by the solver.
2

Simulator The simulator component loads all the information on the r eal-
world realiz ations of the probability functions when started, and it is re-
sponsible for simulating the unpredicted deviations and disturbances that
may happen in real-time. Note that the information is not sent to the
solver.
Our aim is to study when the uncertainty starts to be relevant in terms of
feasibility and optimality and how diﬀerent re scheduling policies behaves. The
emphasis is given to the gene ral applicability of the method rather than to the
speciﬁc application or solver used. In fact, the answers to these questions may
be problem speciﬁc, however, it is important to have a single tool able to address
them.
The paper is organized as follows: In the next section we introduce deﬁnition
and notation. Section 3 brieﬂy r e views the related literature and in Section 4
we introduce and describe the prop osed framework and all its str uc tural compo-
nents in detail. Section 5 shows the application of the framework to two diﬀerent
scheduling problems. Finally conclusions and future research dir ections follow.
2 Deﬁnitions and notation
A scheduling problem can be clas siﬁed as static if all the data is available at the
planning stage a nd no new info rmation is added to or modiﬁed in the problem
during the execution of the planned schedule. On the other hand, dynamic
scheduling refers to problems where data may change during the execution of
the scheduling and some information is not available to the scheduler at the
planning stage.
A problem is deterministic if all information is certain. In stochastic schedul-
ing problems, some da ta may be uncertain at planning stage. Diﬀerent kinds
of information could be available to the scheduler such as the probability distri-
bution or expe c ted values. A stochastic ins tance has probability distributions
associated to each process time, and the deterministic instance resulting from
sampling these distributions will be called a sample instance.
When solving a scheduling problem, two phases can be dis tinguished namely,
a planning phase, in which the scheduler has to plan a schedule to solve the
instance at hand, and an execution phase, in which the plan is executed and,
depe nding on the application, it may be modiﬁed or not. Usually in scheduling
resear ch the main focus is on the planning phase [14].
A disruption/disturbance of the plan is an unforeseen event that aﬀects the
plan typically during its exec ution. It may consist in the realization of an
uncertain event which was known in the form of probability distributio n, or it
may be a more disruptive event such as the breakdown o f a machine, failure
of oper ations, the arrival of some new and urgent job/order to be processed or
canceled jobs e tc. When a disruption occurs, and if the application setting makes
it possible, the scheduler has to decide whether to do nothing or reschedule. In
the former case the scheduler continues to follow the plan. While in the latter
case the scheduler should build/update the previous plan to reﬂect changes due
to the disruption.
Rescheduling is the act of modifying the oﬄine plan in response to dis-
ruptions. Rescheduling is usually an expensive activity in terms of costs, time
3

##### Citations
More filters
Journal ArticleDOI
Yuanyuan Li
TL;DR: The main contributions of the work are the formalization of the FJSP problem, the development of ad hoc solution methods, and the proposal/validation of an innovative ML and optimization-based framework for supporting rescheduling decisions.
Abstract: Along with the fourth industrial revolution, different tools coming from optimization, Internet of Things, data science, and artificial intelligence fields are creating new opportunities in production management. While manufacturing processes are stochastic and rescheduling decisions need to be made under uncertainty, it is still a complicated task to decide whether a rescheduling is worthwhile, which is often addressed in practice on a greedy basis. To find a tradeoff between rescheduling frequency and the growing accumulation of delays, we propose a rescheduling framework, which integrates machine learning (ML) techniques and optimization algorithms. To prove the effectiveness, we first model a flexible job-shop scheduling problem with sequence-dependent setup and limited dual resources (FJSP) inspired by an industrial application. Then, we solve the scheduling problem through a hybrid metaheuristic approach. We train the ML classification model for identifying rescheduling patterns. Finally, we compare its rescheduling performance with periodical rescheduling approaches. Through observing the simulation results, we find the integration of these techniques can provide a good compromise between rescheduling frequency and scheduling delays. The main contributions of the work are the formalization of the FJSP problem, the development of ad hoc solution methods, and the proposal/validation of an innovative ML and optimization-based framework for supporting rescheduling decisions.

54 citations

Journal ArticleDOI
19 Mar 2019
TL;DR: A decision support system (DSS) designed to increase the performance of dispatching rules in dynamic scheduling using real time data, hence an increase in the overall performance of the job-shop is proposed.
Abstract: The wide usage of information technologies in production has led to the Fourth Industrial Revolution, which has enabled real data collection from production tools that are capable of communicating with each other through the Internet of Things (IoT). Real time data improves production control especially in dynamic production environments. This study proposes a decision support system (DSS) designed to increase the performance of dispatching rules in dynamic scheduling using real time data, hence an increase in the overall performance of the job-shop. The DSS can work with all dispatching rules. To analyze its effects, it is run with popular dispatching rules selected from the literature on a simulation model created in Arena®. When the number of jobs waiting in the queue of any workstation in the job-shop falls to a critical value, the DSS can change the order of schedules in its preceding workstations to feed the workstation as soon as possible. For this purpose, it first determines the jobs in the preceding workstations to be sent to the current workstation, then finds the job with the highest priority number according to the active dispatching rule, and lastly puts this job in the first position in its queue. The DSS is tested under low, normal, and high demand rate scenarios with respect to six performance criteria. It is observed that the DSS improves the system performance by increasing workstation utilization and decreasing both the number of tardy jobs and the amount of waiting time regardless of the employed dispatching rule.

31 citations

Journal ArticleDOI
, Gang Guo1
TL;DR: Results show that the WSI-GA for prescheduling is superior to the referenced traditional priority-based genetic algorithms in the four different production modes and that EPW-LS for rescheduling can effectively improve the solutions of the preschedulings once disruption events occur.
Abstract: With the increased awareness of the market competition and protection of the environment, many studies have examined sustainable manufacturing, which combines lean production and sustainable perfor...

28 citations

Journal ArticleDOI
TL;DR: Simulation results show that, it is an effective approach to generate reliable rescheduling schemes in most projects with excellent performances, i.e. the average project length, timely project completion probability and etc.
Abstract: The fundamental principle of critical chain project management is to use the critical chain instead of a traditional critical path, to insert a project buffer at the end of the project and to insert feeding buffers wherever non-critical chains join the critical chain to protect a timely project completion. Due to the complexity of project, inserting feeding buffers may cause a conflict, such as precedence conflict or resource conflict, which can be solved by rescheduling. However, after rescheduling some new problems may arise: non-critical chain may start earlier than critical chain (non-critical chain overflow), or a gap may occur between activities on the critical chain (critical chain break-down). This paper is aiming to solve these new problems by a two-stage approach combined with feeding buffer for rescheduling. In the first stage, a first-stage rescheduling based on priority rules together with a backward-recursive procedure is proposed for rescheduling to solve resource and precedence conflicts, resulting in a critical chain break-down or a non-critical chain overflow. In the second stage, a second-stage rescheduling based on a heuristic algorithm is proposed to eliminate new problems and generate a better rescheduling scheme. Finally, we do simulations on the 110 Patterson instances set to verify the feasibility, effectiveness and applicability of our two-stage approach for rescheduling. Simulation results show that, it is an effective approach to generate reliable rescheduling schemes in most projects with excellent performances, i.e. the average project length, timely project completion probability and etc.

20 citations

Journal ArticleDOI
TL;DR: The extensive computational experiments show that the benefits of using real-time, integrated shop floor data and advance information heavily depend on the proper choice of both the scheduling approach and the solution procedures, and that there are scenarios where this usage is even counterproductive.
Abstract: The technological advances recently brought to the manufacturing arena (collectively known as Industry 4.0) offer huge possibilities to improve decision-making processes in the shop floor by enabling the integration of information in real-time. Among these processes, scheduling is often cited as one of the main beneficiaries, given its data-intensive and dynamic nature. However, in view of the extremely high implementation costs of Industry 4.0, these potential benefits should be properly assessed, also taking into account that there are different approaches and solution procedures that can be employed in the scheduling decision-making process, as well as several information sources (i.e. not only shop floor status data, but also data from upstream/downstream processes). In this paper, we model various decision-making scenarios in a shop floor with different degrees of uncertainty and diverse efficiency measures, and carry out a computational experience to assess how real-time and advance information can be advantageously integrated in the Industry 4.0 context. The extensive computational experiments (equivalent to 6.3 years of CPU time) show that the benefits of using real-time, integrated shop floor data and advance information heavily depend on the proper choice of both the scheduling approach and the solution procedures, and that there are scenarios where this usage is even counterproductive. The results of the paper provide some starting points for future research regarding the design of approaches and solution procedures that allow fully exploiting the technological advances of Industry 4.0 for decision-making in scheduling.

15 citations

##### References
More filters
Book
15 Jul 1994
TL;DR: Scheduling will serve as an essential reference for professionals working on scheduling problems in manufacturing and computing environments and Graduate students in operations management, operations research, industrial engineering and computer science will find the book to be an accessible and invaluable resource.
Abstract: This book on scheduling covers theoretical models as well as scheduling problems in the real world. Author Michael Pinedo also includes a CD that contains slide-shows from industry and movies dealing with implementations of scheduling systems. The book consists of three parts. The first part focuses on deterministic scheduling with the associated combinatorial problems. The second part covers probabilistic scheduling models. In this part it is assumed that processing times and other problem data are not known in advance. The third part deals with scheduling in practice. It covers heuristics that are popular with practitioners and discusses system design and development issues. Each chapter contains a series of computational and theoretical exercises. This book is of interest to theoreticians and practitioners alike. Graduate students in operations management, operations research, industrial engineering and computer science will find the book to be an accessible and invaluable resource. Scheduling will serve as an essential reference for professionals working on scheduling problems in manufacturing and computing environments. Michael Pinedo is the Julius Schlesinger Professor of Operations Management at New York University.

6,209 citations

Journal ArticleDOI
TL;DR: The study reveals that the feasibility properties of the usual solutions of real world LPs can be severely affected by small perturbations of the data and that the RO methodology can be successfully used to overcome this phenomenon.
Abstract: Robust Optimization (RO) is a modeling methodology, combined with computational tools, to process optimization problems in which the data are uncertain and is only known to belong to some uncertainty set. The paper surveys the main results of RO as applied to uncertain linear, conic quadratic and semidefinite programming. For these cases, computationally tractable robust counterparts of uncertain problems are explicitly obtained, or good approximations of these counterparts are proposed, making RO a useful tool for real-world applications. We discuss some of these applications, specifically: antenna design, truss topology design and stability analysis/synthesis in uncertain dynamic systems. We also describe a case study of 90 LPs from the NETLIB collection. The study reveals that the feasibility properties of the usual solutions of real world LPs can be severely affected by small perturbations of the data and that the RO methodology can be successfully used to overcome this phenomenon.

1,300 citations

Journal ArticleDOI
TL;DR: A framework for understanding rescheduling strategies, policies, and methods based on a wide variety of experimental and practical approaches that have been described in the rescheduled literature is described.
Abstract: Many manufacturing facilities generate and update production schedules, which are plans that state when certain controllable activities (e.g., processing of jobs by resources) should take place. Production schedules help managers and supervisors coordinate activities to increase productivity and reduce operating costs. Because a manufacturing system is dynamic and unexpected events occur, rescheduling is necessary to update a production schedule when the state of the manufacturing system makes it infeasible. Rescheduling updates an existing production schedule in response to disruptions or other changes. Though many studies discuss rescheduling, there are no standard definitions or classification of the strategies, policies, and methods presented in the rescheduling literature. This paper presents definitions appropriate for most applications of rescheduling manufacturing systems and describes a framework for understanding rescheduling strategies, policies, and methods. This framework is based on a wide variety of experimental and practical approaches that have been described in the rescheduling literature. The paper also discusses studies that show how rescheduling affects the performance of a manufacturing system, and it concludes with a discussion of how understanding rescheduling can bring closer some aspects of scheduling theory and practice.

818 citations

Journal ArticleDOI
TL;DR: The paper defines the problem of dynamic scheduling and provides a review of the state-of-the-art of currently developing research on dynamic scheduling, and the principles of several dynamic scheduling techniques, namely, heuristics, meta-heuristic, multi-agent systems, and other artificial intelligence techniques are described in detail.
Abstract: In most real-world environments, scheduling is an ongoing reactive process where the presence of a variety of unexpected disruptions is usually inevitable, and continually forces reconsideration and revision of pre-established schedules. Many of the approaches developed to solve the problem of static scheduling are often impractical in real-world environments, and the near-optimal schedules with respect to the estimated data may become obsolete when they are released to the shop floor. This paper outlines the limitations of the static approaches to scheduling in the presence of real-time information and presents a number of issues that have come up in recent years on dynamic scheduling. The paper defines the problem of dynamic scheduling and provides a review of the state-of-the-art of currently developing research on dynamic scheduling. The principles of several dynamic scheduling techniques, namely, heuristics, meta-heuristics, multi-agent systems, and other artificial intelligence techniques are described in detail, followed by a discussion and comparison of their potential.

786 citations

Journal ArticleDOI

TL;DR: The literature on executing production schedules in the presence of unforeseen disruptions on the shop floor is reviewed, and a taxonomy of the different types of uncertainty faced by scheduling algorithms is provided.
Abstract: We review the literature on executing production schedules in the presence of unforeseen disruptions on the shop floor. We discuss a number of issues related to problem formulation, and discuss the functions of the production schedule in the organization and provide a taxonomy of the different types of uncertainty faced by scheduling algorithms. We then review previous research relative to these issues, and suggest a number of directions for future work in this area. � 2003 Elsevier B.V. All rights reserved.

678 citations