Computers & Industrial Engineering 48 (2005) 733–742 www.elsevier.com/locate/dsw
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
* Corresponding author. Fax: C34 954 487 329. E-mail address:
[email protected] (J.M. Garcia). 0360-8352/$ - see front matter q 2005 Elsevier Ltd. All rights reserved. doi:10.1016/j.cie.2004.12.004
734
J.M. Garcia, S. Lozano / Computers & Industrial Engineering 48 (2005) 733–742
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, C an earliness wK i (tardiness wi ) 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 jZ 1,.,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.
736
J.M. Garcia, S. Lozano / Computers & Industrial Engineering 48 (2005) 733–742
Fig. 2. Demand data for order i.
of time periods corresponding to the intersection of Pi and Di, IiZ{li,..,diK1}. Fig. 2 shows demand data for order i. Let JjP 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, JjD 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 otherwise vijZ1 if job i is being processed in the distribution center during period time period j; 0 otherwise yij 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 C n i and nKi that collect the deviation from the ideal starting time of the jobs selected. If job i starts on its start time, both nCi and nKi equal 0. To maximize the total value of jobs processed, we propose the following mixed integer linear programming model: 2.1. Problem PDPTW n X K þ þ Max ðwi xi K wK i ni K wi ni Þ s:a: X
i¼1
(1) uij ¼ tpi xi
i ¼ 1.n
vij Z tdi xi
i Z 1.n
j2Pi
X j2Di
(2)
J.M. Garcia, S. Lozano / Computers & Industrial Engineering 48 (2005) 733–742
tpi uij K tpi uijC1 C
diK1 X
737
uik % tpi
i Z 1.n; c j 2Pi
(3)
vik % tdi
i Z 1.n; c j 2Di
(4)
kZjC2
0
tdi vij K tdi vijC1 C
diK1 X kZjC2
ðuij C vij Þ K uijK1 K vijK1 Z yij X
i Z 1.n; c j 2Pi
j sai
(5)
uij % C
j Z 1.T
(6)
vij % V
j Z 1.T
(7)
i2JjP
X i2JjD
uij C vij % 1
i Z 1.n; c j 2Ii
uij K ðuijC1 C vijC1 Þ% 0 X
(8)
i Z 1.n; c j 2Ii
(9)
! C jyij K si xi C nK i K ni Z 0
i Z 1.n
(10)
j2Pi
uij c j 2Pi ;
vij c j 2Di
xi ; yij ; uij ; vij 2f0; 1g
i Z 1.n
K nC i ; ni R 0
(11) (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ðnK i Þ or Þ time periods respect to the ideal start time s . Finally, constraints (11) restrict the time periods tardyðnC i i during which each job may be processed.
738
J.M. Garcia, S. Lozano / Computers & Industrial Engineering 48 (2005) 733–742
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
740
J.M. Garcia, S. Lozano / Computers & Industrial Engineering 48 (2005) 733–742
(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 computing time
(1, 2)
20 30 40 50 75 20 30 40 50 75 20 30 40 50 75 20 30 40 50 20 30 40 50
0.00 0.13 0.21 0.12 1.44 0.58 0.88 0.35 0.84 1.94 0.29 0.30 0.32 0.23 0.59 0.06 0.30 0.50 0.62 0.38 0.42 0.61 0.58
10 7 7 5 2 6 7 6 5 3 9 9 4 3 1 9 7 1 1 9 7 3 4
33.0 32.3 34.0 31.2 24.8 33.5 34.0 35.3 32.4 25.9 43.5 45.0 45.3 43.4 35.1 49.5 48.0 47.0 45.8 51.5 53.3 52.8 53.0
49 1908 1845 1230 3128 833 1198 2329 2028 2523 635 1555 2133 2130 1879 1201 1144 2032 2258 761 1988 1458 2009
7.5 11.1 14.1 17.0 25 8 11 15 19 30 10 14 18 21 33 11.2 16.6 20 37 11 15 18 42
23.9 79.6 142.0 178.5 1838.4 73.1 97.7 191.6 210.7 2072.3 336.7 763.7 1816.2 1988.1 4014.2 847.7 2375.5 2952.6 3301.8 713.1 2041.9 2856.3 3294.1
(2, 2)
(1, 3)
(2, 3)
(1, 4)
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 increased with 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 graphbased 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. Ko¨ppen, 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.
742
J.M. Garcia, S. Lozano / Computers & Industrial Engineering 48 (2005) 733–742
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.