Applied Mathematical Modelling: Fardin Ahmadizar, Mehdi Zeynivand, Jamal Arkat
Applied Mathematical Modelling: Fardin Ahmadizar, Mehdi Zeynivand, Jamal Arkat
Applied Mathematical Modelling: Fardin Ahmadizar, Mehdi Zeynivand, Jamal Arkat
a r t i c l e i n f o a b s t r a c t
Article history: The cross-docking process, which can function as an efficient logistics strategy, includes
Received 2 November 2012 three operations, namely receiving products from inbound vehicles, consolidating the
Received in revised form 17 December 2014 products into groups according to their destinations, and shipping them on outbound
Accepted 3 March 2015
vehicles. This process should be performed with minimum storage between operations.
Available online xxxx
This paper presents a model that considers two-level vehicle routing together with
cross-docking. By considering the transportation costs and the fact that a given product
Keywords:
type may be supplied by different suppliers at different prices, the routing of inbound vehi-
Logistics
Cross-docking
cles between cross-docks and suppliers in the pickup process and the routing of outbound
Vehicle routing vehicles between cross-docks and retailers in the delivery process are determined. The goal
Genetic algorithm is to assign products to suppliers and cross-docks, to optimize the routes and schedules of
inbound and outbound vehicles, and to consolidate products so that the sum of the
purchasing, transportation and holding costs is minimized. A hybrid genetic algorithm is
developed for the problem, and the algorithm performance is validated by several numeri-
cal examples.
Ó 2015 Elsevier Inc. All rights reserved.
1. Introduction
Recently, increasing global competition implies that products must be produced and supplied in the right place at the
right time at a low price. Hence, the efficient integration and coordination of different activities is becoming increasingly
important. Supply chain (SC) management involves integrating and coordinating different activities through different orga-
nizations [1]. There are two important activities in SC management: (1) production planning and inventory control managing
the manufacturing process and storage policies, and (2) distribution and logistics process transporting products in the SC [2].
Optimizing distribution networks is necessary to reduce logistics costs and to achieve a profitable SC management policy.
The aim of logistics activities, as a bridge between manufacturers and customers, is to bring the right product to the right
place in the right quantity at the right time [3]. As stated by Apte and Viswanthan [4], the distribution process constitutes
30 percent of the product prices. An appropriate distribution system can reduce transportation costs and consequently
decrease product prices.
Cross-docking is one of the most suitable methods among distribution systems. In contrast to traditional warehousing
with high-cost functions, cross-docking is implemented to increase the flow of products while reducing inventory holding
http://dx.doi.org/10.1016/j.apm.2015.03.005
0307-904X/Ó 2015 Elsevier Inc. All rights reserved.
Please cite this article in press as: F. Ahmadizar et al., Two-level vehicle routing with cross-docking in a three-echelon supply chain: A
genetic algorithm approach, Appl. Math. Modell. (2015), http://dx.doi.org/10.1016/j.apm.2015.03.005
2 F. Ahmadizar et al. / Applied Mathematical Modelling xxx (2015) xxx–xxx
costs, storage space, and delivery time [5]. Due to the reduction in storage and order picking costs, cross-docking can
decrease warehousing costs up to 70 percent [6]. In addition, cross-docking decreases transportation costs by
achieving economies of scale in transportation through the use of full trucks made possible by consolidating different
shipments [4].
Cross-docking as a lean warehousing strategy involves receiving products from inbound vehicles, classifying them into
certain groups according to their destinations, and shipping them on outbound vehicles in less than 24 h, sometimes in
less than one hour. In this process, the routes and schedules of inbound and outbound vehicles must be considered to
effectively apply cross-docking [7]. The main objective of a vehicle routing problem (VRP) is to optimize the plan of
product delivery by vehicles. This aim can be achieved by minimizing the total distance traveled and the number of
vehicles [8].
Although the routing of inbound vehicles is performed to achieve nearly simultaneous arrival of products, temporary
storage may increase the flexibility of the cross-docking process [9] and decrease transportation costs. The routing of
inbound vehicles should then be determined in such a way that their arrival times at the cross-docks do not cause products
to be stored for a long time. Moreover, the arriving products are consolidated to reduce the transportation costs by achieving
economies of scale in transportation through the use of full outbound vehicles. Transportation costs can be further reduced
by scheduling the customers that are visited by each outbound vehicle. Therefore, the routing of the inbound and outbound
vehicles and the consolidation of different products are the most important decisions in cross-docking. In addition,
because different suppliers may supply a product type at different prices, the purchasing costs can be reduced by an
appropriate assignment of products demanded by retailers to suppliers. Such decisions have significant effects on the prof-
itability and responsiveness of the SC. Accordingly, in this paper, a two-level VRP together with cross-docking is considered.
The first-level routing is implemented between cross-docks and suppliers, and the second level includes cross-docks and
retailers.
In the literature on cross-docking, most research addresses its concept, physical design or location. Napolitano [10] has
introduced various types of cross-docking operations including manufacturing, distributor, transportation, retail and
opportunistic cross-docking, and has considered the benefits of the cross-docking strategy. Ratliff et al. [11] have consid-
ered the physical design of a cross-dock as a distribution system. Apte and Viswanthan [4] have considered the design of a
cross-docking system as one of the most important methods for decreasing transportation costs. Jayaraman and Ross
[12,13] have studied a distribution network design problem that involves incorporating cross-docking into the SC.
However, in these studies the authors have investigated the decisions regarding the openness or closeness of a cross-dock
as well as the allocation of each open cross-dock to each customer zone. Kreng and Chen [14] have investigated
production–distribution planning by considering two different approaches: a traditional warehousing strategy versus a
cross-docking strategy. The reduction of costs due to the cross-docking strategy in the SC has been confirmed. Bachlaus
et al. [15] have introduced a model to design an agile multi-echelon SC network at a strategic planning horizon that
incorporates cross-docks as an echelon. Gumus and Bookbinder [16] have studied logistics activities in a SC in which
products are delivered to customers directly or through cross-docks. Alpan et al. [9] have developed a bounded dynamic
programming approach to schedule operations in a cross-docking environment in which temporary storage and preemp-
tion are allowed to increase the operations flexibility. Boysen and Fliedner [17] have introduced a classification of deter-
ministic truck scheduling at cross-docking terminals. Door environment, operational characteristics and objectives are
three elements used in the classification. Recently, Buijs et al. [18] have presented a research classification and framework
for synchronization in cross-docking networks.
Although many studies have investigated the VRP and cross-docking problems separately, a few researchers have dealt
with vehicle routing together with cross-docking. Lee et al. [7] have considered a pickup and delivery problem in a dis-
tribution network with a single cross-dock where, in the pickup process, vehicles collect products from suppliers, and, in
the delivery process, products are delivered to customers. In the pickup process, vehicles should come back to the cross-dock
at a particular time. The authors then developed a tabu search algorithm for the problem. Liao et al. [19] have developed a
new tabu search algorithm for the same problem. Wen et al. [5] have investigated a similar problem in which the vehicles in
the pickup and delivery processes are the same and the transfer of products between vehicles in the cross-dock is allowed. A
tabu search heuristic embedded in an adaptive memory procedure was proposed to solve the problem. Recently, Morais et al.
[20] have developed some heuristics for the problem defined by Wen et al. [5]. Moreover, Santos et al. [21,22] have proposed
branch-and-price algorithms for somewhat similar problems. Dondo et al. [23] have formulated VRP and cross-docking prob-
lems as a mixed integer linear program in which hybrid multi-echelon distribution networks transport products from manu-
facturers to customers, directly and/or using warehousing and cross-docking strategies. More recently, Mousavi et al. [24]
have considered the location and VRP in the cross-docking distribution networks under uncertainty, and proposed a hybrid
fuzzy possibilistic–stochastic programming solution approach.
To improve distribution activities in a SC, this paper presents a mixed integer nonlinear programming (MINLP) model
that considers a two-level VRP together with cross-docking. The problem considered here is an extension of the above-
mentioned pickup and delivery problems with a single cross-dock. It generalizes the previous studies in the following
aspects.
Please cite this article in press as: F. Ahmadizar et al., Two-level vehicle routing with cross-docking in a three-echelon supply chain: A
genetic algorithm approach, Appl. Math. Modell. (2015), http://dx.doi.org/10.1016/j.apm.2015.03.005
F. Ahmadizar et al. / Applied Mathematical Modelling xxx (2015) xxx–xxx 3
(1) Assuming, implicitly, that products demanded by retailers have already been assigned to suppliers and cross-docks,
the previous works have only dealt with a single cross-dock and its corresponding suppliers and retailers. Whereas
this study proposes an integrated model in which the assignment of products to suppliers and (multiple) cross-docks
is considered as well, thus taking the SC interactions into account.
(2) The previous studies have assumed that each supplier as well as each retailer is served by exactly one vehicle. While
we take into account the fact that the total volume of products assigned to a supplier or demanded by a retailer may be
greater than the capacity of a vehicle, that is, in our problem each supplier and each retailer may be served by several
vehicles. In addition, a supplier may not even be served at all, since it may be the case that no product is assigned to
the supplier.
(3) To increase the flexibility of the cross-docking process and decrease transportation costs, temporary storage at the
cross-docks is allowed.
The aim is therefore to assign products to suppliers and cross-docks, to optimize the routes and schedules of inbound as
well as outbound vehicles, and to consolidate products into groups so that the purchasing and distribution costs are mini-
mized. Inbound vehicles in the pickup process move from cross-docks to pick up products from suppliers, and outbound
vehicles in the delivery process move from cross-docks to deliver products to retailers. In addition, consolidating different
products may require the temporary storage of the products that arrived previously, thus leading to an increase in holding
costs. After all products of a group have been received, they are loaded onto an outbound vehicle and delivered to retailers.
The storage area capacity of a cross-dock is reduced by the products that arrived earlier and increased when those products
are loaded onto vehicles. Accordingly, the available capacity of each cross-dock has to be updated continuously during the
time horizon. Due to the NP-hardness of this problem, even small size instances cannot be optimally solved in a reasonable
amount of time. Hence, an efficient hybrid genetic algorithm (GA) is developed to solve the problem.
The rest of the paper is organized as follows. The problem description and mathematical formulation is presented in the
next section. The proposed GA is described in Section 3, and Section 4 discusses the computational results. Finally, the con-
clusions and future research directions are stated in Section 5.
2. Problem formulation
The problem considered in this paper is a two-level VRP together with cross-docking for a three-echelon SC that includes
suppliers (e.g., manufacturers, warehouses, etc.), cross-docks and retailers. The first-level routing is implemented between
cross-docks and suppliers, and the second level includes cross-docks and retailers. Multiple suppliers with limited capacity
Please cite this article in press as: F. Ahmadizar et al., Two-level vehicle routing with cross-docking in a three-echelon supply chain: A
genetic algorithm approach, Appl. Math. Modell. (2015), http://dx.doi.org/10.1016/j.apm.2015.03.005
4 F. Ahmadizar et al. / Applied Mathematical Modelling xxx (2015) xxx–xxx
supply different product types. The products are picked up from suppliers and delivered to cross-docks by inbound vehicles.
In a cross-dock, products are consolidated according to their destinations. In the consolidation process, if all products that
should be consolidated together are available in the cross-dock (simultaneous arrival), they are loaded onto outbound
vehicles immediately and delivered to retailers. Otherwise, the products that arrived previously are either placed in tempor-
ary storage and an inventory holding cost is incurred or shipped to their destinations and the transportation costs are
increased.
As an illustrative example, consider a SC that includes three suppliers, two cross-docks, five retailers, two product types,
two inbound and two outbound vehicles available in each cross-dock. Fig. 1 visualizes a proposed network for this example.
The problem under consideration is to simultaneously determine the assignment of products to suppliers and cross-
docks, the routes and schedules of inbound and outbound vehicles, and the consolidation decisions, so as to minimize the
purchasing, transportation and holding costs. It provides a general formulation that is applicable to the SCs of large manu-
facturers and retailers including multiple cross-docks, such as Wal-Mart’s SC network, given a set of suppliers and cross-
docks already in place – determined at the strategic level. In order to propose a more flexible and applicable model, we
pay attention to the general case in which a certain product type can be supplied by multiple suppliers at different prices;
it is noteworthy that the selling price for the same product can be different at different retailers as well. Moreover, as pre-
viously mentioned, temporary storage is allowed to increase the flexibility of the cross-docking process. Although no storage
is needed in pure cross-docking, where the arriving products are directly transported to outbound vehicles, this is rarely the
case in practice, thus allowing temporary storage (nevertheless, if, for example, refrigerated products have to be cross-
docked in a non-cooled terminal, they are not allowed to be stored) [25]. Additionally, the inbound vehicle routing imple-
mented at the first-level and the outbound vehicle routing implemented at the second-level certainly offer opportunities
for cost savings, as compared to the case when each inbound/outbound vehicle, if used, is allowed to travel to only one sup-
plier/retailer. In other words, leaving the inbound and outbound vehicle routing decisions to the model would permit greater
flexibility in the assignment of products to suppliers and cross-docks as well as in the consolidation decisions, thus providing
better solutions, i.e., bringing benefits to companies.
2.2. Assumptions
The basic characteristics and assumptions applied in the proposed model are presented below:
Each product type, although at different prices, can be produced by all suppliers.
A fleet of heterogeneous inbound and outbound vehicles, which have different capacities as well as different fixed and
variable costs, are available in each cross dock.
The starting point and ending point of each vehicle route should be the same, and each vehicle can at most perform one
tour consisting of a sequence of transport stages.
Because the total volume of products assigned to a supplier may be greater than the capacity of a vehicle, each supplier
may be visited by several inbound vehicles. In addition, a supplier may not be visited at all, since it may be the case that
no product is assigned to the supplier.
The maximum storage area of each cross-dock for the temporary storage of products is limited. If a product is temporarily
stored, a holding cost is paid per unit stored which is mainly incurred by additional transportation, loading and unloading
operations; as a consequence, the time of the storage is ignored.
Because the total volume of the products demanded by a retailer may be greater than the capacity of a vehicle, each retai-
ler may be visited by several outbound vehicles.
The total demand of a retailer for a specific product must be assigned to only one supplier and one cross-dock and
also transported by only one inbound and one outbound vehicle, that is, a single-sourcing approach [26–28] is
applied; as a result, there is at least one inbound as well as one outbound vehicle with a capacity exceeding the retailer’s
demand.
There are several (unlimited) resources available to load/unload vehicles at every supplier, cross-dock, and retailer; so, a
vehicle never has to wait for such resources.
The pickup, cross-docking and delivery processes should be performed during a given period of time (perhaps about
24 h).
The SC manager has the right to determine the assignment of the products demanded by the retailers to the suppliers and
cross-docks, the routes and schedules of the inbound and outbound vehicles, and the consolidation decisions, while mini-
mizing the purchasing, transportation and holding costs.
Denoting the numbers of suppliers, cross-docks, retailers, and product types, respectively, by S, CD, R, and P, the notations
used for the problem are listed below:
Please cite this article in press as: F. Ahmadizar et al., Two-level vehicle routing with cross-docking in a three-echelon supply chain: A
genetic algorithm approach, Appl. Math. Modell. (2015), http://dx.doi.org/10.1016/j.apm.2015.03.005
F. Ahmadizar et al. / Applied Mathematical Modelling xxx (2015) xxx–xxx 5
Indices
s index of suppliers
i index of cross-docks
r index of retailers
p index of product types
k index of inbound/outbound vehicles
Parameters
T time horizon for the pickup, cross-docking and delivery processes
kp unit-volume of product p
Pr set of product types demanded by retailer r
n0i maximum number of inbound vehicles available in cross-dock i
ni maximum number of outbound vehicles available in cross-dock i
c00sp unit price of product p at supplier s
c0ik unit transportation cost of inbound vehicle k of cross-dock i
0
f ik fixed cost of inbound vehicle k of cross-dock i
cik unit transportation cost of outbound vehicle k of cross-dock i
fik fixed cost of outbound vehicle k of cross-dock i
w000 i maximum storage area capacity of cross-dock i
w00sp maximum capacity of supplier s to supply product p
w0ik capacity of inbound vehicle k of cross-dock i
wik capacity of outbound vehicle k of cross-dock i
hip unit holding cost of product p at cross-dock i
o000
ss0 travel distance (in km) between suppliers s and s0
00
ois travel distance (in km) between cross-dock i and supplier s
o0ir travel distance (in km) between cross-dock i and retailer r
orr0 travel distance (in km) between retailers r and r0
v ik average speed (in km/h) of inbound vehicle k of cross dock i
0
Please cite this article in press as: F. Ahmadizar et al., Two-level vehicle routing with cross-docking in a three-echelon supply chain: A
genetic algorithm approach, Appl. Math. Modell. (2015), http://dx.doi.org/10.1016/j.apm.2015.03.005
6 F. Ahmadizar et al. / Applied Mathematical Modelling xxx (2015) xxx–xxx
Let M be an arbitrarily large constant and s be the index of time (0 < s 6 T). The proposed MINLP model is then as follows:
Objective function
ni 0 n0
X
CD X X
S X
CD Xi X
S X
S X ni X
CD X R
0
min Z ¼ xiks þ x00iks o00is c0ik þ xiks f ik þ x0ikss0 o000 0
ss0 c ik þ yikr þ y00ikr o0ir cik þ yikr f ik
i¼1 k¼1 s¼1 i¼1 k¼1 s¼1 s0 ¼1 i¼1 k¼1 r¼1
ni X R X n0i
X
CD X R X
R X
S X
CD XX
þ y0ikrr0 orr0 cik þ g sikrp c00sp drp þ g sikrp arp hip drp ; ð1Þ
i¼1 k¼1 r¼1 r 0 ¼1 s¼1 i¼1 k¼1 r¼1 p2P r
Constraints
X
S
xiks 6 1; i ¼ 1; . . . ; CD; k ¼ 1; . . . ; n0i ; ð2Þ
s¼1
X
R
yikr 6 1; i ¼ 1; . . . ; CD; k ¼ 1; . . . ; ni ; ð3Þ
r¼1
X
S X
S X
S
x0ikss0 6 M xiks ; i ¼ 1; . . . ; CD; k ¼ 1; . . . ; n0i ; ð4Þ
s¼1 s0 ¼1 s¼1
X
R X
R X
R
y0ikrr0 6 M yikr ; i ¼ 1; . . . ; CD; k ¼ 1; . . . ; ni ; ð5Þ
r¼1 r 0 ¼1 r¼1
X
S X
S
xiks þ x0iks0 s ¼ x0ikss0 þ x00iks ; i ¼ 1; . . . ; CD; k ¼ 1; . . . ; n0i ; s ¼ 1; . . . ; S; ð6Þ
s0 ¼1 s0 ¼1
X
R X
R
yikr þ y0ikr0 r ¼ y0ikrr0 þ y00ikr ; i ¼ 1; . . . ; CD; k ¼ 1; . . . ; ni ; r ¼ 1; . . . ; R; ð7Þ
r 0 ¼1 r0 ¼1
X
S
g sikrp 6 xiks þ x0iks0 s ; i ¼ 1; . . . ; CD; k ¼ 1; . . . ; n0i ; s ¼ 1; . . . ; S; r ¼ 1; . . . ; R; 8p 2 P r ; ð8Þ
s0 ¼1
X
R
zikrp 6 yikr þ y0ikr0 r ; i ¼ 1; . . . ; CD; k ¼ 1; . . . ; ni ; r ¼ 1; . . . ; R; 8p 2 P r ; ð9Þ
r0 ¼1
ni 0
X
S X ni
X
g sikrp ¼ zikrp ; i ¼ 1; . . . ; CD; r ¼ 1; . . . ; R; 8p 2 P r ; ð10Þ
s¼1 k¼1 k¼1
ni 0
X
S X
CD X
g sikrp ¼ 1; r ¼ 1; . . . ; R; 8p 2 Pr ; ð11Þ
s¼1 i¼1 k¼1
X
S X
R X
g sikrp kp drp 6 w0ik ; i ¼ 1; . . . ; CD; k ¼ 1; . . . ; n0i ; ð12Þ
s¼1 r¼1 p2Pr
X
R X
zikrp kp drp 6 wik ; i ¼ 1; . . . ; CD; k ¼ 1; . . . ; ni ; ð13Þ
r¼1 p2Pr
ni 0
X
CD X X
R
g sikrp drp 6 w00sp ; s ¼ 1; . . . ; S; p ¼ 1; . . . ; P; ð14Þ
i¼1 k¼1 r¼1
X
S
g0iks ¼ xiks t0ik þ o00is =v 0ik þ s0 s =v ik ;
x0iks0 s h0iks0 þ o000 0
i ¼ 1; . . . ; CD; k ¼ 1; . . . ; n0i ; s ¼ 1; . . . ; S; ð15Þ
s0 ¼1
Please cite this article in press as: F. Ahmadizar et al., Two-level vehicle routing with cross-docking in a three-echelon supply chain: A
genetic algorithm approach, Appl. Math. Modell. (2015), http://dx.doi.org/10.1016/j.apm.2015.03.005
F. Ahmadizar et al. / Applied Mathematical Modelling xxx (2015) xxx–xxx 7
X
R X
0
h0iks ¼ g0iks þ g sikrp liksp drp ; i ¼ 1; . . . ; CD; k ¼ 1; . . . ; n0i ; s ¼ 1; . . . ; S; ð16Þ
r¼1 p2Pr
!
X
S
X
R X
wik ¼ x00iks h0iks þ v
o00is = 0ik þ 0
g sikrp uikp drp ; i ¼ 1; . . . ; CD; k ¼ 1; . . . ; n0i ; ð17Þ
s¼1 r¼1 p2P r
ni 0
X
S X X
R X
tik zikrp g sik0 rp wik0 þ zikr0 p0 likp0 dr0 p0 ; i ¼ 1; . . . ; CD; k ¼ 1; . . . ; ni ; r ¼ 1; . . . ; R; 8p 2 P r ; ð18Þ
s¼1 k0 ¼1 r 0 ¼1 p0 2P r0
X
R
gikr ¼ yikr ðtik þ o0ir =v ik Þ þ y0ikr0 r ðhikr0 þ or0 r =v ik Þ; i ¼ 1; . . . ; CD; k ¼ 1; . . . ; ni ; r ¼ 1; . . . ; R; ð19Þ
r 0 ¼1
X
hikr ¼ gikr þ zikrp uikrp drp ; i ¼ 1; . . . ; CD; k ¼ 1; . . . ; ni ; r ¼ 1; . . . ; R; ð20Þ
p2P r
0 1
n0i ni
X
S X
CD X X X
R X
@
g sik0 rp zikrp t ik wik0 zikr0 p0 likp0 dr0 p0 A 6 Marp ; r ¼ 1; . . . ; R; 8p 2 P r ; ð21Þ
s¼1 i¼1 k0 ¼1 k¼1 r 0 ¼1 p0 2P r0
ni 0
s X
X S X X
R X X ni X
s X R X
0
g sikrp arp biks0 kp drp zikrp arp biks0 kp drp 6 w000
i ; i ¼ 1; . . . ; CD; s ¼ 1; . . . ; T; ð22Þ
s0 ¼1 s¼1 k¼1 r¼1 p2Pr s0 ¼1 k¼1 r¼1 p2Pr
8 0
< Mjs wik j 1 biks ;
>
>
i ¼ 1; . . . ; CD; k ¼ 1; . . . ; n0i ; s ¼ 1; . . . ; T; ð23Þ
: 0
js wik j 6 ð1 biks ÞM;
8
< Mjs tik j 1 biks ;
>
i ¼ 1; . . . ; CD; k ¼ 1; . . . ; ni ; s ¼ 1; . . . ; T; ð24Þ
>
:
js t ik j 6 ð1 biks ÞM;
X
R
y00ikr ðhikr þ o0ir =v ik Þ 6 T; i ¼ 1; . . . ; CD; k ¼ 1; . . . ; ni ; ð25Þ
r¼1
Eq. (1) minimizes the total costs, where the first four terms are related to the transportation costs, and the last term
includes the purchasing and holding costs. Constraints (2) and (3) ensure that each (inbound/outbound) vehicle visits at
most one node (that is, one supplier/retailer) at the beginning of its tour. Constraints (4) and (5) imply that the starting point
of each vehicle route is the associated cross-dock, that is, each vehicle visits some nodes only if it leaves the cross-dock.
Constraints (6) and (7) ensure route continuity, i.e., if a vehicle arrives at a node, then it must also leave that node.
Constraints (8) and (9) ensure that each product is picked up from/delivered to a node by a vehicle only if the vehicle visits
that node. Constraints (10) balance the flow of each product through each cross-dock. Constraints (11), together with con-
straints (10), imply that the total demand of each retailer for each product must be assigned to only one supplier and one
cross-dock and transported by only one inbound and one outbound vehicle. Constraints (12) and (13) ensure that the total
volume of the products transported by each vehicle does not exceed its capacity. Constraints (14) imply that the total quan-
tity of each product provided by a supplier does not exceed the maximum capacity of the supplier for that product.
Constraints (15) and (16) determine the arrival and departure times of each inbound vehicle at and from each supplier,
respectively. Constraints (17) determine the finish time of the unloading operation of each inbound vehicle at its associated
cross-dock. Constraints (18) indicate the dependency of the outbound vehicles on the inbound vehicles and ensure that each
outbound vehicle cannot leave its associated cross-dock unless the loading has been completed. The arrival and departure
times of each outbound vehicle at and from each retailer are determined by constraints (19) and (20), respectively.
Constraints (21) check whether the products are temporarily stored in the cross-docks. Constraints (22)–(24) are required
to check the capacity feasibility of each cross-dock continuously, where, without loss of generality, the time horizon T is
divided into equal, short time intervals. Finally, constraints (25) imply that the pickup, cross-docking and delivery processes
should be performed during T.
Please cite this article in press as: F. Ahmadizar et al., Two-level vehicle routing with cross-docking in a three-echelon supply chain: A
genetic algorithm approach, Appl. Math. Modell. (2015), http://dx.doi.org/10.1016/j.apm.2015.03.005
8 F. Ahmadizar et al. / Applied Mathematical Modelling xxx (2015) xxx–xxx
GAs are effective search techniques inspired from the evolutionary process occurring in natural systems. In a GA, a pop-
ulation of individuals (candidate solutions) evolves through generations by means of genetic operations, i.e., selection, cross-
over and mutation. Chromosome representation, population initialization, genetic operators and termination criterion are
important issues that must be considered in designing a GA. To study more details about GAs, the reader is referred to
[29]. GAs have thus far had substantial applications in many hard optimization problems, such as different problems in
SC management [30–33] and in the VRP field [34–36], in particular. Besides, researchers have widely applied evolutionary
algorithms to successfully solve highly constrained optimization problems [37].
In this paper, a hybrid GA is developed for the problem under consideration. The general structure of the proposed algo-
rithm is as follows:
Step 1. (Initialization) For the initial population, generate a set of random solutions.
Step 2. (Evaluation) Calculate the fitness value of each individual.
Step 3. (Parent selection) Select parents among the individuals.
Step 4. (Crossover) Apply a crossover operation to the parents.
Step 5. (Mutation) Apply a mutation operation to the resulting offspring.
Step 6. (Survivor selection) Select individuals for the next generation.
Step 7. (Improvement) Apply a local search to improve some of the surviving individuals.
Step 8. (Termination) Repeat Steps 2 to 7 until the termination criterion is met.
3.1. Representation
Creating a definition of individuals, commonly called the representation, is the first step in designing a GA for a particular
problem. It maps solution characteristics into a string of symbols to set up a bridge between the original problem space and
the space being searched by the evolutionary process. Defining an appropriate encoding strategy is an important issue that
affects the algorithm performance.
In this paper, to describe and manipulate a solution to the problem, a mixed representation is utilized in which each chro-
P
mosome includes four sections. The first section, with a length of kP r k genes (kPrk denotes the cardinality of Pr ), specifies
P P
the supplier of every product demanded by the retailers. The second section, with a length of kPr k þ n0i 1 genes, indi-
cates the products that must be picked up by every inbound vehicle, thus the assignment of products to cross-docks, and the
inbound vehicle routing. In this section, a permutation of integers is used as indices for the products demanded by the retai-
P 0 P 0
lers, while the other ni 1 genes have a zero value and are used for partitioning the permutation into ni segments. The
P P
third section, with a length of kPr k þ ðni 1Þ genes, indicates the products that must be delivered by every outbound
vehicle, thus the consolidation decisions, and the outbound vehicle routing; again, a permutation of the product indices is
used, while n1 1 genes take the value 1 and are used for partitioning the products assigned to the first cross-dock into
n1 segments, n2 1 genes take the value 2 and are used for partitioning the products assigned to the second cross-dock
P 0
into n2 segments, and so on. Finally, the last section, with a length of ni genes, determines the departure times of the
inbound vehicles from the cross-docks. From this section, the routing schedules of the inbound and outbound vehicles
can then be easily determined.
Fig. 2 illustrates an example of a chromosome representation for a problem instance that includes two suppliers, two
cross-docks, three retailers, two product types, two inbound and two outbound vehicles that are available in each cross-dock.
The indices for the products demanded by the retailers are shown in Table 1.
From the first section of the chromosome shown in Fig. 2, products 2 and 5 (i.e., products 2 and 1 demanded by retailers 1
and 3, respectively) are provided by supplier 1, and the other four products by supplier 2. From the second section, the first
inbound vehicle of cross-dock 1 is not used, since there is no product index in the left-hand side of the first ‘0’; while
products 3, 2 and 1 are picked up by the second inbound vehicle of cross-dock 1, product 4 by the first inbound vehicle
of cross-dock 2, and products 6 and 5 by the second inbound vehicle of cross-dock 2. Accordingly, products 1–3 are assigned
Please cite this article in press as: F. Ahmadizar et al., Two-level vehicle routing with cross-docking in a three-echelon supply chain: A
genetic algorithm approach, Appl. Math. Modell. (2015), http://dx.doi.org/10.1016/j.apm.2015.03.005
F. Ahmadizar et al. / Applied Mathematical Modelling xxx (2015) xxx–xxx 9
Table 1
Indices for the two products demanded by the three retailers.
Fig. 3. The inbound and outbound vehicle routes corresponding to the chromosome shown in Fig. 2.
to cross-dock 1, and products 4–6 to cross-dock 2. It also follows that the second inbound vehicle of cross-dock 1 picks up
product 3, and thus product 1, from supplier 2 and then product 2 from supplier 1 before finally returning to the cross-dock;
the first inbound vehicle of cross-dock 2 picks up product 4 from supplier 2 then returns to the cross-dock; and the second
inbound vehicle of cross-dock 2 picks up product 6 from supplier 2, then product 5 from supplier 1, and finally returns to the
cross-dock. From the third section and taking the position of the ‘1’ into account, among the products assigned to cross-
dock 1, products 1 and 3 are consolidated in a group and then delivered by the first outbound vehicle of the cross-dock
to retailers 1 and 2, respectively, while product 2 is delivered by the second outbound vehicle of this cross-dock to retailer
1. Moreover, taking the position of the ‘2’ into account, all the products assigned to cross-dock 2, i.e., products 6, 5 and 4,
are consolidated in a group and then delivered by the first outbound vehicle of the cross-dock to retailers 3 and 2, respec-
tively; while the second outbound vehicle of this cross-dock is not used, since there is no product index in the right-hand
side of the ‘2’. Fig. 3 then depicts the inbound and outbound vehicle routes corresponding to the chromosome.
Furthermore, according to the last section, the second inbound vehicle of cross-dock 1 leaves the cross-dock’s location
220 min after the time origin, and inbound vehicles 1 and 2 of cross-dock 2 leave 0 and 90 min after the time origin, respec-
tively. Since the first inbound vehicle of cross-dock 1 is not used, the number 50 in this section is clearly ignored. The routing
schedules of the three inbound and three outbound vehicles that are used can then be easily determined.
Because a population of chromosomes is necessary in the first generation of the evolutionary process, an initial pop-
ulation is randomly generated. However, it is easy to see that the above representation does not guarantee that each candi-
date solution is always a feasible solution to the problem, because it may violate some of constraints (12), (13), (14), (22) and
(25). Thus, the initial population as well as the subsequent ones may contain infeasible chromosomes. Due to the fact that
the problem under consideration is too highly constrained, allowing searches in the infeasible regions of the solution space is
significant because high-quality feasible solutions may be reached via these regions. Hence, the constraints mentioned above
are handled with penalty functions, thus penalizing infeasible solutions.
Due to the infeasibility problem which may appear in a chromosome, a fitness function other than the objective function
given in Eq. (1) is required to quantify the fitness of each chromosome, i.e., the quality of the solution it represents. Hence,
the objective function (1) is generalized by incorporating penalty terms that reflect the degree of infeasibility. For a chromo-
some ch, the generalized cost function (that is, the fitness function to be minimized in the evolution process) is then calcu-
lated as follows:
Please cite this article in press as: F. Ahmadizar et al., Two-level vehicle routing with cross-docking in a three-echelon supply chain: A
genetic algorithm approach, Appl. Math. Modell. (2015), http://dx.doi.org/10.1016/j.apm.2015.03.005
10 F. Ahmadizar et al. / Applied Mathematical Modelling xxx (2015) xxx–xxx
X
5
GZðchÞ ¼ ZðchÞ þ aj Bj ðchÞ; ð26Þ
j¼1
where Z(ch) denotes the objective function value for chromosome ch, and B1(ch) through B4(ch) and B5(ch) are the penalties
for the violations of the capacities and time horizon constraints, respectively. In addition, the aj ’s are the penalty coefficients,
which are useful for making the penalties significant.
0ch ch 0
Let g ch ch ch 00ch 00
sikrp , zikrp , arp , biks , biks , and yikr denote, respectively, the values of the decision variables g sikrp , zikrp , arp , biks , biks , and yikr
for chromosome ch. The penalty for the violations of the inbound vehicles’ capacity constraints (12) is calculated as follows:
ni 0 ( )
X
CD X X
S X
R X
B1 ðchÞ ¼ max 0; g ch 0
sikrp kp drp wik ð27Þ
i¼1 k¼1 s¼1 r¼1 p2Pr
It is noteworthy that in Eq. (30), only the times at which the products are received by the cross-docks (which may be out
of the time horizon) are considered for s, so only the amounts of the violations are measured. Furthermore, the penalty for
the violations of the time horizon constraints (25) is calculated as follows:
ni
( )
X
CD X X
R
B5 ðchÞ ¼ max 0; yikr ðhikr þ oir =v ik Þ T :
00ch 0
ð31Þ
i¼1 k¼1 r¼1
3.3. Selection
The parent selection operation is implemented in the current population (with a size of PS) to select, with replacement, a
number of parents equal to PS. The parents then undergo the crossover and mutation operations. Among many possible
selection methods, the roulette wheel mechanism is adopted in this paper to select individuals for reproduction. This mecha-
nism is a fitness proportional selection that allows the fitter chromosomes to become parents with a higher probability. The
roulette wheel selection operator with fitness scaling used is as follows:
Step 1. Subtract from the fitness value of each chromosome the worst fitness value in the population, denoted by GZmax, as
follows:
Step 3. To make each selection, generate a random number rand between 0 and 1, and select chromosome ch if
CP ch1 < rand 6 CP ch , where CP0 = 0.
Furthermore, after having created the offspring of the parents, the survivor selection operation is applied to select
individuals for the next generation. The operator used is a combination of an elitist strategy and the above operator. First,
the elitist strategy is used to preserve a percentage r elit of the current best solutions; however, if all the selected solutions
are infeasible, the worst of them is replaced by the best feasible solution found so far. The rest of the population is then filled
according to the result of the above-mentioned roulette wheel mechanism.
Please cite this article in press as: F. Ahmadizar et al., Two-level vehicle routing with cross-docking in a three-echelon supply chain: A
genetic algorithm approach, Appl. Math. Modell. (2015), http://dx.doi.org/10.1016/j.apm.2015.03.005
F. Ahmadizar et al. / Applied Mathematical Modelling xxx (2015) xxx–xxx 11
3.4. Crossover
To diversify the search, the crossover operator recombines the gene-codes of two parents and produces two offspring, i.e.,
two solutions in as yet unvisited regions of the search space. For each pair of parents, the operator is applied according to a
crossover probability D0c . Since an integer encoding is used in the first section of each chromosome, permutations in its sec-
ond and third sections, and a real-based encoding in its last section, a combination of different crossovers (as well as muta-
tions) has to be applied. Accordingly, given a pair of parents, the one-point crossover is executed on the first section, the
order crossover is applied separately to the second and third sections, and the whole arithmetic crossover that takes the
weighted sum of the two parental gene values for each gene is executed on the last section. For the problem instance pre-
sented in Section 3.1, Fig. 4 illustrates an example of these three crossover operations, where the weight parameter of the
whole arithmetic crossover (i.e., the weight of parent 1 when producing child 1 and of parent 2 when producing child 2)
is 0.3; for more details about these crossovers, the reader is referred to [29].
Preliminary experiments indicate that the convergence speed of the algorithm is reduced when implementing the three
crossovers on a pair of parents. Accordingly, the proposed crossover operator is as follows:
Step 1. Generate a random number rand1 between 0 and 1. Go to the next step if rand1 6 D1c , and to Step 3 otherwise.
Step 2. Generate a random number rand2 between 0 and 1. Implement the one point crossover on the first section of the two
chromosomes if rand2 6 D2c , and the whole arithmetic crossover (with a weight parameter uniformly drawn
between 0 and 1) on the last section otherwise.
Step 3. Generate a random number rand3 between 0 and 1. Apply the order crossover to the second section of the two chro-
mosomes if rand3 6 D3c and to the third section otherwise.
3.5. Mutation
After the crossover process, the mutation operator is applied to each resulting offspring’s chromosome according to a
probability D0m . The aim of this operator, which is performed by varying the gene values of a chromosome, is to prevent
the algorithm from trapping in local optima by exploring new solution spaces. As for the crossover, the mutation operator
is a combination of three different mutations. The random resetting mutation [29] that resets each gene value with a small
probability Drr
m to a different value randomly chosen from the set of allowable values is executed on the first section of the
chromosome. The swap mutation that exchanges the values of two randomly selected genes is applied separately to the sec-
ond and third sections. Moreover, a creep mutation that works by increasing or decreasing each gene value with a small
probability Dcp
m is executed on the last section. As an example, the application of these three mutation operations to the first
offspring’s chromosome shown in Fig. 4 is illustrated in Fig. 5.
Preliminary experiments indicate that mutating all sections of a chromosome does not provide promising results.
Therefore, the proposed mutation operator is as follows:
Step 1. Generate a random number rand1 between 0 and 1. Go to the next step if rand1 6 D1m , and to Step 3 otherwise.
Step 2. Generate a random number rand2 between 0 and 1.
Please cite this article in press as: F. Ahmadizar et al., Two-level vehicle routing with cross-docking in a three-echelon supply chain: A
genetic algorithm approach, Appl. Math. Modell. (2015), http://dx.doi.org/10.1016/j.apm.2015.03.005
12 F. Ahmadizar et al. / Applied Mathematical Modelling xxx (2015) xxx–xxx
2.1. If rand2 6 D2m , apply the random resetting mutation to the first section of the chromosome.
2.2. If rand2 > D2m , for each gene in the last section, with probability Dcp
m generate two random numbers rand3 and
rand4 between 0 and 1, and then, multiply the gene value by 1 + rand4 if rand3 6 0.5 and by 1 rand4
otherwise.
Step 3. Generate a random number rand5 between 0 and 1. Apply the swap mutation to the second section of the chromo-
some if rand5 6 D3m and to the third section otherwise.
A local search can serve as a complement to evolutionary operators, which mainly encourage global exploration, for the
purpose of improving the intensification of the search [38]. A local search procedure is therefore proposed to implement on a
number Nols of the individuals in the population in order to help the algorithm attain better solutions. Following a prelimi-
nary experiment, a local search is implemented sequentially for each of the first three sections of a chromosome; when
changes are made in one section, the other sections are left unchanged in order to avoid too large perturbations.
Experimental results have shown, however, that a local search may not be developed to efficiently apply to the last section.
For the first section, the value of one randomly chosen gene is reset to each of the other allowable values, thus considering all
the other suppliers for the corresponding product. The best neighbor solution is selected if it improves the current solution.
1
The process is then repeated for a number iter ls of iterations. For the second as well as the third section, however, the values
of two randomly chosen genes are swapped. The neighbor solution is selected if it improves the current solution. The process
2 3
is then repeated for the second (third) section for a number iterls (iterls ) of iterations.
4. Computational results
In this section, numerical results on the performance of the proposed hybrid GA are presented. The algorithm has been
coded in the C# programming language and run on a 2 GHz Pentium IV processor with 2 GB of RAM. Before providing the
experimental results, the generation of test problems and parameter settings are discussed.
Because there is no benchmark dataset available for this study, we have generated a number of random test problems to
assess the performance of the algorithm. These test problems are categorized into two groups. The first group includes three
small problems 1–3, whereas the second contains three large problems 4–6. Table 2 indicates the sizes of the test problems.
For simplicity, the set of product types demanded by each retailer, and the number of inbound and outbound vehicles of each
cross-dock are assumed to be the same for each problem. In addition, we assume that all inbound and outbound vehicles
drive at a constant speed of 60 km/h.
A total of 10 instances has then been considered for each problem size, thus generating 60 problem instances. For each
problem instance, the time horizon has been assumed to be 1440 min (24 h), and the other required parameters have been
chosen from uniform distributions, which are depicted in Table 3; for each inbound/outbound vehicle, of course, one of the
three scenarios considered is chosen randomly and both its fixed cost and its capacity are set according to the selected
scenario.
To set the numeric parameters of the algorithm, in a preliminary experiment a variety of combinations of the parameter
values have been tested. Experimental results have shown that the following values can obtain satisfactory results
and, therefore, are used for all further studies: PS = 500, total number of generations = 750, D0c ¼ 0:85, D0m ¼ 0:25,
P P 0 1 P
D1c ¼ D1m ¼ 0:2, D2c ¼ D3c ¼ D2m ¼ D3m ¼ 0:5, Drr m ¼ 1= kP r k, Dcp
m ¼ 1= ni , relit ¼ 0:3, Nols ¼ 15, iterls ¼ 0:05 kPr k,
2 P P 3 P P
iterls ¼ 0:05 kPr k þ n0i 1 , and iterls ¼ 0:05ð kPr k þ ðni 1ÞÞ. Furthermore, setting the penalty coefficients to small
values may cause the algorithm to fail to reach feasible solutions, while setting them to large values may cause the algorithm
to lose good solutions in the borders of the search space. On the other hand, because different problems can have different
scales of the fitness landscape, setting the coefficients to constant values may cause the algorithm to perform poorly. Hence,
Table 2
Conditions of the test problems.
Problem S CD R P n0i ; ni
1 2 2 5 2 2
2 3 2 10 2 3
3 4 4 15 2 4
4 8 6 30 2 6
5 9 7 40 2 7
6 10 8 50 2 8
Please cite this article in press as: F. Ahmadizar et al., Two-level vehicle routing with cross-docking in a three-echelon supply chain: A
genetic algorithm approach, Appl. Math. Modell. (2015), http://dx.doi.org/10.1016/j.apm.2015.03.005
F. Ahmadizar et al. / Applied Mathematical Modelling xxx (2015) xxx–xxx 13
Table 3
Other conditions of the test problems.
each of these coefficients has been set as a percentage of the current fitness function value of each chromosome when the
penalty terms are added to the fitness function stated in Eq. (26) one after another, starting from the first term to the fifth
term. The given percentages for the first through the fifth terms are 1%, 1%, 0.5%, 0.5% and 1%, respectively. This setting allows
searches in the infeasible regions of the solution space while reducing the number of infeasible solutions in the subsequent
generations. For a problem instance of the sixth problem size, Fig. 6 represents the number of infeasible solutions that appear
in the population during 750 generations.
In order to compare the performance of the proposed hybrid algorithm, called HGA, with the MINLP model, we have used
the GAMS mathematical programming package. However, although simple test problems have been used for comparison,
the MINLP model has failed to provide even feasible solutions within a time limit of 20 h. This is, of course, not surprising
since the problem under consideration is too highly constrained. Consequently, because it is impossible to compare a solu-
tion obtained by HGA with a global (or even local) optimum solution resulted from the MINLP model, the performance of
HGA is compared with two other alternative methods. The first alternative, called GA, is the proposed algorithm without
the local search procedure. Since incorporating the local search procedure introduces additional computational effort to
the algorithm, to make a fair comparison, GA terminates after proceeding for the same amount of time as HGA; accordingly,
GA is allowed to generate an additional number of generations. Moreover, the other alternative, called ML, is a heuristic algo-
rithm consisting of the proposed mutation operator and the local search procedure, where the mutation operator aims at
diversifying the search and the local search procedure encourages the search intensification. ML starts with a random solu-
tion, and repeatedly tries to enhance the current solution as follows, where the quality of a solution is again judged according
to the generalized cost function (26) due to the infeasibility problem which may appear in the solution. At each iteration, a
new solution is produced by applying the mutation operator to the current solution and then improving the resulting solu-
tion by the local search procedure; if the new solution is better than the current one, it becomes the new current solution. To
avoid entrapment in local optima, however, following a preliminary experiment ML restarts with a random solution if
P
3 kPr k successive iterations are performed without finding a better solution. To make a fair comparison, ML terminates
after proceeding for the same amount of time as HGA; the best feasible solution found (if any is found) is then returned.
ML can serve as a benchmark heuristic to show the effectiveness of GA. Besides, the contribution of the local search proce-
dure can be observed by comparing the performance of HGA with GA. In conclusion, the purpose of these comparisons is to
validate the effectiveness of the whole algorithm, i.e., HGA.
Each of ML, GA and HGA has been run 10 times for each problem instance, the best feasible solution found in each run has
been provided, and then, the minimum, average, and maximum objective function values achieved over the 10 runs have
Please cite this article in press as: F. Ahmadizar et al., Two-level vehicle routing with cross-docking in a three-echelon supply chain: A
genetic algorithm approach, Appl. Math. Modell. (2015), http://dx.doi.org/10.1016/j.apm.2015.03.005
14 F. Ahmadizar et al. / Applied Mathematical Modelling xxx (2015) xxx–xxx
Table 4
Results of ML, GA and HGA.
Please cite this article in press as: F. Ahmadizar et al., Two-level vehicle routing with cross-docking in a three-echelon supply chain: A
genetic algorithm approach, Appl. Math. Modell. (2015), http://dx.doi.org/10.1016/j.apm.2015.03.005
F. Ahmadizar et al. / Applied Mathematical Modelling xxx (2015) xxx–xxx 15
been determined. The results are summarized in Table 4, where the solution quality is measured by the mean percentage
difference from the best feasible found solution (BFFS); the average CPU times listed in the last column are given in seconds.
It is noted that the three algorithms have found feasible solutions in all runs.
In Table 4, LB stands for lower bound; we derive a lower bound for the problem under consideration. By multiplying the
minimum number of inbound vehicles required to pick up products from suppliers with the minimum cost to perform one
tour at the first-level routing, the following lower bound is established for the first two terms of the objective function stated
in Eq. (1):
, !
X
R X
0
lb1;2 ¼ kp drp max w0ik min 2 mino00is c0ik þ f ik : ð32Þ
i;k i;k i;s
r¼1 p2P r
Similarly, by multiplying the minimum number of outbound vehicles required to deliver products to retailers with the
minimum cost to perform one tour at the second-level routing, the following lower bound is established for the third and
fourth terms of the objective function:
, !
X
R X
lb3;4 ¼ kp drp max wik min 2 mino0ir cik þ f ik : ð33Þ
i;k i;k i;r
r¼1 p2P r
Moreover, a lower bound for the last term of the objective function, denoted by lb5 , is determined as follows. For every
product p, the suppliers are first arranged in non-decreasing order of c00sp ’s; by starting from the first supplier, the total retai-
P
lers’ demand, r drp , is then fulfilled by fully employing the capacities. Finally, lb5 is set to the total products’ purchasing cost
for the specified assignment; note that the minimum value of the holding costs in the last term could be zero. A lower bound
for the problem can then be established as lb1;2 þ lb3;4 þ lb5 .
Considering the results shown in Table 4, it can be seen that, although GA is effective in solving the problem as compared
to ML, HGA performs better, that is, the proposed algorithm would not perform better without the local search procedure but
with generating an additional number of solutions. From the average results, as the problem size increases, the relative per-
formance of HGA improves, too. The computational results suggest that HGA provides an efficient approach to yield reason-
able solutions with reasonable computational efforts.
Furthermore, the influence of temporary storage at cross-docks on the objective function has been analyzed. For a prob-
lem instance of the fourth problem size, Fig. 7 shows the results concerning five situations with different storage capacities.
In Fig. 7, the first situation (shown by 100%) stands for the original problem instance that has been randomly generated. In
the subsequent situations, the storage capacity of each cross-dock is decreased in increments of 25% thus allowing no tem-
porary storage area in the last situation. It is noted that, to make a proper comparison, HGA has been run 10 times for each of
the five situations. Consequently, Fig. 7 represents the average objective function values over these runs.
As expected and shown by Fig. 7, the best result is related to the first situation, where the storage capacity of each cross-
dock is at the maximum value. As the storage capacity is decreased, the results deteriorate. For the last four situations, and
particularly for the situation in which there is no temporary storage area, the increase in the objective function value clearly
results from increasing the number of vehicles used, that is, from raising the transportation costs by employing additional
inbound vehicles (for simultaneous arrival) and/or sending partially full outbound vehicles.
Cross-docking is an efficient logistics strategy for distributing products in a SC. Although a lot of studies have investigated
cross-docking and VRP problems separately, there are few studies on the integration of these two problems. This paper deals
with a two-level VRP together with cross-docking for a three-echelon SC that includes suppliers, cross-docks and retailers.
Please cite this article in press as: F. Ahmadizar et al., Two-level vehicle routing with cross-docking in a three-echelon supply chain: A
genetic algorithm approach, Appl. Math. Modell. (2015), http://dx.doi.org/10.1016/j.apm.2015.03.005
16 F. Ahmadizar et al. / Applied Mathematical Modelling xxx (2015) xxx–xxx
The first-level routing is implemented between cross-docks and suppliers, and the second level between cross-docks and
retailers. Inbound vehicles pick up products from suppliers, and outbound vehicles deliver them to retailers. A MINLP model
is presented to minimize the purchasing, transportation and holding costs by optimizing the assignment of the products
demanded by the retailers to suppliers and cross-docks, the routes and schedules of the inbound as well as outbound vehi-
cles, and the consolidation decisions. To solve this NP-hard problem efficiently, a GA hybridized with a local search proce-
dure is then proposed. A computational study is conducted to quantify the performance of the developed algorithm. In
addition, it is shown that temporary storage at cross-docks can increase the flexibility of the model thus decreasing the total
costs.
The model proposed in this paper assumes that a vehicle never has to wait for the resources required to load/unload prod-
ucts. In a cross-dock, however, the number of such resources is often restricted, and consequently, one has to schedule the
operations of unloading inbound vehicles and loading outbound vehicles within cross-docks. Obviously, scheduling decisions
have an effect on the finish times of the unloading operations of inbound vehicles and the departure times of outbound vehi-
cles from cross-docks, indicating a need to considerably revise constraints (17) and (18) in particular. This issue points to a
significant direction for future research efforts. As another direction for future research, it would be interesting to consider
reverse logistics operations from retailers to suppliers for the repair or remanufacture of products. Moreover, it would be
interesting to allow direct shipments of products from suppliers to retailers; in such a case, an inbound vehicle in its tour
may visit some retailers, in addition to some suppliers.
Acknowledgements
The authors would like to thank Prof. Mark Cross and anonymous referees for their constructive comments and sugges-
tions, which have been very helpful in improving the presentation of this paper.
References
[1] S. Sinha, S.P. Sarmah, Coordination and price competition in a duopoly common retailer supply chain, Comput. Ind. Eng. 59 (2010) 280–295.
[2] S.J. Lim, S.J. Jeong, K.S. Kim, M.W. Park, Hybrid approach to distribution planning reflecting a stochastic supply chain, Int. J. Adv. Manuf. Technol. 28
(2006) 618–625.
[3] R.H. Ballou, Business Logistics Management: Planning, Organizing, and Controlling the Supply Chain, fourth ed., Prentice Hall, New Jersey, 1999.
[4] U.M. Apte, S. Viswanthan, Effective cross docking for improving distribution efficiencies, Int. J. Logist.-Res. Appl. 3 (2000) 291–302.
[5] M. Wen, J. Larsen, J. Clausen, J.F. Cordeau, G. Laporte, Vehicle routing with cross-docking, J. Oper. Res. Soc. 60 (2009) 1708–1718.
[6] B. Vahdani, M. Zandieh, Scheduling trucks in cross-docking systems: robust meta-heuristics, Comput. Ind. Eng. 58 (2010) 12–24.
[7] Y.H. Lee, J.W. Jung, K.M. Lee, Vehicle routing scheduling for cross-docking in the supply chain, Comput. Ind. Eng. 51 (2006) 247–256.
[8] N. Christofides, A. Mingozzi, P. Toth, The vehicle routing problem, in: N. Christofides, A. Mingozzi, P. Toth, C. Sandi (Eds.), Combinatorial Optimization,
Wiley, Chichester, 1979, pp. 315–338.
[9] G. Alpan, R. Larbi, B. Penz, A bounded dynamic programming approach to schedule operations in a cross docking platform, Comput. Ind. Eng. 60 (2011)
385–396.
[10] M. Napolitano, Making the Move to Cross Docking: a Practical Guide to Planning, Designing, and Implementing a Cross Dock Operation, WERC
Publisher, 2000.
[11] H.D. Ratliff, J.V. Vate, M. Zhang, Network design for load-driven cross-docking systems, Technical Report, The Logistics Institute, Georgia Institute of
Technology, 1999.
[12] V. Jayaraman, A. Ross, A simulated annealing methodology to distribution network design and management, Eur. J. Oper. Res. 144 (2003) 629–645.
[13] A. Ross, V. Jayaraman, An evaluation of new heuristics for the location of cross-docks distribution centers in supply chain network design, Comput. Ind.
Eng. 55 (2008) 64–79.
[14] V.B. Kreng, F.T. Chen, The benefits of a cross-docking delivery strategy: a supply chain collaboration approach, Prod. Plan. Control 19 (2008) 229–241.
[15] M. Bachlaus, M.K. Pandey, C. Mahajan, R. Shankar, M.K. Tiwari, Designing an integrated multi-echelon agile supply chain network: a hybrid taguchi-
particle swarm optimization approach, J. Intell. Manuf. 19 (2008) 747–761.
[16] M. Gumus, J.H. Bookbinder, Cross-docking and its applications in location-distribution systems, J. Bus. Logist. 25 (2004) 199–228.
[17] N. Boysen, M. Fliedner, Cross dock scheduling: classification, literature review and research agenda, OMEGA- Int. J. Manage. Sci. 38 (2010) 413–422.
[18] P. Buijs, I.F.A. Vis, H.J. Carlo, Synchronization in cross-docking networks: a research classification and framework, Eur. J. Oper. Res. 239 (2014) 593–608.
[19] C.J. Liao, Y. Lin, S.C. Shih, Vehicle routing with cross-docking in the supply chain, Expert Syst. Appl. 37 (2010) 6868–6873.
[20] V.W.C. Morais, G.R. Mateus, T.F. Noronha, Iterated local search heuristics for the vehicle routing problem with cross-docking, Expert Syst. Appl. 41
(2014) 7495–7506.
[21] F.A. Santos, G.R. Mateus, A.S. da Cunha, A branch-and-price algorithm for a vehicle routing problem with cross-docking, Elect. Notes Discrete Math. 37
(2011) 249–254.
[22] F.A. Santos, G.R. Mateus, A.S. da Cunha, The pickup and delivery problem with cross-docking, Comput. Oper. Res. 40 (2013) 1085–1093.
[23] R. Dondo, C.A. Méndez, J. Cerdá, The multi-echelon vehicle routing problem with cross docking in supply chain management, Comput. Chem. Eng. 35
(2011) 3002–3024.
[24] S.M. Mousavi, B. Vahdani, R. Tavakkoli-Moghaddam, H. Hashemi, Location of cross-docking centers and vehicle routing scheduling under uncertainty:
a fuzzy possibilistic–stochastic programming model, Appl. Math. Model. 38 (2014) 2249–2264.
[25] J. Van Belle, P. Valckenaers, D. Cattrysse, Cross-docking: state of the art, OMEGA- Int. J. Manage. Sci. 40 (2012) 827–846.
[26] J. Barcelo, J. Casanova, A heuristic Lagrangian algorithm for the capacitated plant location problem, Eur. J. Oper. Res. 15 (1984) 212–226.
[27] H. Pirkul, Efficient algorithms for the capacitated concentrator location problem, Comput. Oper. Res. 14 (1987) 197–208.
[28] R. Sridharan, A heuristic Lagrangian algorithm for the capacitated plant location problem – a comment, Eur. J. Oper. Res. 23 (1993) 264–265.
[29] A.E. Eiben, J.E. Smith, Introduction to Evolutionary Computing, Springer, Berlin, 2003.
[30] G. Kannan, P. Sasikumar, K. Devika, A genetic algorithm approach for solving a closed loop supply chain model: a case of battery recycling, Appl. Math.
Model. 34 (2010) 655–670.
[31] R.J. Kuo, Y.S. Han, A hybrid of genetic algorithm and particle swarm optimization for solving bi-level linear programming problem – a case study on
supply chain model, Appl. Math. Model. 35 (2011) 3905–3917.
[32] A. Prakash, F.T.S. Chan, H. Liao, S.G. Deshmukh, Network optimization in supply chain: a KBGA approach, Decis. Support Syst. 52 (2012) 528–538.
[33] K.A.A.D. Raj, C. Rajendran, A genetic algorithm for solving the fixed-charge transportation model: two-stage problem, Comput. Oper. Res. 39 (2012)
2016–2032.
Please cite this article in press as: F. Ahmadizar et al., Two-level vehicle routing with cross-docking in a three-echelon supply chain: A
genetic algorithm approach, Appl. Math. Modell. (2015), http://dx.doi.org/10.1016/j.apm.2015.03.005
F. Ahmadizar et al. / Applied Mathematical Modelling xxx (2015) xxx–xxx 17
[34] C. Prins, A simple and effective evolutionary algorithm for the vehicle routing problem, Comput. Oper. Res. 31 (2004) 1985–2002.
[35] T. Vidal, T.G. Crainic, M. Gendreau, W. Rei, A hybrid genetic algorithm for multi-depot and periodic vehicle routing problems, Oper. Res. 60 (2012) 611–
624.
[36] D. Cattaruzza, N. Absi, D. Feillet, T. Vidal, A memetic algorithm for the multi trip vehicle routing problem, Eur. J. Oper. Res. 236 (2014) 833–848.
[37] C.A. Coello Coello, Theoretical and numerical constraint-handling techniques used with evolutionary algorithms: a survey of the state of the art,
Comput. Methods Appl. Mech. Eng. 191 (2002) 1245–1287.
[38] H. Ishibuchi, T. Yoshida, T. Murata, Balance between genetic search and local search in memetic algorithms for multi-objective permutation flow shop
scheduling, IEEE Trans. Evol. Comput. 7 (2003) 204–223.
Please cite this article in press as: F. Ahmadizar et al., Two-level vehicle routing with cross-docking in a three-echelon supply chain: A
genetic algorithm approach, Appl. Math. Modell. (2015), http://dx.doi.org/10.1016/j.apm.2015.03.005