working paper

0 downloads 0 Views 366KB Size Report
Abstract: This paper presents a model for a dock assignment problem, where .... modeled as machines rather than transporters, especially since the time it takes ...
Faculty of Business and Economics

2SWLPDOVROXWLRQVIRUDGRFNDVVLJQPHQWSUREOHP ZLWKWUDLOHUWUDQVSRUWDWLRQ /RWWH%HUJKPDQ5RHO/HXVDQG)ULWV6SLHNVPD

DEPARTMENT OF DECISION SCIENCES AND INFORMATION MANAGEMENT (KBI)

KBI 

Optimal solutions for a dock assignment problem with trailer transportation

Lotte Berghman∗ Research Group ORSTAT Katholieke Universiteit Leuven, Belgium Tel. +32 16 32 69 27; Fax +32 16 32 66 24 [email protected]

Roel Leus Research Group ORSTAT Katholieke Universiteit Leuven, Belgium Tel. +32 16 32 69 67; Fax +32 16 32 66 24 [email protected]

Frits C.R. Spieksma Research Group ORSTAT Katholieke Universiteit Leuven, Belgium Tel. +32 16 32 69 76; Fax +32 16 32 66 24 [email protected]

— April 2010 —



Corresponding author

Optimal solutions for a dock assignment problem with trailer transportation Abstract: This paper presents a model for a dock assignment problem, where trailers need to be assigned to gates for a given period of time for loading or unloading activities. The parking lot is used as a buffer zone. Transportation between the parking lot and the gates is performed by additional resources called terminal tractors. The problem is modeled as a three-stage flexible flow shop, where the first and the third stage share the same identical parallel machines and the second stage consists of a different set of identical parallel machines. We examine multiple integer-programming formulations for the parallel-machine model in stage two and for the three-stage flow shop, we look into the issue of symmetry and we provide extensive computational results. Our goal is to explore the limits of the instance sizes that can be solved to guaranteed optimality within acceptable running times using integer programming. Keywords: dock assignment, parallel machines, flexible flow shop, integer programming, symmetry.

1

Introduction

We examine a warehouse that is used for distribution purposes. There are incoming trailers that need to be unloaded after they arrive at the warehouse, and there are outgoing trailers that need to be loaded before they leave the warehouse. The warehouse features several gates, and each gate can hold at most one trailer at any moment in time. Each gate can be used for loading as well as for unloading a trailer. The site also contains a parking lot, which can be seen as a buffer where trailers are temporarily parked. All transportation activities of trailers between this parking lot and the gates are performed by terminal tractors, which are tractors designed for use in ports, terminals and heavy industry. Each incoming trailer, for which the planned arrival time is known (a release date), is dropped off by a trucker at the parking lot and afterwards transported to a gate by a terminal tractor for unloading. Each outgoing trailer, for which a planned departure time is known (a deadline) is available at the parking lot, and also needs to be transported to a gate by a terminal tractor for loading. After unloading or loading at the gate, the trailer is transported back to the parking lot by a terminal tractor, where it will be picked up by a trucker later on. For each trailer, the activities carried out consist of three stages. The first stage is the transportation of the trailer by a terminal tractor from the parking lot to a gate. Here, we need to decide when this operation starts, and which terminal tractor is used. The second stage is the loading or unloading task; we need to decide at which gate this operation takes place. The third stage is the transportation by a terminal tractor back to the parking lot. Again, the decision needs to be made when this operation starts, and by which terminal tractor it is performed. Notice that the same set of identical machines (the terminal tractors) executes both the first and the third stage. The processing times of the corresponding 2

operations (i.e., the transportation times) are assumed to be independent of the trailer and the gate. Another set of identical machines executes the second stage (the corresponding processing times depend on the trailer, and do not depend on the gate). The gate assigned to a trailer is considered to be occupied also during the transportation stages one and three, mainly for safety reasons. Consequently, also the ‘gate’-resources are not exclusively tied to only one stage. The dock assignment problem described above is modeled after a situation encountered at a Toyota warehouse in Diest, Belgium. The assumptions we gave follow this practical situation closely. After discussions with the management, it also became clear that the quality of a solution crucially depends on the achievement of two goals: (i) satisfying the deadlines of the outgoing trailers, and (ii) minimizing the waiting times of the incoming trailers. These two objectives will be incorporated in our models. The contributions of this text are threefold: (1) we propose and compare various integerprogramming (IP) formulations for the parallel-machine scheduling problem corresponding to stage two; (2) we study different resolution techniques for the symmetry issue; and (3) based on the comparison of the different (IP) formulations for the parallel-machine scheduling problem, we give a time-indexed formulation for the dock assignment problem that leads to good computational results for medium-size instances. The remainder of this article is structured as follows. Section 2 presents a brief literature survey on the related topics of parallel-machine scheduling with ready times, truck and container scheduling and flexible flow shops. Some definitions and a detailed problem statement are given in Section 3. Various IP formulations for stage two (parallel-machine scheduling) are studied in Section 4. In the subsequent section (Section 5), we investigate several ways in which to remedy the disadvantages caused by symmetry in these formulations, and in Section 6 we study the benefit of adding valid inequalities. A formal statement of the flexible flow-shop problem is given in Section 7, and the best performing formulation for the parallel-machine case is extended towards this setting. We round off the article with some conclusions in Section 8.

2

Literature review

In this section, we briefly review the recent work in a number of relevant fields. First, we survey the literature on mathematical formulations for parallel-machine scheduling with ready times. Secondly, the literature on truck and container scheduling is described and finally, a brief overview of the literature on flexible flow-shop scheduling is given.

2.1

Mathematical programming for parallel-machine scheduling with ready times

A review of the state of the art of parallel-machine scheduling up to 1990 is given by Cheng and Sin (1990) and a survey of mathematical-programming formulations for machine scheduling, including parallel-machine environments, can be found in Blazewicz et al. (1991). Dessouky (1998); Jain and Grossmann (2001); Sadykov and Wolsey (2006) and Bard and Rojanasoonthon (2006) present formulations for parallel-machine scheduling with ready 3

times where there is a variable denoting the start time of a job. The non-linear model of Dessouky (1998) assigns jobs to positions on machines and determines a completion time for each job. Jain and Grossmann (2001) search for a minimum-cost assignment of jobs based on a processing cost for each job-machine assignment. Their mixed-integer linear model assigns jobs to machines and uses separate decision variables for sequencing the set of jobs assigned to each machine. Some logical cuts are added to the formulation in order to reduce the computation time. The objective of Bard and Rojanasoonthon (2006) is to maximize the weighted number of jobs scheduled, where a job in a higher priority class has infinitely more weight than a job in a lower priority class. Their IP formulation uses binary variables to assign jobs to machines and to sequence the jobs. Time-indexed formulations have recently also received a great deal of attention; one of the reasons for their good performance is the fact that the linear-programming relaxations provide strong lower bounds. The binary decision variables associate one starting period with each job. Sousa and Wolsey (1992); Crama and Spieksma (1996); van den Akker et al. (2000); Bigras et al. (2008) and Kedad-Sidhoum et al. (2008) all present time-indexed formulations for a single-machine problem based on the one presented by Dyer and Wolsey (1990), which can easily be extended to parallel machines.

2.2

Scheduling problems with transporters

Two other areas in which trailers are scheduled are cross docking and container terminals. The truck-dock assignment problem examines the scheduling of a set of trailers at docks over time (Miao et al. 2009). A number of area-specific constraints are added in order to link the inbound and outbound shipments (see Boysen et al. 2010) or to model the operations within the cross dock (see Miao et al. 2009). Heuristics are often used to solve realistic instances. B¨ose et al. (2000) describe the main logistic processes in seaport container terminals and propose evolutionary algorithms for optimization. Bish et al. (2001) and Bish et al. (2005) concentrate on the transportation of containers from a ship to a yard using a fleet of vehicles. Since the authors focus on the performance for large instances, heuristics are put forward.

2.3

Flexible flow-shop scheduling

The dock assignment problem can be seen as a flexible flow shop. In a flexible flow shop, at least one stage consists of parallel machines. The terminal tractors in this paper can be modeled as machines rather than transporters, especially since the time it takes the tractors to convey a trailer between the gates and the parking lot is essentially independent of the distance. In this way, the transportation activities become stages in a flexible flow shop. Linn and Zhang (1999); Vignier et al. (1999) and Ribas et al. (2010) all provide a survey of the flexible flow-shop literature (also called hybrid flow shop or multi-processor flow shop). Most studies deal with two-stage flow shops with parallel machines either in the first or in the second stage, but not in both. There are many research articles related to flexible flow-shop scheduling, but most of these do not deal with ready times. Both approximation (see, e.g., Tang and Xuan 2006; Nichi et al. 2010) and optimal approaches (see, e.g., Kis and Pesch 2005; Haouari et al. 2006) appear in literature.

4

A limited number of articles propose solution procedures for flow-shop scheduling problems with release times. Moursli and Pochet (2000) introduce a branch-and-bound algorithm for makespan minimization that produces high-quality results even when it is truncated after a few minutes of computation time. Gupta et al. (2002) generalize well-known heuristic approaches and present constructive algorithms based on job insertion techniques and iterative algorithms based on local search. Paternina-Arboleda et al. (2008) propose a heuristic for makespan minimization based on the identification and exploitation of the bottleneck stage.

3

Definitions and detailed problem statement

In this text, the dock assignment problem is modeled as a three-stage flexible flow-shop problem. Each job is composed of three tasks, one for each stage. The first stage is the transportation of the trailer to the gate by a terminal tractor, the second stage is the loading or unloading task, and the third stage is the transportation of the trailer back to the parking lot by a terminal tractor. Each task of stage two has to be scheduled on exactly one gate, and each task of stage one and three has to be scheduled on exactly one terminal tractor. The set J contains all jobs (or trailers), with |J| = n, while T is the set of all the tasks to be performed (also referred to as activities). Each job j ∈ J is a vector (t1 , t2 , t3 ) of three tasks, one at each stage (the first component is the task in the first stage, etc.). T can be partitioned as follows: T = T 1 ∪ T 2 ∪ T 3 with T i the set of all tasks of stage i (i = 1, 2, 3). A second partition is T = TU ∪ TL , where the set TU contains all tasks related to a trailer that has to be unloaded, while TL gathers all the tasks pertaining to a trailer to be loaded. Each task t ∈ T 1 has a ready time rt . For the unloading tasks, this ready time equals the planned arrival time of the trailer; for the loading tasks we have rt = 0 because we assume that the empty trailer is already available at the parking lot. For each task t2 ∈ T 2 there is a processing time pt , denoting the time to load or unload the trailer. Further, in this second stage m < n identical gates constitute the resources; the set G contains all these machines (|G| = m). Each machine (either a gate or a tractor) can process at most one task at a time. Each third-stage loading task t ∈ TL ∩ T 3 has a deadline dt , which is based on the agreed arrival time at the customer. All transportation activities between the parking lot and the gates have a constant duration of one time unit. These transportation times are modeled as being independent of the driving distance because the actual driving time of the terminal tractor is low compared to the time it takes the driver to follow the safety instructions and attach the trailer to the tractor. There are τ identical terminal tractors available for executing the transportation activities of both the first and the third stage. Preemption of a task is not allowed. Informally, the goal is to unload all incoming shipments (stage two) as quickly as possible, and to have all outgoing trailers ready for transport (stage three) by their deadline. In our formulations we will ensure the latter requirement as a hard restriction. As our objective we choose the weighted sum of completion times, where for unloading jobs, the completion time of stage two is important, while for loading jobs we focus on the completion time of stage three. Each of the tasks in these two sets also has a weight wt , representing the importance of the job. The gate assigned to a trailer is considered to be occupied also during the transportation 5

job

weight

1 2 3 4 5 6 7 8 9 10

3 1 1 3 2 1 3 2 1 3

ready time 0 0 1 2 5 0 0 0 0 0

processing time 11 14 15 13 12 12 10 13 12 13

deadline

type

30 20 36 19 16

U U U U U L L L L L

Table 1: Data for the example instance. Type ‘U’ are unload jobs, type ‘L’ are load jobs. All parameters (weight, ready time, . . . ) pertain to the appropriate tasks of each job.

stages one and three, mainly for safety reasons. Additionally, after loading or unloading, a trailer cannot immediately be transported to the parking lot if all tractors are busy. The trailer remains at the gate until a terminal tractor becomes available, which may prevent other trailers from being loaded or unloaded there. In line with Kise et al. (1991) and following the literature on manufacturing flow lines (see, e.g., Dallery and Gershwin 1992), we refer to this phenomenon as blocking. The blocking time is the difference between the ending time of the loading or unloading task and the starting time of the transportation to the parking lot. Finding the optimal schedule for a set of tasks with release times is NP-hard, even on a single processor (see Lenstra and Rinnooy Kan 1978). Consequently, finding the optimal schedule for the considered flexible flow-shop problem is also NP-hard. An example of a problem instance is provided in Table 1, where for ease of notation each parameter (ready time, weight, . . . ) pertaining to one particular task of a job is specified as a parameter of the job. A feasible schedule for this instance with τ = 1 tractor is described in Figure 1. The green blocks represent the transportation tasks done by the terminal tractors and the blue blocks represent the blocking time between stages two and three. A large part of this article (in particular, Sections 4, 5 and 6) will investigate the specific setting in which only the loading and unloading activities are taken into account and the terminal tractors are left aside – in other words, we only schedule the tasks in T 2 on the gates. In doing so, our goal is to identify a formulation that can satisfactorily deal with instances of realistic size. Although the resulting problem is a simplification, it is not an unrealistic approximation of reality when processing times at the gates are significantly larger than the tractor movement times, and there is a sufficiently high Pnumber of tractors. Notice that the problem in stage two can be denoted by P m|rj , dj | wj Cj in the standard three-field notation. Our findings for this special case will be useful for producing an appropriate IP formulation for the flexible flow shop in Section 7. In the parallel-machine setting, each job’s ready time, weight and due date or deadline are associated with its stage-two task. An example of a feasible parallel-machine schedule for the problem instance introduced in Table 1 is given in Figure 2.

6

g4

Job 10

g3

Job 6 Job 8

Job 4

g2

Job 9

Job 5

0

5

Job 3

Job 1

Job 7

g1

Job 2

10

20

15

25

30

35

40

45

Figure 1: A feasible schedule for the example instance. Each rectangle labeled ‘Job i’ represents the stage-two task of the particular job; gk is the k th gate.

4

Parallel-machine scheduling

In this section, we schedule only the stage-two load and unload activities and we neglect the work of the terminal tractors. We examine two assignment-based formulations (in Sections 4.1 and 4.2), a flow formulation (Section 4.3) and a time-indexed formulation (Section 4.4). We conclude the section by a comparison of the formulations from a theoretical point of view and by means of numerical experiments (Section 4.5).

4.1

Assignment-based formulation 1

The first formulation AB1 (assignment-based formulation 1) is based on Dessouky (1998). Below, we introduce additional variables ztu to linearize the formulation. The decision variables of AB1 are the following. For every task t ∈ T 2 and for every gate g ∈ G, ( 1 if task t is the ith task at gate g, xgti = 0 otherwise.

g4

Job 10

g3

Job 6

Job 4

Job 8

Job 9

g2

Job 5

0

5

Job 3

Job 1

Job 7

g1

Job 2

10

15

20

25

30

35

40

45

Figure 2: A feasible parallel-machine schedule for the example instance.

7

Additionally, for all tasks t, u ∈ T 2 , we define ( 1 if task t precedes task u and both tasks are executed at the same gate, ztu = 0 otherwise. Finally, for every task t ∈ T 2 we also have a completion time Ct . Formulation AB1 for the considered parallel-machine problem is the following: X min wt C t (4.1) t∈T 2

subject to n XX

xgti = 1

∀t ∈ T 2

(4.2)

xgti ≤ 1

∀g ∈ G; i = 1, . . . , n

(4.3)

∀g ∈ G; i = 1, . . . , n − 1

(4.4)

∀{t, u} ⊂ T 2 ; ∀g ∈ G; i = 1, . . . , n − 1

(4.5)

∀{t, u} ⊂ T 2 ∀t ∈ T 2

(4.6) (4.7)

∀t ∈ TL ∩ T 2 ∀{t, u} ⊂ T 2 ∀t ∈ T 2 ; ∀g ∈ G; i = 1, . . . , n ∀t ∈ T 2

(4.8) (4.9) (4.10) (4.11)

g∈G i=1

X

t∈T 2

X

xgti ≥

t∈T 2

xgti

+

n X

X

xgt,i+1

t∈T 2

xguj ≤ 1 + ztu

j=i+1

Ct − (1 − ztu )M ≤ Cu − pu rt ≤ Ct − pt Ct ztu xgti Ct

≤ dt ∈ {0, 1} ∈ {0, 1} ≥0

The objective function (4.1) minimizes for all tasks t ∈ T 2 the weighted completion time Ct of the task. Constraint (4.2) limits each task to be processed exactly once. Constraint (4.3) specifies that each gate can process at most one task at a time. Constraint (4.4) enforces the dominant strategy not to have an ith task at a gate when there is no (i−1)th task. Constraints (4.5) and (4.6) ensure that at each gate, the ending time of each task is not larger than the starting time of the following task. The parameter M is a large number; a possible value for P M is maxt∈T 2 {rt } + t∈T 2 pt (which is the value used in our implementation). Constraint (4.7) imposes that a task cannot start before its ready time and constraint (4.8) demands that a task be finished by its deadline. Finally, constraints (4.9) and (4.10) state that the decision variables ztu and xgti are binary and constraint (4.11) requires all completion times to be non-negative.

4.2

Assignment-based formulation 2

In retrospect, in the previous formulation AB1 the index i for the position at the gate in the decision variable xgti seems to be redundant, since sequencing decisions are also implicit in 8

the additional variables ztu . In our second assignment-based formulation AB2, this position index is left out. More specifically, for all tasks t ∈ T 2 and for every gate g ∈ G, we have ( 1 if task t is scheduled at gate g, xgt = 0 otherwise. The decision variables ztu and Ct remain unchanged. The new choice of decision variables leads to the following linear formulation AB2 of the parallel-machine problem: X min wt C t t∈T 2

subject to X

xgt = 1

∀t ∈ T 2

(4.12)

∀{t, u} ⊂ T 2 ; ∀g ∈ G ∀{t, u} ⊂ T 2 ∀t ∈ T 2

(4.13)

g∈G

xgt

xgu

+ − ztu − zut ≤ 1 Ct − (1 − ztu )M ≤ Cu − pu rt ≤ Ct − pt Ct xgt ztu Ct

∀t ∈ TL ∩ T 2 ∀t ∈ T 2 ; ∀g ∈ G ∀{t, u} ⊂ T 2 ∀t ∈ T 2

≤ dt ∈ {0, 1} ∈ {0, 1} ≥0

Constraint (4.12) demands that each task be assigned to exactly one gate. Constraint (4.13) ensures that if tasks t and u are assigned to the same gate g, then one must be processed before the other. The remainder of the model is similar to AB1. This formulation is close to the ones presented in Jain and Grossmann (2001), although in that reference the parallel machines are not identical in that the processing times depend on the machine and the objective is to minimize the sum of the processing costs of the job-machine combinations.

4.3

Flow formulation

In the following formulation, subsequently referred to as formulation F (for ‘flow-based’), a dummy task t0 that acts both as the first and as the last task in the activity sequence at each gate is added to the model: T02 = T 2 ∪ {t0 }. The decision variables are the following: for all tasks {t, u} ⊂ T02 and for every gate g ∈ G, ( 1 if task t is the immediate predecessor of task u at gate g, xgtu = 0 otherwise. Similar to the previous formulations, every task t ∈ T 2 has a completion time Ct . We propose the following formulation F: X min wt C t t∈T 2

9

subject to X X

xgtu = 1

∀t ∈ T 2

(4.14)

xgt0 t = 1

∀g ∈ G

(4.15)

xgtu = 0

∀t ∈ T 2 ; ∀g ∈ G

(4.16)

∀{t, u} ⊂ T 2 ; ∀g ∈ G ∀t ∈ T 2

(4.17)

u∈T02 \{t} g∈G

X

X u∈T02 \{t}

t∈T02

xgut −

X

u∈T02 \{t}

Ct − (1 − xgtu )M ≤ Cu − pu rt ≤ Ct − pt

∀t ∈ TL ∩ T 2 ∀{t, u} ⊂ T02 ; ∀g ∈ G ∀t ∈ T 2

Ct ≤ dt xgtu ∈ {0, 1} Ct ≥ 0

(4.18)

Constraint (4.14) restricts each task to be processed exactly once and ensures that when a task is scheduled, it has exactly one successor, which can be the dummy task t0 . Constraint (4.15) limits the number of initial tasks. These constraints (4.14) and (4.15) indirectly specify that each machine can process at most one task at a time. Constraint (4.16) entails the conservation of flow: if task t is assigned to gate g, then both its predecessor and successor must also be processed by gate g. This formulation is based on Bard and Rojanasoonthon (2006). The main differences with their setting are the non-identical parallel machines, the setup times, the priority classes containing the tasks and the corresponding contributions to the objective function.

4.4

Time-indexed formulation

The time-indexed formulation TI relies on a discretization of the planning horizon, for the length of which we use the practical upper bound Hmax . The formulation is based on Dyer and Wolsey (1990). For all tasks t ∈ T 2 , for all time periods u ∈ Ht and for every gate g ∈ G, ( 1 if processing of task t starts in time period u at gate g, xgtu = 0 otherwise, where Ht is defined as follows: Ht = {rt + 1, . . . , Hmax − pt + 1} if t ∈ TU ∩ T 2 and Ht = {rt + 1, . . . , dt − pt + 1} if t ∈ TL ∩ T 2 . We call this set of time periods the time window of a task. A time-indexed linear formulation TI of the parallel-machine problem is then the following: ÃÃ ! ! X X X g (4.19) min wt u xtu − 1 + pt t∈T 2

u∈Ht

g∈G

10

subject to

XX X

g∈G u∈Ht u X

t∈T 2

v=u−pt +1

xgtu = 1

∀t ∈ T 2

(4.20)

xgtv ≤ 1

∀g ∈ G; ∀u ∈ {1, . . . , Hmax }

(4.21)

∀t ∈ T 2 ; ∀u ∈ Ht ; ∀g ∈ G

(4.22)

xgtu ∈ {0, 1}

The objective function (4.19) has a similar interpretation as before. Constraint (4.20) requires each task to be started exactly once. Constraint (4.21) ensures that at a given time period u, only one tasks can be executed on each gate. Here and below, decision variables that are undefined because of the time windows do not appear in the model. Finally, constraint (4.22) states that the decision variables xtu are binary variables. In this formulation no set of big-M constraints is needed, but a major disadvantage is obviously the pseudo-polynomial number of variables. For the determination of a tight value for Hmax , we proceed as follows. Let rmax = maxt∈T 2 {rt } and F = (TU ∩ T 2 ) ∪ {v ∈ (TL ∩ T 2 ) : dv > r∗ }. Let lmax = arg jmax {pt }. kAn P t∈F t∈F \{lmax } pt upper bound on the schedule length of at least one optimal schedule is rmax + + m k jP p t∈F \{lmax } t plmax , so throughout Sections 4, 5 and 6, we set Hmax = rmax + + plmax . m

4.5

Comparison of the formulations

In order to compare two formulations that are stated in terms of different variables, one should compare the projection of the polyhedra of the linear relaxations of both formulations in the same space (see, e.g., Oncan et al. 2009). In particular, the binary variables of AB2 can be written as a function of the variables of AB1 in the following way: xgt

=

n X

xgti

∀t ∈ T 2 ; ∀g ∈ G

(4.23)

i=1

When the dominant decision (4.4) is neglected, the only difference between the two formulations is that the first formulation contains constraint (4.5) while constraint (4.13) is part of the second formulation; the latter constraint can be rewritten as n X i=1

xgti

+

n X

xgui − ztu − zut ≤ 1

∀{t, u} ⊂ T 2 ; ∀g ∈ G

(4.24)

i=1

For two tasks t and u and a gate g, the following combination of fractional values for the decision variables is admissible for the LP relaxation of AB1 but not for (4.24): xgt2 = 0.5 xgt3 = 0.5

xgu2 = 0.5 xgu3 = 0.5

ztu = 0 zut = 0

On the other hand, the following values satisfy all constraints of the linear relaxation of AB2, while constraint (4.5) is not respected. xgt1 = 1 xgu2 = 1

ztu = 0.5 zut = 0.5 11

Consequently, neither of these two formulations is stronger than the other. We use the name AB1 ext to refer to formulation AB1 extended with constraint (4.24) as valid inequalities, and AB2 1 is the formulation AB2 expressed in the variables of formulation AB1 according to (4.23). On comparing these two formulations, we observe that AB1 ext is tighter. Constraints (4.3), (4.4) and (4.5) can be considered to constitute valid inequalities for formulation AB1 ext. From computational experiments, we learn that there is no considerable difference between the computation times for formulation AB1 ext without these three constraint sets and formulation AB2 1 (the results for this comparison are not reported in this text). We find that including (4.3), (4.4) and (4.5) into formulation AB1 ext only increases the computation times. Consequently, we see no considerable empirical advantage of using the variables xgti rather than xgt (despite the tightened formulation). Comparing assignment-based, flow and time-indexed formulations with one another is difficult; the problem lies in the establishment of a direct relation between the decision variables. From a theoretical point of view, it is not predictable in a straightforward manner which formulation will perform best. Dyer and Wolsey (1990) conclude that the relaxations of formulations based on time discretization give stronger bounds than formulations using decision variables representing starting times and sequencing choices for their 1-machine scheduling problem with ready times. Based on experimental running times, Mellouli et al. (2009) find that an assignment formulation performs better than a flow formulation for parallel-machine scheduling without ready times. We compare the performance (especially the computation times) of our proposed formulations empirically for a set of test instances1 . All experiments were executed with ILOG OPL Development Studio on a Dell Latitude D630 with an Intel Pentium-4 2.2-GHz processor and 2 GB RAM, equipped with Windows 7. Most of the test instances are based on those generated by Jain and Grossmann (2001) and Sadykov and Wolsey (2006) for nonidentical parallel-machine scheduling with “freedom” parameter θ = 0.6 (some additional small instances are created in a similar way). The first half of the tasks are unloading tasks while the second half are loading tasks. The ready times of the loading tasks are set to 0. The weights are randomly selected out of {1, 2, 3} (each value has equal probability). To obtain a single processing time, for each task a random number between 1 and the number of machines is generated and the processing time of the task on that machine is used. Table 2 contains the results of our formulations on the small-size test instances; here and below, a time limit of one hour is imposed on the CPU time. The computational results of the first assignment-based formulation AB1 are significantly worse than the results of the other three formulations; as mentioned before, there is no empirical advantage of using the variables xgti and for this reason AB1 will not be studied further in the remainder of this article. We find that the formulation TI performs best, probably because of the tight LP bound. 1

All instances can be found at the website http://www.econ.kuleuven.be/public/NDBAC96/gate assignment.htm.

12

# jobs 3 5 7 7 9 10 12

# gates 2 2 2 3 3 3 3

AB1 AB2 1.60 s 1.29 s 1.02 s 1.80 s 5.74 s 2.33 s 2.59 s 1.54 s 2768.97 s 3.61 s >1h 55.37 s >1h >1h

F 1.55 s 1.56 s 2.08 s 1.53 s 7.83 s 299.22 s >1h

TI 1.04 0.79 1.02 0.79 1.29 0.78 0.76

s s s s s s s

Table 2: Computation times for the different formulations.

5

Symmetry

When symmetry is inherent in the problem, multiple combinations of values for the variables may represent the same solution. This poses a problem for IP solvers, because many subproblems in the enumeration tree can be isomorphic, resulting in a wasteful duplication of computational effort. Even for relatively modestly sized problems, integer linear programs with large symmetry groups are difficult to solve using traditional branch-and-bound or branch-and-cut algorithms (see, e.g., Sherali and Smith 2001; Margot 2008; Jans 2008). As we deal with identical machines, many alternative optimal solutions can be created by simply renumbering the machines (see Figure 3). This section presents symmetry-breaking constraints (SBCs) and adapted formulations to work around this symmetry.

g4

Job 10

g3

Job 6

Job 4

Job 8

Job 9

g2

Job 5

0

5

Job 3

Job 1

Job 7

g1

g4

Job 2

10

15

20

25

30

Job 4

g3

Job 10

g2

Job 9

35

40

45

Job 6

0

5

Job 2

Job 5 Job 3

Job 1

Job 7

g1

Job 8

10

15

20

25

30

35

40

45

Figure 3: These two figures represent essentially the same solution, but machines 3 and 4 are interchanged.

5.1

Symmetry-breaking constraints

A first and very straightforward set of constraints that eliminates (part of) the symmetry requires that the number of tasks that are scheduled on machine g be at least as high as the number on machine g + 1. The following constraints apply to models AB2, F and TI,

13

respectively. X

xgt ≥

t∈T 2

X

X

xg+1 t

t∈T 2

xgtu ≥

t∈T 2 u∈T02 \{t}

XX

X X

∀g ∈ G; g 6= m

X

xg+1 tu

∀g ∈ G; g 6= m

t∈T 2 u∈T02 \{t}

xgtu ≥

t∈T 2 u∈Ht

XX

xg+1 tu

∀g ∈ G; g 6= m

t∈T 2 u∈Ht

P A second set of constraints is based on Jans (2008). A unique number t∈C 2t is assigned to each possible configuration C of tasks on a machine, and the machines are ordered by decreasing value of this number (with C ⊂ T 2 ). As before, the following three constraint sets are defined for formulations AB2, F and TI, in that order. X g X g+1 xt 2t ≥ xt 2t ∀g ∈ G; g 6= m t∈T 2

X

X

t∈T 2

u∈T02 \{t}

XX

t∈T 2

t∈T 2

xgtu 2t ≥ xgtu 2t ≥

u∈Ht

X

X

t∈T 2

u∈T02 \{t}

XX

t∈T 2

t xg+1 tu 2

t xg+1 tu 2

∀g ∈ G; g 6= m ∀g ∈ G; g 6= m

u∈Ht

A third possible set of SBCs states that the first m tasks have to be scheduled on a specific set of machines. More specifically, the task t with t ≤ m is scheduled on one of the machines in the set {1, . . . , t}. The following constraint sets can be added to the three formulations. t X

xgt = 1

∀t ∈ {1, . . . , m}

xgtu = 1

∀t ∈ {1, . . . , m}

xgtu = 1

∀t ∈ {1, . . . , m}

g=1 t X X u∈T02 \{t}

g=1

t X X g=1 u∈Ht

For the relevant tasks, these constraints will replace (4.12), (4.14) and (4.20), respectively. Our fourth set of SBCs forces each task to be scheduled on the machine with the lowest index (giving priority to the lowest-indexed tasks): a task t can only be scheduled on a specific machine g if at least one task in the set {1, . . . , t − 1} is planned on machine g − 1.

14

The following constraint sets are used for the three retained formulations of Section 4: xgt X



xgtu ≤

v=1 t−1 X

xg−1 v

∀t ∈ T 2 \ {1}; ∀g ∈ G \ {1}

X

xg−1 vu

∀t ∈ T 2 \ {1}; ∀g ∈ G \ {1}

v=1 u∈T02 \{v}

u∈T02 \{t}

X

t−1 X

xgtu

u∈Ht



t−1 X X

xg−1 vu

∀t ∈ T 2 \ {1}; ∀g ∈ G \ {1}

v=1 u∈Hv

We will refer to the foregoing four types of SBCs as SBC1, SBC2, SBC3 and SBC4, respectively.

5.2

Adapted formulations

Chen and Powell (1999) and Mellouli et al. (2009) note that it is not needed to specify which machine is going to execute which sequence as all machines are identical: a solution to our parallel-machine scheduling problem simply consists of m single-machine schedules. The flow formulation can be adapted by replacing the decision variables xgtu by the following ones: for all tasks {t, u} ⊂ T02 , ( 1 if task t is scheduled immediately before task u at the same gate, xtu = 0 otherwise. Constraints (4.14), (4.15), (4.16), (4.17) and (4.18) are altered in the following way: X xtu = 1 ∀t ∈ T 2 u∈T02 \{t}

X

X u∈T02 \{t}

xt 0 t = m

t∈T02

xut −

X

∀t ∈ T 2

xtu = 0

u∈T02 \{t}

Ct − (1 − xtu )M ≤ Cu − pu xtu ∈ {0, 1}

∀{t, u} ⊂ T 2 ∀{t, u} ⊂ T02

For the time-indexed formulation, the decision variables xgtu can be replaced by the following: for all tasks t ∈ T 2 and for all time periods u ∈ Ht , ( 1 if processing of task t starts in time period u, xtu = 0 otherwise. The objective of the TI formulation is then modified as follows: ! ÃÃ ! X X min wt uxtu − 1 + pt t∈T 2

u∈Ht

15

Constraints (4.20), (4.21) and (4.22) are adapted in the following way: X xtu = 1 ∀t ∈ T 2 X

u∈Ht u X

t∈T 2

v=u−pt +1

xtv ≤ m

∀u ∈ {1, . . . , Hmax } ∀t ∈ T 2 ; ∀u ∈ Ht

xtu ∈ {0, 1}

5.3

Computational results

Tables 3, 4 and 5 display the computation times for the different SBCs for the models AB2, F and TI, and also for the adapted formulations F and TI. All combinations of the different SBCs have also been tested, but the results were not better for any combination. The adapted formulations perform best for F and TI, while for the AB2 formulation, SBC2 performs better for larger instances. The columns labeled ‘–’ represent the setting without the tentative refinements. # jobs 3 5 7 7 9 10 12

# gates 2 2 2 3 3 3 3

– 1.29 s 1.80 s 2.33 s 1.54 s 3.61 s 55.37 s >1h

SBC 1 1.85 s 2.07 s 2.34 s 1.81 s 29.89 s 138.22 s >1h

SBC 2 1.80 s 2.05 s 3.36 s 2.85 s 6.75 s 44.17 s >1h

SBC 3 1.28 s 2.07 s 3.39 s 1.85 s 4.15 s 76.99 s >1h

SBC 4 1.54 s 2.09 s 2.60 s 1.55 s 23.64 s 184.06 s >1h

Table 3: Computation times for symmetry elimination in formulation AB2. # jobs 3 5 7 7 9 10 12

# gates 2 2 2 3 3 3 3

– 1.55 s 1.56 s 2.08 s 1.53 s 7.83 s 299.22 s >1h

SBC 1 2.31 s 2.07 s 2.62 s 2.58 s 19.46 s 502.28 s >1h

SBC 2 1.55 s 2.33 s 2.59 s 2.10 s 16.38 s 663.11 s >1h

SBC 3 1.81 s 2.09 s 3.36 s 2.06 s 21.26 s 1786.32 s >1h

SBC 4 2.07 s 1.82 s 3.62 s 2.07 s 31.80 s >1h >1h

adapted form. 1.82 s 1.55 s 2.34 s 1.53 s 3.68 s 36.95 s >1h

Table 4: Computation times for symmetry elimination in formulation F.

16

# jobs 3 5 7 7 9 10 12 15 20 24 28 30 35 42 32 34 40 48 36 45 54

# gates 2 2 2 3 3 3 3 5 5 6 7 7 7 7 8 8 8 8 9 9 9

– 1.04 s 0.79 s 1.02 s 0.79 s 1.29 s 0.78 s 0.76 s 1.04 s 1.02 s 1.31 s 3.41 s 1.29 s 1.31 s 8.61 s 1.02 s 1.84 s 8.12 s 4.92 s 1.56 s 3.63 s 43.97 s

SBC 1 1.31 s 1.04 s 1.54 s 0.78 s 0.78 s 1.02 s 1.06 s 0.78 s 1.31 s 1.31 s 9.98 s 3.12 s 1.80 s 19.31 s 1.29 s 28.26 s 13.04 s 5.19 s 3.38 s 9.62 s >1h

SBC 2 1.29 s 1.02 s 1.31 s 1.02 s 0.78 s 1.04 s 1.02 s 69.90 s 1.02 s 16.92 s 21.13 s 24.18 s 12.26 s 916.88 s >1h >1h >1h 1979.96 s 44.38 s >1h >1h

SBC 3 1.02 s 0.76 s 1.04 s 0.79 s 0.78 s 0.79 s 1.27 s 1.06 s 1.32 s 1.29 s 2.32 s 1.59 s 1.31 s 2.10 s 1.04 s 1.80 s 8.89 s 4.18 s 1.31 s 3.13 s 15.95 s

SBC 4 1.04 s 1.06 s 1.29 s 0.79 s 1.02 s 1.02 s 0.79 s 1.31 s 1.82 s 1.29 s 66.91 s 1.80 s 5.28 s 564.92 s 4.14 s 3.36 s 32.62 s 21.13 s 9.11 s 8.90 s >1h

adapted form. 1.54 s 1.54 s 2.09 s 1.55 s 1.31 s 1.30 s 1.56 s 1.32 s 1.28 s 1.32 s 1.81 s 1.29 s 1.30 s 1.82 s 1.53 s 1.31 s 1.54 s 1.53 s 1.81 s 1.57 s 1.55 s

Table 5: Computation times for symmetry elimination in formulation TI.

6

Valid inequalities

For assignment-based formulations, the following inequalities are suggested by Jain and Grossmann (2001) and Zhu and Heady (2000): X g xt pt ≤ max 2 {dt } − min 2 {rt } ∀g ∈ G (6.1) t∈TL ∩T 2

xgt

t∈TL ∩T

t∈TL ∩T

ztu + zut ≤ 1

∀{t, u} ⊂ T 2

(6.2)

+ xhu + ztu + zut ≤ 2 ztu + zuv − ztv ≤ 1

∀{t, u} ⊂ T 2 ; ∀{g, h} ⊂ G ∀{t, u, v} ⊂ T 2

(6.3) (6.4)

Constraint (6.1) guarantees that the total processing time of all loading tasks scheduled on one machine does not exceed the difference between the latest deadline and the earliest ready time. Equation (6.2) states that for any pair of tasks, either one task comes before the other or the other way round (on one machine), or the two tasks need not be sequenced. Constraint (6.3) demands that the sequencing variables ztu and zut both be zero if tasks t and u are assigned to different gates. Finally, expression (6.4) assures that the precedence relation implied by the z-variables is transitive. All these constraints can be added to the formulation AB2 extended with the corresponding SBC2. For the flow formulation, inequalities analogous to expressions (6.1) and (6.2) are the following:

17

X t∈TL

∩T 2

X

X

xgtu pt ≤ max 2 {dt } − min 2 {rt }

∀g ∈ G

(6.5)

xgut ≤ 1

∀{t, u} ⊂ T 2

(6.6)

xtu + xut ≤ 1

∀{t, u} ⊂ T 2

(6.7)

t∈TL ∩T

u∈T02 \{t}

xgtu +

g∈G

X

t∈TL ∩T

g∈G

Constraints (6.5) and (6.6) can be added to the formulation F, while constraint (6.7) can be added to the adapted formulation F. Finally, the inequality (6.1) has the following equivalent for the time-indexed formulation, which can be added to the formulation TI: X X g xtu pt ≤ max 2 {dt } − min 2 {rt } ∀g ∈ G (6.8) t∈TL ∩T

t∈TL ∩T 2 u∈Ht

t∈TL ∩T

For the time-indexed formulation, the following inequality based on Proposition 2 of Sousa and Wolsey (1992) can be added to the formulation TI:   XX g  xtv +  g∈G

v∈Ht0

X

X

u∈T 2 \{t} w∈Hu00 pu ≥i

 2 max xguw   ≤ m ∀t ∈ T ; ∀h ∈ {1, . . . , Hmax }; ∀i ∈ {2, . . . , pt } (6.9)

with Ht0 = Ht ∩ {h − pt + 1, h + i − 1}, Ht00 = Ht ∩ {h − pt + i, h} and pmax = maxj∈T 2 \{t} {pj }. t The corresponding inequality for the adapted formulation TI is: X X X xuw ≤ m ∀t ∈ T 2 ; ∀h ∈ {1, . . . , Hmax }; ∀i ∈ {2, . . . , pmax } (6.10) xtv + t v∈Ht0

u∈T 2 \{t} w∈Hu00 pu ≥i

For the single-machine case, the right-hand side of the inequalities is one. The left-hand side of the expressions selects a set of variables whose sum cannot exceed the machine capacity. For an example with three tasks, one machine, p1 = 5, p2 = 4 and p3 = 3, a possible solution is x12 = x13 = x22 = x16 = x34 = x38 = 0.5 (all other xtu = 0). However, this solution violates the inequality x22 + x23 + x24 + x25 + x26 + x12 + x13 + x14 + x15 + x34 + x35 ≤ 2, which corresponds with t = 2, h = 5 and i = 2. In order to compare computational performance for larger instances, we have created new instances with m ∈ {10, . . . , 15} and |T | ∈ {4m, 5m, 6m}. The ready times for the unloading jobs are integers randomly drawn from {0, . . . , 25} (uniformly distributed). The processing times are chosen as 1 + X with X binomially distributed with parameters 16 (trials) and 0.5 (probability of success). The deadlines for the loading tasks tPare set to 0.5 t∈T 2 pt and max{d0t , rt + plmax } with d0t uniformly distributed on {β − 10, . . . , β + 10}, β = m lmax = arg maxt∈T 2 {pt }. On comparing the computational results for the different best performing formulations extended with all valid inequalities in Tables 6, 7 and 8, it becomes clear that the adapted 18

# jobs 3 5 7 7 9 10 12

# gates 2 2 2 3 3 3 3

SBC 2 1.80 s 2.05 s 3.36 s 2.85 s 6.75 s 44.17 s >1h

SBC 2 + (6.1) 1.82 s 2.10 s 3.36 s 2.85 s 6.77 s 44.74 s >1h

SBC 2 + (6.2) 1.80 s 2.07 s 3.36 s 2.87 s 8.28 s 49.40 s >1h

SBC 2 + (6.3) 2.08 s 2.58 s 3.65 s 2.86 s 4.39 s 19.33 s 648.40 s

SBC 2 + (6.4) 1.83 s 2.10 s 2.58 s 2.34 s 8.87 s 196.47 s >1h

Table 6: Computation times for the valid inequalities for AB2. # jobs 3 5 7 7 9 10 12

# gates 2 2 2 3 3 3 3

– 1.55 s 1.55 s 2.08 s 1.53 s 7.83 s 299.22 s >1h

adapted form. 1.82 s 1.55 s 2.34 s 1.53 s 3.68 s 36.95 s >1h

– + (6.5) 1.79 s 1.54 s 2.61 s 2.06 s 6.59 s 570.33 s >1h

– + (6.6) 1.54 s 1.81 s 2.64 s 1.80 s 5.75 s 392.93 s >1h

adapted form. + (6.7) 2.33 s 1.55 s 2.32 s 1.85 s 3.15 s 38.81 s >1h

Table 7: Computation times for the valid inequalities for F.

time-indexed formulation is still by far the best performing. Even by combining the different valid inequalities, it was not possible to outperform the results of the adapted time-indexed formulation. Therefore, this latter formulation will be extended for the flexible flow-shop configuration.

7

Flexible flow-shop scheduling

In this section, the full dock assignment problem is modeled as a three-stage flexible flow shop. Each job is now composed of three tasks, one for each stage. We first describe a time-indexed formulation and then report the computational results.

7.1

Time-indexed formulation

As the adapted time-indexed formulation performed best for the parallel-machine scheduling problem and therefore seems the most promising, this formulation is extended to the threestage flexible flow-shop problem. The decision variables are the following. For all tasks t ∈ T and for all time periods u ∈ Ht , ( 1 if task t starts in time period u, xtu = 0 otherwise. with for the loading jobs Ht = {rt + 1, . . . , Hmax − pt − 1} if t ∈ TU ∩ T 1 , Ht = {rt + 2, . . . , Hmax − pt } if t ∈ TU ∩ T 2 and Ht = {rt + 2 + pt , . . . , Hmax } if t ∈ TU ∩ T 3 , where Hmax is again an upper bound on the length of an optimal schedule. For the load jobs, Ht = {rt + 1, . . . , dt − pt − 1} if t ∈ TL ∩ T 1 , Ht = {rt + 2, . . . , dt − pt } if t ∈ TL ∩ T 2 and Ht = {rt + 2 + pt , . . . , dt } if t ∈ TL ∩ T 3 . 19

# jobs 3 5 7 7 9 10 12 15 20 24 28 30 35 42 32 34 40 48 36 45 54 40 50 60

# gates 2 2 2 3 3 3 3 5 5 6 7 7 7 7 8 8 8 8 9 9 9 10 10 10

– 1.04 s 0.79 s 1.02 s 0.79 s 1.29 s 0.78 s 0.76 s 1.04 s 1.02 s 1.31 s 3.41 s 1.29 s 1.31 s 8.61 s 1.02 s 1.84 s 8.12 s 4.92 s 1.56 s 3.63 s 43.97 s 2.10 s 5.96 s 8.34 s

adapted form. 1.54 s 1.54 s 2.09 s 1.55 s 1.31 s 1.30 s 1.56 s 1.32 s 1.28 s 1.32 s 1.81 s 1.29 s 1.30 s 1.82 s 1.53 s 1.31 s 1.54 s 1.53 s 1.81 s 1.57 s 1.55 s 1.02 s 1.31 s 1.02 s

– + (6.8) 0.78 s 0.76 s 1.04 s 0.79 s 0.78 s 0.78 s 1.04 s 1.02 s 1.04 s 1.29 s 3.44 s 1.02 s 1.80 s 6.05 s 1.31 s 1.57 s 9.73 s 5.74 s 1.56 s 3.10 s 27.67 s 2.05 s 5.97 s 10.89 s

– + (6.9) 1.03 s 0.77 s 1.02 s 0.77 s 1.29 s 0.76 s 0.78 s 1.02 s 1.04 s 1.28 s 3.40 s 1.31 s 1.32 s 8.57 s 1.04 s 1.83 s 8.37 s 4.66 s 1.57 s 3.63 s 43.80 s 2.10 s 5.98 s 8.04 s

adapted form. + (6.10) 1.55 s 1.55 s 2.32 s 1.55 s 1.28 s 1.28 s 1.59 s 1.31 s 1.30 s 1.29 s 1.82 s 1.54 s 1.29 s 1.82 s 1.82 s 1.28 s 1.83 s 1.57 s 1.81 s 1.56 s 1.56 s 1.05 s 1.28 s 1.53 s

Table 8: Computation times for the valid inequalities for TI.

A linear formulation for the flexible flow-shop problem with these variables is the following: ÃÃ ! ! Ã ! X X X X min wt uxtu − 1 + pt + wt uxtu (7.1) u∈Ht

t∈TU ∩T 2

t∈TL ∩T 3

u∈Ht

subject to X X

u∈Ht

à xt 1 u + xt 3 u +

X

xtu = 1

∀t ∈ T

(7.2)

∀u ∈ {1, . . . , Hmax }

(7.3)

∀u ∈ {1, . . . , Hmax }

(7.4)

∀(t1 , t2 , t3 ) ∈ J; ∀u ∈ Ht1

(7.5)

∀(t1 , t2 , t3 ) ∈ J

(7.6)

∀t ∈ T ; ∀u ∈ Ht

(7.7)

!

(xt2 v − xt3 v )

≤m

v≤u

(t1 ,t2 ,t3 )∈J

X

(xt1 u + xt3 u ) ≤ τ

(t1 ,t2 ,t3 )∈J

X u∈Ht3

xt1 u − xt2 ,u+1 = 0 X uxt3 u − uxt2 u ≥ pt u∈Ht2

xtu ∈ {0, 1}

The objective function (7.1) minimizes the weighted completion time of the stage-two unloading tasks and the stage-three loading tasks. Constraint (7.2) requires each task to be 20

processed exactly once, either on a gate or by a terminal tractor. Constraint (7.3) ensures that in each time period, at most m activities can be executed. This constraint is based on the fact that for each gate, the finished trailers need to have arrived at the parking lot before the start of the movement of the following trailer from the parking lot to the same gate. The stage-one and stage-three activities and the trailers for which the (un)loading has already started but the transport back to the parking lot has not yet begun, all count as gate occupation. Constraint (7.4) enforces the capacity of the terminal tractors. Constraints (7.5) and (7.6) implement the precedence constraints between the three stages. Finally, constraint (7.7) states that the decision variables xtu are binary. We observe that a stage-two task can always begin immediately after the corresponding stage-one task has been completed. Therefore, we can simply substitute all stage-two variables by an appropriate stage-one variable according to (7.5), so that the transportation towards the gate and the loading or unloading activities are treated as one single task with duration 1 + pt , needing a tractor only in the first period of its processing. For reasons of clarity, we have included in the model above all variables relating to the three stages. In our computational experiments, the aggregator of CPLEX eliminates these variables through substitution (see ILOG 2008). The following inequality is valid for this formulation: u X v=1

u−pt2

xt 3 v ≤

X

xt 2 v

∀(t1 , t2 , t3 ) ∈ J; ∀u ∈ {1, . . . , Hmax }

(7.8)

v=1

Informally, this equation states that in fractional solutions, a stage-three task can only be started up to the fraction to which its stage-two task has been started. As an example, for a job (t1 , t2 , t3 ) with pt2 = 4, a possible solution is 1 1 xt1 1 = xt1 2 = xt1 3 = ; xt2 2 = xt2 3 = xt2 4 = ; xt3 6 = xt3 8 = 0.5 3 3 (with all other xtu = 0). Constraint (7.6) holds for this solution, while constraint (7.8) is violated. For u = 6, constraint (7.8) is not respected because xt3 1 + xt3 2 + xt3 3 + xt3 4 + xt3 5 + xt3 6 = 0.5 while xt2 1 + xt2 2 = 13 . Note that these constraints (7.8) can also function as precedence constraints by themselves; they are equivalent to the disaggregated precedence constraints of Christofides et al. (1987). Although constraint (7.8) makes the mathematicalprogramming formulation theoretically stronger since constraints (7.2) and (7.8) together imply (7.6), Artigues et al. (2008) observe that the additional computation time needed to solve the larger linear program can counterbalance the significant improvement of the bound. Both constraint types will be tested empirically. Define set F = (TU ∩ T 2 ) ∪ {v ∈ (TL ∩ T 2 ) : dv > maxt∈T 1 {rt }} and let p(t) be the tth largest stage-two duration among the jobs in F . Throughout Section 7, we use Hmax = | e, which constitutes an upper bound on the maxt∈T 1 {rt } + p(1) + p(2) + . . . + p(d |F | e) + d 2|F τ m completion time of the last job in at least one optimal flow-shop schedule. Due to the blocking phenomenon, the earlier computation for Hmax can no longer be followed. Instead, we can schedule the jobs in F in d |Fm| e batches of size at most m, the length of which is upper-bounded by the values p(·) . In the worst case, all stage-one and stage-three tasks are | sequentially scheduled on the τ terminal tractors, which gives rise to the final term d 2|F e in τ the summation. 21

7.2

An alternative time-indexed formulation

Inspired by Tang and Xuan (2006), another time-indexed formulation with slightly different decision variables can be proposed: for all tasks t ∈ T and time periods u ∈ Ht , ( 1 if task t is processed or blocked at time u, xtu = 0 otherwise, with the following re-definitions: Ht = {rt + 1, . . . , Hmax − pt − 1} if t ∈ TU ∩ T 1 , Ht = {rt + 2, . . . , Hmax − 1} if t ∈ TU ∩ T 2 , Ht = {rt + 2 + pt , . . . , Hmax } if t ∈ TU ∩ T 3 , Ht = {rt + 1, . . . , dt − pt − 1} if t ∈ TL ∩ T 1 , Ht = {rt + 2, . . . , dt − 1} if t ∈ TL ∩ T 2 and Ht = {rt + 2 + pt , . . . , dt } if t ∈ TL ∩ T 3 . Moreover, for each task t ∈ TU ∩ T 2 , yt equals its tardiness, which is its contribution to the objective function, namely the time between the completion of the unloading task t ∈ TU ∩ T 2 and the due date dt . For each t ∈ TL ∩ T 3 , yt is the negative of its earliness, which is the time between the completion of the transportation task t ∈ T 3 and the deadline dt . The formulation is the following: X min wt yt (7.9) t∈(TU ∩T 2 )∪(TL ∩T 3 )

subject to X

xtu = 1

∀t ∈ T 1 ∪ T 3

(7.10)

xtu ≥ pt

∀t ∈ T 2

(7.11)

(xt1 u + xt2 u + xt3 u ) ≤ m

∀u ∈ {1, . . . , Hmax }

(7.12)

∀u ∈ {1, . . . , Hmax }

(7.13)

∀(t1 , t2 , t3 ) ∈ J; ∀u ∈ {1, . . . , Hmax } ∀t ∈ TU ∩ T 2 ; ∀u ∈ Ht

(7.14) (7.15)

∀t ∈ TL ∩ T 3 ; ∀u ∈ Ht ∀t ∈ T ; ∀u ∈ Ht ∀t ∈ (TU ∩ T 2 ) ∪ (TL ∩ T 3 )

(7.16)

u∈Ht

X

u∈Ht

X (t1 ,t2 ,t3 )∈J

X

(xt1 u + xt3 u ) ≤ τ

(t1 ,t2 ,t3 )∈J

xt1 u + xt2 u − xt2 ,u+1 − xt3 ,u+1 ≤ 0 uxtu − dt ≤ yt uxtu − dt ≤ yt xtu ∈ {0, 1} yt unrestricted in sign

The objective function (7.9) minimizes for all tasks t ∈ T the weighted contribution to the objective, which is computed via (7.15) and (7.16). Constraint (7.10) requires each transportation task to be processed exactly once, and constraint (7.11) enforces that each stage-two task t lasts at least as long as the processing time pt . Constraints (7.12) and (7.13) impose the capacity of the gates and the terminal tractors, respectively. Constraint (7.14) implements the precedence constraints between the three stages.

22

7.3

Computational results

Table 9 shows that the time-indexed formulation with precedence constraint (7.8) performs significantly better than the alternative formulations, especially for medium-sized instances. Uetz (2001) finds that there exist instances for which the LP relaxation of a time-indexed formulation for a project scheduling problem with precedence constraints (7.8) provides lower bounds that are up to 75% higher than a relaxation with constraints (7.6), which is probably one of the major reasons for the difference in performance also in our setting. Adding other precedence constraints as valid inequalities to the different formulations does not improve the running times. We observe that a higher number of terminal tractors (even two) frequently decreases the required computational effort. Table 10 explores the limits of the instance sizes that can be solved to guaranteed optimality within acceptable running times with the best formulation. Compared to the parallelmachine instances, some of the deadlines have been enlarged to create feasible instances. More details on these changes as well as the instances themselves can be found at the earliermentioned website. In the examined instances, the optimal objective-function value seems to be concavely decreasing with τ (indicating a decreasing marginal benefit of additional terminal tractors). For the instances that were not solved within one hour, the objective values for the best solution found are close to the lower bound produced by CPLEX OPL, which is the optimal objective value of the LP relaxation extended with some valid inequalities. This gap, defined as UB−LB ∗ 100%, is shown in Table 11, where UB and LB stand for upper and LB lower bound, respectively. Note that when the starting times of the stage-two activities are fixed, the problem at hand can be modeled as an assignment problem due to the fact that transportation times are unit. We have tested the formulation in which we do not impose an integrality # jobs 3 7 12 15 15 20 20 24 24 24 28 28 28 30 30 30 35 35 35

# gates 2 3 3 5 5 5 5 6 6 6 7 7 7 7 7 7 7 7 7

# tractors 1 1 1 1 2 1 2 1 2 3 1 2 3 1 2 3 1 2 3

(7.6) 2.60 s 3.12 s 5.97 s 7.55 s 3.62 3548 s 10.39 s >1h 7.80 s 21.37 s 4.43 s 25.77 s 5.96 s 68.40 s 7.26 s 5.44 s 146.95 s 105.57 s 40.29 s

(7.8) 2.59 s 2.33 s 2.84 s 4.94 s 2.58 s 23.12 s 3.11 s 25.50 s 4.65 s 3.63 s 4.66 s 9.61 s 3.67 s 39.56 s 4.99 s 3.92 s 53.50 s 25.02 s 6.00 s

alternative 3.89 s 13.46 s >1h >1h >1h >1h >1h >1h >1h >1h >1h >1h >1h >1h >1h >1h >1h >1h >1h

Table 9: Computation times for the extended time-indexed formulations.

23

# jobs 42 42 42 34 34 34 48 48 48 45 45 45 40 40 40 60 60 60 55 55 55 48 48 48 72 72 72 65 65 65 56 56 56 84 84 84 75 75 75

# gates 7 7 7 8 8 8 8 8 8 9 9 9 10 10 10 10 10 10 11 11 11 12 12 12 12 12 12 13 13 13 14 14 14 14 14 14 15 15 15

# tractors 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3

(7.8) 494.96 s 27.81 s 31.48 s 17.46 s 12.21 s 5.45 s >1h 79.56 s 79.96 s 15.58 s 12.26 s 7.79 s 68.35 s 22.25 s 17.67 s 75.47 s 149.55 s 44.73 s s >1h 258.41 s 30.39 s 42.77 s >1h 15.86 s 199.89 s 123.05 s 551.91 s 229.88 s 73.60 s 184.23 s 99.28 s 287.81 s 47.34 s * >1h 938.72 s * 129.52 s 1811.79 s

# jobs 32 32 32 40 40 40 36 36 36 54 54 54 50 50 50 44 44 44 66 66 66 60 60 60 52 52 52 78 78 78 70 70 70 60 60 60 90 90 90

# gates 8 8 8 8 8 8 9 9 9 9 9 9 10 10 10 11 11 11 11 11 11 12 12 12 13 13 13 13 13 13 14 14 14 15 15 15 15 15 15

# tractors 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3

(7.8) 6.27 s 12.73 s 4.19 s 175.52 s 47.35 s 5.19 s 20.14 s 17.77 s 4.72 s 109.71 s 2068.52 s 17.68 s 61.21 s 174.25 s 26.29 s 31.43 s 21.33 s 15.08 s 106.38 s >1h 441.00 s 104.90 s >1h 49.55 s 85.00 s 46.60 s 56.96 s 260.26 s >1h 262.74 s 263.53 s >1h 183.78 s >1h 129.98 s 217.51 s * 2147.60 s >1h

Table 10: Running times for larger instances. An asterisk ‘*’ means that CPLEX OPL was not able to solve this instance because of memory problems.

constraint on stage-one and stage-three decision variables, but the computational effort did not significantly improve.

8

Conclusions

In this article, we have compared various mathematical formulations for a parallel-machine scheduling problem representing a dock assignment problem, where trailers are assigned to 24

# jobs 48 55 66 48 60 78 70 84 60 90

# gates 8 11 11 12 12 13 14 14 15 15

# tractors 1 1 2 2 2 2 2 2 1 3

gap 0.12% 0.02% 0.48% 0.04% 0.60% 0.22% 0.15% 1.64% 0.02% 0.08%

Table 11: Gap achieved by CPLEX OPL after one hour

gates for loading or unloading. Our work includes a study of different ways for dealing with symmetry and the addition of multiple sets of valid inequalities. The adapted timeindexed formulation performs significantly better than the other formulations (which were assignment-based and flow-based). The parallel-machine model is subsequently extended to a three-stage flexible flow shop, where the first and the third stage consist of the movement of the trailers from a parking lot to the gates and back, respectively. With this timeindexed formulation, we are able to solve small to medium-sized instances to guaranteed optimality within reasonable CPU times. Further research is needed to produce optimal solutions for real-life instances within acceptable running times; it seems realistic to assume that one should resort to large-scale heuristic procedures (e.g., meta-heuristics) for finding high-quality solutions for large instances.

References C. Artigues, S. Demassey, and E. N´eron. Resource-constrained project scheduling. Control Systems, Robotics and Manufacturing Series. ISTE Ltd, 2008. J.F. Bard and S. Rojanasoonthon. A branch-and-price algorithm for parallel machine scheduling with time windows and job priorities. Naval Research Logistics, 53:24–44, 2006. L. Bigras, M. Gamache, and G. Savard. Time-indexed formulations and the total weighted tardiness problem. INFORMS Journal on Computing, 20(1):133–142, 2008. E.K. Bish, T. Leong, C. Li, J.W.C. Ng, and D. Simchi-Levi. Analysis of a new vehicle scheduling and location problem. Naval Research Logistics, 48:363–385, 2001. E.K. Bish, F.Y. Chen, Y.T. Leong, B.L. Nelson, J.W.C. Ng, and D. Simchi-Levi. Dispatching vehicles in a mega container terminal. OR Spectrum, 27:491–506, 2005. J. Blazewicz, M. Dror, and J. Weglarz. Mathematical programming formulations for machinery scheduling: A survey. European Journal of Operational Research, 51:283–300, 1991.

25

J. B¨ose, T. Reiners, D. Steenken, and S. Voss. Vehicle dispatching at seaport container terminals using evolutionary algorithms. In Proceedings of the 33rd Hawaii International Conference on System Sciences, pages 1–10, 2000. N. Boysen, M. Fliedner, and A. Scholl. Scheduling inbound and outbound trucks at cross docking terminals. OR Spectrum, 32:135–161, 2010. Z. Chen and W.B. Powell. Solving parallel machine scheduling problems by column generation. INFORMS Journal on Computing, 11(1):78–94, 1999. T.C.E. Cheng and C.C.S. Sin. A state-of-the-art review of parallel-machine scheduling research. European Journal of Operational Research, 47:271–292, 1990. N. Christofides, R. Alvarez-Vald´es, and J.M. Tamarit. Project scheduling with resource constraints: a branch-and-bound approach. European Journal of Operational Research, 29 (3):262–273, 1987. Y. Crama and F.C.R. Spieksma. Scheduling jobs of equal length: complexity, facets and computational results. Mathematical Programming, 72:207–227, 1996. Y. Dallery and S.B. Gershwin. Manufacturing flow line systems: a review of models and analytical results. Queueing Systems, 12:3–94, 1992. M.M. Dessouky. Scheduling identical jobs with unequal ready times on uniform parallel machines to minimize the maximum lateness. Computers and Industrial Engineering, 34 (4):793–806, 1998. M.E. Dyer and L.A. Wolsey. Formulating the single machine sequencing problem with release dates as a mixed integer problem. Discrete Applied Mathematics, 26:255–270, 1990. J.N.C. Gupta, K. Kr¨ uger, V. Lauff, F. Werner, and Y.N. Sotskov. Heuristics for hybrid flow shops with controllable processing times and assignable due dates. Computers & Operations Research, 29:1417–1439, 2002. M. Haouari, L. Hidri, and A. Gharbi. Optimal scheduling of a two-stage hybrid flow shop. Mathematical Methods of Operations Research, 64:107–124, 2006. ILOG. ILOG CPLEX 11.0 user’s manual. ILOG, Inc., 2008. http://www.decf.berkeley.edu/help/apps/ampl/cplex-doc/.

available online at

V. Jain and I.E. Grossmann. Algorithms for hybrid milp/cp models for a class of optimization problems. INFORMS Journal on Computing, 13(4):258–276, 2001. R. Jans. Solving lotsizing problem on parallel identical machines using symmetry breaking constraints. INFORMS Journal on Computing, 21(1):123–136, 2008. S. Kedad-Sidhoum, Y. Rios Solis, and F. Sourd. Lower bounds for the earliness-tardiness scheduling problem on parallel machines with distinct due dates. European Jounal of Operational Research, 189:1305–1316, 2008. 26

T. Kis and E. Pesch. A review of exact solution methods for the non-preemptive multiprocessor flowshop problem. European Journal of Operational Research, 164:592–608, 2005. H. Kise, T. Shioyama, and T. Ibaraki. Automated two-machine flow-shop scheduling: a solvable case. IIE Transactions, 23(1):10–16, 1991. J.K. Lenstra and A.H.G. Rinnooy Kan. Complexity of scheduling under precedence constraints. Operations Research, 26(1):22–35, 1978. R. Linn and W. Zhang. Hybrid flow shop scheduling: a survey. Computers and Industrial Engineering, 37:57–61, 1999. F. Margot. Symmetry in integer linear programming. 2008. Tepper working paper 2008 E-37. R. Mellouli, C. Sadfi, C. Chu, and I. Kacem. Identical parallel-machine scheduling under availability constraints to minimize the sum of completion times. European Journal of Operational Research, 179:1150–1165, 2009. Z. Miao, A. Lim, and H. Ma. Truck dock assignment problem with operational time constraint within crossdocks. European Journal of Operational Research, 192:105–115, 2009. O. Moursli and Y. Pochet. A branch-and-bound algorithm for the hybrid flowshop. International Journal of Production Economics, 64:113–125, 2000. T. Nichi, Y. Hiranaka, and M. Inuiguchi. Lagrangian relaxation with cut generation for hybrid flowshop scheduling problems to minimize the total weighted tardiness. Computers & Operations Research, 37:189–198, 2010. T. Oncan, I. Kuban Altinel, and G. Laporte. A comparative analysis of several asymmetric traveling salesman problem formulations. Computers & Operations Research, 36:637–654, 2009. C.D. Paternina-Arboleda, J.R. Montoya-Torres, M.J. Acero-Domingues, and M.C. HerreraHernandez. Scheduling jobs on a k-stage flexible flow-shop. Annals of Operations Research, 164:29–40, 2008. I. Ribas, R. Leisten, and J.M. Frami˜ nan. Review and classification of hybrid flow shop scheduling problems from a production system and a solutions procedure perspective. Computers & Operations Research, 37:1439–1454, 2010. R. Sadykov and L.A. Wolsey. Integer programming and constraint programming in solving a multimachine assignment scheduling problem with deadlines and release dates. INFORMS Journal on Computing, 18(2):209–217, 2006. H.D. Sherali and J.C. Smith. Improving discrete model representations via symmetry considerations. Management Science, 47(10):1396–1407, 2001. J.P. Sousa and L.A. Wolsey. A time indexed formulation of non-preemptive single machine scheduling problems. Mathematical Programming, 54:353–367, 1992. 27

L. Tang and H. Xuan. Lagrangian relaxation algorithms for real-time hybrid flowshop scheduling with finite intermediate buffers. Journal of the Operational Research Society, 57:316–324, 2006. M. Uetz. Algorithms for deterministic and stochastic scheduling. PhD thesis, Technische Universit¨at Berlin, Germany, 2001. J.M. van den Akker, C.A.J. Hurkens, and M.W.P. Savelsbergh. Time-indexed formulations for machine scheduling problems: Column generation. INFORMS Journal on Computing, 12(2):111–124, 2000. A. Vignier, J.C. Billaut, and C. Proust. Hybrid flowshop scheduling problems: state of the art. RAIRO Operations Research, 33(2):117–183, 1999. Z. Zhu and R.B. Heady. Minimizing the sum of earliness/tardiness in multi-machine scheduling: a mixed integer programming approach. Computers & Industrial Engineering, 38: 297–305, 2000.

28