A bilevel decomposition algorithm for simultaneous production scheduling and conflict-free routing for automated guided vehicles

A bilevel decomposition algorithm for simultaneous production scheduling and conflict-free routing for automated guided vehicles

Computers & Operations Research 38 (2011) 876–888 Contents lists available at ScienceDirect Computers & Operations Research journal homepage: www.el...

385KB Sizes 0 Downloads 5 Views

Computers & Operations Research 38 (2011) 876–888

Contents lists available at ScienceDirect

Computers & Operations Research journal homepage: www.elsevier.com/locate/caor

A bilevel decomposition algorithm for simultaneous production scheduling and conflict-free routing for automated guided vehicles Tatsushi Nishi a,, Yuichiro Hiranaka a, Ignacio E. Grossmann b,1 a Division of Mathematical Science for Social Systems, Department of Systems Innovation, Graduate School of Engineering Science, Osaka University, 1-3 Machikaneyama, Toyonaka City, Osaka 560-8531, Japan b Department of Chemical Engineering, Carnegie Mellon University, Pittsburgh, PA 15213, USA

a r t i c l e in f o

a b s t r a c t

Available online 7 September 2010

We address a bilevel decomposition algorithm for solving the simultaneous scheduling and conflict-free routing problems for automated guided vehicles. The overall objective is to minimize the total weighted tardiness of the set of jobs related to these tasks. A mixed integer formulation is decomposed into two levels: the upper level master problem of task assignment and scheduling; and the lower level routing subproblem. The master problem is solved by using Lagrangian relaxation and a lower bound is obtained. Either the solution turns out to be feasible for the lower level or a feasible solution for the problem is constructed, and an upper bound is obtained. If the convergence is not satisfied, cuts are generated to exclude previous feasible solutions before solving the master problem again. Two types of cuts are proposed to reduce the duality gap. The effectiveness of the proposed method is investigated from computational experiments. & 2010 Elsevier Ltd. All rights reserved.

Keywords: Bilevel decomposition Lagrangian relaxation Scheduling Routing Automated guided vehicle

1. Introduction Flexible manufacturing systems (FMSs), container terminals, warehousing systems, and service industries including hospital transportations are employing automated guided vehicle systems (AGVs) for the material handling to maintain flexibility and efficiency of production and distribution. For the efficient operation, it is requested to realize the synchronized operations for the simultaneous scheduling of production systems and transportation systems. The main issue treated in this paper is the simultaneous optimization problems for production scheduling, dispatching and routing for vehicles in the static situation. The production scheduling problems asks an optimal production sequence and starting time of operations for jobs at machines for multi-stages with respect to a specified technical precedence relation. The vehicle management problems are classified into (1) dispatching, which is to assign tasks to vehicles; (2) routing, which is to select specific paths taken by vehicles; and (3) scheduling, which is to determine the arrival and departure times. Unlike the classical vehicle routing problem (VRP) formulation, conflict-free constraints should be considered for the routing of AGVs for semiconductor fabrication. The interaction between production and transportation control is discussed by Mantel and

 Corresponding author. Tel./fax: + 81 6 6850 6351.

E-mail addresses: [email protected] (T. Nishi), [email protected] (I.E. Grossmann). 1 Tel.:+ 1 412 268 3642; fax: + 1 412 268 7139. 0305-0548/$ - see front matter & 2010 Elsevier Ltd. All rights reserved. doi:10.1016/j.cor.2010.08.012

Landerweerd [1]. In the flowshop production systems, the production and transportation schedules are usually controlled by a pull type of policy in case of forklifts or conveyor systems. However, for FMSs environment with AGV systems, the optimal machine schedules highly depend on the selection of dispatching and routing because it is extremely difficult to predict the transportation time when the conflicts and interferences between vehicles cannot be neglected. Production scheduling, dispatching, routing and scheduling decisions for AGVs can be made simultaneously or separately. Most of the literature treat one or two of the problems at the same time. An extensive review has been addressed by Vis [2] for operational control of AGVs. A widely used technique for dispatching is the simulation. The heuristic rules are used in on-line control systems. For routing and scheduling of AGVs, several techniques have been used to maximize the total system performance taking into account for deadlock or conflicts for AGVs. Kim and Tanchoco [3] studied the problem of finding conflict-free routes in a bidirectional network. The algorithm is based on the shortest path methods through the concept of time– window graph. Petri net is used to analyze deadlock and conflictfree conditions [4,5]. Singh and Tiwari [6] presented an intelligent agent framework to find a conflict-free shortest-time path. Nishi et al. [7] provided a mathematical model for routing problem. Lagrangian decomposition technique was used solve the problem. Ghasemzadeh et al. (2009) [8] presented a conflict-free scheduling and routing in mesh topologies. It can generate the shortest path for scheduling predicting conflicts and select another path in the case of failure.

T. Nishi et al. / Computers & Operations Research 38 (2011) 876–888

The literature discussed above on scheduling of AGVs hardly considers the capacity constraints of the machines where transportation jobs become available and sequencing of operations at the machines. The simultaneous production scheduling and transportation routing problem is one of the difficult joint problems. The problems for AGVs have been studied mostly in OR and/or FMS literature. A common approach for FMS scheduling is based on the discrete event simulation with dispatching rules [9]. Lacomme et al. [10] introduced a branch and bound algorithm coupled with discrete event simulation. Blazewicz et al. [11] addressed the two steps algorithm for integrating machine scheduling and the conflict-free routing problems. In their approach, the production scheduling and routing problems are solved separately. Bilge and Ulusoy [12] developed a time window approach to solve the simultaneous scheduling of machines and material handling in FMSs. They formulated the problem as a mixed integer programming problem. Ulusoy et al. [13] and Jerald et al. [14] dealt with the application of the genetic algorithm on the problem. Khayat et al. [15] studied an integrated method with mixed integer linear programming (MILP) and constrained programming. Nevertheless in their model, vehicles can always select a shortest path from a machine station to another machine station without the consideration of conflict and collision on the detailed routing for vehicles. Corre´a et al. [16] proposed an integrated scheduling of dispatching and vehicle routing with the consideration of conflict-free path selection, but it does not take into account the scheduling of machines and vehicles simultaneously. In the above literature, it is extremely difficult to consider production scheduling and conflict-free routing because the number of decision variables is significantly increased. Therefore, the conventional decomposition algorithm is not sufficient to solve the problem efficiently. The integration of cut generation with various decomposition methods is widely studied recently [17]. The logic-based Benders decomposition method was introduced by Hooker [18]. The advantage of the logic-based Benders is that it permits to combine MILP and the constraint programming approach. Similar idea was applied to solve the simultaneous planning and scheduling problems [19]. This paper addresses a bilevel decomposition algorithm for the simultaneous production scheduling and routing for vehicles with conflict-free path selection. A static problem is defined where a given set of production and transportation tasks are assigned to the respective resources and scheduled such that the vehicles that are assigned to transportation tasks, which can be routed to their destinations without conflicts. The overall objective is to minimize the total tardiness of the job set related to these tasks. A mixed integer linear formulation is developed, and then the problem is decomposed into two levels: the upper level master problem of task assignment and scheduling; and the lower level routing subproblem. The master problem is solved by using Lagrangian relaxation and a lower bound is obtained. Either the solution turns out to be feasible for the lower level or a feasible solution is constructed, an upper bound is obtained. If the convergence is not satisfied, two types of cuts are generated to exclude the previous non-optimal solutions for the master problem. Computational experiments are demonstrated to evaluate the quality of solutions. The rest of the paper is organized as follows. Section 2 states the problem and introduces a mathematical modeling for the simultaneous optimization problem of production scheduling and routing. A bilevel decomposition algorithm is constructed on the basis of the logic-Benders decomposition in Section 3. In addition, the use of Lagrangian relaxation technique for solving the master problem, two types of cuts, and the construction algorithm of a feasible solution are introduced in Section 3. In Section 4,

877

computational results are shown to evaluate the performance of the proposed method. The comparison of the proposed method with CPLEX and some decomposition methods is also discussed. Finally, we conclude our study and mention the future work in Section 5.

2. Problem statement Consider a multi-stage production system with an AGVs system in Fig. 1. Each stage has identical parallel machines. There is a sufficient input/output buffer space at every machine. A flowshop line is treated to make the formulation easier. The manufacturing process plans of all jobs consist of a set of operations for multi-stage flowshop, i.e. all jobs pass through all stages on the same order. But it is also possible to set up jobshop type of operations. The operations of a given job have to be processed in a given order satisfying the precedence constraints between the consecutive stages. Each machine can process one job’s operation at a time. Each operation has a fixed processing time where preemption and splitting are not permitted. An automated guided vehicles (AGVs) system interconnects the various production stages to a functional unit: flexible flowshop system. The transport of each job between the consecutive production stages is executed by one vehicle. In order to transport a job, a vehicle has to perform a trip. In the general case, each trip is composed of an empty travel followed by the loaded travel which travels from the trip cycle. The empty travel starts from the point where the vehicle completed its last assignment, and ends at the stage load station that issues the request. Therefore, the time required to perform a trip is spent for the following activities: traveling empty to a stage load station, loading, traveling full to stage unload station, unloading, load and empty blocked (wait for loading, unloading at stages and for passing through segments, crossing and switches of the guide path layout). A general guide path layout for AGVs systems is the bidirectional lane which model consists of the set of nodes and edges as shown in Fig. 1. Each node represents a place where a vehicle can stop or turn; each edge represents a bidirectional lane connecting the nodes. The guide path layout can be a ladder type or a complex network [20,21]. Two or more than two vehicles cannot travel on an edge at a time. Two or more than two vehicles cannot share a node at a time. Note that these restrictive constraints are used in the conflict-free routing literature [3–5,7,16]. The job is loaded to one of vehicles after the processing on a stage is completed, and it is unloaded to the next

Stage 3

Stage 1

4

8

12

16

20

3

7

11

15

19

2

6

10

14

18

1

5

9

13

17

Fig. 1. Production and transportation model.

Stage 2

878

T. Nishi et al. / Computers & Operations Research 38 (2011) 876–888

stage when the vehicle arrives to a destination node. The destination for each stage is given a priori (e.g. node 1 for stage 1, node 17 for stage 2, node 12 for stage 3, respectively in Fig. 1). The overall problem is to determine the production schedule and routing for vehicles to minimize the total weighted tardiness. The intermediate transportation between the consecutive stages is called the transportation stage. In practice, production requests or transportation requests are given dynamically (on-line scheduling). The problem can be dealt with by solving the static problem (off-line scheduling) at each time on the condition that some of scheduling and routing decision variables are fixed when rescheduling is necessary. The events on the arrival of new jobs are triggered to rescheduling. Therefore, in this study we treat the static problem for the problem formulation. The following hypothesis is assumed.

 The number of jobs, processing time for each job and the number of vehicles are given a priori in the static situation.

 The operation at each production stage cannot be interrupted  

once the processing of an operation for each job is started at a machine. Each vehicle can transport a single load at a time. A transportation task is the set of a starting node and a destination node. The nodes for the transportation model are placed in sufficiently short interval such that the traveling time between the neighbor two nodes is the unit time with respect to the processing time on the production machine.

The overall decision variables for the problem consist of the production sequence of operations on each machine in each production stage, the starting time of operations, the assignment of transportation tasks to vehicles, and the conflict-free routing for vehicles.

2.1. Problem formulation The following notation is used for the problem formulation. Indices i, j job k vehicle l stage u machine at production stage, vehicle at transportation stage t time Sets J set of jobs to be scheduled Mi,l set of available machines for the operation of job i at stage l Mi,l is the set of vehicles V if l A PAGV P set of production stages PAGV set of AGV transportation stages V set of vehicles Constants Di tardiness of job i E set of nodes in transportation system Eni set of nodes adjacent to node ni H total time horizon K sufficiently large positive constant O total number of stages including transportation stages p(l) the stage immediately after stage l Sli arrival node (loading node) for transportation task for job i Fli destination node (unloading node) for transportation task for job i

Decision variables ci,l completion time of the operation of job i at stage l tui,l processing time of the operation of job i on machine u at stage l xkni ,nj , t binary variable that takes the value of 1 if vehicle k travels from node ni to nj in time period t and 0 otherwise yli,u binary variable that takes the value of 1 if the operation of job i at stage l is assigned to machine u and 0 otherwise zli,j,u binary variable that takes the value of 1 if the operation of job i is processed on machine u before job j at stage l and 0 otherwise If the operations of job i and job j at stage l are assigned to machine u, the task assignment constraints are written by zli,j,u ryli,u ,

8u A Mi,l , 8i,j A Jji aj, 8l A P [ PAGV ,

ð1Þ

zli,j,u rylj,u ,

8u A Mj,l , 8i,j A Jji aj, 8l A P [ PAGV ,

ð2Þ

X

yli,u ¼ 1,

8i A J, 8l A P [ PAGV :

ð3Þ

u A Mi,l

If the operation i precedes the operation j on machine u (zi,j,u ¼ 1) on the condition that the operations of job i and job j at stage l are assigned to machine u (yi,u ¼yj,u ¼1), cj,l  tj,l is later than ci,l. u þ Kð1zli,j,u Þ þKð2yli,u ylj,u Þ Zci,l , cj,l tj,l

8i,j A Jji aj, 8u A Mj,l , 8l A P [ PAGV ,

ð4Þ

u ci,l ti,l þ Kzli,j,u þKð2yli,u ylj,u Þ Z cj,l ,

8i,j A Jji aj, 8u A Mi,l , 8l A P [ PAGV :

ð5Þ

Mi,l is the set of parallel machines if l is the production stage, and Mi,l is the set of vehicles V if l is the transportation stage. The vehicles are shared by a set of transportation stages between the consecutive production stages. tui,l is the constant processing time on machine u if l A P, but it is a decision variable of transportation time for vehicle u if l A PAGV . The technical precedence relations for the operations of job j A J are u Z cj,l , cj,pðlÞ tj,pðlÞ

8j A J, 8u A Mj,l , 8l A P [ PAGV ,

ð6Þ

where p(l) is AGV transportation stage if l is production stage and vice versa. Let xkni ,nj , t be a binary variable that takes the value of 1 if vehicle k travels from node ni and node nj in time t, and 0 otherwise. The routing constraints for vehicle k can be denoted by (7)–(10). X xkni ,nj , t ¼ 0, 8k A V, 8ni A E, 1 r t r H, ð7Þ nj2 = Eni

X

xkni ,nj , t r 1,

8k A V, 8ni A E, 1 r t r H,

ð8Þ

nj A Eni

X nj A Eni

X

xknj ,ni , t ¼

X

xkni ,nl , t þ 1 ,

8kA V, 8ni A E, 1r t rH1,

ð9Þ

nl A Eni

xkvk ,nj ,1 ¼ 1,

8k A V:

ð10Þ

nj A Evk

E is the set of nodes in the transportation model. Eni is the set of nodes adjacent to node ni, and H is total planning horizon. Eq. (7) indicates that each vehicle can travel on an edge to its connecting

T. Nishi et al. / Computers & Operations Research 38 (2011) 876–888

node. Eq. (8) represents that each vehicle can travel from its current node i to an adjacent node j at each time period. Eq. (9) indicates time-continuity constraints. Eq. (10) denotes the initial condition for the place of vehicle where vk is the initial node for vehicle k. The conflict-free routing constraints can be written as follows: XX xknj ,ni , t r 1, 8ni A E, 1 r t r H, ð11Þ k A V nj A E

X

ðxkni ,nj , t þxknj ,ni , t Þ r 1,

8ni A E, 8nj A Eni , 1 r t rH:

ð12Þ

kAV

879

transporting job i in time period t for transportation stage l, and 0 otherwise. sli, t,u ¼ 1 if ðmi, t ¼ 1Þ4ðm li, t ¼ 1Þ4ðyli,u ¼ 1Þ.

mli, t þ m li, t þ yli,u þ Kð1sli, t,k Þ Z 3,

ð21Þ

mli, t þ m li, t þ yli,u r 2þ K sli, t,k , 8iA J, 1 r t r H, 8u A Mi,l , 8l A PAGV : ð22Þ Each vehicle u can transport a job at the same time. X X sli, t,u r 1, 8u A Mi,l , 1 r t r H:

ð23Þ

i A J l A PAGV

Eq. (11) is the capacity constraint on each node ensuring that two or more than two vehicles cannot travel to a node j at the same time. Eq. (12) is the capacity constraint of each edge imposing that two or more than two vehicles cannot travel on each edge at the same time. Sli and Fli respectively denote the starting node for transportation (loading node), and the destination node for transportation (unloading node) specified for request i at transportation stage l. The loading and unloading position constraints are as follows: X xkSl ,n , t þ 1 Z ali, t,k , 8k A V, 8l A PAGV , 1 r t rH1, ð13Þ

The simultaneous optimization problem for production scheduling and conflict-free vehicle routing to minimize the total weighted tardiness can be formulated as (24) and (25) where Di is due date of job i, Ti is tardiness for job i, O is the last stage, and wi is weighting factor for tardiness penalty for job i. X min wi Ti , ð24Þ

nj A ESl

s:t:

i

j

i

X

l

xkn ,F l , t Z bi, t,k ,

nj A EF l

j

i

8kA V, 8l A PAGV , 1r t rH,

ð14Þ

iAJ

where Ti ¼ maxf0,ðci,O Di Þg ð1Þ2ð22Þ:

ð25Þ

3. Bilevel decomposition algorithm

i

where ali, t,k is binary variable that takes the value of 1 if vehicle k starts loading on machine u in time t at stage l, and 0 otherwise. l

bi, t,k is binary variable that takes the value of 1 if vehicle k end transportation and start unloading on machine u in time t at stage

In this section, a bilevel decomposition algorithm is proposed. The Lagrangian relaxation and dynamic programming is applied to solve the master problem for the bilevel decomposition algorithm. Two types of cuts are also proposed for the problem.

l

l. mli, t and m li, t is introduced to represent ali, t,k and bi, t,k . l i, t

m is binary variable that takes the value of 1 if time t is later than the starting time for transportation of job i, and 0 otherwise.

m li, t is a binary variable that takes the value of 1 if time t is earlier than the completion time for transportation of job i, and 0 otherwise. If mli, t ¼ 1, the transportation of job i is started earlier than t. If

mli, t ¼ 0, the transportation of job i is started later than t. ci,l ti,l þ 1 r t þ Kð1mli, t Þ,

ð15Þ

ci,l ti,l þ 1 4 tK mli, t ,

ð16Þ

If m

8i A J, 1 r t rH, 8l A PAGV :

l i, t

¼ 1, the transportation of job i is completed later than t. If m li, t ¼ 0, the transportation of job i is completed earlier than t.

ci,l þ Kð1m li, t Þ Z t,

ð17Þ

ci,l o t þ K m li, t ,

ð18Þ

8iA J, 1 r t r H, 8l A PAGV :

Note that the index u is not used in (15)–(18) because the starting and the completion time for the transportation of job i is unique at stage l. ali, t,u ¼ 1 if mli, t ¼ 1 and yli,u ¼1 are satisfied, otherwise ali, t,u ¼ 0.

bli, t,u ¼ 1 if m li,tau ¼ 1 and yli,u ¼1 are satisfied, otherwise bli, t,u ¼ 0.

mli, t þ yli,u þKð1ali, t,u Þ Z 2, mli, t þ yli,u r1 þ K ali,t,u , 8i A J, 1 r t rH, 8u A Mi,l , 8l A PAGV ,

ð19Þ

m li, t þ yli,u þ Kð1bli, t,u Þ Z 2, m li, t þ yli,u r 1 þK bli,t,u , 8iA J, 1 r t r H, 8u A Mi,l , 8l A PAGV : ð20Þ sli, t,u is binary variable that takes the value of 1 if vehicle u is

3.1. Solution algorithm The bilevel decomposition and cut generation is originated from the logic-based Benders decomposition developed by Hooker [18] which can be applied to a variety of discrete optimization problems [22]. In the decomposition algorithm, the original problem is decomposed into an aggregated upper level master problem and a lower level subproblem [23]. The master problem is to determine a tentative solution and a lower bound where some of constraints are removed from the constraint set of the original problem. The lower level subproblem is solved under the condition that is fixed to a tentative solution, then the subproblem is a feasibility problem which can be easily solved. If the solution for the lower level subproblem is feasible, an upper bound can be derived. To exclude the previously derived solutions for the future iterations, Benders cuts are added to the master problem. The feasible region for the upper level is larger than that of the lower level because some of constraints for lower level are relaxed at the upper level master problem. If the solution derived at the upper level is not feasible for the lower level, cuts are generated to delete the infeasible region. The feasible region for the upper level master problem is gradually reduced by incorporating cuts. The primary difficulty associated with the logic-Benders decomposition algorithm is that the Benders cut is very weak. To resolve the difficulty, we develop efficient cuts corresponding to the problem structure for the simultaneous scheduling problems in this study. For the simultaneous scheduling problem for machines and vehicles, the decision variable for the master problem is concerned with the production scheduling and task assignment problem. The decision variable for lower level subproblem is concerned with the routing problem for vehicles. The steps of the proposed decomposition algorithm are described as follows.

880

T. Nishi et al. / Computers & Operations Research 38 (2011) 876–888

[Bilevel decomposition algorithm] Step 1. Upper level master problem: production scheduling and assignment of transport tasks to vehicles: If the conflict-free routing constraints of (11) and (12) for vehicles are neglected, the transportation time for each vehicle can be fixed with a minimal time from the starting node to the destination node. Then the capacity constraint that each vehicle can transport a job at the same time, is represented by (4), (5) where tui,l and tuj,l are constant. Therefore, the master problem can be formulated as (24), (25) subject to (1)–(5). The problem can be regarded as a flexible flowshop scheduling problem. The production schedule, assignment of transportation tasks to vehicles, transportation starting time and ending time are determined by the problem. The lower bound for the original problem can also be obtained. Step 2. Lower level subproblem: routing for vehicles: The lower level subproblem is to decide whether or not a conflict-free routing for multiple vehicles exists under the condition that production scheduling and assignment of tasks to vehicles derived at upper level master problem are fixed. If a feasible routing exists, go to Step 4. The feasible solution gives an upper bound for the original problem. The feasibility problem can be solved by the constrained programming technique or any other optimization algorithm. In this study, the subproblem is solved by the distributed routing algorithm proposed by Nishi et al. [7] to minimize the sum of the total transportation time and the tardiness penalties from the production schedule generated from the solution of the master problem. The detailed procedure is explained in Section 3.4. Step 3. Construction of a feasible solution: If the solution derived at Steps 1, 2 is infeasible, the procedure for generating feasible solution is executed. The detailed algorithm of the procedure is explained in Section 3.5. Step 4. Evaluation of convergence: The difference between the upper bound derived at Steps 2, 3 and the lower bound derived at Step 1 is less than e, the algorithm is completed and go to Step 5 otherwise. Step 5. Cut generation: Integer cuts are generated to exclude the previously obtained feasible configurations reducing the feasible region for the upper level master problem. The solution obtained at rth iteration is denoted as {yli,j(r), zli,j,u(r)}. Let Y 0 ðrÞ ¼ f ði,u,lÞ jyli,u ðrÞ ¼ 0g,Y 1 ðrÞ ¼ f ði,u,lÞjyli,u ðrÞ ¼ 1g. Z 0 ðrÞ ¼ fði,j,u,lÞ jzli,j,u ðrÞ ¼ 0g,Z 1 ðrÞ ¼ f ði,j,u,lÞ jzli,j,u ðrÞ ¼ 1g. To obtain the different configuration of binary variables for the master problem, the integer cuts are added to the upper level master problem. X X yli,u  yli,u r jY 1 ðrÞj, 8r, ð26Þ ði,u,lÞ A Y 1 ðrÞ

X

ði,u,lÞ A Y 0 ðrÞ

zli,j,u 

ði,j,u,lÞ A Z 1 ðrÞ

X

zli,j,u rjZ 1 ðrÞj,

8r,

ð27Þ

ði,j,u,lÞ A Z 0 ðrÞ

where yli,u(r), zli,j,u(r) are the binary variable at iteration r. Eqs. (26) and (27) indicate that at least one variable must be changed from the binary configuration of the current solution. The decomposition algorithm restricts the feasible region for the upper level master problem by deleting the solutions obtained by the iterations. The proposed algorithm is said to be exact when the algorithm generates the optimal solution as the full-space MILP model in a finite number of iterations since the number of possible configuration of binary valuables is finite [24]. It can be ensured by the optimality of Step 3 of the construction of feasible solution with a fixed binary variable configuration. The proof is given in the appendix. Therefore the difference between the upper bound and lower bound is certainly reduced through a finite number of iterations even though in the worst case it may end up enumerating all feasible binary variable configurations. However, the main advantage of the decomposition algorithm is that the

number of discrete variables for the lower level subproblem can be reduced by fixing the variables obtained by solving the upper level master problem. The integer cut in Step 5 of the algorithm provided in this section is very weak and the numerous constraints are cumulatively added to the upper level master problem, which causes the increase of difficulty for solving upper level master problem. For this reason, we propose in the following sections a more efficient technique for solving the upper level master problem with cut generation by using Lagrangian relaxation method. 3.2. Lagrangian relaxation and dynamic programming The upper level master problem is solved by Lagrangian relaxation technique. If the transportation time is constant, the scheduling model for vehicles can also be treated as the scheduling problem to minimize total weighted tardiness for a single stage with the constant processing time for parallel machines. Let mi,l be the machines including vehicles for stage l. tui,l is the constant processing time for the operation of job i on the machine u at stage l, O is the total number of stages including AGV transportation stage, Sli is the starting node for transportation of job i for stage l, R(ni, nj) is the minimal traveling time between node ni to node nj, and vk is the initial node for vehicle k. The precedence constraints for each job for each stage can be formulated as m

ci,l1 r ci,l ti,l i,l , m

ci,l Z ti,l i,l ,

2 rl r O, 1 r ir N,

ð28Þ

1r l r O, 1 r ir N, m

ci,l Z Rðvmi,l ,Sli Þ þ ti,l i,l ,

ð29Þ

l ¼ 2, 1 ri r N:

ð30Þ

Let zu ¼ fði,lÞjmi,l ¼ ug, jðtÞ is a function that takes the value of 1 if t Z0 and 0 otherwise. I is a constant which denotes the minimal traveling time required for the succeeding transportation. The resource constraints for each machine in each time period can be written as X u fjðtci,l þ ti,l þI1Þjðtci,l 1Þg r 1, 1 r t r H, 1 r u r U, ði,lÞ A zu

ð31Þ where U is the number of machines including vehicles and I¼ 0 for ðl= 2PAGV Þ. The Lagrangian relaxation problem can be represented as (32) when the constraints of (31) are relaxed. 8 > ci,l N O < X X X min wi Ti þ lt,mi,l L¼ fci,l gfmi,l g> : i¼1 l ¼ 1 t ¼ c t mi,l þ 1 i,l i,l 9 m > ci,l ti,l i,l = X U X H X X lt,mi,l  lt,u ð32Þ þ > ; u¼1t¼1 l A PAGV t ¼ c t mi,l I þ 1 i,l

s:t: lt,u Z 0,

i,l

1 r t r H,

1 ru r U

ð28Þ2ð30Þ:

ð33Þ

lt,u is the Lagrange multiplier for each time period t for each machine u. The Lagrangian relaxation problem can be decomposed into subproblems for each job i. The algorithm of Lagrangian decomposition and coordination (LDC) method consists of the following steps. [LDC algorithm for upper level master problem] Step 1. Initialization of Lagrange multipliers (lt,u ¼ 0). Step 2. Solve the subproblem for each job and calculate a lower bound for the original problem. Step 3. Generate a feasible solution from the solution derived at Step 2 by the following list scheduling procedure. The solution

T. Nishi et al. / Computers & Operations Research 38 (2011) 876–888

derived at Step 2 is an infeasible solution in most cases where machine capacity constraints are violated. The list scheduling heuristic is used to construct a feasible solution for master problem where jobs are dispatched from the list of jobs according to non-decreasing order of starting times for each job. Step 4. Calculate D ¼ ðUpper bound of lower level subproblemÞ ðlower boundÞ. If D is less than pre-specified value or the derived lower bound has not been updated, the algorithm is completed and the current solution is regarded as a solution of upper level master problem. Step 5. Update the Lagrange multipliers by (34) and return to Step 2. ( )

lt,u ¼ max 0, lt,u þ ar PU

u¼1

D

PH

2 t ¼ 1 ht,u

ht,u ,

ð34Þ

P

u þ I1Þjðtci,l 1Þg1, and ar where ht,u ¼ ði,lÞ A zu fjðtci,l þ ti,l is a parameter for subgradient method at iteration r. If the variable pi,l x,u is defined as x X

pi,l x,u ¼

ly,u þ Zi,l x,u ,

ð35Þ

u þ1 y ¼ xti,l

8 0 ðl o O, l= 2PAGV Þ > > > u > xti,l > < X ly,u ðl oO, l A PAGV Þ Zi,l x,u ¼ > u I þ 1 > y ¼ xti,l > > > : wi fmaxð0, xDi Þg ðl ¼ OÞ

ð36Þ

the Lagrangian relaxation problem for the upper level master problem is rewritten as min

fci,l g,fmi,l g

O X

pi,l s:t: ð28Þ2ð30Þ; ð33Þ: ci,l ,mi,l

l¼1

Mi,l is the set of machines for the operation of job i at stage l. Let fi,l(x,u) denote the optimal cost for the operation of job i at stage l when ci,l ¼x, mi,l ¼ u. According to the precedence constraints, u ci,l1 rxti,l must be satisfied when ci,l ¼ x and mi,l ¼ u. This leads to the dynamic programming recursions. gi,l(y,u) is the minimum of optimal criterion value for the operation of job i at stage l on machine u for 0 r z ry. 8 i,l > < px,u ðl ¼ 1Þ fi,l ðx,uÞ ¼ pi,l þ min g ð37Þ u ðxti,l ,uuÞ ðl a1Þ, > : x,u uu A Mi,ðl1Þ i,ðl1Þ where gi,lu ðy,uuÞ ¼ min fi,lu ðz,uuÞ, 0rzry

1 rl rO, 0 r x rH, 8u A Mi,l , 2 rlu r ðO1Þ, 0 ry rH, 8uu A Mi,lu :

ð38Þ

The lower bound derived from solving Lagrangian relaxation problem for master problem is also a lower bound for the original problem from the fact that the sequence constraints of (4), (5) are relaxed from the master problem for the Lagrangian relaxation problem, and the conflict-free routing constraints for vehicles of (11), (12) are removed from the original problem for the master problem. However, the lower bound derived by solving Lagrangian relaxation for the master problem is not necessarily identical to the lower bound for the master problem from weak duality for integer programming problems. The gap between upper bound and lower bound is close to zero after finite number of iterations. This can be ensured from the proof provided in Section 3.5.

881

3.3. Lagrangian relaxation with cut generation The lower bound derived by solving Lagrangian relaxation problem of the upper level master problem can be improved by imposing additional cuts generated from a solution of each subproblem. Two types of cuts are proposed in this section. 3.3.1. Cut generation for capacity constraint A logical constraint is added to the Lagrangian relaxation problem of the upper level master problem to improve the lower bound. O denotes the number of stages. (ði,jÞ, mi,O ¼ mj,O

such that m

m

ðcj,O r ci,O ti,Oi,O Þ3ðci,O r cj,O tj,Oj,O Þ:

ð39Þ

Eq. (39) is an additional constraint on the two operations (the operations of job i and job j on the same machine) which are not scheduled with overlapping at the same time only at the last stage. The solution of the original problem always satisfies (39) for any two jobs. Therefore, the feasible region for the original problem does not be eliminated even when the constraint of (39) is embedded in the Lagrangian relaxation problem of the upper level master problem. Therefore, the cut is a valid inequality where the feasible region for the Lagrangian relaxation problem is reduced. Let fi,l(x,u,i,j) be the optimal cost for the operation of job i at stage l where job i with completion time x which is allocated to machine u, and it does not overlap with job j with constraint on these two jobs. The recursive equation for the dynamic programming method to solve the subproblem for job i can be written as 8 i,l px,u ðl ¼ 1Þ > > > > > u > pi,l > x,u þ min g i,ðl1Þ ðxti,l ,uuÞ ðl a 1,l a OÞ > uu A Mi,ðl1Þ > > > > < pi,l þ min g u i,ðl1Þ ðxti,l ,uuÞ x,u uu A M i,ðl1Þ ð40Þ fi,l ðx,u,i,jÞ ¼ > > > fj,l ðxu,uÞ, þ minf min > > u u > 0 r xu r xti,O ,x þ tj,O r xu r H > > > > > min > : u a u,u A M ,0 r xu r Hfj,l ðxu,uÞg ðl ¼ OÞ i,l

where g i,l ðy,uuÞ ¼ min fi,lu ðz,uu,i,jÞ, 0rzry

1r l r O, 0 rx r H, 8u A Mi,l , 2r lu r ðO1Þ, 0 r yr H, 8uu A Mi,lu :

ð41Þ

First, the subproblem for job i is solved by (39) and (40) and ci,l ,mi,l ð1 r l rOÞ is determined. Then, the subproblem for job j is solved by the following recursions: 8 j,l > px,u ðl ¼ 1Þ > > > > u > > pj,l þ min g j,ðl1Þ ðxtj,l ,uuÞ ðl a1,l a OÞ > < x,u uu A Mj,ðl1Þ ð42Þ fj,l ðx,u,i,jÞ ¼ mi,O u > Þ þ 1 ðl ¼ O, ci,O ti,O ox oci,O þ tj,O > > > > > j,l u > þ min g j,ðl1Þ ðxtj,l ,uuÞ ðotherwiseÞ > : px,u uu A Mj,ðl1Þ

where g j,lu ðy,uuÞ ¼ min fj,lu ðz,uu,i,jÞ, 0rzry

1r l r O, 0 rx r H, 8u A Mj,l , 2r lu r ðO1Þ, 0 r yr H, 8uu A Mj,lu :

ð43Þ

The above formulations consider that the cost function for job i and job j are optimized under the constraint that job i and job j are scheduled without overlapping each other. The complexity to compute fi,l is OðH2 Þ [25]. However, it can be solved more

882

T. Nishi et al. / Computers & Operations Research 38 (2011) 876–888

efficiently in OðHÞ. The computation of (40) when l ¼O is effective if fj,l(x,u) is computed by (38) in advance. Let tmax be the maximum processing time for job at the last stage. If u a uj or u

u or x þtj,Oj rxj r H is satisfied, the computational 0 r x rxj þ ti,O

complexity to compute fi,O(x,u,i,j) is OðjMi,l jðH2tmax Þ because u ,x þ t u r xu r H f ðxu,uÞ, min minfmin0 r xu r xti,O j,l u a u,u A Mi,l ,0 r xu r H fj,O ðxu,ugÞ j,O is equal to fj,O(xj,uj). The computational complexity to compute fi,O(x,u,i,j)

when

u

u u ¼ uj ,xj ti,Oj o x o xj þ ti,O

is

Oð2tmax jMi,l jHÞ.

Therefore, the overall computational complexity to compute (40) is Oð2OH þ 2tmax jMi,l jðH1ÞÞ [26]. There are several alternatives for the selection of job i and job j. In this study, two jobs are selected according to the length of overlapping time and weights for the jobs. The cut generation is executed until all of the pairs of two jobs are selected. 3.3.2. Cut generation for Lagrangian relaxation problem of upper level master problem The integer cuts (26)–(27) adopted in Section 3.1 cannot be decomposed when the upper level master problem is solved by LDC method. To solve the problem, cuts for restricting the feasible region of Lagrangian relaxation problem for the upper level master problem is proposed in this section.   The cut for the solution ðlt,u ,ci,l ,mi,l Þ of Lagrangian relaxation problem for the upper level master problem is given by the logical constraint (ðt,uÞ



such that :ðlt,u ¼ lt,u ,8t,8uÞ:



of lt,u obtained in the previous iterations. Otherwise, the constraints   are the same as (31). If the solution ðlt,u ,ci,l ,mi,l Þ derived at previous iterations may violate the constraints of (47). If the values of the Lagrange multipliers are the same as that of the previous iteration, the multipliers are updated by (34) without solving Lagrangian relaxation problem. By incorporating the proposed cuts, the feasible region for Lagrangian relaxation problem is reduced, then the lower bound and upper bound of the original problem can be improved.

ð44Þ

If (44) is incorporated in the Lagrangian relaxation problem, the problem cannot be decomposed into each subproblem for a job. Therefore, the constraints of (44) are reformulated. Let   ðlt,u ,ci,l ,mi,l Þ be the tuple consisting of the Lagrange multipliers derived at previous iteration, the completion time for the operation of job i at stage l, and the machine utilized for the operation of job i at stage l. Let us introduce a function w. 8 mi,l >   > > > 0 ðci,l ti,l I þ 1 r t rci,l , > < 1 ri r N,1r l r O, wððlt,u ,ci,l ,mi,l Þ,ðlt,u ,ci,l ,mi,l ÞÞ ¼ > lt,u ¼ lt,u ,1 r t r H,1r u r UÞ > > > > : 1 ðotherwiseÞ: ð45Þ The capacity constraints for each machine can be rewritten as X u u fjðtci,l þti,l þ I1Þjðtci,l þ ti,l 1Þg ði,lÞ A zu

3.4. Solving lower level subproblems If the solution of the upper level master problem is fixed, the assignment of tasks, and the starting and completion time for the l transportations are determined. Then ali, t,k , bi, t,k , mli, t , m li, t , yli,u, and si, t,u are also determined satisfying capacity constraints (19)–(23). The lower level subproblem is to find the feasibility of transportation routing for multiple vehicles according to the given loading start times and unloading start times. It is not necessarily to solve the subproblem optimally only if the upper bound is updated by the solution of subproblem. The objective function for the lower level subproblem is formulated as ! X X ~ ug min c þ maxf0,c  c u u u fxi,j,t g

s:t:

u

u

ð7Þ2ð14Þ,

ð48Þ

where cu is the transportation completion time for vehicle u. c~ u is the results derived by solving the master problem. The subproblem is to find a conflict-free routing to minimize the total sum of transportation time and tardiness penalty from the schedule and task assignment generated from the master problem where the loading/unloading nodes and loading/unloading times are specified. The routing consists of two steps: (1) routing from current position to the loading node, (2) routing from the loading node to unloading node. The empty vehicles are also routed to minimize the sum of the distance and the penalty for violating conflict-free routing constraints. The routing problems are solved by augmented Lagrangian decomposition technique by decomposing the problem into each vehicle subproblem [7]. 3.5. Construction of feasible solution If the solution of subproblem is infeasible, the constraint is violated in either condition (A) or condition (B). Fig. 2 shows the cases when the solution of lower level subproblem is infeasible.



 ,mi,l ÞÞ r wððlt,u ,ci,l ,mi,l Þ,ðlt,u ,ci,l 1r t r H, 1 r u rU:

ð46Þ

The Lagrangian relaxation problem for the upper level master problem is reformulated as 8 > ci,l < N O X X X minL ¼ min wi Ti þ lt,mi,l fci,l gfmi,l g> : i¼1 l ¼ 1 t ¼ c t mi,l þ 1 i,l 9 i,l m > ci,l ti,l i,l = X X þ lt,mi,l > ; j A PAGV t ¼ c t mi,l I þ 1 i,l



U X H X

i,l

 lt,u wððlt,u ,ci,l ,mi,l Þ,ðlt,u ,ci,l ,mi,l ÞÞ

u¼1t¼1

s:t: ð28Þ; ð29Þ; ð30Þ; ð33Þ:

ð47Þ

Eq. (47) indicates that the machine utilized for the solution (ci,l, mi,l)¼ (c*i,l, mi,l*) is not available if the value of lt,u is the same as that

(A) The arrival time of vehicle to the starting node Sk obtained from the solution of the subproblem is delayed from the starting time of transportation generated from the solution of the master problem. (B) The arrival time of the vehicle to the destination node Fk obtained from the solution of subproblem is delayed from the starting time of operation generated from the solution of the master problem. To generate a feasible solution, the GFS algorithm is executed to modify the infeasible solution into a feasible one. The notation for the GFS algorithm is as follows. Job e represents the eth processed job at a machine. Jf(e) set of the successor jobs for job e at transportation stage, Js(e) set of the successor jobs for job e at immediately succeeding stage, Bi,j possible delaying time for transportation job i satisfying sequence constraint with respect to the successor job j,

T. Nishi et al. / Computers & Operations Research 38 (2011) 876–888

pick up transportation time (master problem) delivery transportation time (master problem)

stage 1

Job e Fe−1

delivery transportation time (subproblem) Se

Fe

Be , e +1

vehicle 1

(ces − tes ) − ce

delay d e stage 2

Job e

pick up transportation time (master problem) delivery transportation time (master problem)

stage 1

Job e

delivery transportation time (subproblem)

Be , e +1 vehicle 1

de stage 2

(ces − tes ) − ce Job e

Fig. 2. Infeasible case (A) and case (B) for lower level subproblem.

ci csi Fi Rni ,nj

Si ti

completion time for job i, completion time for job i at immediately successor production stage, loading node for job i, minimum distance between node ni and node nj without having waiting time for traveling, unloading node for job i, transportation time for job i

[GFS algorithm] Step 1. Solve the lower level subproblem. The delay for the earliest transportation job de can be calculated. If the constraint violation is (A), go to Step 2. Otherwise, the constraint violation is (B), and go to Step 3. Step 2. Delay the transportation job e so as not to violate the precedence constraints of other jobs. The possible delaying time with respect to the successor job e+ 1 is calculated by Be,e + 1 ¼ (ce + 1  te + 1) (ce + R(Fe,l, Se + 1,l)) where R(Fe,l, Se + 1,l) is the minimum distance between the destination node Fe,l for job e and the starting node Se + 1,l for job e+ 1. The minimum increasing time for transportation completion time of job e is the minimum of de, Be,e + 1, and the starting time of job at the successor stage cse  tse. Therefore, update ce ’ce þ s s minfde , minfðce te Þce , Be,e þ 1 g. Then, solve the lower level subproblem. If a feasible solution is derived, the algorithm is completed. Otherwise, return to Step 1. If the possible delaying time is zero, go to Step 4. Step 3. Update the transportation completion time of job e by ce ’ce þ minfde , minfðces tes Þce , Be,e þ 1 gg, and increase the transportation time for job e by te ’te þminfde , minfðces tes Þ ce , Be,e þ 1 gg. Then, solve the lower level subproblem. If a feasible solution is derived, the algorithm is completed. Otherwise, return to Step 1. If the possible delaying time is zero, go to Step 4. Step 4. Solve the lower level subproblem and the delaying time de is calculated for job e. If the condition is (A), go to Step 5. Otherwise go to Step 5. Step 5. The completion time of transportation for job e is updated by ce ’ce þde . Then, the completion time of successor transportation for jobs 8iu A Jf ðeÞ are updated by ciu ’ciu þ diu in the

883

ascending sequence. diu is obtained by ( diu1 ðBiu1,iu ¼ 0Þ, diu ¼ maxðdiu 1Biu1,iu ,0Þ ðBiu1,iu a 0Þ:

ð49Þ

Then, the completion time of succeeding production stage for job i00 A Js ðeÞ is updated by cis00 ’cis00 þ dsi00 in ascending sequence. dsi00 is minimum delaying time satisfying precedence constraints and sequence constraints for jobs, and it is obtained by dsi00 ¼ maxf0,de minfðcis00 tis00 Þ þ de cis00 1 ,ðcis00 tis00 Þ þde ci00 gg:

ð50Þ

Then, solve the lower level subproblem. If a feasible solution is derived, the procedure is finished. Otherwise return to Step 1. Step 6. The completion time for job e and the transportation time are updated by ce ’ce þde ,te ’te þ de , respectively. The starting times of jobs for the immediate ones after the transportation are also increased to satisfy the precedence constraints. Then, solve the lower level subproblem. If a feasible solution is derived, the procedure is completed. Otherwise, return to Step 1. The optimal solution with a fixed assignment of tasks and production sequence of jobs can be derived by the above algorithm. This can be guaranteed by the theorems and proofs, which are provided in the appendix.

4. Computational experiments 4.1. Illustrative example An illustrative example for five jobs with three production stages, and two transportation stages with three vehicles in Fig. 1 is presented. The input data for the instance are presented in Table 1. The loading and unloading time was set to one time period. The initial location for vehicle 1, 2, 3 was node 5, node 18, and node 2, respectively. The parameters for the upper level master problem were selected as ar ¼ 0:1 and 0.01 if the lower bound was not updated for 10 times of iterations. The maximum number of iterations for upper level master problem was 1000. The algorithm was completed if the lower bound was not updated for 50 times of iterations. The problem written by Visual C++ language was compiled in 64 bits. The experiments were conducted on a Pentium D 3.4 GHz processor with 1 GB Memory using the windows XP x64 operating system. The results are illustrated in Fig. 3. The value of objective function (UB) is 1282, and lower bound (LB) is 1206.06 with 6.3% of duality gap (UB-LB)/ LB  100. The total number of iterations was seven and the total computation time was 1.44 s. Fig. 4 shows the detailed routing results derived by the proposed method. Because there is no two or more vehicles on each node at the same time, a conflict-free routing and scheduling satisfying all timing constraints are successfully derived by the proposed method. The instance problems for the number of jobs N¼ 2,y,50 were created by using the parameters in Table 2. For each case, ten problem instances were created randomly. For each problem, the algorithm termination criteria e for duality gap was less than 0% Table 1 Data for the illustrative problem instance. Job 1 Job 2 Job 3 Job 4 Job 5 Weight 7 Due date 23 Processing time for stage 1 (L/U node: 1) 6 Processing time for stage 2 (L/U node: 17) 5 Processing time for stage 3 (L/U node: 12) 8

3 13 8 8 8

30 30 5 5 6

17 7 8 5 8

15 8 8 6 5

884

T. Nishi et al. / Computers & Operations Research 38 (2011) 876–888

0

stage 1

5

13

J3

21

J4 9

J2

22 25

31 J5

J4 19

13 5

J3

vehicle 2

9

J4

14

17

J3

22

0

10

J4

J5

37

33

36

J1

31

25

20

42 J5

27 27

47 J2

J4

19 21

vehicle 3

36 39 J1

25 27 J3

stage 3

vehicle 1

35

J1

14 17 J3

stage 2

27

J5

33

35

J2

J1

50 52

60

J1 41

47

J2

J2

52

39

37

J5

40

30

50

60

Time

Node number [-]

Fig. 3. Gantt chart for the example problem.

20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

vehicle 1 vehicle 2 vehicle 3 0

10

20

30

40

50

Time Fig. 4. Detailed routing results for the example problem.

Table 2 Problem setting data for performance evaluation.

Table 3 Computational results for example problems.

Case

No. of jobs

Due dates

Weight

Processing time

Case

No. of jobs

UB

LB

Time

Cuts

Duality gap (%)

1 2 3 4 5 6 7

2 3 5 10 20 30 50

1–10 1–10 1–30 1–30 1–50 1–50 1–80

1–3 1–3 1–30 1–30 1–30 1–30 1–50

5–8 5–8 5–8 5–8 5–8 5–8 5–8

1 2 3 4 5 6 7

2 3 5 10 20 30 50

119.3 168.6 1626.0 5498.0 18413.1 34690.5 145882.7

117.6 166.1 1535.6 5061.3 16319.8 30471.7 121802.0

1.96 0.34 1.45 2.45 33.1 228.5 1510.4

6.0 6.0 6.7 5.1 9.0 12.5 23.8

1.33 1.61 5.16 8.59 13.11 13.84 19.67

for 2, 3, 5 job problems and 10% for 10 job problems, 15% for 20, 30 job problems and 20% for 50 job problems. The parameter for the upper level master problem was selected as ar ¼ 0:025 and it is decreased to ar ¼ 0:01 if the lower bound is not updated for 10 times of iterations. The average results of 10 instances are summarized in Table 3. The computation time is rapidly increased when the number of jobs is increased. This is due to increased computation time for routing subproblems. On the other hand, the full space CPLEX solver coded by CPLEX 10.1(ILOG) requires more than 580,000 s of computation time even for three job problems. From the results it is demonstrated that the proposed

method can derive a near-optimal solution with a reasonable computation time. For the problems for 3-stage systems, congestions frequently occur at node 17 (L/U point for intermediate stage) in Fig. 1. This makes it difficult to find a conflict-free routing for the proposed method when the number of jobs is increased. One restriction of the proposed approach is that the computational time is significantly increased for large sized problems. To reduce the computation time for real time application, the algorithm termination criteria e should be carefully chosen.

T. Nishi et al. / Computers & Operations Research 38 (2011) 876–888

4.2. Effects of the number of jobs, the number of vehicles to the performance In order to evaluate the performance for the proposed method, randomly generated L/U points, processing times, due dates, and weighted were considered for a specific layout model with twostage production, and one transportation stage with two to four vehicles. The L/U point for stage 1 was node 1 or 4, and the L/U point for stage 2 was node 17 or 20. Each job has one L/U point for each stage. The initial location for vehicle 1, 2, 3 was node 5, node 17, and node 2, respectively. The maximum number of iterations for upper level master problem was 8000. The algorithm was completed if the lower bound for the master problem was not updated for 50 times of iterations. The example problems were created using the parameters presented in Table 2. For each case, 10 problem instances were created from the random numbers on the intervals given in Table 2. For more solvable cases, case 8 with 80 jobs and case 9 with 100 jobs were added to the Table 2 where due date range 1–100, weight range 1–60, and processing time range 5–8 were set. The convergence conditions are defined as the

885

lower bound for the original problem has not been updated for 10 times and the incorporated number of cuts for capacity constraints violation is more than 100 and the difference between the upper bound and the lower bound is within 0.5. For each problem, the algorithm termination criteria e for duality gap was less than 0% for 2, 3, 5 job problems and 5% for 20, 30 job problems and 6% for 50, 80, 100 job problems. For the computational experiments, the number of jobs was changed from 2 to 100 and the number of vehicles was changed from 2 to 4. Four types of algorithms are compared to evaluate the performance of the proposed algorithm. CPLEX denotes the exact algorithm solving full space MILP coded by CPLEX10.1, CPLEX-Cuts indicates the bilevel decomposition algorithm with integer cuts (26) and (27) where upper level master problem is solved exactly by CPLEX10.1. LR-Cuts is the bilevel decomposition algorithm with Lagrangian relaxation with cut generation (44). SLR-Cuts denotes the bilevel decomposition algorithm with successive incorporation of cuts (39) for violating capacity constraints and cut (44). The computational results are summarized in Tables 4–6. The values in the tables indicate the average results of ten instance

Table 4 Computational results for two vehicles problems. Case

No. of jobs

No. of vehicles

Method

Obj.

Time

Cuts

Duality gap (%)

1 1 1 2 2 2 3 3 3 4 4 5 5 6 6 7 7 8 8

2 2 2 3 3 3 5 5 5 10 10 20 20 30 30 50 50 80 80

2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

CPLEX LR-Cuts SLR-Cuts CPLEX LR-Cuts SLR-Cuts CPLEX-Cuts LR-Cuts SLR-Cuts LR-Cuts SLR-Cuts LR-Cuts SLR-Cuts LR-Cuts SLR-Cuts LR-Cuts SLR-Cuts LR-Cuts SLR-Cuts

64.2 64.2 64.2 106.0 108.4 106.0 1173.5 1176.1 1178.5 4023.8 4031.0 11575.6 11486.4 28777.1 28587.5 120803.4 119624.3 373746.6 368950.8

34.4 0.1 0.1 343.9 0.1 0.1 0.35 0.4 0.7 1.0 1.9 10.3 21.8 25.0 82.1 87.6 798.9 257.8 4667.7

– 28.9 20.3 – 32.9 30.9 – 54.0 101.7 29.7 102.7 51.6 356.5 58.1 530.5 65.9 1256.0 55.9 1912

0.00 0.95 0.80 0.00 1.94 0.52 0.00 1.29 1.32 3.44 3.50 7.57 6.84 8.00 7.12 9.76 8.59 9.96 8.39

Table 5 Computational results for three vehicles problems. Case

No. of jobs

No. of vehicles

Method

Obj.

Time

Cuts

Duality gap (%)

1 1 1 2 2 2 3 3 3 4 4 4 5 5 6 6 7 7 8 8 9 9

2 2 2 3 3 3 5 5 5 10 10 10 20 20 30 30 50 50 80 80 100 100

3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3

CPLEX LR-Cuts SLR-Cuts CPLEX LR-Cuts SLR-Cuts CPLEX-Cuts LR-Cuts SLR-Cuts CPLEX-Cuts LR-Cuts SLR-Cuts LR-Cuts SLR-Cuts LR-Cuts SLR-Cuts LR-Cuts SLR-Cuts LR-Cuts SLR-Cuts LR-Cuts SLR-Cuts

64.2 64.2 64.2 106.0 106.0 106.0 1173.5 1173.5 1173.5 3966.2 3984.8 3981.0 11184.7 11114.1 27777.4 27586.1 115888.6 115691.0 358641.3 357197.5 591217.2 589542.2

78.9 0.1 0.1 2073.9 0.2 0.2 0.3 0.9 1.1 4918.4 1.4 2.0 6.2 5.3 16.7 44.4 48.6 80.1 154.9 275.6 182.3 535.1

– 35.0 26.2 – 42.7 56.4 0.1 86.9 139.6 0.1 29.8 110.2 15.1 31.1 25.0 262.9 19.9 102.0 16.9 77.9 8.1 75.8

– 0.98 0.85 – 0.64 0.58 0.00 1.15 1.03 0.00 2.69 2.50 4.78 4.09 4.71 3.84 5.75 5.61 5.77 5.48 5.73 5.37

886

T. Nishi et al. / Computers & Operations Research 38 (2011) 876–888

Table 6 Computational results for four vehicles problems. Case

No. of jobs

No. of vehicles

Method

Obj.

Time

Cuts

Duality gap (%)

1 1 1 2 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9

2 2 2 3 3 3 5 5 10 10 20 20 30 30 50 50 80 80 100 100

4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4

CPLEX LR-Cuts SLR-Cuts CPLEX-Cuts LR-Cuts SLR-Cuts LR-Cuts SLR-Cuts LR-Cuts SLR-Cuts LR-Cuts SLR-Cuts LR-Cuts SLR-Cuts LR-Cuts SLR-Cuts LR-Cuts SLR-Cuts LR-Cuts SLR-Cuts

64.2 64.2 64.2 106.0 106.0 106.0 1173.5 1173.5 3972.4 3971.2 11023.6 11013.4 27382.8 27363.1 114011.3 113937.7 352680.6 351868.8 580486.9 578294.0

228.2 0.2 0.2 0.2 0.4 0.4 1.5 1.6 1.6 2.1 4.3 4.1 5.6 6.9 15.0 36.8 59.6 241.7 125.1 420.8

– 41.6 38.0 – 60.9 82.3 91.2 177.4 23.5 86.2 4.8 18.3 1.8 11.8 0.00 19.3 0.10 32.4 0.3 40.7

0.00 0.98 0.85 0.00 0.69 0.63 1.42 1.23 2.70 2.63 3.72 3.43 3.69 3.46 4.42 4.19 4.44 3.88 4.06 3.47

problems. The full space CPLEX cannot derive a solution within 10,000 s of computation time if the number of jobs is larger than five for two vehicle problems, and the number of jobs is larger than three for four vehicle problems. CPLEX-Cuts can derive optimal solution for small-sized problems with less computational effort than other methods if the number of jobs is less than 10 jobs. However, the computation time for CPLEX-Cuts is exponentially increased and CPLEX-Cuts cannot solve a problem if the number of jobs is larger than 10. LR-Cuts and SLR-Cuts can derive near-optimal solutions with small duality gap in tolerable level. LR-Cuts and SLR-Cuts can also derive a solution in less computation time if the algorithm termination criteria e is increased for the problems more than 100 jobs. For comparison between LR-Cuts and SLR-Cuts, SLR-Cuts can improve optimality of solutions for all cases without significantly increasing the computation time for three vehicles and four vehicles problems. For two vehicles problems, the total computation time for SLRCuts for 100 jobs is extremely large. If the number of vehicles is increased, the value of the objective function is decreased because the transportation capacity is increased in order to decrease the total weighted tardiness. For two vehicles problems, the duality gap is larger than 8% if the number of jobs is larger than 30. The simultaneous optimization is extremely difficult for the problems with less number of vehicles than 3 because the vehicles are very busy for transportation. From these results, the Lagrangian relaxation of master problem with Lagrangian relaxation cuts is significant for large scale problems. The cuts for capacity constraints are also effective for eliminating duality gaps without significantly increasing total computation time. It is demonstrated that the solutions with 10% of duality gap can be derived for the proposed methods with reasonable computation time for 100 job problems by the proposed method.

4.3. Effects of layout to the performance In order to investigate the performance of the proposed method for different layouts of AGV systems, layout 1 and layout 2 shown in Fig. 5 were considered. These layouts were taken from the benchmark problems in Ulusoy and Bilge [13]. However, the benchmark problems did not consider the conflicts between the

Stage 1

Stage 1

Stage 2

Stage 2

Stage 3

Layout 1 (117 nodes)

Layout 2 (95 nodes)

Stage 3

Fig. 5. Layout instances for computational experiments.

vehicles. The performance criteria is not the total weighted tardiness but the makespan. Therefore, it is difficult to compare the results in literature. The example problems were created by using the same parameters in Table 2 for N ¼2,y, 20. The algorithm termination criteria and the other parameters were the same with those in Section 4.1. The average results of ten instances are presented in Table 7. From these results, the difference of the performance between LR-Cuts and SLR-Cuts is significantly large. SLR-Cuts can generate near-optimal solutions within 10% of duality gap up to 10 job problems. However, the duality gap is significantly increased when the number of jobs is 20. This is because the lower bound derived by the proposed method is deviated from the transport delay caused by the conflicts for vehicles when the transport requests are increased especially for the layout 2 with lower freedom of vehicle routes. Moreover, the total computation time is significantly increased due to the difficulty of resolving deadlocks for vehicles. It is difficult to obtain a good lower bound for the proposed method when the ratio between the processing time and transportation time is large. In practice, requests for scheduling and routing are given dynamically. The static problems on an initial condition are solved repeatedly when the new scheduling requests are given while some of scheduling and routing results are fixed in practical situations. To reduce the computational time, the algorithm termination criteria e should be set to larger value. There is tradeoff between the quality of solution and computation time.

T. Nishi et al. / Computers & Operations Research 38 (2011) 876–888

887

Table 7 Computational results for different layout. Case 1 1 2 2 3 3 4 4 5 5 1 1 2 2 3 3 4 4 5 5

No. of jobs

Layout

Method

Obj.

Time

Duality gap (%)

2 2 3 3 5 5 10 10 20 20 2 2 3 3 5 5 10 10 20 20

1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2

LR-Cuts SLR-Cuts LR-Cuts SLR-Cuts LR-Cuts SLR-Cuts LR-Cuts SLR-Cuts LR-Cuts SLR-Cuts LR-Cuts SLR-Cuts LR-Cuts SLR-Cuts LR-Cuts SLR-Cuts LR-Cuts SLR-Cuts LR-Cuts SLR-Cuts

308.0 308.0 534.6 533.4 6759.8 6745.7 21516.4 21498.4 79665.4 67558.0 253.2 253.2 451.2 367.4 5808.3 5162.5 22524.0 20775.3 75212.9 67558.0

2.56 3.68 16.46 44.59 30.31 56.12 151.96 301.21 596.71 1075.17 2.58 3.88 102.33 135.85 53.22 77.65 290.49 581.31 415.12 714.93

0.51 0.23 1.42 0.84 9.30 9.00 25.67 25.41 74.75 47.85 0.69 0.28 29.42 7.68 28.52 14.49 136.43 115.54 212.96 108.55

The scheduling and routing system can be used by hierarchically integrating with real time controller. If unexpected delay occurs, feasibility is ensured by closed-loop control systems.

5. Conclusions In this paper, we have proposed a bilevel decomposition algorithm for the simultaneous production scheduling and routing problems for AGVs. The original problem has been decomposed into the upper-level master problem and the lower-level subproblem. Cuts are generated and incorporated into the master problem to reduce the feasible region of the master problem. Two types of cuts have been proposed. The one is to use Lagrangian relaxation and cut scheme to reduce the computational effort for the master problem. The master problem is decomposed into job-level subproblems and the solution of Lagrangian relaxation of the master problem is deleted from the current search space of the Lagrangian relaxation problem for master problem. The second is to use cuts for capacity constraints violation. The dynamic programming has been implemented to reduce the computational effort. If the solution of the lower level subproblem is infeasible, the feasible solution is constructed by the GFS algorithm which is proven to generate a feasible solution in finite number of steps. Computational results have demonstrated that the proposed method can effectively solve the problems for 2–3 production stages, 2–4 vehicles and 10–100 jobs, and the problems with different layouts provided in the benchmark with small duality gaps. Further research is to improve the bounds when the ratio between the processing time and the transport time is large. To develop generalized algorithm for decomposition and cuts approach to solve wide range of problems is also one of our future works.

Appendix A The optimal solution with fixed assignments of tasks and production sequence of jobs can be derived by the GFS algorithm in Section 3.5. This can be guaranteed by the following theorems and proofs. Let r be the number of iterations for GFS algorithm, c*i be an optimal completion time of transportation of job i where production sequence and task assignment are fixed, and csi be an optimal completion time of succeeding production stage. Let c(r) i

be the completion time of transportation of job i after r times of iterations, and d(r) be the transportation delay for job i after r i times of iterations. Before proving the finite convergence of the algorithm, the following conditions are assumed. (i) There exists at least an optimal solution where task assignment and production sequence are given. (ii) The number of vehicles is one. (iii) ci rci ði ¼ 1, . . . ,NÞ. (iii) cis rcis ði ¼ 1, . . . ,NÞ. where ci and csi are the current infeasible solution derived from solving upper level master problem. Theorem A.1. Let e be the job number for the earliest transportation operation executed by a vehicle. For any iteration of GFS algorithm,  ceðrÞ þ dðrÞ e rce is satisfied. Proof. It is obvious from the assumption (iii) and omitted.

&

Theorem A.2. For any iteration r, both of conditions, ciðrÞ r ci ð1 r ir NÞ, and cisðrÞ rcis ð1 ri r NÞ are satisfied. (1) For the case of r ¼1, the transportation delay de can be obtained from Step 1 of the GFS algorithm for job e. At Steps 2, 3 of the GFS algorithm, the completion time for transportation for job e is calculated by ce +min {de, min {(cse tse) ce, Be,e + 1}}. From Theorem A.1, the following condition is satisfied. ce þ minfde ,minfðces tes Þce ,Be,e þ 1 gg r ce þ de r ce :

ð51Þ

From the above equation and assumptions (iii) and (iv), the proposition is satisfied. At Step 4 of the GFS algorithm, the transportation delay de is recalculated. At Steps 5, 6 of GFS algorithm, the completion time for transportation of job e is ce + de. From Theorem A.1 and assumptions (iii) and (iv), the proposition is satisfied from the condition ci r ci ði= 2Jf ðeÞÞ,

cis r cis ði= 2Js ðeÞÞ,

ce þ de r ce : dse ¼max {0, de min{(cse tse)+de  cse  1, (cse  tse)+ de  ce}} is the minimum transportation delay satisfying precedence constraints and sequence constraints, ces þ dse r ces is satisfied.

888

T. Nishi et al. / Computers & Operations Research 38 (2011) 876–888

Secondly, ce þ 1 þ de þ 1 rce þ 1 is proved. From the precedence constraints, ce þ te þ 1 þ RðFeq ,Sqe þ 1 Þ r ce þ 1 is satisfied and de rce þ 1  ðce þ te þ 1 þRðFeq ,Sqe þ 1 ÞÞ is also satisfied from ce þde r ce . (a) For the case of Be,e + 1 ¼0, de + 1 ¼de, then ce þ 1 ðce þ 1 þde þ 1 Þ ¼ ce þ 1 ðce þ 1 þde Þ Zce þ 1 ce þ 1 ce þ 1 þðce þ te þ 1 þ RðFeq ,Sqe þ 1 ÞÞ ¼ Be,e þ 1 ¼ 0:

ð52Þ

(b) For the case of Be,e þ 1 a 0, de + 1 ¼max(de  Be,e + 1,0), then (i) if de Be,e þ 1 40 ce þ 1 ðce þ 1 þ de þ 1 Þ ¼ ce þ 1 ðce þ 1 þ de Be,e þ 1 Þ Z ce þ 1 ce þ 1 ce þ 1 þ ðce þ te þ 1 þRðFeq ,Sqe þ 1 ÞÞ þ Be,e þ 1 ¼ Be,e þ 1 þ Be,e þ 1 ¼ 0:

ð53Þ

(ii) if de Be,e þ 1 r0 ce þ 1 ðce þ 1 þ de þ 1 Þ ¼ ce þ 1 ce þ 1 Z 0:

ð54Þ

From the above conditions, ce þ 1 þ de þ 1 r ce þ 1 is satisfied. By using the same discussion, ciu þ diu r ciu ðiu ae,iu A Jf ðeÞÞ is also proved. dse + 1 ¼max{0, de min{(cse + 1  tse + 1) +de  cse, (cse + 1  tse + 1)+ de  ce + 1}} indicates the minimum transportation delaying time satisfying precedence constraints and sequence constraints, ces þ 1 þ dse þ 1 rcesþ 1 is satisfied. In the same way, cis00 þ dsi00 r cis00 ði00 A Jf ði00 ÞÞ is also satisfied. From the above discussion, the proposition is true when r ¼1. (2) It is assumed that the proposition is true for iteration r. The proposition can be proved for iteration r + 1 in the same way as (1). Thus, the proposition is satisfied. From (1), (2), Theorem A.2 is proved. In the above theorems, the number of AGV is assumed to be one. However, the theorems hold when the number of AGV is more than one because the GFS algorithm is executed for each AGV. Theorem A.3. The GFS algorithm can generate an optimal solution where task assignment and production sequence is given in finite iterations. From the equation ciðrÞ r ciðrÞ þdiðrÞ ¼ ciðr þ 1Þ , we have ci ciðkÞ Zci ciðk þ 1Þ Z 0,

1 r i rN:

ð55Þ

P ð0Þ  Let Q ¼ N i ¼ 1 ðci ci Þ be the total sum of deviation from the optimal solution. The GFS algorithm is converged when PN PN PN ðrÞ ðr þ 1Þ ðrÞ    Þ is satisfied. If i ¼ 1 ðci ci Þ ¼ i ¼ 1 ðci ci i ¼ 1 ðci ci Þ a PN ðr þ 1Þ  Þ, the following equation is satisfied from (55): i ¼ 1 ðci ci Q4

N X

ðci cið1Þ Þ 4    4

i¼1

N X

ðci ciðr1Þ Þ 4 0,

ð56Þ

i¼1

* where Q, c(r) i , ci are integer values. Therefore, the GFS algorithm can converge at least Q times. From the above, Theorem A.3 is proved.

References [1] Mantel RJ, Landeweerd HRA. Design and operational control of an AGV system. International Journal of Production Economics 1995;41:257–66. [2] Vis IFA. Survey of research in the design and control of automated guided vehicle systems. European Journal of Operational Research 2006;170:677–709. [3] Kim CW, Tanchoco JMA. Conflict-free shortest time bidirectional AGV routing. International Journal of Production Research 1991;29:2377–91. [4] Dotoli M, Fanti MP. Coloured timed Petri net model for real-time control of automated guided vehicle systems. International Journal of Production Research 2004;9:1787–814. [5] Wu N, Zhou M. Modeling and deadlock avoidance of automated manufacturing systems with multiple automated guided vehicles. IEEE Transactions on Systems Man and Cybernetics B 2005;35:1193–201. [6] Singh SP, Tiwari MK. Intelligent agent framework to determine the optimal conflict-free path for an automated guided vehicle system. International Journal of Production Research 2002;40:4195–223. [7] Nishi T, Ando M, Konishi M. Distributed route planning for multiple mobile robots using an augmented Lagrangian decomposition technique. IEEE Transactions on Robotics 2005;22:1191–200. [8] Ghasemzadeha S, Behrangia E, Azgomi MA. Conflict-free scheduling and routing of automated guided vehicles in mesh topologies. Robotics and Autonomous Systems 2009;30:738–48. [9] Tunali S. Evaluation of alternate routing policies in scheduling a job-shop type FMS. Computers & Industrial Engineering 1998;32:243–50. [10] Lacomme P, Moukrim A, Tchernev N. Simultaneous job input sequencing and vehicle dispatching in a single-vehicle automated guided vehicle system: a heuristic branch-and-bound approach coupled with a discrete events simulation model. International Journal of Production Research 2005;43: 1911–43. [11] Blazewicz J, Burkard RE, Finke G, Woeginger GJ. Vehicle scheduling in twocycle flexible manufacturing systems. Mathematical and Computer Modelling 1994;20:19–31. ¨ Ulusoy G. A time window approach to simultaneous scheduling of [12] Bilge U, machines and material handling system in an FMS. Operations Research 1995;43:1058–70. ¨ A genetic algorithm approach to the [13] Ulusoy G, Sivrikaya-Srifoglu F, Bilge U. simultaneous scheduling of machines and automated guided vehicles. Computers & Operations Research 1997;24:335–51. [14] Jerald J, Asokan P, Saravanan R, Rani ADC. Simultaneous scheduling of parts and automated guided vehicles in an FMS environment using adaptive genetic algorithm. The International Journal of Advanced Manufacturing Technology 2006;29:584–9. [15] Khayat GE, Lagevin A, Riopel D. Integrated production and material handling scheduling using mathematical programming and constraint programming. European Journal of Operational Research 2006;175:1818–32. [16] Corre´a AI, Lagevin A, Rousseau L-M. Scheduling and routing of automated guided vehicles: a hybrid approach. Computers & Operations Research 2007;34:1688–707. [17] Ralphs TK, Galati MV. Decomposition and dynamic cut generation in integer linear programming. Mathematical Programming 2006;106:261–85. [18] Hooker JN. Logic-based benders decomposition. Mathematical Programming 2003;96:33–60. [19] Erdirik-Dogan ME, Grossmann IE. A decomposition method for the simultaneous planning and scheduling of single stage continuous multiproduct plants. Industrial Engineering & Chemistry Research 2006;45:299–315. [20] Kusiak A. Material handling in flexible manufacturing systems. Material Flow 1985;2:79–95. [21] Ganesharajah T, Hall NG, Sriskandarajah S. Design and operational issues in AGV-served manufacturing systems. Annals of Operations Research 1998;76: 109–54. [22] Hooker JN. Planning and scheduling by logic-based benders decomposition. Operations Research 2007;55:588–602. [23] Benders JF. Partitioning procedure for solving mixed variables programming problems. Numerische Mathmatik 1962;2:3–19. [24] Jain V, Grossmann IE. Algorithm for hybrid MILP/CP models for a class of optimization problems. INFORMS Journal on Computing 2001;13:258–76. [25] Hiranaka Y, Nishi T, Inuiguchi M. A decomposition method for production scheduling and AGV routing problems by Lagrangian relaxation with cut generation. Transaction on the Institute of Systems, Control and Information Engineers 2007;20:465–74. (in Japanese). [26] Nishi T, Hiranaka Y, Inuiguchi M. Lagrangian relaxation with cut generation for hybrid flowshop scheduling problems to minimize the total weighted tardiness. Computers & Operations Research 2010;37:189–98.