You are on page 1of 10

Computers & Operations Research 37 (2010) 32 -- 41

Contents lists available at ScienceDirect

Computers & Operations Research


journal homepage: w w w . e l s e v i e r . c o m / l o c a t e / c o r

Truck scheduling at zero-inventory cross docking terminals


Nils Boysen
Allgemeine Betriebswirtschaftslehre/Operations Management, Carl-Zei-Strae 3, D-07743 Jena, Germany
Friedrich-Schiller-Universita t Jena, Lehrstuhl fur

A R T I C L E

I N F O

Available online 26 March 2009


Keywords:
Logistics
Food industry
Cross docking
Truck scheduling
Dynamic programming

A B S T R A C T

Handling freight at cross docking terminals constitutes a complex planning task which comprises several
executive steps as shipments delivered by inbound trucks are to be unloaded, sorted according to their
designated destinations, moved across the dock and finally loaded onto outbound trucks for an immediate
delivery elsewhere in the distribution system. To enable an efficient synchronization of inbound and
outbound flows, a careful planning of operations, e.g. by computerized scheduling procedures, becomes
indispensable. This work treats a special truck scheduling problem arising in the (zero-inventory) cross
docks of the food industry, where strict cooling requirements forbid an intermediate storage inside the
terminal, so that all products are to be instantaneously loaded onto refrigerated outbound trucks. The
problem is formalized such that different operational objectives, i.e. the flow time, processing time and
tardiness of outbound trucks, are minimized. To solve the resulting truck scheduling problem suited exact
and heuristic solution procedures are presented.
2009 Elsevier Ltd. All rights reserved.

1. Introduction
A cross docking terminal is a distribution center exclusively dedicated to the transshipment of truck loads. In comparison to traditional warehouses, a cross dock carries no or at least a considerably
reduced amount of stock. Whenever an incoming truck arrives at the
yard of a cross dock, it is assigned to a dock door, where inbound
loads are unloaded and scanned to determine their intended destinations. Then, loads are moved across the dock and loaded onto outbound trucks for an immediate delivery elsewhere in the distribution
system. This requires a synchronization of inbound and outbound
loads, so that transport times and temporary inventory at the dock
are kept as low as possible. In addition to that, cross docking allows
a consolidation of differently sized shipments with the same destination to full truck loads, so that economies in transportation costs
can be realized [2]. These advantages make cross docking an important logistics strategy receiving increased attention in today's globalized competition with its ever increasing volume of transported
goods. Success stories on cross docking which resulted to considerable competitive advantages are reported for several industries with
high proportions of distribution costs like retail chains (Wal Mart;
[22]), mailing companies (UPS; [12]), automobile producers (Toyota;
[25]) and less-than-truckload logistics providers [13].

E-mail address: nils.boysen@uni-jena.de.


0305-0548/$ - see front matter 2009 Elsevier Ltd. All rights reserved.
doi:10.1016/j.cor.2009.03.010

A schematic representation of the material handling operations


carried out at cross docking terminals is depicted in Fig. 1. Incoming trucks which arrive at the yard of the cross dock are either directly assigned to a receiving door or have to wait in a queue on the
yard until assignment. Once docked, goods, i.e. pallets, packages or
boxes, of the inbound trailer are unloaded and scanned to identify
their respective destinations. Then, goods are taken over by some
material handling device, such as a worker operating a fork lift, e.g.
in retail industries [13], or some kind of conveyor belt system, e.g.
in mail distribution centers [18]. The goods are hence forwarded to
the designated shipping door, where they are loaded onto an outbound truck, which serves the dedicated destination. Once an outbound (inbound) truck is completely loaded (unloaded) the trailer is
removed from the dock, replaced by another trailer and the course
of action repeats.
The paper on hand deals with the truck scheduling problem,
which generally comprises the assignment of trucks to dock doors
and the determination of an overall docking schedule for all trucks
and doors. Thus, the respective dispatcher needs to take two interrelated decisions: where and when trucks should be processed at
the terminal. The specific constraints for this scheduling task vary
considerably between different branches of industries: In the distribution networks of retail chains there exist cross docks (or separated
parts of larger terminals) especially dedicated to frozen foods and
dairy products, which typically require special arrangements as it is
to be made sure that the cooling chain is not broken. Such cross docks
do not differ from any other cross dock (except for the size, which is

N. Boysen / Computers & Operations Research 37 (2010) 32 -- 41

Fig. 1. Material handling in cross docking terminals.

comparatively small to reduce transportation times of frozen goods


inside the uncooled terminal), but require a special kind of transshipment policy: Perishable goods are not allowed to be intermediately stored inside the terminal. Once a frozen good is unloaded
from its refrigerated inbound trailer it must be directly moved and
loaded onto its designated refrigerated outbound trailer. Otherwise
a defrost and decay of comestible goods threatens. This structural
property distinguishes the resulting truck scheduling problem from
existing research on this topic provided by McWilliams et al. [18], Yu
and Egbelu [26], Boysen et al. [7] and Miao et al. [19], who all consider different intermediate storage settings. The paper on hand formalizes the novel truck scheduling problem in these zero-inventory
cross docks to enable a synchronized flow of goods across the dock.
For this purpose, three different operational objectives are considered: minimization of flow time, processing time and tardiness.
Although our study is inspired by a single real-world case at a
major German retail chain, the underlying problem setting is highly
relevant in practice as the zero-inventory policy is often applied not
only for refrigerated foods but for any kind of good, i.e., flowers,
cosmetics or medicine, which require special treatment provided
only by particular trailers. Moreover, the zero-inventory policy is
often voluntarily applied to avoid obstacles for material handling
devices inside a terminal.
The paper is structured as follows. After a brief literature review
in Section 2, Section 3 provides a detailed problem description and
its mathematical formalization. Suited exact (dynamic programming,
DP) and heuristic (simulated annealing, SA) procedures for its solution are presented in Section 4. The results of an extensive computational study are summarized in Section 5. Section 6 explains the
integration of the static truck scheduling problem in a rolling planning horizon and, finally, Section 7 concludes the paper.
2. Literature review
Previous research on cross docking mainly investigates one of the
following decision problems: (i) location of cross docks and other
kinds of intermediate warehouses (e.g. see the summaries about
hub location problems provided by [9,15], (ii) layout of the dock
(see [4]), (iii) assignment of outbound destinations to dock doors
[23,24,13,3,6,21].
Only very few research papers deal with the short-term scheduling problems which continuously arise during the daily operations
of cross docking terminals. Li et al. [16] consider material handling
inside the terminal for a given truck schedule. Once a set of inbound
and outbound trucks has been docked, all handling operations need
to be assigned to resources, i.e. workers and material handling devices, e.g. fork lifts, in such a way that all unloading, sorting and
loading operations are carried out as efficiently as possible. Li et al.
[16] model this task as a machine scheduling problem and present
a metaheuristic for its solution.

33

Up to now, only McWilliams et al. [18], Yu and Egbelu [26], Boysen et al. [7] as well as Miao et al. [19] treat the problem of truck
scheduling, which is also in the focus of the paper on hand. However,
none of these existing papers cover the requirements of the zeroinventory cross docking terminals of the food industry. McWilliams
et al. [18] treat a different truck scheduling problem arising in a mail
distribution center, where the movement of goods inside the terminal is conducted by a conveyor belt system. The resulting problem
is solved by simulation based optimization. Yu and Egbelu [26] as
well as Boysen et al. [7,8] consider stylized settings where a terminal consists of merely a single inbound and a single outbound door.
Finally, Miao et al. [19] provide scheduling procedures adopted from
gate assignment in airports, where trucks are assumed to have given
service time windows, which are to be maintained as hard constraints. All of these assumptions are quite limiting with regard to
real-world applications. Moreover, the existing truck scheduling approaches rely upon an intermediate storage of goods inside the terminal. Consequently, a novel truck scheduling problem is developed
which covers the requirements of the zero-inventory cross docking
terminals of the food industry as is presented in the following.
3. Detailed problem description
The basic input data of truck scheduling is a set I of inbound trucks
carrying goods, which are to be loaded onto a set O of outbound
trucks serving different destinations. A first noteworthiness in food
industry is, that inbound loads are dedicated to a specific outbound
truck and destination, which means that a substitution of products of
the same kind between different inbound trucks is not allowed. This
results from the fact, that goods are pre-commissioned as ordered
by the customer, because a re-packing inside the uncooled terminal is to be avoided. In order to prevent an unfreezing and decay of
perishable foods, the intermediate storage inside the terminal is further forbidden (zero-inventory policy). Once the first inbound truck
which carries load for a specific outbound destination is docked, the
respective refrigerated outbound trailer o is to be docked as well, so
that the goods can be directly transferred. The outbound truck remains under processing until the last inbound truck carrying load
for o is served.
Inbound trucks I and outbound trucks O are to be assigned to dock
doors, which are assumed to consist of an arbitrary given number
DI of receiving doors and an arbitrary given number DO of shipping
doors. Both door sets are operated in a segregated mode of service,
so that inbound trucks are exclusively unloaded at the predefined set
of receiving doors and outbound trucks are exclusively loaded at the
fixed set of shipping doors. This assumption is in line with common
organizational guidelines, which aim at avoiding mixed assignments
of inbound and outbound trucks per door. Frequently, one side of the
dock is exclusively dedicated to inbound and the other to outbound
operations, in order to ease material handling inside the terminal
(see [4, p. 237] ).
At these dock doors inbound and outbound trucks are to be scheduled according to their chronological succession. In the food industry transported goods are shipped on standardized cargo carriers
(e.g. euro pallets) and trailers of a standard size. Furthermore shipments are typically consolidated to full truckloads. As a consequence,
handling operations (docking, unloading and undocking) of inbound
trucks take a very similar amount of time. In fact if differences in
service times do exist, they can hardly be anticipated upfront, so that
practitioners tend to use approximate average service times over all
trucks for planning purposes.
In the decision problem continuous time space is thus discretized
into periods of a fixed length, e.g. a quarter of an hour, which are sufficiently long to carry out all handling operations required to process
an inbound truck. The whole planning horizon is hence represented

34

N. Boysen / Computers & Operations Research 37 (2010) 32 -- 41

by the total number of periods t =1, . . . , T available. As inbound doors


can be served simultaneously each period further contains DI service
slots to which inbound trucks can be assigned.
To reduce the delay of goods induced by the transshipment and to
rapidly empty out trucks for succeeding shipping orders, dispatchers
aim at processing all inbound trucks as soon as possible. With a given
number DI of inbound doors available, at the earliest, a number |I|
of inbound trucks can be processed in T = |I|/DI  periods. T is thus
the minimum makespan of the inbound schedule and bounds the
number of periods available for truck handling within our model. To
avoid unassigned slots in a solution and to ease the presentation, the
set I can be filled with virtual inbound trucks carrying no goods.
Thus, without loss of generality, it is assumed that: |I| = DI T, so that
the decision problem of inbound scheduling reduces to assigning the
set I of inbound trucks to the T DI slots available, which is stored in
solution matrix  : {1, . . . , T} {1, . . . , DI } I.
The time requirements for moving goods inside the terminal generally depend on the relative distance between the dock doors to
which the respective inbound and outbound trucks have been assigned. In the considered case of the food industry, cross docks tend
to be held comparatively small. Typically, only a small subset of adjacent doors of a larger cross dock is especially dedicated to frozen
foods in order to reduce distances and movement times and thus the
threat of defrost and decay. This justifies a further simplification of
the truck scheduling problem, as movement times of goods inside
the cross dock either become negligible or at least hardly vary from
one truck to another. If movement times are assumed to be constant,
they can be omitted in the decision problem as any retrieved solution can be turned into an appropriate schedule by simply reindexing
the time periods shifted by the respective movement time. Further
details on how to apply our truck scheduling model in a real-world
rolling horizon setting are discussed in Section 6.
The aforementioned premises allow for the following formalization of the truck scheduling problem. For each inbound truck i the
set Li is known, which comprises all outbound trucks for which inbound truck i carries a load. Hence, we can also directly deduce the
inverted sets Lo of inbound trucks carrying loads for outbound truck
o: Lo = {i I|{o} Li }o O. The zero-inventory policy requires that,
as soon as the first inbound truck i Lo is scheduled at a slot t, also
outbound truck o has to be docked at an outbound door to receive
the carried load and remains there until all trucks i Lo have been
processed. We can thus derive the set (o) of periods outbound truck
o has to stay docked as follows:


(o) = t = 1, . . . , T| min{(i)}  t  max{(i)}


iLo

iLo


o O

(1)

where (i) denotes the period to which inbound truck i is assigned to


in solution matrix . At the same time, such an outbound schedule
has to regard the scarce number DO of outbound doors available. The
cardinality of the set (t) of outbound trucks actually processed in
period t may therefore not exceed the given number DO of outbound
doors. The set (t) can be calculated as follows:

(t) = {o O|{t} (o)} t = 1, . . . , T

(2)

To reduce the delay of goods induced by the transshipment operations at a cross docking terminal, different reasonable objectives can
be utilized to operationalize the general claim for synchronized inbound and outbound product flows. Of course, the most natural objective would be to minimize the overall costs associated with the
distribution process. However, several influencing factors are difficult to quantify, i.e. the loss of goodwill, whenever goods arrive late
at their final destinations. Consequently, operational planning and
scheduling often employs surrogate objectives, so that the following
three objectives are to be considered within this paper:

Table 1
Example data.
I

DI

Li

1,2

2,3

1,2,4

DO

DDo

Table 2
Impact of inbound schedules on the objectives of the truck scheduling problem.
t

(t)

(t)

3
2
1

36
24
15
Solution A

{3}
{2, 3, 4}
{1, 2, 4}

13
46
25
Solution B

{1, 2, 3}
{1, 2, 3, 4}
{1, 2, 3, 4}

Flow time: To reduce the delay of goods, it is recommendable to


schedule outbound trucks in such a way, that they leave the cross
dock at the earliest point in time possible. The whole time span from
the first period (t = 1) up to the departure of an outbound truck o
is defined as the flow time of truck o. The flow time per outbound
truck o is represented by the biggest element (period) of set (o), so

that the overall flow time is equal to: F() = oO max{(o)}.
Processing time: Another operational objective is to reduce the
time span outbound trucks remain under processing (docked) at
the terminal. By minimizing the processing time of outbound trucks,
the average number of vehicles simultaneously processed per period
is reduced as well, so that the scarce number of outbound doors are
less utilized, which, i.e., increases flexibility whenever rush orders
need to be additionally scheduled. The processing time of each single
outbound truck can be computed by acquiring the cardinality of set

|(o)| and the overall processing time amounts to: P() = oO |(o)|.
Tardiness: Often, shipments are bound to due dates negotiated
with the customers. If the remaining transportation time of an outbound truck once it has left the cross dock is (or can be reasonably
approximated as being) a given constant, then a terminal-specific
due date DDo can be derived, which determines the latest point in
time outbound truck o has to leave the cross dock to ensure on time
deliveries. Whenever such due dates exist, e.g. to avoid contractual
penalties or losses of goodwill, the tardiness of outbound trucks is
to be minimized. The total tardiness T() summarized over all out
bound trucks amounts to: T() = oO max{0, max{(o)} DDo }.
Example: The dependency of these objectives on the schedule of
inbound trucks shall be clarified by an example with the data given in
Table 1. Five inbound trucks i=1, . . . , 5 are given, which carry loads for
o=1, . . . , 4 outbound trucks. As there are assumed to be DI =2 inbound
doors available, T =|I|/DI = 52 =3 periods are required to process all
inbound trucks. To avoid empty slot assignments, the set of inbound
trucks I is extended by one additional empty virtual inbound truck
(T DI |I| = 3 2 5 = 1). The sets Li specify the outbound trucks
inbound trucks i=1, . . . , 6 carry load for. Additionally, parameters DDo
record the due dates of outbound trucks, which are to be process at
DO = 3 outbound doors available. The used notation is summarized
in Table 3.
Table 2 displays two alternative solutions matrices  along with
the resulting outbound truck sets (t) actually processed in period t.
Solution A results to a feasible solution with an overall flow time of
F()=8, a processing time of P()=7, and a total tardiness of T()=0.
Solution B is infeasible (in periods 1 and 2 four outbound trucks
need to be processed). Note that for some instances, e.g., inbound
truck 5 delivers products for all four outbound trucks: L5 = {1, 2, 3, 4},
no feasible solution exists. In general, there are some alternative
reactions to ensure feasible cross docking in such a setting: (i) An

N. Boysen / Computers & Operations Research 37 (2010) 32 -- 41


Table 3
Notation.
I
O
T
Lo
Li
DI
DO
DDo

Set of inbound trucks (index i)


Set of outbound trucks (index o)
Number of periods for (un-)loading trucks (index t)
Set of inbound trucks carrying items for outbound truck o
Set of outbound trucks inbound truck i carries items for
Number of inbound doors
Number of outbound doors
Due date for the departure of outbound truck o to ensure on time
delivery
{1, . . . , T} {1, . . . , DI }-matrix of inbound trucks assigned to slots
Set of periods inbound truck i is assigned to within matrix 
Set of periods outbound truck o remains at the dock: {t =
1, . . . , T|miniLo {(i)}  t  maxiLo {(i)}}
Set of outbound trucks actually processed at the dock in period t:
{o O|{t} (o)}


(i)
(o)
(t)

inbound truck can remain docked at the terminal for more than a
single period. (ii) The products can be intermediately stocked inside
the terminal. However, both reactions were forbidden in our realworld setting of food industry. Consequently, reaction (iii) remains,
which is to resolve infeasibility by opening additional not yet utilized
outbound doors. Section 6 elaborates on this reaction in detail. Thus,
if an additional outbound door is opened and DO is enhanced to 4,
Solution B entails a sum of flow times of F() = 11, a processing time
of P() = 11, and a total tardiness of T() = 3.
With the help of the notation summarized in Table 3 the truck
scheduling problem (TRSP) can be formalized as follows.
Model formulation: Within TRSP a matrix  : {1, . . . , T}
{1, . . . , DI } I is to be determined which minimizes one of the
objective functions (3) to (5) subject to constraints (6) and (7):

max{(o)} or
(3)
Minimize F() =
oO

Minimize P() =

|(o)|

or

(4)

oO

Minimize T() =

max{0, max{(o)} DDo }

(5)

oO

subject to
|(i)| = 1

i I
O

|(t)|  D

t = 1, . . . , T

(6)

stage which contains a subset Vt V of nodes representing states of


the partial truck schedule up to sequence position t. Additionally, a
start level t = 0 is introduced. Each index j Vt identifies a state (t, j)
defined by the vector Xtj of quantities Xtji of all inbound trucks i I
already scheduled up to sequence position t. It is sufficient to store
the quantities of trucks instead of their exact partial slot assignment,
because the set of outbound trucks actually served at decision point
t + 1 only depends on the trucks scheduled before Xtji irrespective
of their exact order and the truck scheduled in t + 1.
The following conditions define all feasible states to be represented as nodes of the graph:

Xtji = t DI t = 0, . . . , T; j Vt
(8)
iI

Xtji {0, 1}

4. Algorithms
This section provides suited algorithms for the solution to TRSP.
First, an exact dynamic programming approach is presented (Section
4.1), then, a heuristic simulated annealing procedure (Section 4.2) is
described.
4.1. Dynamic programming approach
The dynamic programming approach is based on an acyclic digraph G = (V, E, r) with a node set V divided into T + 1 stages, a set
E of arcs connecting nodes of adjacent stages and an arc weighting
function r : E N (see [5,8], for related approaches to sequencing mixed-model assembly lines). Each period t is represented by a

i I; t = 0, . . . , T; j Vt

(9)

Obviously, the node set V0 contains only a single node (initial state
(0, 1)) corresponding to the vector X01 = [0, 0, . . . , 0]. Similarly, node
set VT contains a single node (final state (T, 1)) with XT1 =[1, 1, . . . , 1].
The remaining stages have a variable number of nodes depending
on the number of different truck vectors Xtj possible.
Two nodes (t, j) and (t + 1, k) of two consecutive stages t and t + 1
are connected by an arc if the associated vectors Xtj and Xt+1k differ
only in DI elements, i.e., exactly DI inbound truck are additionally
scheduled in position t + 1. This is true if Xtji  Xt+1ki holds for all
i I, because both states are feasible according to (8) and (9). The
overall arc set is defined as follows:
E = {((t, j), (t + 1, k))|t = 0, . . . , T 1; j Vt ; k Vt+1
and Xtji  Xt+1ki i I}

(10)

Finally, arc weights r((t,i),(t+1,k)) assign the contribution to the overall


objective value to each arc (and the scheduling decision represented
by the arc). For this purpose, two different kinds of information,
which can be easily deduced from the scheduled inbound trucks
represented by a state, are to be stored with each node. First, the set
OStj contains all outbound trucks, which are actually processed at the
dock or already completely loaded within preceding slots, induced
by the respective occurrence of inbound trucks:

Li
(11)
t = 1, . . . , T; j Vt
OStj =

iI|Xtji =1

(7)

Objective functions (3) and (4) minimize the overall flow time and
processing time of outbound trucks, respectively, whereas objective
function (5) minimizes the tardiness of outbound trucks, if due dates
DDo are to be observed. Equalities (6) ensure that each inbound truck
is processed in exactly one period, whereas constraints (7) restrict
the number of outbound trucks actually served during period t to
not exceed the number of outbound doors DO available.

35

Second, the set OPtj covers all outbound trucks, which are completely
loaded when the actual slot passed:
OPtj = {o O|Lo {i I|Xtji = 1}} t = 1, . . . , T; j Vt

(12)

with the help of these two sets all arc weights can be calculated in
dependency of the respective objective function actually considered:
Flow time: To calculate the flow time of outbound trucks, for
each single arc those outbound trucks need to be determined, which
leave the system just after the respective period t + 1 passed. These
outbound trucks simply amount to the relative complement of OPtj in
OPt+1k and need to be weighted with the actual period t + 1, which
equals the flow time of these trucks:
F()

r((t,j),(t+1,k)) = |OPt+1k \OPtj | (t + 1)

t = 1, . . . , T 1; j Vt ; k Vt+1
(13)

Processing time: If the overall objective is to minimize the sum


of processing times, then the number of outbound trucks actually
processed during slot t + 1 needs to be derived as the arc weight. It
simply amounts to the cardinality of the relative complement of OPtj

in OSt+1k , because all outbound trucks under processing with regard

36

N. Boysen / Computers & Operations Research 37 (2010) 32 -- 41

Fig. 2. Example graph of the dynamic programming procedure.

to the successor node of stage t + 1, which have not been already


completely loaded with regard to the predecessor node of stage t,
remain under processing during t + 1 and contribute to the overall
processing time:
P()

r((t,j),(t+1,k)) = |OSt+1k \OPtj |

t = 1, . . . , T 1; j Vt ; k Vt+1

(14)

Tardiness: If due dates DDo need to be observed per outbound


truck, the flow time of all outbound trucks leaving the dock can be
directly utilized, because it equals the respective departure time of
the truck. Whenever this departure time exceeds the given due date,
a tardiness occurs, which is to be stored as the arc weight:
T()

r((t,j),(t+1,k)) =

max{0, t + 1 DDo }

o{OPt+1k \OPtj }

t = 1, . . . , T 1; j Vt ; k Vt+1

(15)

Moreover, the node weights dedicated to the processing time objective can directly be applied to decide on the feasibility of arcs
and nodes. If the number of outbound trucks to be actually processed in a slot t exceeds the number DO of outbound doors availP()
able: r((t,j),(t+1,k)) > DO , the use of the arc would, in any case, result
in an infeasible truck schedule. Thus, the arc is to be excluded from
the graph. If all arcs flowing into a node are fathomed, the respective
node is also infeasible and is to be excluded.
With this graph on hand, the optimal solution to our truck
scheduling problem reduces to finding the shortest path from the
unique source node at level 0 to the unique sink node at level T,
where the length of the path is given by the sum of weights of
the arcs contained. The minimum objective value corresponds to
the length of the shortest path. The corresponding truck assignment  can be deduced by considering each arc ((t, j), (t + 1, k))
with t = 0, . . . , T 1 on the shortest path SP. The DI inbound trucks
to be assigned at sequence position t + 1 are the ones for which
Xt+1ji Xtki = 1 holds.
Example (cont.): The resulting DP-graph which minimizes the processing time objective along with a (bold-faced) shortest path for our
example is depicted in Fig. 2. This path corresponds to the optimal
solution matrix  = {{1, 5}, {2, 4}, {3, 6}} and a minimum processing
time of P() = 7, which is also listed as solution A in Table 2. All arcs
corresponding to infeasible assignments, which exceed the number
of outbound doors available, have been omitted.
Instead of constructing the complete graph before computing the
shortest path, the more efficient DP approach consists of determining
the shortest path from the initial state to each node stage-by-stage
(t = 0, . . . , T 1). For this purpose, only two stages of the graph have
to be stored simultaneously, because the shortest path to a node

(t + 1, k) in stage t + 1 is composed of a shortest path to a node


(t, j) in stage t (already determined and stored) and the connecting
arc ((t, j), (t + 1, k)). Among all predecessor states of (t + 1, k) the one
with minimal arc weight is to be selected and stored. After reaching
the final state (T, 1) in stage T, the optimal path can be retrieved
in backward direction stage-by-stage using the stored predecessor
nodes.
Although compared to a full enumeration of all possible solution
matrices  the computational effort is already considerably reduced,
a further speed-up is obtained by employing the idea of bounded
dynamic programming (BDP) (e.g. [17,20,10,5,8]). BDP extends the DP
approach explained above by additionally computing node specific
lower bounds LBt,j on the remaining path length to the sink node.
Furthermore, a global upper bound UB is determined upfront by
some heuristic procedure(s). Whenever LBt,j plus the shortest path
to the respective node is equal to or exceeds the upper bound UB,
the node (t, j) can be fathomed as it cannot be part of a solution with
a better objective value than the incumbent solution.
Simple lower bounds for our three objectives are based on the
relaxation of the coherency between inbound trucks and outbound
loads. Under this prerequisite a separate inbound schedule is determined separately for each outbound truck, where it is assumed that
all remaining inbound trucks carrying load for the respective outbound truck are assigned as soon as possible. To calculate the lower
bounds per node (t, j) the value R(o, t, j) represents the least number of remaining periods to complete outbound truck o : R(o, t, j) =
|Lo \{i I|Xtji = 1}|/DI o O; t = 1, . . . , T 1; j Vt . With the help
of this number all objective function specific lower bounds LBt,j can
be derived for any node (t, j):
Flow time: If the flow time of outbound trucks is to be minimized,
then all remaining outbound trucks, which have not already been
completely loaded with goods of the inbound bound trucks actually
scheduled, can (at the earliest) leave the system after R(o, t, j) additional periods:
F()

LBt,j

(t + R(o, t, j))

t = 1, . . . , T 1; j Vt

(16)

o{O\OPtj }

Processing time: The minimum remaining processing time of any


outbound truck equals the value R(o, t, j), so that these values just
need to be summarized over all outbound trucks:
P()

LBt,j

R(o, t, j)

t = 1, . . . , T 1; j Vt

(17)

oO

Tardiness: To determine a lower bound on the tardiness of


outbound trucks, we simply have to compare the departure time

N. Boysen / Computers & Operations Research 37 (2010) 32 -- 41

37

Fig. 3. Example graph of the bounded dynamic programming procedure.

t + R(o, t, j) with the given due dates DDo with regard to each single
remaining outbound truck:

T()
max{0, t + R(o, t, j) DDo } t = 1, . . . , T 1; j Vt
LBt,j =
o{O\OPtj }

(18)
Remark: A further speed-up can be obtained by joining inbound
trucks, which deliver products for an identical set Li of outbound
trucks, to inbound truck types. Then, inbound trucks of the same type
need not be considered multiple times within the possible inbound
truck occurrences per stage, as an exchange of trucks of the same
type at identical service slots leads to identical outbound schedules
and, thus, objective values. This way, the number of states to be constructed and inspected per stage can be reduced. As the alterations
required are truly straight forward, we skip a further description.
Example (cont.): The reduction achieved by the BDP approach
with regard to the number of nodes to be considered is depicted in
Fig. 3 for our example and the processing time objective. Fathomed
nodes (colored grey) base upon an upper bound of UBP() = 8, which
is assumed to be calculated upfront by some heuristic procedure.
4.2. Simulated annealing
As within our DP and BDP approaches the number of states to be
inspected raises exponentially with the number of inbound trucks
|I|, problem instances of real-world size are barely solvable to optimality. Hence, a simulated annealing approach is presented in the
following. SA is a stochastic local search metaheuristic, which bases
the acceptance of a modified neighboring solution on a probabilistic scheme inspired by thermal processes for obtaining low-energy
states in heat baths (e.g. [14,1]).
Preliminary tests with simple priority rule based start heuristics,
which step-wise fill the solution matrix  and actual choices are
guided by a simple priority rule, revealed that those approaches predominantly lead to infeasible solutions. Thus, a metaheuristic seems
much more promising to guide the search into feasible regions of the
solution space. Although other metaheuristics like tabu search are
possible, SA is applied as it is a quite simple yet powerful approach
often applied to real-world problems (e.g. see [11]).
The SA approach directly operates on the solution matrix  storing the assignment of inbound trucks to slots. As the neighborhoodfunction we apply a simple swapping move, which means that
inbound trucks at two randomly chosen slots are interchanged. The
initial solution matrix is randomly filled with inbound trucks.
For a given solution matrix  the respective objective function
values Z() {F(), P(), T()}, depending on the objective function

actually chosen, can be easily determined according to Eqs. (1)


and (3)(5). However, if the acceptance decision for a solution in
the neighborhood is taken on the basis of the original objective value
Z() only, the procedure might return infeasible solutions. As simple
repair mechanisms are not on hand, we apply the idea of penalty
costs to penalize solutions, which violate the number of outbound
doors available in proportion to the degree of violation. Thus, a
modified objective function Z SA () is applied to guide the acceptance
of neighborhood solutions on the basis of a given penalty value PV:

T

O
max{|(t)| D ; 0}
Z () = Z() + PV
SA

(19)

t=1

This modified objective value weights each occupied outbound


door exceeding the number DO of outbound doors available with
penalty costs PV per excess unit. The number of occupied doors
|(t)| per period t induced by a solution  is calculated in accordance
with Eq. (2).
A proper determination of the penalty value PV turns out to be a
very critical task with regard to the performance of the SA. On the
one hand, it is to be avoided that the SA gets stuck in less promising regions of the solution space (feasible solutions with poor objective values or even infeasible solutions surrounded by solutions
violating even more outbound door constraints), which cannot be
left due to only marginal acceptance probabilities of infeasible solutions. On the other hand, local optima might be missed if the search
enters infeasible regions of the solution space too readily. It thus
seems recommendable to employ variable penalty values in terms
of a diversification-intensification strategy. For this purpose, penalty
value PV is initialized with PV start = Z()start /10, where Z()start is the
objective value of the first random solution (be it feasible or not).
Then, with each improvement of the modified objective value Z SA ()
the search towards a local optimum is intensified by increasing the
penalty value PV := PV 1.5. If within the last 30 swap moves (in
direct succession) no improvement of Z SA () is obtained, PV is reduced by: PV := PV 0.5 to direct the search into other regions of the
solution space (diversification).
A neighborhood solution 
obtained by a swap move is accepted
to replace the actual solution  as the starting point for the next
iteration on the basis of the following traditional probability scheme
(e.g. [1]):

Prob( replacing ) =

1,

exp

Z SA () Z SA (
)
C

if Z SA (
)  Z SA ()


,

otherwise
(20)

38

N. Boysen / Computers & Operations Research 37 (2010) 32 -- 41

Table 4
Parameters for instance generation.
Symbol
D
T

Description
Number of inbound doors
Number of periods

Table 5
Results for the exact solution procedures.
Values
2, 3, 4, 5
4, 5, 6, 7, 8

Our SA is guided by a simple static cooling schedule (see [14]). The


initial value for control parameter C = PV start 2 is chosen, which is
continuously decreased in the course of the procedure by multiplying
it with factor 0.995 in each iteration. If the penalty value PV falls
below PV start /200 , the procedure is restarted with a new random
solution matrix and a re-initialized control parameter C. A total of
100,000 neighboring solutions are evaluated by our SA approach
and the feasible solution (if obtained) with the minimum objective
function value Z() is returned. Within our computational study, we
only report results for the values of the control parameters described
above, as preliminary studies indicated these parameter values to be
most promising.
5. Computational study
Thus far, there is no established test-bed available for the truck
scheduling problem treated in this paper. Therefore, we first elaborate on the instances that are used in our computational study. Then,
numerical results on the performance of the proposed algorithms
are discussed.
5.1. Instance generation
To derive the test instances the input parameters listed in Table 4
are used to produce the sets Li of outbound trucks served by inbound
truck i and the number DO of outbound doors (and due dates DDo if
required) defining a TRSP instance.
These parameters are combined in a full-factorial design and in
each case instance generation is repeated 20 times, so that 4 5 20 =
400 different instances were obtained. On the basis of a given set of
parameters each single instance is generated as follows:
(1) Determine the number |I| of inbound trucks, the number |O|
of outbound trucks, and the number DO of outbound doors by:
|I| = DI T, |O| = T and DO = |O|/2.
(2) Initialize solution matrix  with inbound trucks according to
increasing truck number: ts = (t 1) DI + s t = 1, . . . , T; s =
1, . . . , DI . For each inbound truck i I initialize the set Li of served
outbound trucks with a single truck by: Li = (i).
(3) Randomly choose an outbound truck by drawing an equally distributed integer number out of interval [1; |O|].
(4) Randomly choose a slot by drawing two equally distributed integer numbers out of the intervals [1; T] and [1; DI ].
(5) Expand the set Li of the inbound truck assigned at the randomly
chosen slot with the randomly determined outbound truck, if
the instance remains feasible, i.e. |(t)|  DO holds for any period
t. If the last 100 attempts to expand a set Li failed, then go to
step (6), otherwise proceed with step (3).
(6) The additional due dates DDo , which are required for the tardiness objective, are derived by drawing an equally distributed
random number out of the interval[1; T] for each single outbound truck o.
This procedure guarantees that a feasible TRSP solutions exists for
each single instance. All generated instances can be downloaded
from the internet (www.ibl-unihh.de\tea_boy.htm).

Measure

Number of optimal solutions


Fraction of solved instances in %
Average CPU-seconds

Flow time

Processing time

Tardiness

DP

BDP

DP

BDP

DP

BDP

302
75.5
81.4

321
80.3
70.2

302
75.5
81.2

327
81.8
63.4

300
75.0
85.0

327
81.8
65.8

5.2. Computational results


The methods described above have been implemented in C# (Visual Studio 2003) and run on a Pentium IV, 1800 MHz PC, with
512 MB of memory. First, the performance of the exact solutions
procedures, dynamic programming and bounded dynamic programming, is to be investigated. Table 5 compares the number of optimal solutions and the computational time for all three considered
objective functions. Within the BDP approach, the solution obtained
by the simulated annealing procedure serves as the upper bound
solution. As the results show, the performance of both exact solution procedures seems widely uninfluenced by the objective function considered, because all results remain in a comparable order of
magnitude. This result is not astounding, as only the calculation of
the arc weights is adopted to account for a specific objective function, whereas the structure of the graph remains unaltered. BDP is
able to solve about 5% more test instances compared to DP, if solution times are restricted to 300 CPU-s. Moreover, BDP outperforms
DP with regard to the average CPU-s required. However, the latter
result does not hold for each single instance, as the overhead for
computing upper and lower bounds is only justified for larger test
instances.
To evaluate this trade-off and to determine the size of instances
up to which the exact solution procedures can be reasonably applied,
Tables 68 relate the solution performance to the size of the test
instances. Again, it is to be stated, that only minor differences in the
solution performance are caused by the objective function applied. A
single break-even point with regard to the number of inbound trucks,
at which the pruning of the graph by the BDP approach surmounts
the additional efforts for bound computations, cannot be determined
as it varies depending on the number T of periods and the number
DI of inbound doors. These varying break-even points are marked
within the Tables 68 by the underlined values.
The size of instances, up to which DP and BDP can be reasonably
applied, seems comparable and ranges between 20 and 25 inbound
trucks. However, the instances of the cases T = 7 and DI = 3 (21
inbound trucks) as well as T = 6 and DI = 4 (24 inbound trucks) can
be additionally solved to optimality by applying the BDP approach.
Then, the performance of the heuristic simulated annealing approach and the lower bound procedures is reported. Table 9 lists the
results for these procedures averaged over all instances, for which
optimal solution values could be obtained. By aggregating the optimal solutions over all three objectives, we receive 975 test cases for
both approaches.
For all of these instances SA was able to find a feasible solution
with regard to the scarce number of outbound doors and, moreover,
only 8 of these instances (less then 1%) are not solved to optimality with an average time consumption of less than 1 CPU-s. (Notice,
that the relative deviation from optimum per instance is determined
by: Z(SA) Z(BDP)/Z(BDP), where Z(SA) and Z(BDP) represent the objective values of SA and BDP, respectively. This measure cannot be
reported for the tardiness objective, as optimal objective values can
be zero.) This solution quality obtained by only moderate computational effort promises the SA being an appropriate choice, whenever
bigger problem instances of real-world size need to be solved.

N. Boysen / Computers & Operations Research 37 (2010) 32 -- 41

39

Table 6
Solution performance of exact procedures in relation to the size of test instances for the flow time objective.
T

DI

Avg.

3
4
5
6
7

20(< 0.1)/20(0.5)
20(< 0.1)/20(0.6)
20(< 0.1)/20(0.7)
20(0.4)/20(0.9)
20(3.0)/20(1.9)

20(< 0.1)/20(0.5)
20(< 0.1)/20(0.6)
20(0.5)/20(0.9)
19(83.4)/20(7.2)
3(275.8)/11(228.4)

20(< 0.1)/20(0.5)
20(0.1)/20(0.7)
20(8.1)/20(1.9)
0(300)/10(247.7)
0(300)/0(300)

20(< 0.1)/20(0.5)
20(0.4)/20(0.7)
20(56.0)/20(8.9)
0(300)/0(300)
0(300)/0(300)

100%(< 0.1)/100%(0.5)
100%(0.2)/100%(0.6)
100%(16.0)/100%(3.1)
49%(171.0)/63%(138.9)
29%(219.8)/39%(207.6)

Avg.

100%(0.7)/100%(0.9)

82%(71.9)/91%(47.5)

60%(121.7)/70%(110.2)

60%(131.3)/60%(120.7)

76%(81.4)/80%(70.2)

Notes: # optimal solutions (average CPU-s) reported for DP/BDP.

Table 7
Solution performance of exact procedures in relation to the size of test instances for the processing time objective.
T

DI

Avg.

3
4
5
6
7

20(< 0.1)/20(0.5)
20(< 0.1)/20(0.5)
20(< 0.1)/20(0.7)
20(0.3)/20(0.8)
20(2.8)/20(1.3)

20(< 0.1)/20(0.5)
20(< 0.1)/20(0.6)
20(0.5)/20(0.8)
19(80.9)/20(6.2)
3(275.2)/16(137.0)

20(< 0.1)/20(0.5)
20(0.1)/20(0.7)
20(7.6)/20(1.0)
0(300)/11(213.4)
0(300)/0(300)

20(< 0.1)/20(0.6)
20(0.5)/20(0.7)
20(55.7)/20(2.0)
0(300)/0(300)
0(300)/0(300)

100%(< 0.1)/100%(0.5)
100%(0.2)/100%(0.6)
100%(16.0)/100%(1.1)
49%(170.3)/64%(130.1)
29%(219.5)/36%(184.6)

Avg.

100%(0.6)/100%(0.8)

82%(71.3)/96%(29.0)

60%(121.6)/71%(103.1)

60%(131.3)/60%(120.7)

76%(81.2)/82%(63.4)

Notes: # optimal solutions (average CPU-s) reported for DP/BDP.

Table 8
Solution performance of exact procedures in relation to the size of test instances for the tardiness objective.
T

DI

Avg.

3
4
5
6
7

20(< 0.1)/20(0.5)
20(< 0.1)/20(0.5)
20(< 0.1)/20(0.7)
20(0.4)/20(0.8)
20(4.4)/20(1.5)

20(< 0.1)/20(0.5)
20(< 0.1)/20(0.6)
20(0.6)/20(0.8)
18(117.0)/20(7.0)
2(287.3)/13(189.1)

20(< 0.1)/20(0.5)
20(0.1)/20(0.7)
20(10.3)/20(1.8)
0(300)/13(212.9)
0(300)/1(290.8)

20(< 0.1)/20(0.5)
20(0.5)/20(0.7)
20(77.9)/20(5.1)
0(300)/0(300)
0(300)/0(300)

100%(< 0.1)/100%(0.5)
100%(0.2)/100%(0.6)
100%(22.2)/100%(2.1)
48%(179.4)/66%(130.2)
28%(223.1)/43%(195.4)

Avg.

100%(1.0)/100%(0.8)

80%(81.0)/96%(39.6)

60%(122.1)/71%(101.3)

60%(135.8)/60%(121.3)

75%(85.0)/82%(65.8)

Notes: # optimal solutions (average CPU-s) reported for DP/BDP.

Table 9
Solution performance of simulated annealing (SA) and lower bound procedures (LB).
Measure

Number of optimal solutions (objective values)


Percentage of optimal solutions (objective values)
Average relative deviation from optimum in %
Maximum relative deviation from optimum in %
Average absolute deviation from optimum
Maximum absolute deviation from optimum
Average CPU-s

Flow time

Processing time

Tardiness

SA

LB

SA

LB

SA

LB

316
98.4
0.04
6.7
0.01
1
0.8

0
0.0
46.2
60.7
6.93
18
< 0.01

326
99.7
0.03
11.1
0.003
1
0.8

122
37.3
10.3
33.3
1.26
5
< 0.01

324
99.1

0.005
1
0.8

73
22.3

2.44
9
< 0.01

On the other hand, the lower bound procedures deviate considerably from optimal solution values, which is not astounding as
all three procedures are just very basic bounds. An apparent result
listed in Table 9 is the decline in solution quality of the bounds
LB(F) for the flow time objective and LB(T) for the tardiness objective compared to LB(P) for the processing time objective, which also
explains the slight decrease of the BDP approach for these two objectives listed in Table 5. This result can be explained by the following
considerations:
The value of any solution under the processing time objective, constitutes a lower bound on its corresponding flow time

objective value, as the flow time objective additionally considers


waiting times of outbound trucks until their processing starts. As
further the lower bound values at the source node (stage t = 0,
see Eqs. (16) and (17) are identical for both problems, this lower
bound value will need to be considerably tighter for the processing
time objective as compared to the flow time objective.
For the calculation of the outbound trucks' tardiness, the flow
time, which equals the departure time of outbound trucks, is
an essential input, as well, so that the same consideration holds
for the comparison of LB(P) (processing time) and LB(T) (tardiness objective). The 73 optimal solution values contributed by
the lower bound LB(T) predominantly stem from the 67 instances

40

N. Boysen / Computers & Operations Research 37 (2010) 32 -- 41

resulting in an optimal solution with zero tardiness (T() = 0),


for which the lower bound value results to zero in any case,
as well.
Notice, that the relative deviation from optimum per instance is
determined by: (Z(BDP) LB)/Z(BDP), where LB represent the value
of respective lower bounding procedure actually applied. Again, this
measure cannot be reported for the tardiness objective.

6. Integration of TRSP in a rolling horizon


The presented decision problem treats the static case, where all
inbound and outbound trucks to be scheduled are known in advance.
In the real world, new inbound and outbound trucks constantly arrive at the dock, while a once determined schedule is processed. Unfortunately, the uncertainties with regard to arrival times of trucks
makes a planning on estimated arrival times only meaningful up to
a certain extent. For many practical implementations it might thus
be recommendable to employ the model as part of a rolling horizons
approach as is explained in the following:
Once an inbound truck is completely unloaded and frees a receiving door, the TRSP is solved with all inbound trucks actually
waiting on the yard (whereas expected inbound trucks are not considered). This requires an adoption of the basic TRSP, as all inbound trucks still under processing need to be fixed in the first
period of TRSP, so that only a single slot of period t = 1 is available for assignment. Just as well, outbound trucks already docked
need to be considered in TRSP. To avoid disproportionately high
waiting times of unattractive inbound trucks a maximum waiting
time is additionally introduced. As all alterations are truly straight
forward, we skip a detailed adoption of algorithms. The inbound
truck assigned to the single free slot of period t = 1 in the solution to TRSP is called up to occupy the unassigned receiving door.
This procedure is repeated as soon as the next inbound door is
freed.
In a practical implementation, the dispatcher also needs to react
on infeasible plans. The strict zero-inventory policy might make a
simultaneous processing of the required number of outbound trucks
impossible. Fortunately in real world cross docks, the number of
doors is seldom a bottleneck. As investment costs raise subproportional with increasing dock doors, cross docks are often overdimensioned at least with regard to the doors available. Instead,
the number of served doors is a political variable, which tends to
be kept low in order to reduce transportation times within the
dock for the given workforce on duty. This is especially true for
the food industry, as frozen food is predominantly transshipped in
a separate area of a larger terminal, so that additional doors can
be withdrawn from the remaining terminal if necessary. If TRSP returns an infeasible solution, an additional outbound door can thus
be temporarily opened and the TRSP is solved with the modified
input data, until a feasible solution is retrieved. Once an outbound
truck leaves the terminal, the respective outbound door is closed
again.

7. Conclusions
The paper on hand introduces a novel truck scheduling problem,
which synchronizes inbound and outbound flows of goods at the
zero-inventory cross docking terminals of the food industry. Different objectives (minimization of flow time, processing time and tardiness) are investigated and suited exact (dynamic programming) and
heuristic (simulated annealing) approaches are presented. The computational tests especially indicate the appropriateness of the developed simulated annealing procedure to solve problem instances of

real-world size. However, there remains some future research to be


done:
Other procedures and further algorithmic developments might be
able to enhance the performance of solving the truck scheduling
model. Especially, the runtime of the bounded dynamic programming approach can be considerably reduced by developing more
sophisticated lower bound procedures.
Although the author considers the NP-hardness of the problem to
be very likely, the complexity of the problem remains open.
In other branches than the food industry modified truck scheduling problem might occur, so that further operational characteristics need to be considered. For instance, a look-ahead of
inbound trucks arriving at the yard in the near future might be
reasonable. If trucks do not arrive simultaneously but shifted
in time, an additional arrival date needs to be assigned to each
inbound truck. Such inbound truck specific arrival times can be
easily incorporated in the model and the algorithms alike. In
the dynamic programming approach arrival times simply lead to
infeasible arcs, which would otherwise induce a scheduling of
inbound trucks ahead of their arrival. Other operational characteristics like a movement time of goods which depends on the
distance between the respective inbound and outbound doors or
truck specific processing times require some more alterations,
but can, at least, quite easily be incorporated in the simulated
annealing approach.
Although the truck scheduling problem presented is dedicated to a
specific real-world case in the food industry, the model is of sufficient
generality to serve as a base model, which can be adopted to cover
several further extensions of real-world truck scheduling problems,
alike.

References
[1] Aarts EHL, Korst JHM, van Laarhoven JM. Simulated annealing. In: Aarts EHL,
Lenstra JK, editors. Local search in combinatorial optimization. Chichester; 1997.
p. 91120.
[2] Apte UM, Viswanathan S. Effective cross docking for improving distribution
efficiencies. International Journal of Logistics: Research and Applications
2000;3:291302.
[3] Bartholdi JJ, Gue KR. Reducing labor costs in an LTL cross docking terminal.
Operations Research 2000;48:82332.
[4] Bartholdi JJ, Gue KR. The best shape for a crossdock. Transportation Science
2004;38:23544.
[5] Bautista J, Companys R, Corominas A. Heuristics and exact algorithms for solving
the monden problem. European Journal of Operational Research 1996;88:
10113.
[6] Bermudez R, Cole MH. A genetic algorithm approach to door assignments
in breakbulk terminals. Technical Report MBTC-1102, Mack Blackwell
Transportation Center, University of Arkansas, Fayetteville, Arkansas; 2001.
[7] Boysen N, Fliedner M, Scholl A. Sequencing inbound and outbound trucks at
cross docking terminals. OR Spectrum; 2007, to appear.
[8] Boysen N, Fliedner M, Scholl A. Sequencing mixed-model assembly lines to
minimize part inventory cost. OR Spectrum 2007;30:61130.
[9] Campbell JF. A survey of network hub location. Studies in Locational Analysis
1994;6:3149.
[10] Carraway RL, Schmidt RL. An improved discrete dynamic programming
algorithm for allocating resources among interdependent projects. Management
Science 1991;37:1195200.
[11] Dowsland KA. Simulated annealing. In: Reeves CR, editor. Modern heuristic
techniques for combinatorial problems. London; 1993. p. 2069.
[12] Forger G. UPS starts world's premiere cross-docking operation. Modern Material
Handling; 1995:368.
[13] Gue KR. The effect of trailer scheduling on the layout of freight terminals.
Transportation Science 1999;33:41928.
[14] Kirkpatrick S, Gelatt CD, Vecchi MP. Optimization by simulated annealing.
Science 1983;220:67180.
[15] Klose A, Drexl A. Facility location models for distribution system design.
European Journal of Operational Research 2005;162:429.
[16] Li Y, Lim A, Rodrigues B. CrossdockingJIT scheduling with time windows.
Journal of the Operational Research Society 2004;55:134251.

N. Boysen / Computers & Operations Research 37 (2010) 32 -- 41

[17] Marsten RE, Morin TL. A hybrid approach to discrete mathematical


programming. Mathematical Programming 1978;14:2140.
[18] McWilliams DL, Stanfield PM, Geiger CD. The parcel hub scheduling problem:
a simulation-based solution approach. Computers & Industrial Engineering
2005;49:393412.
[19] Miao Z, Lim A, Ma H. Truck dock assignment with operational time constraint
within crossdocks. European Journal of Operational Research 2009;192:10515.
[20] Morin TL, Marsten RE. Branch-and-bound strategies for dynamic programming.
Operations Research 1976;24:61127.
[21] Oh Y, Hwang H, Cha CN, Lee S. A dock-door assignment problem for the
Korean mail distribution center. Computers & Industrial Engineering 2006;51:
28896.

41

[22] Stalk G, Evans P, Shulman LE. Competing on capabilities: the new role of
corporate strategy. Harvard Business Review 1992;70(2):5769.
[23] Tsui LY, Chang C-H. A microcomputer based decision support tool for assigning
dock doors in freight yards. Computers & Industrial Engineering 1990;19:
30912.
[24] Tsui LY, Chang C-H. An optimal solution to dock door assignment problem.
Computers & Industrial Engineering 1992;23:2836.
[25] Witt CE. Crossdocking: Concepts demand choice. Material Handling Engineering
1998;53(7):449.
[26] Yu W, Egbelu PJ. Scheduling of inbound and outbound trucks in cross docking
systems with temporary storage. European Journal of Operational Research
2006;184:37796.

You might also like