Upload
jm-garcia
View
215
Download
2
Embed Size (px)
Citation preview
Production and delivery scheduling problem with time windows
J.M. Garcia*, S. Lozano
Escuela Superior de Ingenieros, Camino de los Descubrimientos, s/n, 41092 Sevilla, Spain
Abstract
This paper deals with the problem of selecting and scheduling the orders to be processed by a manufacturing
plant for immediate delivery to the customer site. Among the constraints to be considered are the limited
production capacity, the available number of vehicles and the time windows within which orders must be served.
We first describe the problem as it occurs in practice in some industrial environments, and then present an integer
programming model that maximizes the profit due to the customer orders to be processed. A tabu search-based
solution procedure to solve this problem is developed and tested empirically with randomly generated problems.
Comparisons with an exact procedure show that the method finds very good-quality solutions with small
computation requirements.
q 2005 Elsevier Ltd. All rights reserved.
Keywords: Scheduling; No wait; Time windows; Finite capacity; Tabu search
1. Introduction
In certain industrial environments the supply of products must be matched with the demand because
of the absence of end product inventory. These environments usually involve products with perishable
character. A characteristic example is ready-mix concrete manufacturing. In this process, materials that
compose concrete mix are directly loaded and mixed-up in the drum mounted on the vehicle, which is
immediately delivered to the customer site since there does not exist an excessive margin of available
time before concrete solidification. Since the product is perishable, there is a limit on the area that can be
serviced by a production plant.
This paper addresses the problem of scheduling a given set of orders by a homogeneous vehicle
fleet under the assumption that orders must be manufactured immediately before being delivered to
Computers & Industrial Engineering 48 (2005) 733–742
www.elsevier.com/locate/dsw0360-8352/$ - see front matter q 2005 Elsevier Ltd. All rights reserved.
doi:10.1016/j.cie.2004.12.004
* Corresponding author. Fax: C34 954 487 329.
E-mail address: [email protected] (J.M. Garcia).
J.M. Garcia, S. Lozano / Computers & Industrial Engineering 48 (2005) 733–742734
the customer site. Hence, each order requires manufacturing material in a production plant and
delivering it to a predetermined location within a time window.
We assume that all requests are known in advance. For the manufacturing of orders we have a plant
with limited production capacity. We consider production capacity as the number of orders that can be
prepared simultaneously, i.e. each production order is considered as a continuous process that requires
one unit of capacity during its processing time. In the distribution stage of an order three consecutive
phases are considered: delivery, unload and return trip. Each vehicle may deliver any order, but no more
than one order at a time. We assume that the order size is smaller than the vehicle capacity. Hence, the
distribution stage of an order can be considered as a single process, without interruption, that commences
immediately after the end of the production stage. Moreover, as processing times are known with
certainty, each time window and due date can be translated to a starting time interval and an ideal
starting time respectively. No order may be split or pre-empted.
In order to consider the relevance of the perishable character of this kind of product, an ideal due date
is assumed within each time windows. As we have a limited capacity in the plant and a fixed number of
vehicles, it may happen that it is not feasible to serve all orders within each time windows. Hence, we
will consider as objective function to maximize the value of orders served, assuming that when an order
is not served in its ideal due date, a decrease of the order original value, proportional to the deviation, is
due. In terms of scheduling theory, the production and delivery scheduling problem with time windows
(PDPTW) involves a two-station flow shop with parallel machines (FSPM), no wait in process and time
windows. The first station would be the production plant, which is composed of a number of identical
machines equal to the plant capacity. The second station is composed of a number of identical machines
equal to the number of vehicles. Each job would correspond with the production and delivery of each
order. All jobs must be processed on each station in the same order. At the station, a job can be processed
on any machine. A no-wait scheduling problem occurs in industrial environments in which a product
must be processed from start to finish, without any interruption between the stages that compose its
performance. FSPM with no-wait in process has been studied by several authors (Hall & Sriskandarajah,
1996) and (Sriskandarajah, 1993). Both in FSPM and FSPM with no-wait in process, researchers
consider objectives of satisfying measures of performance that involve the processing of all jobs. In most
of the cases, the objective is to minimize the makespan. As a different case, Ramudhin and Ratliff (1995)
study a problem with two stages and no-wait in process whose objective is to maximize the set of jobs to
be processed. Nevertheless, due dates are not considered for the jobs. When due dates and weights for
jobs are considered, it is also assumed that any job can be processed at any time, establishing objectives
of minimizing the weighted tardiness or similar measures of performance.
Instead, in this paper we present a scheduling problem where the objective is to find a subset of jobs
with maximum total value that can be completed within their time windows. What makes the problem
different from other scheduling problems is that the orders served must satisfy time requirements
imposed by customers. Scheduling problems that focus on the problem of finding a subset of jobs with
maximum total value assuming due dates are the fixed job scheduling problem (FSP) (Kroon, Salomon
& Van Wassenhove, 1995) and the variable job scheduling problem (VSP) (Gertsbakh & Stern, 1978)
and (Gabrel, 1995). However, these problems consider a single stage for the processing of jobs. To solve
the problem we propose an approximation algorithm based on a tabu search approach. A large number of
successful applications of tabu search for scheduling problems can be found in literature (Glover &
Laguna, 1997). With regard to FSPM, efficient methods based on tabu search are proposed in Haouari
J.M. Garcia, S. Lozano / Computers & Industrial Engineering 48 (2005) 733–742 735
and M’Hallah (1997), Lee (2001), Wardono and Fathi (2004), Oguz, Zinder, Ha Do, Janiak and
Lichtenstein (2004).
The rest of this paper is organized as follows. Section 2 describes the problem formulation. Section 3
proposes a tabu search approach for solving the problem. Experimentation with randomly generated
problems is showed in Section 4. Finally, the conclusions of the study are drawn.
2. Problem definition and formulation
From a scheduling perspective, the PDPTW can be stated as follows. We consider the problem of
finding an optimal schedule for a set of n jobs (customer orders), denoted by NZ{1,2,.,n}, on a no-wait
flowshop with parallel machines. The flowshop consists of two machine centers (production stage and
distribution stage) where the production center is equipped with CR1 identical resources (i.e. identical
machines) that correspond to plant capacity. On the other hand, the distribution center has V identical
machines that correspond to the fleet of vehicles. Associated with each job is a time window [ai,bi] for
the starting time and an ideal starting time si included within the time window. Each job i (customer
order) has a positive value wi reflecting the profit associated to completing this job. This value assumes
starting the job at si. On the other hand, if the starting time of the job commences prior to (or exceed) si,
an earliness wKi (tardiness wC
i ) penalty is incurred which is proportional to the corresponding deviation.
Each job selected must be processed continuously from its start in the production center to its
completion in the distribution center, without any interruption on each center and without any waiting
between the machine centers. Thus job i, i2N, consists of a sequence of two operations, each of them
corresponding to the processing of job i during an uninterrupted processing time tpi at the production
stage and tdi at the distribution stage. The production and delivery system has the architecture shown in
Fig. 1.
To model the problem we consider the formulation of the variable job schedule problem in Gertsbakh
and Stern (1978). We introduce a discrete time scale by dividing time into T time periods, where jZ1,.,T. Time instant j falls between time periods j and jC1. Considering [ai,bi] the starting time window
of job i, it is clear that ai and diZbiCtpi represent the earliest start and latest possible completion time of
the production stage of the ith job, respectively. Therefore the set of time intervals in which portions of
job i may be processed in the production center is PiZ{ai,.,diK1}. On the other hand, let liZaiCtpi
and fiZbiCtpiCtdi then DiZ{li,.,fiK1} denotes the set of time periods over the planning horizon
during which job i may be processed in the distribution center. In addition, for each job i let Ii be the set
Fig. 1. The system architecture.
Fig. 2. Demand data for order i.
J.M. Garcia, S. Lozano / Computers & Industrial Engineering 48 (2005) 733–742736
of time periods corresponding to the intersection of Pi and Di, IiZ{li,..,diK1}. Fig. 2 shows demand data
for order i.
Let JPj be the set of jobs whose production stage may be assignable to the jth time period, i.e., jobs that
may be processing during this time. In the same way, JDj define the set of jobs with distribution stage
assignable to the jth time period. Those sets are used to ensure that at any point in time the total number
of jobs assigned to the production and distribution centers does not exceed the number of resources
available.
Our model incorporates several types of decision variables related to processing times of each job.
yijZ1
if job i starts processing during time period j; 0 otherwise.uijZ1
if job i is being processed in the production center during period time period j; 0 otherwisevijZ1
if job i is being processed in the distribution center during period time period j; 0 otherwiseyij is used to mark the start of processing for job i; uij and vij denote a processing time period for job i in
the production center and distribution center, respectively. The sum of these variables uij over j2Pi must
be equal to the plant processing time tpi. In the same way, the sum of variables vij over j2Di must be
equal to the distribution time tdi. Moreover, to determine the jobs selected we define the following
decision variables: xiZ1 if job i is processed; 0 otherwise.
Obviously, if xiZ0, variables yij, uij and vij equal 0 for any time period j. Finally, we define variables
nCi and nK
i that collect the deviation from the ideal starting time of the jobs selected. If job i starts on its
start time, both nCi and nK
i equal 0. To maximize the total value of jobs processed, we propose the
following mixed integer linear programming model:
2.1. Problem PDPTW
MaxXn
i¼1
ðwixi KwKi nK
i Kwþi nþi Þ
s:a:Xj2Pi
uij ¼ tpixi i ¼ 1.n
(1)
Xj2Di
vij Z tdixi i Z 1.n (2)
J.M. Garcia, S. Lozano / Computers & Industrial Engineering 48 (2005) 733–742 737
tpiuij K tpiuijC1 CXdiK1
kZjC2
uik % tpi i Z 1.n; c j2Pi (3)
tdivij K tdivijC1 CXd 0
iK1
kZjC2
vik % tdi i Z 1.n; c j2Di (4)
ðuij CvijÞKuijK1 KvijK1 Z yij i Z 1.n; c j2Pi jsai (5)
Xi2JP
j
uij%C j Z 1.T (6)
Xi2JD
j
vij%V j Z 1.T (7)
uij Cvij%1 i Z 1.n; c j2Ii (8)
uij K ðuijC1 CvijC1Þ%0 i Z 1.n; c j2Ii (9)
Xj2Pi
jyij Ksixi
!CnK
i KnCi Z 0 i Z 1.n (10)
uij c j2Pi; vij c j2Di i Z 1.n (11)
xi; yij; uij; vij 2f0; 1g nCi ; n
Ki R0 (12)
Constraints (1) and (2) ensure that each job is assigned to exactly a number of periods equal to its
processing time in the production center and distribution center, respectively. Constraints (3) and (4)
impose that each job is assigned to an adjacent set of time periods in both the production stage and the
distribution stage, by precluding uikZ1 (respectively, vikZ1) in a time period k beyond jC1 following
uijZ1 uijC1Z0 (respectively vijZ1 vijC1Z0) in periods j and jC1. Constraints (5) define the starting
time period of a job. Constraints (6) assure that no more than C jobs are assigned to any period in the
production center. In the same way, constraints (7) allows at most V jobs to be processed in the
distribution center during any time period. Together, constraints (8) and (9) enforce that the distribution
stage of each job starts, without delay, just after last time period in which the job finishes processing in
its production stage. Equalities (10) define, for the jobs actually processed, the number of earlyðnKi Þ or
tardyðnCi Þ time periods respect to the ideal start time si. Finally, constraints (11) restrict the time periods
during which each job may be processed.
J.M. Garcia, S. Lozano / Computers & Industrial Engineering 48 (2005) 733–742738
3. Proposed tabu search algorithm
In this section, we describe the tabu search approach we propose for solving PDPTW above. Tabu
search is a heuristic procedure, first proposed by Glover (1989, 1990), which explores the solution space
by repeatedly moving, within certain restrictions, from a solution to the best of its neighbours. Tabu
search has been successfully used to solve many difficult combinatorial optimization problems,
particularly in the scheduling area. The elements of the algorithm are described below:
3.1. Initial solution
To get an initial solution, we considered a greedy randomize adaptive search procedure (GRASP)
based on a GRASP approach described in Garcia, Smith, Lozano and Guerrero (2002) when fixed due
dates are considered to deliver the orders. In this case, at each iteration of the GRASP algorithm, we
assume that the starting time of an order, which still does not belong to the solution being constructed,
would be the instant within its time window that provides maximum value and that satisfies problem
constraints.
3.2. Moves and neighbourhood structure
Given a solution s, we use N(s) to denote the set of all feasible solutions which can be obtained from s
using one of the following two move types:
Exchange: A neighbour of s can be obtained by an exchange procedure, where a job i, which is in the
solution set, is replaced by another job j that is not in the current solution and is overlapped with order i.
In this process, another jobs may be also introduced in the solution set. Let S denote the set of jobs
belonging to the current solution. Given a job i2S, we consider all jobs;S whose production stage or
distribution stage overlap at any time period with order i, except job j. We use Hi to denote the set of
those jobs. After swapping jobs i and j, jobs belonging to Hi are first ordered by value and tentatively
introduced in the solution set S after checking whether problem constraints are satisfied. In this
feasibility checking process any possible starting instant of the job is considered, which are ordered
previously by value. Fig. 3 illustrates this move for the case of exchanging jobs B and E. The bold under
brackets indicate starting time windows of the jobs (for example, job A could be start at instant 1 or 2).
Fig. 3. Exchange move.
J.M. Garcia, S. Lozano / Computers & Industrial Engineering 48 (2005) 733–742 739
Note that after the exchange is performed, an additional job, namely job C, is included in the set S thus
contributing to the solution value.
Remove: When the set Hi is empty the move consists in removing order i from the solution, i.e. an
exchange without replacement. This type of move leads to worse solutions but they are useful when the
tabu list length is large and also as a diversification tool. In the example of Fig. 3, if replacing job B and
job D are considered tabu moves in the current solution, the only possible move is removing job A and as
there is not any job to be added to the solution, thus HAZ:.
3.3. Tabu list
When an order is introduced in the solution set, replacing or removing this order is considered tabu for
a number of iterations. The size of the tabu list (i.e. the tabu tenure) is an important parameter of a tabu
search algorithm. The tabu tenure can be either fixed or variable. Glover, Taillard and Werra (1993)
suggests using variable tabu list sizes as they produce better results. We tried a variable size strategy
where the size of the tabu list is changed up or down to adjust the number of iterations within which the
accepted move corresponds to the remove type. An accepted remove move only occurs when all the
orders belonging to the solution set are tabu. Therefore, the number of orders in the solution set will
determine the frequency of moves of type remove accepted for a fixed size of the tabu list. Preliminary
experiments showed that the best results were obtained for when tabu tenure equals the number of orders
in the initial solution divided by 2.
3.4. Aspiration criterion
We use the simplest form of aspiration criterion which is stated as follows: a tabu move is accepted if
it produces a solution better than the best one obtained so far.
3.5. Stopping criterion
The algorithm may be stopped after a fixed number of iterations.
4. Computational results
The first stage in our computational experiences involved the construction of a set of problems. To
construct a set of instances we used as main parameters the average order overlap in the production stage
(PSO) and in the distribution stage (DSO). Thus, values considered for PSO and DSO were within the
intervals [1.50, 1.60] and [5,6] respectively. Problem sizes used were 20, 30, 40, 50 and 75 orders. Ten
instances were randomly generated for each problem size. Time windows for every problem were
generated randomly with sizes between 1 and 3 time periods, both before and after the ideal due date.
The time horizon of the problems has been considered dependent on the number of orders in the problem
according to the following intervals: [1,55] (20 orders); [1,75] (30 orders); [1,95] (40 orders); [1,115] (50
orders); [1,125] (75 orders). Order values were randomly generated within the interval [30,100] and
penalties both for earliness and tardiness were randomly selected within the interval [0,2]. To allow for
different levels with regard to capacity C and number of vehicles V, the pairs of values (C,V)Z(1,2) and
J.M. Garcia, S. Lozano / Computers & Industrial Engineering 48 (2005) 733–742740
(2,2) were considered for each problem as well as (1,3),(1,4),(2,3) for problems with at most 50 orders.
Larger combinations of C and V could not be used because of the excessive computing time required by
the exact procedure mentioned below.
To test the performance of the algorithm, we solved the same set of problems using a graph-based
exact procedure. Its logic is similar to that of an effective graph-based method described in Garcia et al.
(2002) for the same problem without time windows and the exact method described in Arking and
Silverberg (1987) for FSP with several machine classes. The approach builds a graph G that collects all
feasible solutions to the problem by means of a simple evaluation method of feasible states in the
scheduling of orders. The maximal weighted path from start node to end node in G is the optimal
solution to the problem. With time windows, evaluation of all feasible states implies considering every
time period in which each order may start. Using this exact method for solving large problems require a
great deal of memory and computation time. Both the number of nodes and number of arcs grow
exponentially with problem size. In order to solve problems with 75 orders and four vehicles we would
need longer than one day. So this method was only implemented to compare results provided by the tabu
search heuristic and in this way to benchmark its performance.
Table 1 shows the summary of results using both the exact method and the tabu search (TS) approach.
The percentage errors have been computed with respect to the optimal solution values (obtained through
Table 1
Summary of results
(C,V) N Average
error (%)
# Optimal
solution
found
Average
orders
served (%)
TS average no.
of iterations to
the best
TS average
computing time
Exact procedure
average com-
puting time
(1, 2) 20 0.00 10 33.0 49 7.5 23.9
30 0.13 7 32.3 1908 11.1 79.6
40 0.21 7 34.0 1845 14.1 142.0
50 0.12 5 31.2 1230 17.0 178.5
75 1.44 2 24.8 3128 25 1838.4
(2, 2) 20 0.58 6 33.5 833 8 73.1
30 0.88 7 34.0 1198 11 97.7
40 0.35 6 35.3 2329 15 191.6
50 0.84 5 32.4 2028 19 210.7
75 1.94 3 25.9 2523 30 2072.3
(1, 3) 20 0.29 9 43.5 635 10 336.7
30 0.30 9 45.0 1555 14 763.7
40 0.32 4 45.3 2133 18 1816.2
50 0.23 3 43.4 2130 21 1988.1
75 0.59 1 35.1 1879 33 4014.2
(2, 3) 20 0.06 9 49.5 1201 11.2 847.7
30 0.30 7 48.0 1144 16.6 2375.5
40 0.50 1 47.0 2032 20 2952.6
50 0.62 1 45.8 2258 37 3301.8
(1, 4) 20 0.38 9 51.5 761 11 713.1
30 0.42 7 53.3 1988 15 2041.9
40 0.61 3 52.8 1458 18 2856.3
50 0.58 4 53.0 2009 42 3294.1
J.M. Garcia, S. Lozano / Computers & Industrial Engineering 48 (2005) 733–742 741
the graph-based procedure). We have taken averages over the 10 instances in each problem size n. The
algorithm is stopped after a maximum of 5000 iterations. All running times are given in CPU seconds on
an Intel Pentium IV 1.4 GHz.
Note that:
†
TS found optimal solutions in 125 of the 230 test problems. Although the average deviation increasedwith the number of orders and with C and v, it never exceeded 2%.
†
With regard to computation times, the exact method took significantly longer time than TS heuristic,whose computing times are very low.
Therefore, it seems that the proposed tabu search heuristic gives good results with very low
computing requirements, and hence it could be reasonably used to solve much greater problems.
5. Conclusions
In this paper, we have studied a type of no-wait production and delivery scheduling problem with time
windows. A Tabu Search heuristic for solving this problem has been proposed. The quality of this
metaheuristic solution has been empirically compared with the optimal solution produced by a graph-
based exact solution method. Computational results indicate that the heuristic finds solutions of very
good quality in a short computation time.
References
Arking, E. M., & Silverberg, E. B. (1987). Scheduling jobs with fixed start and end times. Discrete Applied Mathematics, 18, 1–
8.
Gabrel, V. (1995). Scheduling jobs within time windows on identical parallel machines: New model and algorithms. European
Journal of Operations Research, 83, 320–329.
Garcia, J. M., Smith, K., Lozano, S., & Guerrero, F. (2002). A comparison of GRASP and an exact method for solving a
production and delivery scheduling problem. In A. Abraham, & M. Koppen, Hybrid information systems. Advances in soft
computing (pp. 431–447). Heidelberg: Physica, 431–447.
Gertsbakh, I., & Stern, H. (1978). Minimal resources for fixed and variable job schedules. Operations Research, 26(1), 68–85.
Glover, F. (1989). Tabu search. Part I. ORSA. Journal on Computing, 1, 190–206.
Glover, F. (1990). Tabu search. Part II. ORSA. Journal on Computing, 2, 4–32.
Glover, F., & Laguna, M. (1997). Tabu search. Dordrecht: Kluwer Academic.
Glover, F., Taillard, E., & Werra, D. (1993). A user’s guide to tabu search. Annals of Operations Research, 41, 3–28.
Hall, N. G., & Sriskandarajah, C. (1996). A survey of machine scheduling problems with blocking and no-wait in process.
Operations Research, 44, 510–525.
Haouari, M., & M’Hallah, R. (1997). Heuristic algorithms for the two-stage hybrid flowshop problem. Operations Research
Letters, 21, 43–53.
Kroon, L. G., Salomon, M., & Van Wassenhove, L. N. (1995). Exact and approximation algorithms for the operational fixed
interval scheduling problem. European Journal of Operational Research, 82, 190–205.
Lee, I. (2001). Artificial intelligence search methods for multi-machine two-stage scheduling with due date penalty, inventory,
and machining costs. Computers and Operations Research, 28, 835–852.
Oguz, C., Zinder, Y., Ha Do, V., Janiak, A., & Lichtenstein, M. (2004). Hybrid flow-shop scheduling problems with
multiprocessor task systems. European Journal of Operational Research, 152(1), 115–131.
J.M. Garcia, S. Lozano / Computers & Industrial Engineering 48 (2005) 733–742742
Ramudhin, A., & Ratliff, H. D. (1995). Generating daily production schedules in process industries. IIE Transactions, 27, 646–
656.
Sriskandarajah, C. (1993). Performance of scheduling algorithms for no-wait flowshops with parallel machines. European
Journal of Operations Research, 70, 365–378.
Wardono, B., & Fathi, Y. (2004). A tabu search algorithm for the multi-stage parallel machine problem with limited buffer
capacities. European Journal of Operational Research, 152(1), 380–401.