10
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 0360-8352/$ - see front matter q 2005 Elsevier Ltd. All rights reserved. doi:10.1016/j.cie.2004.12.004 Computers & Industrial Engineering 48 (2005) 733–742 www.elsevier.com/locate/dsw * Corresponding author. Fax: C34 954 487 329. E-mail address: [email protected] (J.M. Garcia).

Production and delivery scheduling problem with time windows

Embed Size (px)

Citation preview

Page 1: Production and delivery scheduling problem with time windows

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/dsw

0360-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).

Page 2: Production and delivery scheduling problem with time windows

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

Page 3: Production and delivery scheduling problem with time windows

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.

Page 4: Production and delivery scheduling problem with time windows

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 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

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)

Page 5: Production and delivery scheduling problem with time windows

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.

Page 6: Production and delivery scheduling problem with time windows

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.

Page 7: Production and delivery scheduling problem with time windows

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

Page 8: Production and delivery scheduling problem with time windows

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

Page 9: Production and delivery scheduling problem with time windows

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 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.

Page 10: Production and delivery scheduling problem with time windows

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.