377e PDF
377e PDF
377e PDF
TRE
UNIVERSITÀ DEGLI STUDI
Production scheduling in
pharmaceutical industry
Luca Venditti
Advisor:
Prof. Dario Pacciarelli
Production scheduling in pharmaceutical industry
A thesis presented by
Luca Venditti
in partial fulfillment of the requirements for the degree of
Doctor of Philosophy
in Computer Science and Engineering
Roma Tre University
Dept. of Computer Science and Automation
30 March 2010
Advisor:
Prof. Dario Pacciarelli
Reviewers:
Prof. Alessandro Agnetis
Prof. Rubén Ruiz Garcı̀a
Acknowledgments
I would like to express first of all my gratitude to Prof. Pacciarelli for his
precious support and his constant helpfulness.
A particular thanks and affective regards go to my PhD colleagues and all
people that has taken part of AutOrI laboratory’s life during this years, from
hard research activity to more recreational and relaxing moments.
v
Preface
vi
vii
achieve the high standards of product quality and availability required by the
legal and economical implications of product stock-outs at the final customers.
Availability of final products requires not only to achieve excellence at each
stage of the scheduling process but also in the coordination between different
stages. A second aim of this thesis is to investigate on the benefits that the
introduction of a centralized decision support system can bring respect to a de-
centralized one; the case study of coordination between Packaging department
and the subsequent Distribution stage of the pharmaceutical plant is addressed.
Contents viii
List of Tables x
List of Figures xi
viii
CONTENTS ix
Conclusion 64
Bibliography 67
List of Tables
x
List of Figures
xi
Chapter 1
1
CHAPTER 1. PRODUCTION SCHEDULING: THE PHARMACEUTICAL
INDUSTRY 2
teracts as an open loop control chain, in which the planning phase determines
input data and constraints to be satisfied by the scheduling phase. In the plan-
ning phase, decisions are taken with the aim to satisfy the demand, that is not
completely known at the moment of decisions. Then, in the scheduling phase,
decisions have to be taken facing two kinds of constraints, i.e. the production
orders released by the planning stage (in term of release and due dates) and
the availability of the production resources. Hence, when the resource amount
required by the plan is not sustainable by the available capacity, the schedule
cannot comply with the plan, causing delays in the delivery of final products.
So it is important that the production planned does not exceed the capacity of
the factory. We have already stated the production planning is driven by the
demand. This demand takes the form of wholesaler orders that are typically
the result of a negotiation in which order quantities, due dates and penalties for
late delivery are regulated by contracts. Contracts stipulations should take into
account also future production capacity and evaluate the impact of new order
on due dates of those currently in the system, in order to choose sustainable
quantities and due dates. However, it is not easy to do this for various reasons,
as the complexity of manufacturing processes (given among other factors by
constraints related to contamination problems) or the issue of on-time delivery.
In fact, these factors lead to frequent under-utilization of shop resources and
disregarding of long-term due dates. As in a vicious circle, this difficulty in
estimating reliable delivery dates to negotiate with the wholesalers, may cause
frequent urgent orders, which further increase the short-term pressure on the
operations managers. Given the complexity of the production process and the
difficulty to have plans well balanced with the production capacity, scheduling
is a critical operation in pharmaceutical industry. So, the importance of an
automated scheduling system is evident, both for obtaining good scheduling
solutions and for having a better control of the production process.
The remainder of this chapter presents, in Section 1.1, a description of
common features in pharmaceutical manufacturing systems; then, a description
of the real plant object of the case studies of this thesis, is given in Section 1.2.
i.e. operations are pushed to next level whether needed or not, and it is orga-
nized in long campaigns, to reduce the impact of long cleaning and setup times
that are necessary to ensure quality and avoid cross-contamination. Primary
manufacturing is therefore not very sensitive to short-term demand fluctua-
tion, and the main issue here is a careful lot sizing to avoid shortages of active
ingredients.Secondary manufacturing is usually a pull process, driven by whole-
saler orders, in which active ingredients and other components are dispensed,
blended, processed and packed to produce the final products. Secondary phar-
maceutical manufacturing systems consist of a set of multi-purpose production
facilities that produce a variety of intermediate and finished products through
multi-stage production processes. Facilities are linked by supplier-customer re-
lations, i.e., one facility produces intermediate goods that are processed further
by other facilities, reflecting the material flow relationships given by the recipes
of the final products. Furthermore, each facility may interact with external en-
tities (e.g. suppliers) and/or internal ones (e.g. warehouses). For example, the
area of interest for this thesis, i.e. the packaging area, is the one mostly con-
nected to external entities.Primary and secondary manufacturing are typically
decoupled by relatively large stocks of components.
∙ Distribution, that constitute the final stage, where final products are
delivered to customers.
Quality assurance and control activities are distributed throughout the
whole manufacturing process. Dispensing and Manufacturing, as Counting and
Packaging, are typically decoupled by means of the sealed bins where tablets
are typically stored. When counting activities require a significant amount of
work, counting and packaging are performed in different departments. This is
a common situation in Europe, where the many different national regulations
and languages require the handling of a huge number of different packages in
the same plant [10, 39, 49].
patible raw materials; major cleaning is necessary when the raw materials
are incompatible.
3. resource constraints, that limit the number of resources that can be em-
ployed for a specific activity at any time. For example, manpower re-
sources are categorized by their respective skills and low skilled operators
can perform only a subset of simple tasks. This fact may limit, for exam-
ple, the number of tool changes that can be performed simultaneously in
a shift, when these activities involve complex mechanical operations.
4. sequencing constraints, that specify a partial ordering among the opera-
tions for a set of tasks. These constraints are typically dictated by each
specific recipe, but sequencing constraints may be required also by the
production process, by quality control or by specific management poli-
cies. For example, in some cases a task can be started only after some
equipment preventive maintenance or calibration task is finished.
All these factors confirm the need of a scheduling decision support system
(DSS) to increase the efficiency of the factory by optimizing the use of resources
and monitoring the production process to be able to give a quick response to
changes that can occur.
CHAPTER 1. PRODUCTION SCHEDULING: THE PHARMACEUTICAL
INDUSTRY 7
Literature on scheduling
problems: from theory to
practice
Models and algorithms known in literature are usually developed for solving
simplified versions of real application scheduling problems. However they con-
stitute a basis for the resolution of real world problems, that need more detailed
models and more sophisticated algorithms to be faced. Some extensions of most
known problems are considered in this chapter together with their models and
some neighborhood definitions for Tabu Search, that can be taken as example
of effective algorithm to solve practical problems.
2.1 Introduction
Most optimization algorithms from the scheduling literature are mainly con-
cerned with the computation of optimal or near-optimal solutions to very sim-
plified problems [40, 45]. According to the survey of Reisman, Kumar, and
Motwani [42], out of 170 articles (related to flowshop scheduling/sequencing)
published from 1952 to 1994 only 5 were judged to be true applications. On
the other hand, in the last years an increasing number of articles focus on re-
alistic scheduling models including more practical constraints than in the past
[37, 41, 45]. In this chapter we give an overview of some academic problems
that constitute a basis for the resolution of real applications problems. Classi-
cal formulations of these problems, together with models and algorithms, found
9
CHAPTER 2. LITERATURE ON SCHEDULING PROBLEMS: FROM
THEORY TO PRACTICE 10
Denoted with 𝐽𝑗 a generic job and with 𝑂1𝑗 , . . . , 𝑂𝑛𝑗 𝑗 its set of tasks, a job
is usually characterized by the following elements:
∙ the first field 𝛼 represents the shop environment. Some examples are sin-
gle machine (indicated with 1), parallel machines (𝑃 ) and multi-purpose
machines (MPM);
∙ the second field represents the constraints of the problem. Some exam-
ples are release times (𝑟𝑖 ), due dates (𝑑𝑖 ), deadlines (𝐷𝑖 ), precedence
constraints (𝑝𝑟𝑒𝑐), preemption (𝑝𝑚𝑡𝑛), sequence dependent setup times
(𝑆𝑠𝑑 ) and resource unavailability (𝑢𝑛𝑎𝑣𝑎𝑙𝑗 );
∙ the third field represents the optimality criteria of the problem. Some
examples are: makespan (𝐶𝑚𝑎𝑥 ), i.e. the maximum value, among all
jobs, of their completion times 𝐶𝑗 ; maximum lateness (𝐿𝑚𝑎𝑥 ), i.e. the
maximum value, among all jobs, of 𝐶𝑗 − 𝑑𝑗 ; maximum tardiness (𝑇𝑚𝑎𝑥 ),
∑𝑛 positive value, among all jobs, of 𝐶𝑗 − 𝑑𝑗 ; total comple-
i.e the maximum
tion time ( 1 𝐶𝑗 ), i.e. the sum of completion times of jobs. Optimality
criteria may be more than one (multi-criteria or multi-objective prob-
lems); in this case a priority may be given to a criterion rather than to
another (for example 𝐿𝑒𝑥(𝐶𝑚𝑎𝑥 , 𝑇𝑚𝑎𝑥 ) indicates the minimization of the
two objectives in the lexicographic order)
Tabu Search is a local search algorithm which makes extensive use of mem-
ory for guiding the search. It takes its origins from ideas of Glover [15, 16]
stimulated by the need for overcoming limits of Local Search, in which the
exploration of the solution space is bounded by feasibility and local optimal-
ity criteria. The key concept at the basis of Tabu Search, in fact, is that an
CHAPTER 2. LITERATURE ON SCHEDULING PROBLEMS: FROM
THEORY TO PRACTICE 12
case the move can be deleted from the tabu list and the corresponding solution
mantained in 𝑁 ∗ (𝑥). In general, criteria used to delete a move from the tabu
list are called aspiration criteria.
Concerning to long term memory, its most common use consists in storing se-
lected elite solutions, i.e. high quality local optima; for this reason long term
memory is usually explicit. These solutions are typically involved in responsive
exploration strategies as diversification and intensification. Intensification con-
sists in exploring regions of the solution space that are considered particularly
good, while diversification aims to explore unvisited regions. These regions are
reached by moving the search to new solutions obtained from selected elite solu-
tions; specifically, in the case of intensification strategy, selected elite solutions
with similar components are assembled together to form new solutions, while
in the case of diversification strategy, elite solutions with different features are
combined.
Examples in the literature of sophisticated TS schemes for scheduling problems
are [13, 36].
Job shop
The Job Shop Scheduling Problem (JSSP or Job-Shop) is one of the most
studied combinatorial optimization problems in literature. The classic job-
shop scheduling problem may be formulated as follows. A set ℳ of 𝑚 machines
CHAPTER 2. LITERATURE ON SCHEDULING PROBLEMS: FROM
THEORY TO PRACTICE 14
Model
A job shop can be represented by a so-called disjunctive graph, introduced by
Roy and Sussman in 1964 [43]. A disjunctive graph 𝒢 = (𝑉, 𝐶, 𝐷) is a mixed
graph where 𝑉 is the set of nodes, 𝐶 a set of directed arcs (conjunctions) and
𝐷 a set of undirected arcs (disjunctions). In our case each node in 𝑉 represents
an operation (including two dummy operations 𝑠𝑡𝑎𝑟𝑡 and 𝑒𝑛𝑑, one preceding
and one following all operations. each arc in 𝐶 represents a precedence con-
straint between two consecutive operations of the same job; finally, for each
pair of operations which have to be processed on the same machine, there is
an undirected arc in 𝐷 representing the two possible precedence relations be-
tween the two operations. Nodes in 𝑉 are weighted with the processing time
of corresponding operations. For ease of notation operations can be indicated
with index 𝑖, the corresponding job with 𝐽(𝑖) and the corresponding machine
with 𝜇(𝑖), with 𝑖 = 1, . . . , 𝑛𝑜 , with 𝑛𝑜 being the number of operations.
With the disjunctive graph representation, the problem of finding a feasible
schedule for the job-shop problem is equivalent to the problem of fixing a
direction for each disjunction such that the corresponding graph is acyclic. A
set 𝒮 of fixed disjunctions is called a selection. A selection 𝒮 is called complete
CHAPTER 2. LITERATURE ON SCHEDULING PROBLEMS: FROM
THEORY TO PRACTICE 15
Theorem 2.4.1 Let S be a complete consistent selection with makespan 𝐶𝑚𝑎𝑥 (𝒮)
and let 𝑃 𝐶 be a critical path in 𝒢(𝒮). If another complete consistent selection
𝒮 ′ with 𝐶𝑚𝑎𝑥 (𝒮 ′ ) < 𝐶𝑚𝑎𝑥 (𝒮) exists, then in 𝒮 ′ at least one operation of a block
𝐵 on 𝑃 𝐶 has to be processed before the first or after the last operation of 𝐵.
The proof of this property is based on the fact that if the first and the last
operation of each block remain the same, all permutations of the operations in
the inner parts of the blocks do not shorten the length of the critical path.
1
On the basis of this theorem, the following block shift neighborhood 𝑁𝑏𝑠 ,
used by Grabowski et al. [18] for flow-shop problem and later by Grabowski
1
and Wodecki [19] for job-shop problem, may be defined. 𝑁𝑏𝑠 (𝒮) contains all
′
feasible selections 𝒮 which can be obtained from 𝒮 by shifting an operation of
some block on a critical path to the beginning or the end of the block. Con-
sequently, in this neighborhood the orientation of several disjunctive arcs may
be changed. For this reason, feasibility of neighbor selections must explicitly
be stated because it is not automatically fulfilled as in 𝑁𝑐𝑎 . Since infeasible
moves are not allowed, it’s more probable that opt-connectivity is not satisfied,
in fact opt-connectivity of this neighborhood is still an open question.
2 1
An opt-connected neighborhood 𝑁𝑏𝑠 , extending 𝑁𝑏𝑠 , can be obtained by
allowing some additional moves. If a move of an operation to the beginning
[or the end] of a block is infeasible, then the operation is moved to the first
(last) position in the block such that the resulting selection is feasible. With
2 1
the inclusion in 𝑁𝑏𝑠 of these other moves than moves in 𝑁𝑏𝑠 , it can be proved
2 2
that neighborhood 𝑁𝑏𝑠 is opt-connected. Even for neighborhood 𝑁𝑏𝑠 , if the
2
neighborhood 𝑁𝑏𝑠 (𝒮) of a selection 𝒮 is empty, then 𝒮 is optimal.
CHAPTER 2. LITERATURE ON SCHEDULING PROBLEMS: FROM
THEORY TO PRACTICE 17
1 2
A disadvantage of neighborhoods 𝑁𝑏𝑠 and 𝑁𝑏𝑠 is that they may be quite large.
2 1
For this reason a smaller neighborhood 𝑁𝑐𝑎 ⊆ (𝑁𝑐𝑎 ∩𝑁𝑏𝑠 ) was proposed [34, 36].
2 ′
𝑁𝑐𝑎 (𝒮) contains all selections 𝒮 which can be obtained from 𝒮 by interchang-
2
ing the first two or the last two operations of a block. Since 𝑁𝑐𝑎 (𝒮) is a subset
2
of 𝑁𝑐𝑎 (𝒮), all selections in 𝑁𝑐𝑎 are feasible. Furthermore, due to Theorem 2.4.1
all selections 𝒮 ′ ∈ 𝑁𝑐𝑎 (𝒮) − 𝑁𝑐𝑎
2
(𝒮) satisfy 𝐶𝑚𝑎𝑥 (𝒮 ′ ) ≥ 𝐶𝑚𝑎𝑥 (𝒮) since only op-
erations in the inner part of blocks are changed. Thus, only non-improving
2
solutions are excluded in the reduced neighborhood 𝑁𝑐𝑎 (𝒮).
Flow shop
The flow shop problem is special case of job shop, in which:
∙ each job 𝐽𝑗 consists of 𝑚 operations 𝑂𝑖𝑗 with processing times 𝑝𝑖𝑗 (𝑖 =
1, . . . , 𝑚) where 𝑂𝑖𝑗 must be processed on machine 𝑀𝑖 ;
∙ there are precedence constraints of the form 𝑂𝑖𝑗 → 𝑂𝑖+1,𝑗 (𝑖 = 1, . . . , 𝑚−
1), and 𝜇𝑖𝑗 = 𝑀𝑖 (𝑖 = 1, . . . , 𝑚), for each 𝑗 = 1, . . . , 𝑛, i.e. all jobs are
processed on machines in the same order.
Thus, the problem is to find machine orders, i.e. orders of jobs to be
processed on the same machine. Among problems with arbitrary processing
times 𝑝𝑖𝑗 , problem 𝐹 2∣∣𝐶𝑚𝑎𝑥 is the only flow shop problem which has been
polynomially solved.
Open shop
The open shop problem is a shop problem more general than job-shop and
flow-shop, in which:
∙ each job 𝐽𝑗 consists of 𝑚 operations 𝑂𝑖𝑗 (𝑖 = 1, . . . , 𝑚) where 𝑂𝑖𝑗 must
be processed on machine 𝑀𝑖 , and
∙ there are no precedence relations between the operations.
Thus, the problem is to find job orders (orders of operations of the same
job) and machine orders (orders of operations to be processed on the same
machine).
Among problems with arbitrary processing times 𝑝𝑖𝑗 and no preemption,
only the problem with two machines 𝑂2∣∣𝐶𝑚𝑎𝑥 (or symmetrically the problem
with two jobs 𝑂∣𝑛 = 2∣𝐶𝑚𝑎𝑥 ) has been polynomially solved (in 𝑂(𝑛) time).
Instead, for various problems with unitary processing time, polynomial algo-
rithms have been found.
CHAPTER 2. LITERATURE ON SCHEDULING PROBLEMS: FROM
THEORY TO PRACTICE 19
Time-lags
Time-lags are general timing constraints between the starting times of opera-
tions. They can be introduced by the start-start relations 𝑆𝑖 + 𝑑𝑖𝑗 ≤ 𝑆𝑗 where
𝑑𝑖𝑗 is an arbitrary integer number.
Time-lags 𝑑𝑖𝑗 may be incorporated into the disjunctive graph 𝒢 = (𝑉, 𝐶, 𝐷)
by weighing the conjunctive arcs 𝑖 → 𝑗 ∈ 𝐶 with the distances 𝑑𝑖𝑗 and the
disjunctive arcs 𝑖 − 𝑗 ∈ 𝐷 with the pairs (𝑑𝑖𝑗 , 𝑑𝑗𝑖 ): when an orientation is
chosen, the arc is weighed with 𝑑𝑖𝑗 or 𝑑𝑗𝑖 if it is oriented into the direction
(𝑖, 𝑗) or (𝑗, 𝑖), respectively. Time-lags may for example be used to model the
following constraints:
∙ Release times and deadlines: denoted with 𝑟𝑖 a release time and with
𝐷𝑖 a deadline for operation 𝑖, then the conditions 𝑆𝑠𝑡𝑎𝑟𝑡 + 𝑟𝑖 ≤ 𝑆𝑖 and
𝑆𝑖 + 𝑝𝑖 − 𝐷𝑖 ≤ 𝑆𝑠𝑡𝑎𝑟𝑡 with 𝑆𝑠𝑡𝑎𝑟𝑡 = 0 must be hold. Thus, release
times and deadlines can be modeled by the time-lags 𝑑𝑠𝑡𝑎𝑟𝑡,𝑖 := 𝑟𝑖 and
𝑑𝑖,𝑠𝑡𝑎𝑟𝑡 := 𝑝𝑖 − 𝐷𝑖
∙ Exact relative timing: if an operation 𝑗 must start exactly 𝑙𝑖𝑗 time units
after the completion of operation 𝑖, then the relation 𝑆𝑖 + 𝑝𝑖 + 𝑙𝑖𝑗 = 𝑆𝑗
must be hold, with time-lag 𝑑𝑖𝑗 = 𝑝𝑖 + 𝑙𝑖𝑗
∙ Setup times: if a setup time is needed between the completion of an
operation 𝑖 and the beginning of operation 𝑗 on the same machine, one
of the two relations 𝑆𝑖 + 𝑝𝑖 + 𝑠𝑖𝑗 ≤ 𝑆𝑗 and 𝑆𝑗 + 𝑝𝑗 + 𝑠𝑗𝑖 ≤ 𝑆𝑖 must be
hold, where 𝑠𝑖𝑗 denotes the setup time between operations 𝑖 and 𝑗.
∙ Machine unavailabilities: if a machine 𝑀𝑘 is unavailable within time
intervals ]𝑎𝑢 , 𝑏𝑢 [ for 𝑢 = 1, . . . , 𝑣, we may introduce 𝑣 artificial operations
𝑢 = 1, . . . , 𝑣 with 𝜇(𝑢) = 𝑀𝑘 , processing times 𝑝𝑢 := 𝑏𝑢 −𝑎𝑢 , release times
𝑟𝑢 := 𝑎𝑢 and deadlines 𝐷𝑢 := 𝑏𝑢 . Then, release times and deadlines can
be modeled with time-lags as above
∙ Maximum lateness objective: problems with maximum lateness objective
𝐿𝑚𝑎𝑥 = max𝑛𝑗=1 𝐶𝑗 − 𝑑𝑗 can be reduced to 𝐶𝑚𝑎𝑥 problems by setting
CHAPTER 2. LITERATURE ON SCHEDULING PROBLEMS: FROM
THEORY TO PRACTICE 20
𝑑𝑙(𝑗),𝑒𝑛𝑑 = 𝑝𝑙(𝑗) − 𝑑𝑗 for each job 𝑗 where 𝑙(𝑗) denotes the last operation
of job 𝑗
Blocking
Another generalization concerns blocking operations. A blocking operation is
an operation that remains on its processing machine 𝑀𝑘 and blocks it when it
has finished on it and the next machine where the corresponding job has to be
processed is still occupied by another job: 𝑀𝑘 remains blocked until the next
machine is available. This situation can arise when jobs can not be parked in
wait outside the machine (for example in a so-called buffer). A JSSP where all
operations are blocking is called Blocking Job Shop Scheduling Problem.
Consider two blocking operations 𝑖 and 𝑗 which have to be processed on the
same machine 𝜇(𝑖) = 𝜇(𝑗). If operation 𝑖 precedes operation 𝑗, the successor
operation 𝛿(𝑖) of operation 𝑖 must start before operation 𝑗 in order to unblock
the machine, i.e. we must have 𝑆𝛿(𝑖) ≤ 𝑆𝑗 . On the other hand,, if operation
𝑗 precedes operation 𝑖, then operation 𝛿(𝑗) must start before operation 𝑖, i.e.
we must have 𝑆𝛿(𝑗) ≤ 𝑆𝑖 . Thus, there are two mutually exclusive (alternative)
relations in connection with 𝑖 and 𝑗. These relations can be modeled by a pair
of alternative arcs (𝛿(𝑖), 𝑗) and (𝛿(𝑗), 𝑖) with arc weights 𝑤𝛿(𝑖),𝑗 = 𝑤𝛿(𝑗),𝑖 =
0. In order to get a feasible schedule, exactly one of the two alternatives
has to be chosen (selected). Note that choosing (𝛿(𝑖), 𝑗) implies that 𝑖 must
precede 𝑗 by transitivity, and choosing (𝛿(𝑗), 𝑖) implies that 𝑗 must precede
𝑖. Thus, if blocking arcs (𝛿(𝑖), 𝑗), (𝛿(𝑗), 𝑖) are introduced, there is no need to
add disjunctive arcs (𝑖, 𝑗), (𝑗, 𝑖) between operations which are processed on the
same machine 𝜇(𝑖) = 𝜇(𝑗). Similar considerations can be done in the case in
which only one between 𝑖 and 𝑗 is a blocking operation, and in the case in which
neither 𝑖 nor 𝑗 are blocking operations, with the only observation that, when no
blocking arc is added between 𝛿(𝑖) and 𝑗 [or between 𝛿(𝑗) and 𝑖], disjunctive arc
(𝑖, 𝑗) [(𝑗, 𝑖)] is not deleted; in this case the disjunction between (𝑖, 𝑗) [(𝑗, 𝑖)] can
assume the form (𝑆𝑖 + 𝑤𝑖𝑗 ≤ 𝑆𝑗 ) [(𝑆𝑗 + 𝑤𝑗𝑖 ≤ 𝑆𝑖 ) where 𝑤𝑖𝑗 = 𝑝𝑖 [𝑤𝑗𝑖 = 𝑝𝑗 ]. In
the special case in which operation 𝑖 is the last operation of job 𝐽(𝑖), machine
𝜇(𝑖) is not blocked after the processing of 𝑖, so, in this case, operation 𝑖 is
always assumed to be non-blocking.
Summarizing that, to represent the whole problem, we can introduce a set
𝐴 of pairs of alternative arcs {(𝑖, 𝑗), (𝑓, 𝑔)} corresponding to mutually exclusive
pairs of relations (𝑆𝑖 + 𝑤𝑖𝑗 ≤ 𝑆𝑗 ) or (𝑆𝑓 + 𝑤𝑓 𝑔 ≤ 𝑆𝑔 ). The resulting graph
𝐺 = (𝑉, 𝐶, 𝐴) is called alternative graph [28, 29]. Similarly as in the disjunctive
graph model we have to determine a selection 𝒮 which contains exactly one
CHAPTER 2. LITERATURE ON SCHEDULING PROBLEMS: FROM
THEORY TO PRACTICE 21
arc (𝑖, 𝑗) or (𝑓, 𝑔) for each pair of alternative arcs in 𝐴 such that the resulting
graph 𝒢(𝒮) = (𝑉, 𝐶 ∪ 𝑆) with arc weights 𝑤 does not contain a positive cycle.
Problem formulation
Differently from the classic formulation, in FJSSP, a set of machines ℳ𝑖 ⊆
ℳ that can process operation 𝑖, is associated to operation 𝑖. If operation 𝑖
is executed on machine 𝑀𝑘 ∈ ℳ𝑖 , then its processing time is equal to 𝑝𝑖𝑘 .
Hence, a further decision in FJSSP with respect to JSSP is to assign to each
operation 𝑖 a machine from the machine set ℳ𝑖 ; the objective function is
the 𝐶𝑚𝑎𝑥 minimization. Once a machine is assigned to each operation, the
problem reduce to classic JSSP. A typical application of FJSSP can be found in
manufacturing scheduling when the operations need certain tools for processing
and the machines are only equipped with a few of them. Then ℳ𝑖 denotes all
machines equipped with the tools needed by operation 𝑖.
requesting for the same vehicle; in the second case, robots are resources with
limited capacity as machines, so their assignment to jobs has to be decided. In
a further generalization of this model,robots may be nonidentical and may have
different characteristics (so-called multi-purpose robots). As for multi-purpose
machines, this similar situation is modeled by associating with each job 𝐽𝑗 a
set ℛ𝑗 ⊆ ℛ containing all robots by which 𝐽𝑗 can be transported.
𝑆 is feasible if the following three conditions are satisfied: (i) at each time 𝑡 the
total resource demand is less than or equal to the resource availability 𝑅𝑘 of
each resource 𝑘 = 1, . . . , 𝑟, (ii) the given precedence constraints are respected,
i.e. 𝑆𝑖 + 𝑝𝑖 ≤ 𝑆𝑗 if 𝑖 precedes 𝑗.
It is useful, for the RCPSP, to represent the structure of a project by a
so-called activity-on-node network 𝒢 = (𝑉, 𝐴), where the vertex set 𝑉 :=
{𝑠𝑡𝑎𝑟𝑡, 1, ..., 𝑛, 𝑒𝑛𝑑} contains all activities plus two dummy ones correspond-
ing to the start and the end of the project, and the set of arcs 𝐴 = {(𝑖, 𝑗)∣𝑖, 𝑗 ∈
𝑉 ; 𝑖 → 𝑗} represents the precedence constraints. Each vertex 𝑖 ∈ 𝑉 is weighed
with the corresponding processing time 𝑝𝑖 . Another less used representation
of projects is based on so-called activity-on-arc networks where each activity
is modeled by an arc.
shift, symmetrically, for 𝜆 > 𝜇 we have a left shift. Such shifts are only
feasible if for 𝜈 = {𝜆 + 1, . . . , 𝜇} no precedence relation 𝑖𝜆 → 𝑖𝜈 and
for 𝜈 = {𝜇, . . . , 𝜆 − 1} no precedence relation 𝑖𝜈 → 𝑖𝜆 exists. Since we
have at most 𝑛(𝑛 − 1)/2 feasible shift-operators for a list, the size of this
neighborhood is bounded by 𝑂(𝑛2 ).
Chapter 3
3.1 Introduction
In this chapter we take into account a real case study of production schedul-
ing in a pharmaceutical industry, in the specific, in its packaging department.
Previous attempts to design a computerized tool for production scheduling at
this department have had limited success, and similar performance has been
observed in practice for many computerized tools for planning and scheduling
[31, 32]. A common reason for this behavior is that the models adopted by
computerized systems suffer from excessive simplification and do not incorpo-
rate all the relevant aspects of the shop floor [54]. On the other hands, example
The problem can be formulated as a multi-purpose machine scheduling problem
[51] with additional constraints related to the availability of tools and opera-
26
CHAPTER 3. CASE STUDY 1: A TABU SEARCH ALGORITHM FOR
PRODUCTION SCHEDULING IN PACKAGING DEPARTMENT 27
tors, removal and setup times, release times, due dates and deadlines. The
objectives are the joint minimization of makespan and maximum tardiness,
which are addressed in lexicographic order. To the best of our knowledge, no
published work addresses exactly the problem studied in this chapter, even
though many algorithms have been proposed to solve relaxations of this prob-
lem, addressing different subsets of constraints. Among the others, we cite the
parallel machine scheduling problems with setup and removal times, release
and due dates [48], the vehicle routing problem with fixed number of vehicles
and time windows [3, 4, 9] and the resource constrained scheduling problem [6].
to the same tool or machine must be sequenced. Viewing the jobs assigned
to the same tool as operations of an extended job, the sequencing part of the
problem is similar to an open shop problem. Instead, for what concerns the
constraints of the problem, we have the presence of release times, due dates and
deadlines (𝑟𝑖 , 𝑑𝑖 , 𝐷𝑖 , respectively). 𝑅𝑠𝑑 and 𝑆𝑠𝑑 indicate sequence-dependent
removal times and sequence-dependent setup times. Moreover, resources (ma-
chines and operators) are not available all the time but only during well defined
periods (𝑢𝑛𝑎𝑣𝑎𝑖𝑙𝑗 ). Specifically, in our case job processing is resumable, i.e.,
can be interrupted when the machine or the operators become unavailable and
resumed later (but no other job can be processed in between). Setups and
removals are not resumable, i.e., they cannot be started if unavailability arise
before completion. The optimality criteria of the problem is 𝐿𝑒𝑥(𝐶𝑚𝑎𝑥 , 𝑇𝑚𝑎𝑥 ),
i.e. the minimization of makespan and maximum tardiness in lexicographic
order.
We notice that, in the scheduling literature, even relaxed versions of this
problem, such as the vehicle routing problem with release and due dates, are
considered particularly difficult NP-hard problems [40]. Moreover, some con-
straints, such as the resumable unavailability of resources, are not frequently
addressed in scheduling literature, at least in combination with others.
consecutively the same tool. Letting 𝛽(𝑖) the job sequenced after 𝑖 on machine
ℎ′ and 𝛼(𝑗) the job preceding 𝑗 on machine ℎ, a removal time 𝑔𝑖𝛽(𝑖) is required
to remove the tool from ℎ′ and a setup 𝑓𝛼(𝑗)𝑗 is required to set up the tool on
ℎ. All setup/removal times satisfy the triangular inequality, i.e., 𝑓𝑖𝑗 + 𝑓𝑗𝑘 ≥ 𝑓𝑖𝑘
and 𝑔𝑖𝑗 + 𝑔𝑗𝑘 ≥ 𝑔𝑖𝑘 .
The number 𝑜𝑖 of operators available during shift 𝑖 = 1, . . . , 𝑠 is known in
advance, and operators must be assigned ⌊ ⌋ to the machines for the entire du-
ration of a shift. Therefore, at most 𝑜𝑏𝑖 machines ⌊ can
⌋ be active during shift
𝑖. We model this situation by introducing 𝑚 − 𝑜𝑏𝑖 dummy jobs called un-
availabilities, with release date, deadline and processing time equal to the shift
start, completion and duration, respectively. These jobs will be scheduled on
the machines with all the other jobs. In some cases, the subset of inactive ma-
chines for a shift is partially specified in advance, for example when preventive
maintenance operations are planned for some machines during that shift.
We denote with (𝒰 = {(𝑛 + 1), . . . , (𝑛 + 𝑞)} the set of all unavailabilities,
∑ ⌊𝑜 ⌋)
with 𝑞 = 𝑖=1,...,𝑠 𝑚 − 𝑏 , and with ℳ𝑢 ⊆ ℳ the set of the machines
𝑖
Let a solution 𝐻 denote the triple 𝐻 = (𝜇, 𝜎, 𝜋), i.e., the output of sub-
problems (𝑖) − (𝑖𝑣), and let a schedule denote the pair (𝑆, 𝐶). For each job
𝑗 ∈ 𝒥 𝑀 (ℎ) we denote with 𝛼(𝑗) the job preceding 𝑗 in 𝜎ℎ and with 𝛽(𝑗) the
job succeeding 𝑗 in 𝜎ℎ . Similarly, for each job 𝑗 ∈ 𝒥 𝑇 (𝑘) we denote with 𝛾(𝑗)
the job preceding 𝑗 in 𝜋𝑘 and with 𝛿(𝑗) the job succeeding 𝑗 in 𝜋𝑘 .
Let us now focus on the computation of a minimum makespan schedule of
a solution 𝐻. In order to compute 𝑆𝑗 and 𝐶𝑗 we assume that the preceding
jobs 𝛼(𝑗) and 𝛾(𝑗) (if exist) have already set 𝐶𝛼(𝑗) and 𝐶𝛾(𝑗) . We schedule
non-preemptive activities 𝑔𝛾(𝑗)𝛽(𝛾(𝑗)) , 𝑔𝛼(𝑗)𝑗 and 𝑓𝛼(𝑗)𝑗 in the earliest available
time periods (see Figure 3.1). Then we schedule preemptive job 𝑗, possibly
splitting it in successive availability periods. Denoting with (⋅) and [⋅] open
and closed intervals respectively, the earliest available starting time for the
removal activity 𝑔𝛾(𝑗)𝛽(𝛾(𝑗)) on machine ℎ′ is
∪
𝑋𝑗 = min{𝜏 : 𝜏 ≥ 𝐶𝛾(𝑗) , (𝜏, 𝜏 + 𝑔𝛾(𝑗)𝛽(𝛾(𝑗)) ) ∩ [𝑟𝑖 , 𝑑˜𝑖 ] = ∅}.
𝑖∈𝒰 (ℎ′ )
Similarly, the earliest available starting times for the removal and setup activ-
ities 𝑓𝛼(𝑗)𝑗 and 𝑔𝛼(𝑗)𝑗 on machine ℎ are
∪
𝑌𝑗 = min{𝜏 : 𝜏 ≥ 𝐶𝛼(𝑗) , (𝜏, 𝜏 + 𝑔𝛼(𝑗)𝑗 ) ∩ [𝑟𝑖 , 𝑑˜𝑖 ] = ∅},
𝑖∈𝒰 (ℎ)
∪
𝑍𝑗 = min{𝜏 : 𝜏 ≥ 𝑋𝑗 +𝑔𝛾(𝑗)𝛽(𝛾(𝑗)) , 𝜏 ≥ 𝑌𝑗 +𝑔𝛼(𝑗)𝑗 , (𝜏, 𝜏 +𝑓𝛼(𝑗)𝑗 )∩ [𝑟𝑖 , 𝑑˜𝑖 ] = ∅}.
𝑖∈𝒰 (ℎ)
If machine ℎ is unavailable at the release time 𝑟𝑗 of job 𝑗, let 𝑢(𝑗) be the last
unavailability on machine ℎ starting before 𝑟𝑗 , i.e., such that 𝑟𝑢(𝑗) = max{𝑟𝑙 ≤
CHAPTER 3. CASE STUDY 1: A TABU SEARCH ALGORITHM FOR
PRODUCTION SCHEDULING IN PACKAGING DEPARTMENT 31
We denote the pair (𝑆, 𝐶) computed according to equation (3.1) and (3.2)
as the schedule associated to solution 𝐻. Let us define for job 𝑗 a modified
processing time 𝑝ˆ𝑗 = 𝐶𝑗 − 𝑆𝑗 and a modified release time 𝑟ˆ𝑗
{
𝑟𝑗 if 𝑆𝑗 = max{𝐶𝛼(𝑗) + 𝑔𝛼(𝑗)𝑗 ; 𝐶𝛾(𝑗) + 𝑔𝛾(𝑗)𝛽(𝛾(𝑗)) } + 𝑓𝛼(𝑗)𝑗
𝑟ˆ𝑗 = (3.3)
𝑆𝑗 if 𝑆𝑗 > max{𝐶𝛼(𝑗) + 𝑔𝛼(𝑗)𝑗 ; 𝐶𝛾(𝑗) + 𝑔𝛾(𝑗)𝛽(𝛾(𝑗)) } + 𝑓𝛼(𝑗)𝑗
For a given graph 𝒢, we define the head ℎ(𝑗) of node 𝑗 as the length of
the longest path in 𝒢 from 𝑠𝑡𝑎𝑟𝑡 to 𝑗 (excluding the weight of node 𝑗) and
the tail 𝑞𝑎 (𝑗) as the length of the longest path from 𝑗 to the auxiliary node
𝑎 ∈ {𝑒𝑛𝑑, 𝑣𝑖𝑜𝑙 𝑑𝑒𝑎𝑑, 𝑣𝑖𝑜𝑙 𝑑𝑢𝑒} (including the weight of node 𝑗). With this
notation, the starting time 𝑆𝑗 of job 𝑗 in a solution is the head of the node
associated to job 𝑗. Then, ℎ(𝑒𝑛𝑑) and max{0, ℎ(𝑣𝑖𝑜𝑙 𝑑𝑢𝑒)} are equal to the
makespan 𝐶𝑚𝑎𝑥 and the maximum tardiness 𝑇𝑚𝑎𝑥 of the solution, respectively.
A solution 𝐻 is feasible if each job is assigned to a compatible machine and
to a compatible tool, each unavailability is assigned to a compatible machine,
unavailabilities assigned to the same machine are non-overlapping, and 𝒢(𝐻) =
(𝑉, 𝐸(𝜎) ∪ 𝐹 (𝜋) ∪ 𝐴) is acyclic. A schedule (𝑆, 𝐶) is feasible if the associated
solution 𝐻 is feasible and ℎ(𝑣𝑖𝑜𝑙 𝑑𝑒𝑎𝑑) ≤ 0, which implies ℎ(𝑖) + 𝑝ˆ𝑗 ≤ 𝑑˜𝑗 for
each 𝑗 ∈ 𝒥 .
Greedy algorithm
A fast and simple greedy algorithm is used to obtain an initial solution. The al-
gorithm is designed to reproduce the behavior of human scheduler when build-
ing a feasible schedule. In fact, the human schedulers in the plant do not
follow any formal procedure to schedule production orders, and the schedules
are simply the result of intuition and past experience. However, the sched-
ules produced by hand are quite similar to those produced with the algorithm
summarized in the following steps:
Neighborhood structure
Our tabu search algorithm makes use of two basic moves. The first one is
based on the interchange of a pair of adjacent jobs sequenced on the same ma-
chine/tool, which is commonly adopted in the tabu search literature on open
CHAPTER 3. CASE STUDY 1: A TABU SEARCH ALGORITHM FOR
PRODUCTION SCHEDULING IN PACKAGING DEPARTMENT 34
shop and job shop scheduling problems [36]. The second move is based on
removing a job from the sequence of jobs processed on a machine/tool and
inserting it in the sequence of another machine/tool. Similar moves are com-
monly used when dealing with parallel machine scheduling or vehicle routing
problems [9, 13].
The interchange move 𝜑𝑀 (𝑖, 𝑗) is defined as follows: given a solution 𝐻
and a pair of consecutive jobs 𝑖 and 𝑗 in 𝜎ℎ of machine ℎ, a new solution 𝐻 ′ is
obtained from 𝐻 reversing the precedence order (𝑖, 𝑗). A similar move 𝜑𝑇 (𝑖, 𝑗)
deals with rescheduling of consecutive jobs 𝑖 and 𝑗 in the sequence 𝜋𝑘 of tool
𝑘. When two jobs are processed consecutively both on the same machine ℎ
and tool 𝑘, then a move 𝜑𝑀 𝑇 (𝑖, 𝑗) is applied, which exchanges their relative
positions both in 𝜎ℎ and 𝜋𝑘 , in order to avoid a cycle of precedence constraints
between 𝑖 and 𝑗.
With the rerouting move 𝜃𝑀 (𝑖, 𝑗), 𝑖 can be either a job or an unavailability
while 𝑗 is a job. Moreover, 𝑖 and 𝑗 are processed on different machines ℎ and
ℎ′ , respectively, with ℎ′ ∈ ℳ𝑖 . If 𝑖 is a job, this move consists of removing
𝑖 from 𝜎ℎ and inserting it before 𝑗 in 𝜎ℎ′ . If 𝑖 is an unavailability, the move
consists of removing 𝑖 from machine ℎ and inserting it in the same machine of
𝑗 in its given time window. Similarly, move 𝜃𝑇 (𝑖, 𝑗) is applied to jobs 𝑖 and 𝑗
processed on different tools 𝑘 and 𝑘 ′ , respectively, with 𝑘 ′ ∈ 𝒯𝑖 .
Acyclicity property
A solution 𝐻 is feasible only if the corresponding graph 𝒢(𝐻) is acyclic. Our
tabu search algorithm does not perform moves leading to cyclic graphs. To
this aim, a cyclicity test is preliminarily checked before each move and the
move is removed from the neighborhood if it leads to a cycle. The test can be
performed in time 𝑂(𝑛) using the Bellman’s algorithm, but we next show that
this check can be performed in constant time if the conditions of Theorems
3.4.1 or 3.4.2 hold.
In the following we call critical path of 𝒢(𝐻) one of the longest paths from
𝑠𝑡𝑎𝑟𝑡 to one of the auxiliary nodes and denote 𝐻 the incumbent solution, 𝐻 ′
the solution obtained after a move, ℎ(𝑖) the head of node 𝑖 in 𝐻 and ℎ′ (𝑖) the
head of node 𝑖 in 𝐻 ′ .
Theorem 3.4.1 Given an arc (𝑖, 𝑗) on the critical path of 𝒢(𝐻), the inter-
change moves 𝜑𝑀 (𝑖, 𝑗), 𝜑𝑇 (𝑖, 𝑗), and 𝜑(𝑖, 𝑗)𝑀 𝑇 do not create cycles.
Proof. Let us suppose that there is a cycle in 𝒢(𝐻 ′ ) after a move 𝜑(𝑖, 𝑗).
CHAPTER 3. CASE STUDY 1: A TABU SEARCH ALGORITHM FOR
PRODUCTION SCHEDULING IN PACKAGING DEPARTMENT 35
Thus, there must be a path in 𝒢(𝐻) from 𝑖 to 𝑗, disjoint from arc (𝑖, 𝑗). Let
us consider the three moves separately.
∙ 𝜑𝑀 𝑇 (𝑖, 𝑗) move: in this case 𝑗 = 𝛽(𝑖) = 𝛿(𝑖) and there are no other arcs
outgoing from 𝑖, other than those ingoing in 𝑗 or in the auxiliary nodes.
Therefore, there is no path from 𝑖 to 𝑗, disjoint from arc (𝑖, 𝑗) in 𝒢(𝐻 ′ ),
a contradiction.
∙ 𝜑𝑀 (𝑖, 𝑗) move: in this case 𝑗 = 𝛽(𝑖). Let us suppose that a path 𝑝 from
𝑖 to 𝑗 exists in 𝒢(𝐻), besides arc (𝑖, 𝑗). This path must include at least
arcs (𝑖, 𝛿(𝑖)) and (𝛾(𝑗), 𝑗), which are the only arcs outgoing from 𝑖 and
ingoing in 𝑗 other than (𝑖, 𝑗) and the arcs of set 𝐴. There are only two
possibilities: either 𝑇𝑖 ∕= 𝑇𝑗 or 𝑇𝑖 = 𝑇𝑗 . In both cases, path 𝑝 includes at
least the removal of tool 𝑇𝑖 , the setup of tool 𝑇𝑗 and the processing time
𝑝𝛿(𝑖) > 0. If 𝑇𝑖 = 𝑇𝑗 the length of 𝑝 is strictly larger than the length of arc
(𝑖, 𝑗). If 𝑇𝑖 ∕= 𝑇𝑗 it follows from the triangular inequality that the weight
of all setups occurring in 𝑝 is larger or equal to 𝑔𝑖𝑗 + 𝑓𝑖𝑗 . Therefore, the
weight of 𝑝 is strictly larger than the weight of the critical arc (𝑖, 𝑗), a
contradiction.
∙ 𝜑𝑇 (𝑖, 𝑗) move: in this case 𝑗 = 𝛿(𝑖). Let us suppose that a path 𝑝 from
𝑖 to 𝑗 exists in 𝒢(𝐻), besides arc (𝑖, 𝑗). This path must include at least
arcs (𝑖, 𝛽(𝑖)) and (𝛼(𝑗), 𝑗), which are the only arcs outgoing from 𝑖 and
ingoing in 𝑗 other than (𝑖, 𝑗) and the arcs of set 𝐴. Also in this case, if
follows from the triangular inequality that the length of path 𝑝 is greater
than the weight of the critical arc (𝑖, 𝑗), a contradiction.
In conclusion, path 𝑝 cannot exist if the arc (𝑖, 𝑗) is critical, and the thesis
follows.
As far as the rerouting moves are concerned, let us first observe that there
can be a cycle in 𝒢(𝐻 ′ ) after move 𝜃𝑀 (𝑖, 𝑗) if and only if there is a path in
𝒢(𝐻) from 𝑗 to 𝛾(𝑖) or from 𝛿(𝑖) to 𝛼(𝑗). We notice that, if 𝑗 = 𝛽(𝑖) the
acyclicity of 𝒢(𝐻) implies that of 𝒢(𝐻 ′ ). Otherwise, a sufficient condition for
the acyclicity of 𝒢(𝐻 ′ ) is given by the following theorem. The proof directly
follows from results proved in [11].
Theorem 3.4.2 After a move 𝜃𝑀 (𝑖, 𝑗), if ℎ(𝑗) + 𝑝ˆ𝑗 > ℎ(𝛾(𝑖)) and ℎ(𝛿(𝑖)) +
𝑝ˆ𝛿(𝑖) > ℎ(𝛼(𝑗)) then 𝒢(𝐻 ′ ) is acyclic.
CHAPTER 3. CASE STUDY 1: A TABU SEARCH ALGORITHM FOR
PRODUCTION SCHEDULING IN PACKAGING DEPARTMENT 36
Similar conditions hold for 𝜃𝑇 (𝑖, 𝑗). When sufficient conditions do not hold the
algorithm explicitly checks the existence of a path from 𝑖 to 𝑗 on 𝒢(𝐻), besides
(𝑖, 𝑗). If such a path exists, the move is removed from the neighborhood.
Connectivity
In this section, we show that the neighborhood defined by moves 𝜑(𝑖, 𝑗) and
𝜃(𝑖, 𝑗) is connected, i.e., we prove that it is possible to reach a global minimum
starting from any feasible solution. Our proof is similar to that reported in [11].
Let 𝐴 be a resource assignment, i.e., the definition of sets 𝒥 𝑀 (ℎ), 𝒰(ℎ) and
𝒥 𝑇 (𝑘) for each machine ℎ ∈ ℳ and each tool 𝑘 ∈ 𝒯 . Let 𝐻𝐴 [respectively,
∗
𝐻𝐴 ] be a generic [an optimal] solution associated to 𝐴. 𝐻𝐴 [respectively,
∗
𝐻𝐴 ] defines the sequences [the optimal sequences] 𝜎ℎ and 𝜋𝑘 of elements in
𝒥 𝑀 (ℎ) and 𝒥 𝑇 (𝑘) for each ℎ ∈ ℳ and 𝑘 ∈ 𝒯 . We also call 𝒢(𝐻) the graph
representation of 𝐻 and 𝒢(𝐻) its transitive closure, i.e., the graph obtained
from 𝒢(𝐻) including all the redundant arcs. A first result is the following:
∗
Lemma 3.4.1 Given a resource assignment 𝐴, an optimal sequencing 𝐻𝐴 and
a solution 𝐻𝐴 , if 𝐻𝐴 is not optimal there is an arc (𝑖, 𝑗) such that (𝑖, 𝑗) is
∗
critical in 𝒢(𝐻𝐴 ) and such that (𝑗, 𝑖) ∈ 𝒢(𝐻 𝐴 ).
Proof. Let us suppose that all the critical arcs of 𝒢(𝐻𝐴 ) also belong to
∗ ∗
𝒢(𝐻 𝐴 ) as well. Therefore all the critical paths of 𝒢(𝐻𝐴 ) also belong to 𝒢(𝐻 𝐴 ),
∗
thus implying that 𝐻𝐴 is not optimal, a contradiction. Hence, there must be
∗
at least a critical arc (𝑖, 𝑗) ∈ 𝒢(𝐻𝐴 ) that does not belong to 𝒢(𝐻 𝐴 ), i.e., such
∗
that (𝑗, 𝑖) ∈ 𝒢(𝐻 𝐴 ).
From this lemma the following theorem can be proved.
Proof. The proof directly follows from Lemma 3.4.1 and Theorem 3.4.1.
∗
Starting from 𝐻𝐴 and given an optimal solution 𝐻𝐴 , Lemma 3.4.1 guarantees
that there exists a pair of consecutive jobs that can be reversed, and Theorem
˜ 𝐴 , is feasible. If 𝐻
3.4.1 guarantees that the resulting solution, say 𝐻 ˜ 𝐴 is optimal
the thesis follows, otherwise the same procedure can be repeated starting from
𝐻˜ 𝐴 , finally leading to an optimal solution.
CHAPTER 3. CASE STUDY 1: A TABU SEARCH ALGORITHM FOR
PRODUCTION SCHEDULING IN PACKAGING DEPARTMENT 37
Proof. Theorem 3.4.2 provides sufficient conditions for acyclicity after a rerout-
ing move. Therefore, to demonstrate the thesis, it is sufficient to show that,
if job 𝑖 is compatible with machine ℎ [with tool 𝑘], and given 𝜎ℎ [given 𝜋𝑘 ],
there are always in 𝜎ℎ [in 𝜋𝑘 ] two consecutive jobs 𝑙 and 𝑗 such that 𝑖 can be
inserted between 𝑙 and 𝑗.
We limit ourselves to prove this for move 𝜃𝑀 (𝑖, 𝑗) only, the proof for 𝜃𝑇 (𝑖, 𝑗)
being very similar. First observe that every arc in 𝜎ℎ always satisfies at least one
of the two conditions in theorem 3.4.2. In fact, if the first condition is not true,
then ℎ(𝑗) + 𝑝ˆ𝑗 ≤ ℎ(𝛾(𝑖)). It follows that ℎ(𝑙) < ℎ(𝑗) + 𝑝ˆ𝑗 ≤ ℎ(𝛾(𝑖)) < ℎ(𝛿(𝑖)) +
𝑝ˆ𝛿(𝑖) . Similarly, if the second condition is not true, then ℎ(𝛿(𝑖)) + 𝑝ˆ𝛿(𝑖) ≤ ℎ(𝑙),
which implies ℎ(𝑗) + 𝑝ˆ𝑗 ≥ ℎ(𝑙) + 𝑝ˆ𝑙 + 𝑝ˆ𝑗 > ℎ(𝑙) ≥ ℎ(𝛿(𝑖)) + 𝑝𝛿(𝑖) > ℎ(𝛾(𝑖)).
In particular the second condition is always satisfied for node 𝑠𝑡𝑎𝑟𝑡 and the
first for at least an auxiliary node 𝑖 ∈ {𝑒𝑛𝑑, 𝑣𝑖𝑜𝑙 𝑑𝑒𝑎𝑑, 𝑣𝑖𝑜𝑙 𝑑𝑢𝑒}. Note also
that 𝑖 cannot satisfy the second condition. Then, in 𝜎ℎ there must be one last
node 𝑙 such that ℎ(𝛿(𝑖)) + 𝑝ˆ𝛿(𝑖) > ℎ(𝑙) and ℎ(𝛿(𝑖)) + 𝑝ˆ𝛿(𝑖) ≤ ℎ(𝛽(𝑙)). Therefore,
𝑗 = 𝛽(𝑙) must satisfy the condition ℎ(𝑗) + 𝑝ˆ𝑗 > ℎ(𝛾(𝑖)), which concludes the
proof.
Neighborhood exploration
At each step of the algorithm we restrict the interchange move to consecutive
jobs (𝑖 and 𝛼(𝑖) or 𝛾(𝑖)) on a critical path, i.e., a longest path from 𝑠𝑡𝑎𝑟𝑡 to
one of the other auxiliary nodes. This is a common strategy, e.g., when solving
job shop scheduling problems [36]. Specifically, we analyze a critical path from
𝑠𝑡𝑎𝑟𝑡 to 𝑣𝑖𝑜𝑙 𝑑𝑒𝑎𝑑 when ℎ(𝑣𝑖𝑜𝑙 𝑑𝑒𝑎𝑑) > 0. Otherwise, we explore the paths
from 𝑠𝑡𝑎𝑟𝑡 to 𝑒𝑛𝑑 and 𝑣𝑖𝑜𝑙 𝑑𝑢𝑒.
When dealing with the rerouting move 𝜃𝑀 (𝑖, 𝑗), we can move either jobs
or unavailabilities. In the former case, we restrict the choice of 𝑖 to the jobs
positioned on a critical path and 𝑗 to those nodes such that one of the two
following conditions is satisfied:
When the number of operators in a shift is smaller than 𝑏 times the number
of machines, we also allow to move unavailabilities. We say that an unavail-
ability 𝑢 is critical if one of the two following conditions holds: (1) there is a
node 𝑗 on a critical path of 𝒢(𝐻) and 𝑢 interrupts the processing of job 𝑗; (2)
𝑟ˆ𝑗 > 𝑟𝑗 and 𝑑˜𝑢 equals one of the quantities 𝑋𝑗 , 𝑌𝑗 , 𝑍𝑗 , 𝑅𝑗 defined in Figure 3.1.
We allow moving an unavailability 𝑖 with move 𝜃𝑀 (𝑖, 𝑗) only if 𝑖 is a critical
unavailability.
after 𝑠𝑡𝑎𝑟𝑡 on this path. The extended critical path is recursively defined as
the path including all the nodes on the longest path plus the extended critical
path from 𝑠𝑡𝑎𝑟𝑡 to 𝑗. The latter quantity is the empty set if 𝑆𝑗 = 𝑅𝑗 holds in
equation (3.1). If 𝑆𝑗 > 𝑅𝑗 then, if 𝑌𝑗 + 𝑔𝛼(𝑗)𝑗 ≥ 𝑋𝑗 + 𝑔𝛾(𝑗)𝛽(𝛾(𝑗)) the extended
critical path includes the longest path from 𝑠𝑡𝑎𝑟𝑡 to 𝛼(𝑗), otherwise it includes
the longest path from 𝑠𝑡𝑎𝑟𝑡 to 𝛾(𝑗). These paths are evaluated iteratively with
the same procedure.
Move evaluation
In the neighborhood of the incumbent solution 𝐻 we look for a solution 𝐻 ′
minimizing the following penalty function.
𝑓 (𝐻 ′ ) = 𝑏 ∗ 𝑚𝑎𝑥{0, ℎ(𝑣𝑖𝑜𝑙 𝑑𝑒𝑎𝑑)} + 𝑐 ∗ ℎ(𝑒𝑛𝑑) + 𝑑 ∗ 𝑚𝑎𝑥{0, ℎ(𝑣𝑖𝑜𝑙 𝑑𝑢𝑒)}. (3.4)
We developed two alternative algorithms for evaluating 𝑓 (𝐻 ′ ) after a move.
The first one gives an estimate of 𝑓 (𝐻 ′ ) in constant time, while the second
provides the exact value of 𝑓 (𝐻 ′ ) in linear time. At each step of the tabu
search, the neighbor with the smallest value of 𝑓 (𝐻 ′ ) is selected as the new
incumbent, and the schedule is updated accordingly. Then, according to the
equations (3.1) and (3.2) of Section 3.4, job starting and completion times are
updated in 𝒢(𝐻). We next describe the two evaluation algorithms.
Approximate evaluation
The approximate evaluation of 𝑓 (𝐻 ′ ) consists of using heads and tails of 𝒢(𝐻)
to estimate the length of a longest paths from 𝑠𝑡𝑎𝑟𝑡 to an auxiliary node 𝑒𝑛𝑑,
𝑣𝑖𝑜𝑙 𝑑𝑒𝑎𝑑, or 𝑣𝑖𝑜𝑙 𝑑𝑢𝑒. We recall the notation ℎ(𝑖) and 𝑞𝑎 (𝑖) [respectively, ℎ′ (𝑖)
and 𝑞𝑎′ (𝑖)] to define the length of the longest path in 𝒢(𝐻) [respectively, in
𝒢(𝐻 ′ )] from node start to 𝑖 and from 𝑖 to node 𝑎 ∈ {𝑒𝑛𝑑, 𝑣𝑖𝑜𝑙 𝑑𝑒𝑎𝑑, 𝑣𝑖𝑜𝑙 𝑑𝑢𝑒}.
With respect to move 𝜑(𝑖, 𝑗), the estimate 𝐿′𝑎 of the length of a longest path in
𝒢(𝐻 ′ ) from 𝑠𝑡𝑎𝑟𝑡 to auxiliary node 𝑎 is computed as an estimate of the longest
path passing through 𝑖 or 𝑗:
𝐿′𝑎 = 𝑚𝑎𝑥{ℎ′ (𝑖) + 𝑞𝑎′ (𝑖), ℎ′ (𝑗) + 𝑞𝑎′ (𝑗)}. (3.5)
𝑀
As for the solutions obtained with the 𝜑 (𝑖, 𝑗) move, we have (see Figure 3.3):
ℎ′ (𝑗) = max{𝑌𝑖 + 𝑔𝛼(𝑖)𝑗 + 𝑓𝛼(𝑖)𝑗 ; 𝑋𝑗 + 𝑔𝛾(𝑗)𝛽(𝛾(𝑗)) + 𝑓𝛼(𝑖)𝑗 ; 𝑅𝑗 }
ℎ′ (𝑖) = max{ℎ′ (𝑗) + 𝑝𝑗 + 𝑔𝑗𝑖 + 𝑓𝑗𝑖 ; 𝑋𝑖 + 𝑔𝛾(𝑖)𝛽(𝛾(𝑖)) + 𝑓𝑗𝑖 ; 𝑅𝑖 }
𝑞𝑎′ (𝑖) = max{𝑝𝑖 + 𝑔𝑖𝛽(𝑗) + 𝑓𝑖𝛽(𝑗) + 𝑞𝑎 (𝛽(𝑗)); 𝑝𝑖 + 𝑔𝑖𝛽(𝑗) + 𝑓𝛼(𝛿(𝑖))𝛿(𝑖) + 𝑞𝑎 (𝛿(𝑖))}
𝑞𝑎′ (𝑗) = max{𝑝𝑗 + 𝑔𝑗𝑖 + 𝑓𝑗𝑖 + 𝑞𝑎′ (𝑖); 𝑝𝑗 + 𝑔𝑗𝑖 + 𝑓𝛼(𝛿(𝑗))𝛿(𝑗) + 𝑞𝑎 (𝛿(𝑗))}.
CHAPTER 3. CASE STUDY 1: A TABU SEARCH ALGORITHM FOR
PRODUCTION SCHEDULING IN PACKAGING DEPARTMENT 40
These four quantities can be computed in constant time using the information
available from 𝒢(𝐻). For moves 𝜑𝑇 (𝑖, 𝑗), 𝜑𝑀 𝑇 (𝑖, 𝑗) there are similar equa-
tions. As for moves 𝜃𝑀 (𝑖, 𝑗) [respectively, 𝜃𝑇 (𝑖, 𝑗)] we estimate the length of
two longest paths: the one passing through the former nodes 𝛼(𝑖) and 𝛽(𝑖)
[respectively, 𝛾(𝑖) and 𝛿(𝑖)] and the one passing through 𝑖 in 𝒢(𝐻 ′ ). Also these
quantities can be computed in constant time using the information available
from 𝒢(𝐻).
Exact evaluation
We first notice that when changing the sequences 𝜎 and 𝜋, also the arc weights
in 𝒢(𝐻) may change. For this reason, it is necessary re-computing the exact
values for the starting/completion times of each job after each move. With
our exact evaluation strategy we compute these exact values not only after the
application of a move, but also for evaluating the neighborhood. We next show
that this computation requires linear time if the nodes of 𝒢(𝐻 ′ ) are numbered
according to a topological order.
machine to another, randomly chosen. This kind of move strongly disrupt the
schedule since it generates an overload equal to the duration of one shift in one
machine and a big slack in the other. For each version of the algorithm, 𝜆 and
𝜈 are calibrated with the procedure CALIBRA, described in [1], for varying
𝜆 in the interval [5, 20], and 𝜈 in the interval [100, 1000]. CALIBRA uses the
Taguchi methodology [44] for fractional factorial experimental designs coupled
with a local search procedure to estimate the best values of all parameters. The
resulting pairs (𝜆, 𝜈) for each version of our tabu search algorithm are: (9,876)
for A-C, (16,876) for A-D, (7,876) for B-C and (18,876) for B-D version.
We fixed the values 𝑏 = 1010 , 𝑐 = 105 and 𝑑 = 1 in the objective function
𝑓 (𝐻) for all experiments. This corresponds to giving maximum priority to the
respect of deadlines and then considering makespan and tardiness in lexico-
graphical order, since a tardiness of two weeks is penalized less than increasing
the makespan by one minute. In Section 3.5 we compare the four versions of
our tabu search algorithm and draw several conclusions. All versions of the
algorithm were coded in C language and were run on a Pentium⃝ R
4, 3.0 GHz
with 1024 MB Ram. Two different sets of problem instances, described in
the following section, were generated: the first set comes from the industrial
practice and consists of 2 real instances and 24 realistic instances divided into
three groups of easy, medium and hard instances. Realistic instances represent
a wide range of possibilities that can arise in practice. For the real instances
we compare the actual performance attained at the plant when scheduling by
hand and by computer. For the realistic instances we compare the performance
of our algorithms with that of the greedy algorithm described in Section 3.4,
which was designed to perform similarly to the human schedulers of the plant.
The second set of instances is randomly generated, in order to evaluate the
performance of our algorithm in a more general context.
Computational results
In this section we report on our computational experience on the real, realistic
and random instances described in Section 3.5.
Table 3.1 reports results obtained by the human schedulers of the plant for
the real instances (rows 1 and 2), and the computation time is the time actu-
ally taken by the operators to compute a solution by hand. For the realistic
instances (rows E, M and D, corresponding to easy, medium and difficult in-
stances, respectively) we don’t have results from human schedulers so we use
the greedy algorithm as a surrogate of their performance, and in column 𝑇 𝑖𝑚𝑒
we report the computation time of the greedy algorithm. In the following five
lines we report the average computation time required and the standard devi-
ation of the makespan 𝐶𝑚𝑎𝑥 for each group of instances and each algorithm.
The four versions of the tabu search algorithm clearly outperform the man-
ual schedules, with respect to both makespan and tardiness. Specifically, for
what concern the makespan 𝐶𝑚𝑎𝑥 , the improvement achieved by the tabu
search with respect to the manual/greedy algorithm is always quite larger than
the standard deviation. For what concern 𝑇𝑚𝑎𝑥 , the greedy algorithm violates
the due dates in the 16 medium and hard instances, the tabu search version A-
C violates the due dates in only one medium instance, the other three versions
do never violate the due dates. For what concern the violation of the deadlines
(not reported in table), the greedy algorithm violates the deadlines in the eight
hard instances while the four versions of the tabu search do never violate the
deadlines.
CHAPTER 3. CASE STUDY 1: A TABU SEARCH ALGORITHM FOR
PRODUCTION SCHEDULING IN PACKAGING DEPARTMENT 45
Random Instances
The second set of instances consists of 120 random instances described in Sec-
tion 3.5. Table in Figure 3.4 shows the performance of the four configurations
of our tabu search algorithm. For each version of the algorithm, columns 𝐶𝑚𝑎𝑥
and 𝑇𝑚𝑎𝑥 report the average values of makespan and maximum tardiness, re-
spectively, on the 10 instances associated to each pair (𝑛, 𝑚). Column 𝜎 shows
the standard deviation of 𝐶𝑚𝑎𝑥 over the 10 instances.
Figure 3.4: Performance of the tabu search algorithm for varying 𝑛 and 𝑚
A few comments are in order. Computing the exact value of the objective
function (option D) for all neighbors provide much better results than using
an approximate evaluation (option C). In particular, combination B-D outper-
forms the others with respect to both makespan and maximum tardiness.
Using extended paths provides slightly better results than using the clas-
sical paths in combination with the exact evaluation. When using the ap-
proximate evaluation, better performance are provided by the classical path.
In other words, exact evaluation performs better with a larger neighborhood,
while approximate evaluation performs best with a smaller neighborhood, the
improvements being reached after several restart phases.
It is interesting analyzing the time needed by the algorithm to reach the best
solution found within one minute of computation time. With combinations A-
C and A-D the best solutions are found after 7.53 and 9.97 seconds on average,
CHAPTER 3. CASE STUDY 1: A TABU SEARCH ALGORITHM FOR
PRODUCTION SCHEDULING IN PACKAGING DEPARTMENT 46
respectively. With combinations B-C and B-D the best solutions are found after
6.83 and 10.03 seconds on average, respectively. We notice that despite the
larger number of solutions to explore in each iteration using the extended path
requires approximately the same computation time to find the best solution.
3.6 Conclusions
In this chapter, we studied a practical scheduling problem arising in the pack-
aging department of a pharmaceutical production plant. The problem is for-
mulated as a multi-purpose machine scheduling problem with additional con-
straints. A tabu search algorithm is able to find good solutions within short
computation time, compared to the solutions found by hand and by a greedy al-
gorithm. The makespan reduction is between 3.6% and 7.5% for easy instances
and increases to more than 30% for hard instances, which is a remarkable im-
provement in the productivity of the plant. More important, when analyzed
by the plant managers the solutions were considered feasible in practice. The
results achieved confirm that scheduling technology is mature to solve complex
real problems. To this aim, however, it is important to face the complexity of
practical scheduling problems by using detailed scheduling models.
Chapter 4
Coordination of production
scheduling and distribution in a
pharmaceutical plant
47
CHAPTER 4. COORDINATION OF PRODUCTION SCHEDULING AND
DISTRIBUTION IN A PHARMACEUTICAL PLANT 48
4.1 Introduction
In the last decades there is an increasing research activity on coordination of
multiple decisions in supply chain management as well as among different stages
of a production system. The need for coordination arise from the observation
that decisions made in a stage of the supply chain influence decisions made in
the other stages. Moreover, decisions that are locally the most convenient for
a particular stage can force the other stages to choose from a set of decisions
not very convenient for them. Coordinated decisions avoid the generation of
inconvenient constraints from a stage versus the following one, and allow the
following stage to choose from a better set of decisions than in an uncoordi-
nated scenario. In other words, coordination enables to take decisions that are
globally more convenient for the whole system.
Coordination issues are particularly important in the pharmaceutical supply
chain, in which the legal and economical implications of product stockout re-
quires the adoption of standards of product quality and availability close to
100%. Availability of final products requires not only to achieve excellence at
each stage of the planning process, from strategic planning to real time schedul-
ing and delivery, but also in the coordination between different stages.
The lack of coordination in a supply chain is mainly due to the variety of ac-
tors with conflicting objectives that compete and cooperate within the supply
chain. Nevertheless, even within the same company decisions can be scarcely
coordinated for several reasons, e.g., because they are taken by different de-
cision makers at different time points of the process and by considering only
a subset of all the constraints and factors affecting the overall company costs.
This is the case, for example, of production planning and scheduling. Schedul-
ing in a single department strongly depends on the production plan as well
as on scheduling in other departments. Unfortunately, production planning
and scheduling, as well as single departments, are usually loosely integrated.
Usually, the presence of large stocks between two adjacent departments com-
pensate for the lack of coordination between them; anyway, some benefits, as
the reduction of stocking costs, could be obtained by introducing a stronger
coordination. The need of coordination is more evident in departments that
operates as pull systems, i.e. systems where the operations in a stage are
guided by a request of subsequent stages. This is the case of the packaging and
distribution levels. This stages are guided by wholesalers orders that can dy-
namically vary. The two stages may have different response to these variation,
then, the decisions taken in the packaging stage result in constraints for the
distribution phase that may cause bad solutions. In such cases, coordination
CHAPTER 4. COORDINATION OF PRODUCTION SCHEDULING AND
DISTRIBUTION IN A PHARMACEUTICAL PLANT 49
may produce significant savings because the overall objective of both stages is
to reduce the overall company costs.
A solution 𝜌 is feasible if: (𝑖) each job is assigned to a vehicle, (𝑖𝑖) each
vehicle delivers at most 𝑄 jobs, and (𝑖𝑖𝑖) each vehicle does not depart from the
depot before the maximum release date of the jobs to deliver, i.e., there is a
release time 𝐸𝑣 = max{𝑒𝑗 : 𝑗 ∈ 𝒥 𝑉 (𝑣)} for vehicle 𝑣.
Given a solution 𝜌 it is possible to calculate:
CHAPTER 4. COORDINATION OF PRODUCTION SCHEDULING AND
DISTRIBUTION IN A PHARMACEUTICAL PLANT 52
Neighborhood exploration
Two strategies are used for neighborhood exploration. The first is based on the
critical path criteria, while the second randomly explores a subset of neighbors.
With the first strategy, the exploration is restricted to moves involving
nodes on a critical path, i.e., a longest path from 𝑠𝑡𝑎𝑟𝑡 𝑑 to node 𝑣𝑖𝑜𝑙 𝑑𝑢𝑒 or
𝑣𝑖𝑜𝑙 𝑑𝑒𝑎𝑑. Specifically, we consider a critical path from 𝑠𝑡𝑎𝑟𝑡 𝑑 to 𝑣𝑖𝑜𝑙 𝑑𝑒𝑎𝑑 if
ℎ(𝑣𝑖𝑜𝑙 𝑑𝑒𝑎𝑑) > 0, otherwise a critical path from 𝑠𝑡𝑎𝑟𝑡 𝑑 to 𝑣𝑖𝑜𝑙 𝑑𝑢𝑒 if ℎ(𝑣𝑖𝑜𝑙 𝑑𝑢𝑒) >
0. Let us denote with 𝒫ℎ the set of the 𝑝 customers closest to ℎ in terms of
time 𝑡ℎ𝑘 . Move 𝜓 𝐶 (ℎ, 𝑤) generates a neighbor for each customer ℎ served by
vehicle 𝑣 in the current critical path and for each vehicle 𝑤 ∕= 𝑣 such that:
Similarly, other neighbors are generated by moving only the last job 𝑗 on
the current critical path. Let 𝑣 be the vehicle delivering job 𝑗 and ℎ = 𝐶𝑗 ,
then the neighbor is generated by move 𝜓 𝐽 (𝑗, 𝑤), with 𝑤 chosen according to
the three previous conditions.
The random exploration is derived from the TABUROUTE algorithm but
with the following modifications to take into account the different objective
function of the problem. Let us partition the customer-set of 𝒢(𝜌) into three
sub-sets 𝑊 1 ,𝑊 2 and 𝑊 3 defined as follows. For each vehicle 𝑣, let us consider
its route 𝜌𝑣 and the associated delivery time ℎ(𝑘) for customer 𝑘 ∈ 𝒞 𝑉 (𝑣).
Let ℎ1 be the position of the last customer on 𝜌𝑣 for which the delivery time
violates the customer deadline, the value ℎ1 = 0 corresponding to the case in
which no deadline is violated:
ℎ1 = max{𝑖 : (𝑖 = 0)
∨ ( (1 ≤ 𝑖 ≤ ∣𝒞 𝑉 (𝑣)∣)
∧ (max𝑗∈𝒥 𝑉 (𝑣,𝜌(𝑖)) {ℎ(𝑗) + 𝑞𝑣𝑖𝑜𝑙 𝑑𝑒𝑎𝑑 (𝑗)} > 0) ) }
Let ℎ2 be the position of the last customer on 𝜌𝑣 after ℎ1 for which the
delivery time violates the customer due date, with ℎ2 = ℎ1 if no customer after
ℎ1 violates the due date:
CHAPTER 4. COORDINATION OF PRODUCTION SCHEDULING AND
DISTRIBUTION IN A PHARMACEUTICAL PLANT 55
ℎ2 = max{𝑖 : (𝑖 = ℎ1 )
∨ ( (ℎ1 + 1 ≤ 𝑖 ≤ ∣𝒞 𝑉 (𝑣)∣)
∧ (max𝑗∈𝒥 𝑉 (𝑣,𝜌(𝑖)) {ℎ(𝑗) + 𝑞𝑣𝑖𝑜𝑙 𝑑𝑢𝑒 (𝑗)} > 0) ) }
The set 𝑊 1 = {𝜌𝑣 (1), . . . , 𝜌𝑣 (ℎ1 )} contains all the customers from the be-
ginning of 𝜌𝑣 until ℎ1 , the set 𝑊 2 = {𝜌𝑣 (ℎ1 + 1), . . . , 𝜌𝑣 (ℎ2 )} contains all the
customers after ℎ1 until ℎ2 , and 𝑊 3 = {𝜌𝑣 (ℎ2 + 1), . . . , 𝜌𝑣 (∣𝒞 𝑉 (𝑣)∣)} contains
the remaining customers.
With the random exploration strategy, a set 𝒬 of 𝑞 customers is generated
by randomly choosing 𝜉 1 customers in 𝑊 1 , 𝜉 2 customers in 𝑊 2 and 𝜉 3 cus-
tomers in 𝑊 3 , where 𝜉 1 > 𝜉 2 > 𝜉 3 are three parameters of the algorithm such
that 𝑞 = 𝜉 1 + 𝜉 2 + 𝜉 3 . Then, for each customer ℎ ∈ 𝒬, neighbors are generated
by move 𝜓 𝐶 (ℎ, 𝑤), with 𝑤 chosen as in conditions above.
Move evaluation
Let 𝑇˜𝑚𝑎𝑥 = max{0, ℎ(𝑣𝑖𝑜𝑙 𝑑𝑒𝑎𝑑)} denote the maximum deadline violation,
𝑇𝑚𝑎𝑥 = max{0, ℎ(𝑣𝑖𝑜𝑙 𝑑𝑢𝑒)} the maximum tardiness, 𝑛𝑉 the number of vehi-
cles serving at least one customer and 𝑡𝑡𝑜𝑡 the total delivery time of all routes
of a solution 𝜌. The objective function of 𝑉 𝑅𝑃 is a weighed sum of 𝑇˜𝑚𝑎𝑥 ,
𝑇𝑚𝑎𝑥 , 𝑛𝑉 and 𝑡𝑡𝑜𝑡 :
Similarly to ℎ′1 (𝑣𝑖𝑜𝑙 𝑑𝑢𝑒), the quantity ℎ′2 (𝑣𝑖𝑜𝑙 𝑑𝑢𝑒) is estimated as the
maximum tardiness of the jobs belonging to one of the following customers:
(𝑖) the customer preceding 𝑘 in 𝜌𝑣2 , (𝑖𝑖) customer ℎ, (𝑖𝑖𝑖) customer 𝑘 and (𝑖𝑣)
all the customers following 𝑘 in 𝜌𝑣2 . The new head of customer 𝜌𝑣2 (𝑖𝑘 − 1) is
ℎ′ (𝜌𝑣2 (𝑖𝑘 − 1)) = ℎ(𝜌𝑣2 (𝑖𝑘 − 1)) + Δ𝐸2 and its tardiness becomes 𝑇𝜌′ 𝑣 (𝑖𝑘 −1) =
2
max{0, ℎ′ (𝜌𝑣2 (𝑖𝑘 −1))+max𝑗∈𝒥 𝑉 (𝑣2 ,𝜌𝑣2 (𝑖𝑘 −1)) {𝑞𝑣𝑖𝑜𝑙 𝑑𝑢𝑒 (𝑗)}}. The tardiness of ℎ
becomes 𝑇ℎ′ = max{0, ℎ′ (𝜌𝑣2 (𝑖𝑘 −1))+𝑡𝜌𝑣2 (𝑖𝑘 −1)ℎ +max𝑗∈𝒥 𝑉 (𝑣1 ,ℎ) {𝑞𝑣𝑖𝑜𝑙 𝑑𝑢𝑒 (𝑗)}}.
CHAPTER 4. COORDINATION OF PRODUCTION SCHEDULING AND
DISTRIBUTION IN A PHARMACEUTICAL PLANT 57
The tardiness of 𝑘 and all its successors in 𝜌𝑣2 is max{0, ℎ′ (𝜌𝑣2 (𝑖𝑘 − 1)) +
𝑡𝜌𝑣2 (𝑖𝑘 −1)ℎ + 𝑡ℎ𝑘 + 𝑞𝑣𝑖𝑜𝑙 𝑑𝑢𝑒 (𝑘)}.
Decentralized approach
In the decentralized approach the problem is decomposed into two subproblems:
Centralized approach
With the centralized approach, the scheduling problem and the vehicle routing
problem are solved simultaneously as a single combined problem. To this aim,
an integrated model has been defined and a global algorithm developed.
Model
The model adopted to represent a solution is an extension of the graph rep-
resentations used for the single sub-problems. In particular the two graph
representations are joined to form a global representation of the whole solution
(see Figure 4.2). This is done by the following simple modifications:
∙ node 𝑠𝑡𝑎𝑟𝑡 𝑑 and corresponding arcs are removed from 𝒢(𝜌)
∙ an arc (𝑗, 𝑣) is added from the node associated to job 𝑗 ∈ 𝒢(𝐻) to the
node associated to the vehicle 𝑣 for each 𝑗 ∈ 𝒥 𝑉 (𝑣).
CHAPTER 4. COORDINATION OF PRODUCTION SCHEDULING AND
DISTRIBUTION IN A PHARMACEUTICAL PLANT 59
Figure 4.2: Graph model for the centralized resolution approach for the com-
bined problem
Move evaluation
The objective function of the combined problem is defined as:
with 𝑇˜𝑚𝑎𝑥 = max{0, ℎ(𝑣𝑖𝑜𝑙 𝑑𝑒𝑎𝑑)} and 𝑇𝑚𝑎𝑥 = max{0, ℎ(𝑣𝑖𝑜𝑙 𝑑𝑢𝑒)}. Sim-
ilarly to the tabu search algorithm for the VRP problem, the exploration of
infeasible solutions is allowed in order to search for more effective solutions, and
infeasible solutions are penalized. The function used to evaluate the neighbor-
hood of the incumbent solution 𝜌, is the following:
𝐹2 (𝑊 ) = 𝐹 (𝑊 ) + 𝜔5 𝑠𝑡𝑜𝑡 (4.7)
Depending on the chosen move, only some quantities in Equation (4.7) can
vary after move implementation. In particular, 𝐶𝑚𝑎𝑥 can only vary after an
interchange move or a rerouting move, 𝑛𝑉 ,𝑠𝑡𝑜𝑡 and 𝑡𝑡𝑜𝑡 can only vary after a
reroutingC or a reroutingJ move, while 𝑇˜𝑚𝑎𝑥 and 𝑇𝑚𝑎𝑥 can vary after any move.
When a reroutingC or a reroutingJ move is applied, quantities 𝑛𝑉 ,𝑠𝑡𝑜𝑡 ,𝑡𝑡𝑜𝑡 are
calculated exactly, while for 𝑇˜𝑚𝑎𝑥 and 𝑇𝑚𝑎𝑥 an estimate is calculated as in
Section 4.3.
Let us now consider the interchange and rerouting moves. 𝐶𝑚𝑎𝑥 is calcu-
lated exactly as in Section 3.4. For the estimate of 𝑇˜𝑚𝑎𝑥 and 𝑇𝑚𝑎𝑥 there is
one significant difference with the decentralized case. In fact, in the central-
ized case any change to the production schedule directly affects the solution of
the vehicle routing problem. In order to take into account the global effects
on 𝑇˜𝑚𝑎𝑥 and 𝑇𝑚𝑎𝑥 of the interchange moves 𝜑𝑀 (𝑖, 𝑗) and 𝜑𝑇 (𝑖, 𝑗), and of the
rerouting move 𝜃𝑀 (𝑖, 𝑗), an exact computation of the new heads is performed
for the scheduling part of the graph in order to evaluate exactly the release
time 𝐸𝑣′ of each vehicle 𝑣 ∈ 𝒱. This computation is performed at no extra cost
since the new heads of these nodes are evaluated exactly for the estimation
of 𝐶𝑚𝑎𝑥 . Since the tails of vehicle nodes are unchanged when passing from
𝒢(𝑊 ) to 𝒢(𝑊 ′ ), 𝑇˜𝑚𝑎𝑥 becomes 𝑇˜𝑚𝑎𝑥 = max𝑣∈𝒱 {𝐸𝑣′ + 𝑞𝑣𝑖𝑜𝑙 𝑑𝑒𝑎𝑑 (𝑣)}, while
𝑇𝑚𝑎𝑥 = max𝑣∈𝒱 {𝐸𝑣′ + 𝑞𝑣𝑖𝑜𝑙 𝑑𝑢𝑒 (𝑣)}.
Tables 4.1 and 4.2 show the results obtained with the decentralized and
centralized approach, respectively. Each row in the tables reports the average
results over eight instances. Column 2 reports the average computation time
(in seconds) required to find the best solution to a problem instance.
It can be observed from tables 4.1 and 4.2 that the centralized approach
provides much better results than the decentralized one. The improvement is
CHAPTER 4. COORDINATION OF PRODUCTION SCHEDULING AND
DISTRIBUTION IN A PHARMACEUTICAL PLANT 62
particularly important for the hard instances, for which there are two instances
over eight for which the decentralized approach is not able to find a solution
without violating some deadlines (see the very high values in columns 𝐹 (𝑊 )
and 𝐹 (𝑊 ) of tables 4.1 and 4.3, respectively, due to the high value of the
penalization constant 𝜔 in the corresponding objective functions). This result
confirms the need for good coordination among different stages of the produc-
tion process when high standards of quality and reliability must be provided to
the final customers. The algorithm proposed is very promising in this respect
since effective solutions to practical size instances of the combined problem are
provided within less than a minute of computation.
Tables 4.3, 4.4 and 4.5 show the results obtained with the centralized ap-
proach when using different neighborhood structures and refer to difficult,
medium and easy instances, respectively. Each row in the tables reports
the average results over eight instances. This second set of experiments aims
to demonstrate the effectiveness of the different neighborhood structures. In
columns 2 and 3 we show the number of iterations and the computation time
(in seconds) of the tabu search to find the best solution.
It can be observed that the Critical Path neighborhood (CP) is particu-
larly effective for the minimization of the minmax components in the objective
function (𝐶𝑚𝑎𝑥 , 𝑇˜𝑚𝑎𝑥 and 𝑇𝑚𝑎𝑥 ) while the random neighborhood is particu-
larly effective with the minsum components (𝑛𝑣 and 𝑡𝑡𝑜𝑡 ). However, the joint
CHAPTER 4. COORDINATION OF PRODUCTION SCHEDULING AND
DISTRIBUTION IN A PHARMACEUTICAL PLANT 63
use of both neighborhoods is more effective than any of the two stand alone
neighborhoods.
64
CONCLUSION 65
[7] P. Brucker and S. Knust. Complex scheduling. Springer, 2006. [cited at p. 10]
67
BIBLIOGRAPHY 68
[9] W.C. Chiang and R.A. Russell. A reactive tabu search metaheuristic for
the vehicle routing problem with time windows. INFORMS Journal on
Computing, 9(4):417–430, 1997. [cited at p. 27, 34]
[10] G. C. Cole. Pharmaceutical production facilities. Design and applications,
2nd edition. CRC Press, 1998. [cited at p. 2, 3, 5]
[11] S. Dauzère-Pérès, W. Roux, and J.B. Lasserre. Multi-resource shop
scheduling with resource flexibility. European Journal of Operational Re-
search, 107(2):289–305, 1998. [cited at p. 35, 36]
[12] M. Dell’Amico and M. Trubian. Applying tabu search to the job-shop
scheduling problem. Annals of Operations Research, 41:231–252, 1993.
[cited at p. 16]
[15] F. Glover. Future paths for integer programming and links to artifi-
cial intelligence. Computers and operations research, 13:533–549, 1986.
[cited at p. 11]
[16] F. Glover and M. Laguna. Tabu Search. Kluwer, 1997. [cited at p. 11]
[37] D. Pacciarelli. The alternative graph formulation for solving complex fac-
tory scheduling problems. International Journal of Production Research,
40:3641–3653, 2002. [cited at p. 9]
[38] D. Pacciarelli, C. Meloni, and M. Pranzo. Models and methods for pro-
duction scheduling in pharmaceutical industry. In J. Weglarz, editor, K.
Kempf, P. Keskinocak, and R. Uzsoy (Eds.) Handbook of Production Plan-
ning,Kluwer International Series in Operation Research and Management
Science. Kluwer, 2009. [cited at p. 7]
[39] B. Piachaud. Outsourcing of R&D in the Pharmaceutical Industry : From
Conceptualization to Implementation of the Strategic Sourcing Process.
Palgrave Macmillan, 2005. [cited at p. 5]
[40] M. Pinedo. Scheduling. Theory, algorithms, and systems. Prentice-Hall,
1995. [cited at p. 9, 28]
BIBLIOGRAPHY 71