Open vehicle routing problem with cross-docking

Open vehicle routing problem with cross-docking

Accepted Manuscript Open Vehicle Routing Problem with Cross-Docking Vincent F. Yu, Parida Jewpanya, A.A.N. Perwira Redi PII: DOI: Reference: S0360-83...

746KB Sizes 6 Downloads 298 Views

Accepted Manuscript Open Vehicle Routing Problem with Cross-Docking Vincent F. Yu, Parida Jewpanya, A.A.N. Perwira Redi PII: DOI: Reference:

S0360-8352(16)30011-0 http://dx.doi.org/10.1016/j.cie.2016.01.018 CAIE 4241

To appear in:

Computers & Industrial Engineering

Received Date: Revised Date: Accepted Date:

6 May 2014 22 January 2016 22 January 2016

Please cite this article as: Yu, V.F., Jewpanya, P., Perwira Redi, A.A.N., Open Vehicle Routing Problem with CrossDocking, Computers & Industrial Engineering (2016), doi: http://dx.doi.org/10.1016/j.cie.2016.01.018

This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting proof before it is published in its final form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.

Open Vehicle Routing Problem with Cross-Docking Vincent F. Yu, Parida Jewpanya∗ and A.A.N. Perwira Redi Department of Industrial Management, National Taiwan University of Science and Technology 43, Section 4, Keelung Road, Taipei, Taiwan

Abstract The advantages of the cross-docking technique have been increasingly appreciated in literature and in practice. This appreciation, coupled with the advances of numerous applications in the vehicle routing problem (VRP) across numerous practical contexts, presents an opportunity to explore the open VRP with cross-docking (OVRPCD). We introduce a general example in retail wherein the capital expenditure necessary in vehicle acquisition can become a burden for the retailer, who then needs to consider outsourcing a logistics service as a cost-effective option. This practical scenario can be applied to create an open flow network of routes. This study considers a single product and single cross-dock wherein capacity-homogeneous vehicles start at different pickup points and times during pickup operations. The vehicles are scheduled to route in the network synchronously to arrive at the cross-dock center simultaneously. In the delivery operations, all customers must be served at most once and deliveries should be finished at a predetermined duration. We model OVRPCD as a mixed-integer linear program that minimizes the total cost (vehicle hiring cost and transportation cost). A simulated annealing (SA) algorithm is proposed to solve the problem. SA is first verified by solving the VRPCD benchmark instances and providing comparative tables with state-of-art algorithms. We then test SA on three sets of OVRPCD benchmark instances; the results are compared with those obtained by CPLEX. Computational



Corresponding Author. E-mail:[email protected] (Vincent F. Yu), [email protected].(Parida Jewpanya) [email protected] A.A.N. (Perwira Redi)

results show that both CPLEX and SA can obtain optimal solutions to all small and medium instances. However, the computational time required by SA is shorter than that needed by CPLEX. Moreover, for large instances, the SA results outperform CPLEX results in both solution value and computational time.

Keywords: Cross-docking; Open vehicle routing problem; Simulated annealing

Open Vehicle Routing Problem with Cross-Docking Abstract The advantages of the cross-docking technique have been increasingly appreciated in literature and in practice. This appreciation, coupled with the advances of numerous applications in the vehicle routing problem (VRP) across numerous practical contexts, presents an opportunity to explore the open VRP with cross-docking (OVRPCD). We introduce a general example in retail wherein the capital expenditure necessary in vehicle acquisition can become a burden for the retailer, who then needs to consider outsourcing a logistics service as a costeffective option. This practical scenario can be applied to create an open flow network of routes. This study considers a single product and single cross-dock wherein capacity-homogeneous vehicles start at different pickup points and times during pickup operations. The vehicles are scheduled to route in the network synchronously to arrive at the cross-dock simultaneously. In the delivery operations, all customers must be served at most once and deliveries should be finished at a predetermined duration. We model OVRPCD as a mixed-integer linear program that minimizes the total cost (vehicle hiring cost and transportation cost). A simulated annealing (SA)

algorithm is proposed to solve the problem. SA is first verified by solving the VRPCD benchmark instances and providing comparative tables with state-of-art algorithms. We then test SA on three sets of OVRPCD benchmark instances; the results are compared with those obtained by CPLEX. Computational results show that both CPLEX and SA can obtain optimal solutions to all small and medium instances. However, the computational time required by SA is shorter than that needed by CPLEX. Moreover, for large instances, the SA results outperform CPLEX results in both solution value and computational time. Keywords: Cross-docking; Open vehicle routing problem; Simulated annealing

1.

Introduction Many companies are trying to develop efficient strategies to control the physical flow of their

supply chain. The important aspects in finding new strategies is minimizing the total cost and achieving a high level of agility, flexibility, and reliability for various demands. Cross-docking is one innovative strategy to minimize unnecessary cost, particularly in terms of inventory and customer service level (Apte & Viswanathan, 2000). Cross-docking operations were pioneered in the US trucking industry in the 1930s and have since been in use in less-than-truckload (LTL) operations. The US military began utilizing cross-docking operations in the 1950s, and Wal-Mart began implementing cross-docking in the retail sector in the late 1980s. In the LTL trucking industry, cross-docking is conducted by moving freight from one transport vehicle directly into another one with minimal or no storage. In retail practice, cross-docking operations may utilize staging areas wherein inbound freight is sorted, consolidated, and stored until the outbound shipments are ready to leave. Another cross-docking activity in practice is the “hub and spoke” configuration, wherein freight is brought to one central location and then sorted for delivery to a

variety of destinations. At the central location, deconsolidation is performed to break large shipments into small shipments for ease of delivery. The advantages of the cross-docking technique in supply chain management have been discussed in the last decade. Agustina et al. (2010) noted that cross-docking is important for the efficient operation of a distribution network because it reduces or eliminates the storage activities that belong to the warehousing system. In general, the concept of cross-docking does not allow products to be stored at the cross-docking center but may occur whenever the inventory cost incurred is lower than the gain from consolidation or a delay of shipment (Vahdani et al., 2009). In the supply chain, the classical vehicle routing problem (VRP) plays an important role in distribution management and logistics, as well as the costs associated with operating vehicles (Barbarosoglu & Ozgur, 1999). VRP finds optimal delivery or pickup routes from a depot to a set of customers subject to various side constraints (Eksioglu et al., 2009). Because of its importance, VRP has been studied extensively over the past decades with many extensions and different solution approaches (Braekers et al., 2015). Among those studies, the integration of a cross-docking strategy has only been recently investigated. Several recent studies published VRP with cross-docking (VRPCD) as a variant of the classical VRP. Lee et al. (2006) considered such a variant to have synchronous product arrival times with stable demand for consolidation. Their objective was to find the optimal number of vehicles and routing schedule to minimize transportation cost. The results of the proposed tabu search (TS) algorithm were compared with those obtained by an enumeration method. On average, a 4% error existed in the near-optimal solutions from 1000 search iterations. Liao et al. (2010) proposed a new TS algorithm for the VRPCD. They used the TS algorithm to solve the set of benchmark problems introduced by Lee et al. (2006) and the results show improvements in terms of solution quality and computational

time. The average improvement was as high as 10%–36% for problems of various sizes compare to the results obtained by TS of Lee et al. (2006). Wen et al. (2009) investigated another version of VRPCD slightly different from the one introduced by Lee et al. (2006) where asynchronous arrival is allowed. The dependency among the vehicles is determined by consolidation decisions. They modeled the problem to minimize the total distance traveled. Tarantilis (2013) and Morais et al. (2014) also investigated the same problem as defined by Wen et al. (2009). Tarantilis (2013) proposed a heuristic based on the adaptive multi-restart procedure associated with a TS heuristic to solve VRPCD, which provides better solutions than the solutions obtained by Wen et al. (2009) for 14 out of 20 instances. Morais et al. (2014) applied the iterated local search heuristic (ILS) to solve VRPCD. Their computational results showed that ILS outperformed the tabu search heuristic proposed by Wen et al. (2009) and the adaptive multi-restart TS heuristic of Tarantilis (2013). Hasani-Goodarzi and Tavakkoli-Moghaddam (2012) applied the cross-docking strategy for a vehicle fleet that was allowed to make split deliveries and pickups in different nodes of the network. They called this variant the split VRP, which was formulated as a mixed-integer programming model that aims to minimize transportation cost by using the GAMS optimization software. Santos et al. (2013) introduced the pickup and delivery problem with cross-docking (PDPCD), whereby instead of the usual stops at the cross-dock, vehicles are allowed to skip the stop at the cross-dock. The model considers two types of routes: (1) pickup and delivery routes when the vehicle does not stop at the cross-dock; (2) routes that stop at the cross-dock to exchange loads. The results from a branch and price algorithm showed that by having two-route options, the optimal solutions for PDPCD are on average at least 3.3% cheaper than those of their VRPCD counterparts. Mousavi and Tavakkoli-Moghaddam (2013) proposed the location

and routing scheduling problems with cross-docking which aims to design a cross-dock location and a vehicle routing scheduling model. The algorithm based on a two-stage hybrid simulated annealing (HSA) with a tabu list in the TS algorithm is proposed to solve the problem. Mousavi et al. (2013) studied the location and VRP in the cross-docking distribution networks under uncertainty, and proposed a hybrid fuzzy possibilistic–stochastic programming solution approach. Agustina et al. (2014) integrated cross-docking, vehicle scheduling and routing in food supply chain to ensure that food can be delivered to customers just in time. They formulated the problem as a mixed integer linear program and used the concepts of customer zones and hard time windows for delivery to reduce the solution space and then solved the problem by CPLEX. Dondo and Cerdá (2014) considered vehicle routing and cross-dock tuck scheduling simultaneously and formulated the problem as a mixed integer linear program. Recently, Dondo and Cerdá (2015) extended this problem to determine the routing and scheduling of a mixed vehicle fleet. Ahmadizar et al. (2015) presented two-level VRP with cross-docking in a threeechelon supply chain that includes suppliers, cross-docks and retailers. They considered two levels of routing in the network, the first-level involves suppliers and cross-docks and the second-level involves cross-docks and retailers. They hybridized genetic algorithm with local search procedure to solve the problem. Küçükoğlu and Öztürk (2015) introduced VRPCD with 2-dimensional truck loading. They hybridized TS with simulated annealing (SA) algorithm to solve the problem. The combinatorial nature of VRP makes this type of problem an NP-hard problem. Thus, studies with the same intrinsic complexity usually use heuristic and meta-heuristic solution approaches. For example, Dondo and Cerdá (2013) proposed a sweep heuristic algorithm and Morais et al. (2014) used an iterated local search heuristic to solve VRPCD. Pisinger and Ropke

(2007) used an adaptive large neighborhood search heuristic algorithm to solve five different variants of VRP, including the vehicle routing problem with time windows, capacitated vehicle routing problem, multi-depot vehicle routing problem, and site-dependent vehicle routing problem. Some studies employed meta-heuristic approaches to solve VRP and its variants, such as tabu search (Gendreau et al., 1994; Gendreau et al., 1999; Lee et al., 2006; Liao et al., 2010), genetic algorithm (Baker & Ayechew, 2003; Hwang, 2002; Kergosien et al., 2013), simulated annealing (Lin et al., 2009; Wang et al., 2015; Yu & Lin, 2014; Yu et al., 2010; Yu & Lin, 2015a, 2015b), particle swarm optimization (Ai & Kachitvichyanukul, 2009a, 2009b; Kachitvichyanukul et al., 2015; MirHassani & Abolghasemi, 2011), and some recently developed hybrid heuristic algorithms (Goksal et al., 2013; Ho et al., 2008; Marinakis & Marinaki, 2010; Mousavi & Tavakkoli-Moghaddam, 2013; Subramanian et al., 2012; Subramanian et al., 2013; Yu et al., 2011). The computational results of these studies show that these hybrid approaches can find optimal or near-optimal solutions to large-scale problems in a competitive computational time. The open vehicle routing problem (OVRP) has recently been introduced. OVRP is an extension of VRP and is characterized by an “open” network wherein the flow starts from a customer and ends at the depot or begins at the depot and finishes at one of the customers without returning to the depot. OVRP usually occurs in a company that does not have its own fleet of vehicles to service customers. Thus, the company contracts a third party logistic (TPL) company to provide vehicle fleets. From the contractee’s point of view, they only need to consider the cost associated with the trip between its depot and the last customer that the vehicle services. Sariklis and Powell (2000), Cao and Lai (2010), and Zachariadis and Kiranoudis (2010) discussed some practical applications of OVRP. The difference between OVRP and classical

VRP is the network flow described earlier. Thus, OVRP is relevant in practice when the vehicle fleet is outsourced (Repoussis et al., 2010). Subsequent OVRP studies considered conditions that are related to the real-life transportation, logistics, and supply chain practices (Brito et al., 2015; Sariklis & Powell, 2000; Schopka & Kopfer, 2016) . Another practical extension of OVRP is multi-depot OVRP which arises when a company rents a large vehicle fleet and operates the vehicles from several depots or warehouses (Lalla-Ruiz et al., 2015; Liu et al., 2014; MontoyaTorres et al., 2015). This study focuses on the development of the distribution system, which is motivated both by the advantage of the cross-docking and open vehicle routing concept. In this paper, we present the OVRP with cross-docking (OVRPCD). Figure 1 illustrates the OVRPCD concept. The OVRPCD process starts at the pickup operations, and homogeneous vehicles start at different pickup points at different times. The vehicles are scheduled to route in the network synchronously to arrive at the cross-dock at the same time. In delivery operations, all customers must be served exactly once and deliveries should be finished within a pre-specified time. The objective is to find the number of vehicles to be contracted and their corresponding routes under the lowest possible total transportation cost. The difference between the original VRPCD and OVRPCD is that OVRPCD occurs in an open network wherein the flow begins from a pickup point and ends at a deliver point via cross-dock without forming any loop. From a practical point of view, OVRPCD may provide a good reference for a company that is considering to outsource its logistics activities to TPL companies. Moreover, the company can also use the solution for price negotiations with TPL service providers. Since OVRPCD contains OVRP as a sub-problem and OVRP is an NP-hard problem, OVRPCD is also NP-hard.

Therefore, we propose a

simulated annealing heuristic that incorporates several neighborhood structures to improve the

performance on solving OVRPCD. The proposed SA is first tested on VRPCD benchmark instances, and the results are compared to the results obtained by TS of Liao et al. (2010) and Lee et al. (2006). The performance of the proposed SA in solving OVRPCD is verified by comparing its solution quality and computational time with those obtained by CPLEX. This study provides a decision support tool for retailers mainly at the operational decision-making level. Furthermore, OVRPCD can spur large interests for substantial extensions or variants. [Figure 1. Illustration of OVRPCD] The remainder of this paper is organized as follows. Section 2 presents the problem statement and mathematical model formulation of OVRPCD. Section 3 shows the detailed descriptions of the proposed SA algorithm to solve OVRPCD. The solution representation scheme is also explained. Section 4 shows a comparative analysis of SA and CPLEX results and presents the sensitivity analyses of the effect of neighborhood structure and time horizon on solution quality. Finally, Section 5 concludes the paper and presents future research directions.

2.

Problem Statement and Mathematical Model We consider a retailer supplying a single product to multiple stores in a city. Given that this

product is acquired from suppliers and/or manufacturers in bulk quantities, a cross-docking facility is needed to segregate, classify, label, and re-bundle the product according to the demand requirements specific to each destination. Given that the retailer opts to outsource pickup and delivery operations to avoid high capital expenditure and other costs such as maintenance, insurance, and taxes for vehicles, we assume that the retailer enters into a “freight in” agreement with the logistical company, where the

retailer is responsible for all the delivery expenses of its orders. Usually, this type of agreement is made when a buyer wants to transfer ownership of the goods as soon as it leaves the supplier’s dock. Highly perishable and delicate goods, expensive items, limited items, and products for massive distribution are some examples that may need this type of inventory freight agreement. In this case, we assume that both parties agree on a “freight in” type of transportation cost. The planner now needs to prepare a routing plan that contains the fleet to be hired in a specific pickup–delivery operation (for example, daily) within a predetermined duration of the day. Moreover, the routes of the fleet have to be determined beforehand by the planner. The routes will then be immediately sent to and strictly followed by the contracted logistics firm. Each vehicle starts by picking up the required quantity at its starting time and node as specified in the routing plan and then follows the plan to service other supply nodes in the network. All vehicles arrive synchronously at the cross-dock. The routing plan simultaneously considers vehicle capacity, manufacturers’ supplies, customers’ demands, and time horizon. As soon as the cross-docking activity is finished, vehicles then depart simultaneously to satisfy customer demand in full quantities. The objective of this process is to achieve pickup and delivery operations under the lowest possible overall fleet transportation cost. In OVRPCD, a vehicle picks up products from pickup nodes and moves the products to the cross-dock. The vehicle may or may not deliver products from the cross-dock to customers depending on the number of vehicles needed for the delivery operation. The vehicle will return to the logistics company from the cross-dock directly if it is not used in the delivery operation. Otherwise, it will return to the logistics company after finishing its deliveries without returning to the cross-dock. Similarly, if the delivery process requires more vehicles than those used in the

pickup process, additional vehicles will be sent to the cross-dock directly from the logistics company. This problem assumes a simultaneous arrival time at the cross-dock. Therefore, the mathematical model can be divided into two parts: the pickup process model and delivery process model. Constraints are added to the model to cover the general situations that often occur in the distribution network. Moreover, to address the open network, we introduce a dummy cross-dock in the model. The dummy cross-dock was assumed to connect to all possible nodes with zero distance. We provide the notations used in formulating OVRPCD in the following.

P

Set of pickup nodes; P = {1, 2, 3, .., p}

D

Set of delivery nodes; D = {1, 2, 3, .., d}

0

Cross-dock

|0|

Dummy cross-dock

M

Set of available vehicles; M = {1, 2, 3, .., m}

Q

Vehicle capacity

H

Hiring cost of a vehicle

Pi

Quantity of products to be collected at pickup node i

Dj

Quantity of products to be delivered to delivery node j

cij

Transportation cost from node i to node j in the pickup process

cij′

Transportation cost from node i to node j in the delivery process

tij

Transportation time required to move from node i to node j in the pickup process

tij′

Transportation time required to move from node i to node j in the delivery process

Tcd

Cross-docking activity time

Tmax

Time horizon

Decision Variables

xijk

=

1, if vehicle k moves from node i to node j in the pickup process; 0, if otherwise.

xijk′

=

1, if vehicle k moves from node i to node j in the delivery process; 0, if otherwise.

yi

=

The total quantity of collected products after leaving pickup node i

yi′

=

The total quantity of delivered products after leaving delivery node i

Tpickup

=

Latest arrival time at the cross-dock

AT k

=

Arrival time of vehicle k at the cross-dock

v

=

Number of vehicle required in the pickup process

v′

=

Number of vehicle required in the delivery process

V

=

Number of vehicles used.

The binary variable xijk equals one if and only if vehicle k travels from node i to node j in the

′ equals one if and only pickup process; otherwise, the value will be zero. The binary variable xijk if vehicle k travels from node i to node j in the delivery process; otherwise, the value will be zero.

  ′ +V ⋅ H  Min  ∑ ∑ ∑ cij ⋅ xijk + ∑ ∑ ∑ cij′ ⋅ xijk i∈{0}∪ D j∈{|0|}∪ D k∈M  i∈{|0|}∪P j∈{0}∪P k∈M .

The objective function computes the total transportation cost incurred in the pickup and delivery processes. A hiring cost H is then added on the basis of the number of vehicles used V. Constraints for the pickup and delivery processes are presented as follows:

Pickup Process

∑ ∑x

ijk

=1

i∈{|0|}∪ P ,i ≠ j k ∈M

∑ ∑x

ijk

=1

j∈{0}∪ P , j ≠ i k ∈M



i∈{|0|}∪ P , i≠l

∑x

x ilk −



j∈{0}∪ P , j≠l

xljk = 0

≤1

|0| jk

j∈P

∑x

i0 k

≤1

i∈P

y j ≥ yi + Pj − Q + (Q ⋅ ( xijk + x jik )) − (( Pj + Pi ) ⋅ x jik ) y j ≤ x|0| jk ⋅ Pj + (1 − x|0| jk ) ⋅ Q

Pi ≤ yi ≤ Q

∑∑x i∈ P k ∈M

i0k

≤v

.

∀j ∈ P ,

(1)

∀i ∈ P ,

(2)

∀l ∈ P, k ∈ M ,

(3)

∀k ∈ M ,

(4)

∀k ∈ M ,

(5)

∀k ∈ M , i ∈ P , j ∈ P , i ≠ j ,

(6)

∀j ∈ P , k ∈ M

(7)

∀i ∈ P ,

(8) (9)

In the pickup process, constraints (1) and (2) express that only one vehicle can arrive at and depart from every pickup node. Constraint (3) ensures the consecutive movement of vehicles. The vehicles leave the dummy cross-dock as stated in constraint (4) and are required to visit the cross-dock immediately after the last pickup node as stated in constraint (5). Constraint (6) and (7) calculate the total amount of products that have been collected by a vehicle when the vehicle

leaves a pickup node. Constraint (8) ensures that the total amount of products picked up by a vehicle does not exceed the vehicle’s capacity Q. Constraint (9) calculates the number of vehicles used in the pickup process.

Delivery Process

∑ ∑ x′

ijk

=1

i∈{0}∪ D ,i ≠ j k ∈M

∑ ∑ x′

ijk

=1

j∈{|0|}∪D, j ≠i k∈M

xi′lk − ∑ xl′jk = 0 ∑ i∈{0}∪D, j∈{|0|}∪D , i ≠l

∀j ∈ D ,

(10)

∀i ∈ D ,

(11)

∀l ∈ D , k ∈ M ,

(12)

∀k ∈ M ,

(13)

∀k ∈ M ,

(14)

∀k ∈ M , i ∈ D , j ∈ D , i ≠ j ,

(15)

∀j ∈ D , k ∈ M

(16)

∀i ∈ D .

(17)

j ≠l

∑ x′

i|0|k

≤1

i∈ D

∑ x′

0 jk

≤1

j∈D

y′j ≥ yi′ + D j − Q + (Q ⋅ ( xij′ k + x′jik )) − (( D j + Di ) ⋅ x′jik ) y ′j ≤ x0′ jk ⋅ D j + (1 − x0′ jk ) ⋅ Q

Di ≤ yi′ ≤ Q

∑ ∑ x′

0 jk

j∈D k ∈M

≤ v′

(18)

In the delivery process, we employ the same constraints. Constraints (10) and (11) are included to ensure that only one vehicle arrives at and leaves from every delivery node. Constraint (12) warrants the consecutive movement of vehicles. Vehicles return to the dummy cross-dock as stated in constraint (13) and are required to start from the cross-dock as stated in constraint (14). Constraint (15) and (16) calculate the total amount of products that have been

delivered by a vehicle when the vehicle leaves a delivery node. Constraint (17) ensures that the total amount of products delivered by a vehicle does not exceed the vehicle’s capacity Q. The number of vehicles used in the delivery process is calculated by constraint (18).

Additional Constraints An additional constraint is needed to determine the number of hired vehicles. The number of vehicles used in the pickup and delivery processes may be different because of the differences in the number of nodes and distances to be traveled involved in the processes. Therefore, some vehicles may only be used in the pickup process and vice versa. Thus, the following constraint is required to determine the number of hired vehicles.

V = max ( v, v′)

(19)

.

Constraint (19) calculates the total number of vehicles to be hired to complete the pickup and delivery processes.

Pickup and Delivery Time The pickup and delivery time constraints are additional constraints used to make a schedule for each truck. This information is necessary for the user to know when the trucks should be processed at the cross-dock. The arrival time of trucks at the cross-dock should be stated in the constraints because of the assumption that the trucks simultaneously arrive at the cross-dock. Moreover, transportation time must be less than the planning horizon Tmax.

AT k ≥





i∈{|0|}∪ P j∈{0}∪ P

tij ⋅ xijk

∀k ∈ M , i ≠ j ,

(20)

AT k = AT k '

Tpickup ≥ AT k Tpickup + Tcd +

,

∑ ∑ i∈{0}∪ D j∈{|0|}∪ D

′ ≤ Tmax tij′ ⋅xijk

∀k , k ' ∈ M , k ≠ k ' ,

(21)

∀k ∈ M

(22)

∀k ∈ M .

(23)

Constraint (20) tracks the time for product collection in the pickup process. Constraint (21) ensures that the fleet of vehicles arrives at the cross-dock at the same time. Constraint (22) sets the time spent in the pickup process. Constraint (23) ensures that the total transportation time and processing time does not exceed the planning horizon Tmax. CPLEX is used to solve the mathematical model for OVRPCD. However, it fails to solve realistic size problems. Therefore, an SA heuristic algorithm is proposed for solving OVRPCD; this algorithm finds optimal or near-optimal solutions in a reasonable computing time.

3.

Simulated Annealing Algorithm for OVRPCD Metropolis et al. (1953) introduced a simple algorithm that can be used to provide an

efficient simulation of a collection of atoms in equilibrium at a given temperature by accepting worse solutions in iterations with a small probability called the Metropolis criterion. Later, this was known as SA. SA is a local search-based heuristic algorithm that is capable of avoiding being trapped in a local optimum (Yu et al., 2010). SA has been successfully applied to solve many problems related to vehicle routing. For example, Lin et al. (2009) solves the truck and trailer routing problem with SA and Yu et al. (2010) applies SA to the location-routing problem. The proposed SA algorithm uses a constructive type of heuristic to generate the initial current solution, and a new solution is then derived from the predefined neighborhood of the current

solution. The neighborhood structure improves the solution by utilizing three types of common moves: swap, reversion, and N-insertion, where N represents the number of nodes to be inserted or added. Finally, a local search is performed to refine the solution obtained from the SA algorithm. Figure 2 shows the flowchart of the proposed SA algorithm for OVRPCD. [Figure 2. SA heuristic flowchart] 3.1

Solution Representation The OVRPCD solution is represented by a string of numbers consisting of a permutation of p

pickup nodes, which is denoted by the set {1, 2… p}, and d delivery nodes, which is denoted by the set {p+1, p+2,..., p+d}. In addition to time horizon and vehicle capacity constraints, Ndummy

 ∑ Pi  zeros are used to separate routes. The value of Ndummy is calculated by using the formula  i∈P  in  Q   

 ∑ Dj  the pickup process and  j∈D  in the delivery process, where  •  denotes the smallest integer  Q    that is larger than or equal to the enclosed number. This approach allows the search to progress efficiently without degrading solution quality. By using this scheme, routes may be randomly terminated by the Ndummy zeros, vehicle capacity, or time horizon. By allowing a route to be terminated randomly, the solution space can be increased and a better solution can be found at the cost of computational time. Figure 3 is an example of a solution representation using this scheme. In the pickup process, vehicles are assigned to take routes directly starting from differing supplier nodes and to continue until termination at the cross-dock. In the delivery process, vehicles are assigned to take routes that

are terminated at the last customer served. A vehicle assigned in the pickup process can be reassigned in the delivery process. None of these routes allows vehicles to go back and forth in both pickup and delivery nodes. [Figure 3. Examples of solution representation of pickup and delivery routes] 3.2 Initial Solution An important factor for obtaining an effective initial solution is the effective utilization of vehicle capacity. Thus, the model may not initially consider maximum traveling time. To generate the initial solution, we try to produce a feasible solution with a greedy insertion strategy at each stage of route construction. Such a strategy is inspired by the probabilistic nearest neighbor heuristic approach with modifications in insertion conditions. Both solutions in the pickup and delivery processes are created by using the same initial solution procedure as in Figure 4. [Figure 4. Flowchart for constructing the initial solution] A configuration in the delivery process is used to illustrate the steps. The procedure starts at

CurrentNode with initial Capacity and CurrentTime at zero. We then establish the AssignmentList by examining the distance of the CurrentNode to all unselected nodes listed in ascending order. A node n is then randomly selected from the first three routes listed in the list. Before node n is inserted to current vehicle j, we perform two feasibility checks at each node:

Step 1:

If the route violates the vehicle capacity after inserting node n, the route is

terminated. Node n is assigned to the next vehicle j + 1, and the procedure proceeds to

Step 3. Otherwise, node n is subjected to the next feasibility check in Step 2.

Step 2:

If the route violates the latest departure time after inserting node n, the route is

terminated. Node n is assigned to the next vehicle j + 1, and the procedure proceeds to Step 3. Otherwise, node n is inserted to vehicle j and the procedure proceeds to Step 4.

Step 3:

Re-initialization begins with a new CurrentNode, and CurrentTime is reset to

zero.

Step 4:

Inserted node n is removed from AssignmentList, and CurrentNode is replaced

with node n. The process is terminated when all nodes are inserted. Thereafter, Ndummy zeros are randomly inserted. In this mechanism, the node with the cheapest insertion cost will be served first. The process continues until all customers are assigned to a vehicle. Finally, Ndummy zeros are randomly inserted. 3.3

Neighborhood The proposed SA algorithm incorporates three neighborhood structures to explore different

possibilities of route combination. We independently use all neighborhoods for the pickup and delivery routes. These neighborhood structures are explained as follows. 1. Swap: This neighborhood structure consists of solutions that can be obtained by swapping the positions of two nodes, either in the same route or in a different route. The procedure starts by taking a random node from a randomly chosen route and then systematically swapping this node it with other nodes.

2. Reverse: This neighborhood structure consists of solutions that can be obtained by reversing the direction between two randomly chosen nodes, either in the same route or in a different route. 3. N-Insertion: This neighborhood operator removes N adjacent nodes from their current positions and then inserts them after another node. The proposed SA algorithm uses N = 1, 2, and 3. 4.

Computation Results To test the SA approach for OVRPCD, we have implemented the proposed SA in C++. For

comparison purposes, we also used the CPLEX solver to solve the model presented in Section 2. Both approaches are executed on a PC with a 3.4 GHz processor and 4 GB of RAM using the Windows 7 operating system. The datasets used in this study were adapted from those of Lee et al. (2006) and Liao et al. (2010). The datasets consist of 3 sets of benchmark problems with 10, 30, and 50 nodes. Table 1 lists the problem parameter values. We assume for all problems that the time horizon Tmax is 1,440 min and the hiring cost of a vehicle H is 50. The values of transportation cost and transportation time are then generated asymmetrically. Furthermore, the total amount of picked up products (Pi) should be the same as the total amount of delivered products (Di). The OVRPCD benchmark instances are available for download at http://web.ntust.edu.tw/~vincent/ovrpcd/. [Table 1. Problem parameter values] 4.1 Parameter Setting for SA Algorithm The SA algorithm uses five parameters, namely, Iiter, T0, TF, Nnon-improving, and α, to search for

the best solution. Iiter denotes the number of iterations that proceed at a particular temperature. T0 and TF represent the initial and final temperatures, respectively., and Nnon-improving is the maximum allowable number of consecutive non-improving temperature reductions. Lastly, α is the cooling rate coefficient to control the cooling process. The appropriate parameter values for SA may influence the quality of the solutions. Thus, to determine the appropriate parameter values for SA, we conduct an experimental study. The following combinations of the parameter values are tested for each size of instances.

Iiter

1500, 3000

T0

100, 200

TF

0.01, 0.001

α

0.99, 0.993

Nnon-improving

100000, 1000000

To determine the best parameter combination for each problem, a two-level factorial design is conducted. We then compute the average result obtained from the SA algorithm for each associated parameter correspondingly, thereby employing a statistical approach to identify the most important factors for a parameter. The results indicate that the best solution quality can be obtained from the parameter values shown in Table 2. [Table 2. SA algorithm parameter values] 4.2

Sample Illustration of Solution Results

Figure 5 is an example of the optimal routes for two vehicles in a problem with 10 nodes. Vehicle 1 starts the pickup at node 1 at a time not later than 362 and arrives at node 0 at a time no later than 480. This example assumes Tcd is zero. Again, it should be noted that the model allows the vehicle to be used in the delivery process after finishing the pickup. From node 0, vehicle 1 then moves on to nodes 7, 9, and 5 with the latest arrival times of 551, 631, and 676, respectively. The same interpretation goes for vehicle 2. [Figure 5. Illustration of the optimal solution to an OVRPCD instance with 10 nodes] 4.3

Algorithm Verification with VRPCD instances The proposed SA heuristic is evaluated by solving the VRPCD and comparing the results

with those of Liao et al. (2010) and Lee et al. (2006). These studies proposed tabu search algorithms solve VRPCD. The objective is to minimize the sum of transportation cost and fixed cost of vehicles. The dataset introduced by Lee et al. (2006) and Liao et al. (2010) consists of three types of problems with 10, 30, and 50 nodes, respectively. Performance analysis of approximation algorithm such as simulated annealing concentrates on solution quality and computational time. Therefore an algorithm’s performance was measured in terms of the percentage gap between solution values of the algorithm and previous best known solution values with consideration of CPU time and average performance of the algorithm. Table 3 presents the comparison of our algorithm with the TS algorithms proposed by Liao et al. (2010) and Lee et al. (2006). For each instance, SA was run 10 times and the average was recorded. Liao et al. (2010) indicated that their TS algorithm yields superior result with less computational time comparing with the TS algorithm of Lee et al. (2006). Thus, the gap is

calculated as the percentage deviation in solution value from the best solution values found by Liao et al. (2010) and the proposed SA heuristic. Comparative results in table 3 show that the average improvement upon the results of Liao et al. (2010) is 3.3%, 2% and 5.9% for the three problem sets, respectively. As for the computational time shown in Table 4, the difference between the TS algorithm of Liao et al. (2010) and the proposed SA heuristic are 1.9 seconds, 2.8 seconds and 6.8 seconds for the three problem sets, respectively. In summary, the proposed SA heuristic obtains 78 solutions that are the same as or better than those reported in the previous research out of 90 instances in the 3 benchmark problem sets. Although the CPU time required by SA algorithm is longer than that used by the TS algorithm of Liao et al. (2010), the time is still reasonable. Furthermore, the comparison shows that the proposed SA algorithm improves average objective function value reported in the previous research. Tables 3 and 4 indicate the effectiveness and robustness of the SA algorithm in solving the VRPCD. [Table 3. Total cost comparison of Lee et al. (2006), Liao et al. (2010), and the proposed SA algorithm] [Table 4. Computational time of Lee et al. (2006), Liao et al. (2010), and the proposed SA algorithm] 4.4

Comparison of CPLEX and SA Algorithm Results of OVRPCD Instances We now compare the experimental results of the proposed SA algorithm with those of

CPLEX in both solution quality and CPU time.

[Table 5. Comparison of solution values obtained by CPLEX and SA algorithm] [Table 6. Comparison of computational time used by CPLEX and SA algorithm] In terms of the objective function value, Table 5 shows that for Problem Sets 1 and 2, both the proposed SA algorithm and CPLEX effectively solve all instances in these two datasets to optimality. However, for Problem Set 3, CPLEX fails to find the optimal solution to any instance within 6 h. The proposed SA finds better solutions than CPLEX in 6 h. On average, the gap between the solutions found by the proposed SA and those obtained by CPLEX is 0.86%. Table 6 shows that the proposed SA algorithm evidently provides good solutions within a reasonable computational time for all instances in the three problem sets. The algorithm on average requires 0.55 and 3.91 s to find optimal solutions to instances in Problem Sets 1 and 2, respectively. CPLEX needs 2.63 and 457.16 s to reach the optimal solutions, respectively. Moreover, the proposed SA finds good solutions to the instances in Problem Set 3 in an average of 10.94 s. These solutions are better than those obtained by CPLEX in 6 h on average. From the results shown in Tables 5 and 6, we can conclude that the proposed SA algorithm is effective and efficient in solving OVRPCD. 4.5

Sensitivity Analysis This section explores the effect of different combinations of neighborhood implementation

and time horizon on the OVRPCD solution.

Effect of the Neighborhood Structure The neighborhood proposed in Section 3.3 is important for obtaining high-quality solutions

with the least possible CPU time. Normally, a certain level of compromise exists between CPU time and solution quality. Therefore, several combinations of neighborhood implementation are analyzed as shown in Table 7 to explore better trade-offs. [Table 7. Combinations of neighborhoods] Table 8 shows a comparison of the objective function values and computational times from using different neighborhood combinations listed in Table 7 in the proposed SA algorithm. For instances with 10 nodes, all combinations provide the optimal solutions to all instances. Only a small difference in CPU time is found. Thus, neighborhood combination appears to have no effect on the solution quality for these instances. Therefore, the first combination (1-insertion) is recommended because it requires the shortest computational time. For instances of 30 and 50 nodes, the trade-offs between solution quality and computational time are evident. Figures 6 and 7 show the performance of different combinations on solving 30 and 50 nodes instances, respectively. The Pareto sets consist of non-dominated combinations (numbered combinations). For any combination in the Pareto set, no other combination simultaneously yields smaller average solution values and shorter computational times. Therefore, these combinations are recommended for use in the proposed SA algorithm. The Pareto set for instances of 30 nodes consists of combinations 3, 6, 8, and 9. The Pareto set of combinations for instances of 50 nodes contains combinations 2, 5, 6, 7, and 9. [Table 8. Comparison of results obtained by using different combinations of neighborhoods] [Figure 6. CPU time - objective function value diagram of 30-node instances] [Figure 7. CPU time - objective function value diagram for 50-node instances]

Impact of Time Horizon This part describes the sensitivity analysis on the effect of the time horizon to the objective function value. Time horizon Tmax is critical in this problem as described in the practical scenario of this VRP variant. Moreover, in the mathematical formulation discussed in Section 3, Tmax certainly influences the optimal number of vehicle and their corresponding routes. The following shows the objective function value obtained per time horizon per problem size. Results in Figure 8 show that for Problem Sets 1 and 2, increases in the time horizon produce stable objective function values. However, a slight decrease exists in objective function values for decreases in the time horizon below 20 h for Problem Set 3. Generally, decreasing or increasing the time horizon does not produce remarkably different objective function values. [Figure 8. Objective function value versus time horizon for different problem sizes]

5.

Conclusion and Future Research This study adds relevant decision support inputs for retailers mainly at the operational

decision-making level, such as those involving open vehicle routing and cross-docking decisions. This research demonstrates that OVRPCD, which is a new variant, can be modeled to suit a specific practical applicability. For example, in retail, under the event in which a retailer opts to address the burden of capital needed to acquire its own fleet of vehicles, the delivery service provided by a third party can be a cost-effective option. Thus, for the retailer, this problem presents an open vehicle routing decision. The cross-docking decision also plays an important role in operations, which has been integrated in the problem of this study. We have formulated a mathematical model to determine the optimal number of vehicles needed and their corresponding

routes to obtain the lowest possible transportation cost without violating simultaneous arrivals at the cross-dock facility and the predetermined time horizon for the whole pickup and delivery operations. A proposed SA algorithm solves this problem through an empirical method with datasets adapted from Lee et al. (2006). The proposed SA algorithm considers several neighborhood structures to improve the solution. This study further suggests a Pareto frontier solved from nine possible neighborhood configurations that are suitable for small, medium, and large problems. Results show that for Problem Sets 1 and 2, increases in the time horizon provide stable objective function values. However, the model exhibits a slight tendency to decrease objective function values when the time horizon increases. In terms of the objective function value, the solutions of the proposed SA algorithm for all instances are optimal in Problem Sets 1 and 2 and reasonably good for all instances in Problem Set 3. A 0.86% gap from optimal solutions is obtained, and the algorithm provides good solutions within a reasonable amount of time for all instances in the three problem sets. Moreover, the proposed algorithm has been tested on a VRPCD dataset from literature. The results show that SA is competitive to solve VRPCD problem. A number of underlying assumptions with this model may be addressed to advance the open vehicle routing and cross-docking combinations, such as multiple items, split deliveries, heterogeneous capacity of vehicles, and multiple cross-docks. The solutions given by CPLEX for all instances in Problem Set 3 (with 50 nodes) are sub-optimal solutions because the program was terminated after 6 h. Future studies may consider further comparative analysis. We believe that this variant will see further attention from VRP scholars and the SCM community as a

whole, owing to the growing appreciation of the advantages of the cross-docking technique in the literature and in the field of supply chain management.

References Agustina, D., Lee, C., & Piplani, R. (2010). A Review: Mathematical modles for cross docking planning. International Journal of Engineering Business Management, 2(2), 47-54. Agustina, D., Lee, C. K. M., & Piplani, R. (2014). Vehicle scheduling and routing at a cross docking center for food supply chains. International Journal of Production Economics,

152, 29-41. Ahmadizar, F., Zeynivand, M., & Arkat, J. (2015). Two-level vehicle routing with cross-docking in a three-echelon supply chain: A genetic algorithm approach. Applied Mathematical

Modelling, 39(22), 7065-7081. Ai, T. J., & Kachitvichyanukul, V. (2009a). Particle swarm optimization and two solution representations for solving the capacitated vehicle routing problem. Computers &

Industrial Engineering, 56(1), 380-387. Ai, T. J., & Kachitvichyanukul, V. (2009b). A particle swarm optimization for the vehicle routing problem with simultaneous pickup and delivery. Computers & Operations

Research, 36(5), 1693-1702. Apte, U. M., & Viswanathan, S. (2000). Effective cross docking for improving distribution efficiencies. International Journal of Logistics, 3(3), 291-302. Baker, B. M., & Ayechew, M. (2003). A genetic algorithm for the vehicle routing problem.

Computers & Operations Research, 30(5), 787-800.

Barbarosoglu, G., & Ozgur, D. (1999). A tabu search algorithm for the vehicle routing problem.

Computers & Operations Research, 26(3), 255-270. Braekers, K., Ramaekers, K., & Van Nieuwenhuyse, I. (2015). The vehicle routing problem: State of the art classification and review. Computers & Industrial Engineering. Brito, J., Martínez, F. J., Moreno, J. A., & Verdegay, J. L. (2015). An ACO hybrid metaheuristic for close-open vehicle routing problems with time windows and fuzzy constraints.

Applied Soft Computing Journal, 32, 154-163. Cao, E., & Lai, M. (2010). The open vehicle routing problem with fuzzy demands. Expert

Systems with Applications, 37(3), 2405-2411. Dondo, R., & Cerdá, J. (2013). A sweep-heuristic based formulation for the vehicle routing problem with cross-docking. Computers & Chemical Engineering, 48, 293-311. Dondo, R., & Cerdá, J. (2014). A monolithic approach to vehicle routing and operations scheduling of a cross-dock system with multiple dock doors. Computers and Chemical

Engineering, 63, 184-205. Dondo, R., & Cerdá, J. (2015). The heterogeneous vehicle routing and truck scheduling problem in a multi-door cross-dock system. Computers and Chemical Engineering, 76, 42-62. Eksioglu, B., Vural, A. V., & Reisman, A. (2009). The vehicle routing problem: A taxonomic review. Computers & Industrial Engineering, 57(4), 1472-1483. Gendreau, M., Hertz, A., & Laporte, G. (1994). A tabu search heuristic for the vehicle routing problem. Management Science, 40(10), 1276-1290. Gendreau, M., Laporte, G., Musaraganyi, C., & Taillard, É. D. (1999). A tabu search heuristic for the heterogeneous fleet vehicle routing problem. Computers & Operations Research,

26(12), 1153-1173.

Goksal, F. P., Karaoglan, I., & Altiparmak, F. (2013). A hybrid discrete particle swarm optimization for vehicle routing problem with simultaneous pickup and delivery.

Computers & Industrial Engineering, 65(1), 39-53. Hasani-Goodarzi, A., & Tavakkoli-Moghaddam, R. (2012). Capacitated vehicle routing problem for multi-product cross- docking with split deliveries and pickups. Procedia - Social and

Behavioral Sciences, 62, 1360-1365. Ho, W., Ho, G. T. S., Ji, P., & Lau, H. C. W. (2008). A hybrid genetic algorithm for the multidepot vehicle routing problem. Engineering Applications of Artificial Intelligence, 21(4), 548-557. Hwang, H.-S. (2002). An improved model for vehicle routing problem with time constraint based on genetic algorithm. Computers & Industrial Engineering, 42(2), 361-369. Kachitvichyanukul, V., Sombuntham, P., & Kunnapapdeelert, S. (2015). Two solution representations for solving multi-depot vehicle routing problem with multiple pickup and delivery requests via PSO. Computers & Industrial Engineering, 89, 125-136. Kergosien, Y., Lenté, C., Billaut, J. C., & Perrin, S. (2013). Metaheuristic algorithms for solving two interconnected vehicle routing problems in a hospital complex. Computers &

Operations Research, 40(10), 2508-2518. Küçükoğlu, İ., & Öztürk, N. (2015). A hybrid meta-heuristic algorithm for vehicle routing and packing problem with cross-docking. Journal of Intelligent Manufacturing, 1-17. Lalla-Ruiz, E., Expósito-Izquierdo, C., Taheripour, S., & Voß, S. (2015). An improved formulation for the multi-depot open vehicle routing problem. OR Spectrum, 1-13. Lee, Y. H., Jung, J. W., & Lee, K. M. (2006). Vehicle routing scheduling for cross-docking in the supply chain. Computers & Industrial Engineering, 51(2), 247-256.

Liao, C.-J., Lin, Y., & Shih, S. C. (2010). Vehicle routing with cross-docking in the supply chain.

Expert Systems with Applications, 37(10), 6868-6873. Lin, S.-W., Yu, V. F., & Chou, S.-Y. (2009). Solving the truck and trailer routing problem based on a simulated annealing heuristic. Computers & Operations Research, 36(5), 1683-1692. Liu, R., Jiang, Z., & Geng, N. (2014). A hybrid genetic algorithm for the multi-depot open vehicle routing problem. OR Spectrum, 36(2), 401-421. Marinakis, Y., & Marinaki, M. (2010). A hybrid genetic – particle swarm optimization algorithm for the vehicle routing problem. Expert Systems with Applications, 37(2), 1446-1455. Metropolis, N., Rosenbluth, A. W., Rosenbluth, M. N., Teller, A. H., & Teller, E. (1953). Equation of state calculations by fast computing machines. The Journal of Chemical

Physics, 21(6), 1087. MirHassani, S. A., & Abolghasemi, N. (2011). A particle swarm optimization algorithm for open vehicle routing problem. Expert Systems with Applications, 38(9), 11547-11551. Montoya-Torres, J. R., López Franco, J., Nieto Isaza, S., Felizzola Jiménez, H., & HerazoPadilla, N. (2015). A literature review on the vehicle routing problem with multiple depots. Computers and Industrial Engineering, 79, 115-129. Morais, V. W. C., Mateus, G. R., & Noronha, T. F. (2014). Iterated local search heuristics for the Vehicle Routing Problem with Cross-Docking. Expert Systems with Applications, 41(16), 7495-7506. Mousavi, S. M., & Tavakkoli-Moghaddam, R. (2013). A hybrid simulated annealing algorithm for location and routing scheduling problems with cross-docking in the supply chain.

Journal of Manufacturing Systems, 32(2), 335-347.

Mousavi, S. M., Tavakkoli-Moghaddam, R., & Jolai, F. (2013). A possibilistic programming approach for the location problem of multiple cross-docks and vehicle routing scheduling under uncertainty. Engineering Optimization, 45(10), 1223-1249. Pisinger, D., & Ropke, S. (2007). A general heuristic for vehicle routing problems. Computers &

Operations Research, 34(8), 2403-2435. Repoussis, P. P., Tarantilis, C. D., Bräysy, O., & Ioannou, G. (2010). A hybrid evolution strategy for the open vehicle routing problem. Computers & Operations Research, 37(3), 443-455. Santos, F. A., Mateus, G. R., & da Cunha, A. S. (2013). The pickup and delivery problem with cross-docking. Computers & Operations Research, 40(4), 1085-1093. Sariklis, D., & Powell, S. (2000). A heuristic method for the open vehicle routing problem.

Journal of the Operational Research Society, 564-573. Schopka, K., & Kopfer, H. (2016). An adaptive large neighborhood search for the reverse open vehicle routing problem with time windows. Logistics Management. Lecture Notes in

Logistics. 243-257. Subramanian, A., Penna, P. H. V., Uchoa, E., & Ochi, L. S. (2012). A hybrid algorithm for the heterogeneous fleet vehicle routing problem. European Journal of Operational Research,

221(2), 285-295. Subramanian, A., Uchoa, E., & Ochi, L. S. (2013). A hybrid algorithm for a class of vehicle routing problems. Computers & Operations Research, 40(10), 2519-2531. Tarantilis, C. D. (2013). Adaptive multi-restart tabu search algorithm for the vehicle routing problem with cross-docking. Optimization Letters, 7(7), 1583-1596.

Vahdani, B., Soltani, R., & Zandieh, M. (2009). Scheduling the truck holdover recurrent dock cross-dock problem using robust meta-heuristics. The International Journal of Advanced

Manufacturing Technology, 46(5-8), 769-783. Wang, C., Mu, D., Zhao, F., & Sutherland, J. W. (2015). A parallel simulated annealing method for the vehicle routing problem with simultaneous pickup-delivery and time windows.

Computers and Industrial Engineering, 83, 111-122. Wen, M., Larsen, J., Clausen, J., Cordeau, J.-F., & Laporte, G. (2009). Vehicle routing with cross-docking. Journal of the Operational Research Society, 60(12), 1708-1718. Yu, S., Ding, C., & Zhu, K. (2011). A hybrid GA–TS algorithm for open vehicle routing optimization of coal mines material. Expert Systems with Applications, 38(8), 1056810573. Yu, V. F., & Lin, S.-W. (2014). Multi-start simulated annealing heuristic for the location routing problem with simultaneous pickup and delivery. Applied Soft Computing, 24, 284-290. Yu, V. F., Lin, S.-W., Lee, W., & Ting, C.-J. (2010). A simulated annealing heuristic for the capacitated location routing problem. Computers & Industrial Engineering, 58(2), 288299. Yu, V. F., & Lin, S.-Y. (2015a). A simulated annealing heuristic for the open location-routing problem. Computers & Operations Research, 62, 184-196. Yu, V. F., & Lin, S.-Y. (2015b). Solving the location-routing problem with simultaneous pickup and delivery by simulated annealing. International Journal of Production Research, 1-24. Zachariadis, E. E., & Kiranoudis, C. T. (2010). An open vehicle routing problem metaheuristic for examining wide solution neighborhoods. Computers & Operations Research, 37(4), 712-723.

Figure 1. Illustration of OVRPCD

Figure 2. SA heuristic flowchart

1

0

2

Vehicle 1

4 Vehicle 2

Pickup

3

7

9

5

Vehicle 1

0

10

6

8

Vehicle 2

Delivery

Figure 3. Examples of solution representation of pickup and delivery routes

START

j=0

CurrentNode = 0 Capacity = 0 CurrentTime = 0

Construct AssignmentList by sorting nodes in ascending order of their distances to CurrentNode

Select node n randomly among the first 3 nodes in AssignmentList

j = j+1

no

Delete n from AssignmentList and then set CurrentNode = n

Is Capacity feasible?

yes

no

Is CurrentTime feasible? yes Insert node n to vehicle j

Are all nodes visited?

no

yes END

Figure 4. Flowchart for constructing the initial solution

< 569,27 >

< 387,23 > 4 [ 45 ] [ 76 ]

< 432,9 >

< 523,11 >

3

10

[ 48 ]

< 613,20 > [ 44 ]

8

[ 43 ] 0

< 551,13 >

2 [ 71 ]

< 480,0 >

< 311,34 >

6

[ 46 ]

< 676,15 >

7

5

[ 118 ] [ 80 ]

[ 45 ] 1

9

< 362,38 >

< 631,18 >

0

Cross-dock Pickup Nodes Delivery Nodes

[ 110 ] < 90 , 10 >

[ Travel distance/time ] < Start time , demand > Route of Vehicle 1 Route of Vehicle 2

Figure 5. Illustration of the optimal solution to an OVRPCD instance with 10 nodes

4.2 9

Computational Time (s)

4

8

3.8

6

3.6 3.4 3

3.2 3 855

860

865

870

875

880

885

890

895

Objective Function Value

Figure 6. CPU time - objective function value diagram of 30-node instances

900

14.0 9

13.0 12.5 12.0

6 7

11.5 11.0 10.5

5

10.0 2

9.5 9.0

1600

1650

1700

1750

1800

Objective Function Value

Figure 7. CPU time - objective function value diagram for 50-node instances

Objective Function Value

Computational Time (s)

13.5

2000.00 1500.00 1000.00

10 nodes 30 nodes

500.00

50 nodes

0.00 12 14 16 18 20 22 24 26 28 30 32 Time Horizon (Hours)

Figure 8. Objective function value versus time horizon for different problem sizes

Table 1. Problem parameter values Problem Set 1 Problem Set 2 p+d 10 30 m 10 20 Tmax 1,440 1,440 Q 70 150 H 50 50 cij U(20,200) U(20,200) tij U(48,560) U(48,560) Pi, Di U(5,50) U(5,20) No. of suppliers 4 7 No. of retailers 6 23

Problem Set 3 50 30 1,440 150 50 U(20,200) U(48,560) U(5,30) 12 38

Table 2. SA algorithm parameter values Parameter 10 nodes 30 nodes 50 nodes Iiter 1,500 1,500 3,000 T0 100 100 100 TF 0.01 0.01 0.01 α 0.99 0.99 0.993 Nnon-improving 100,000 1,000,000 1,000,000

Table 3. Total cost comparison of Lee et al. (2006), Liao et al. (2010) and the proposed SA algorithm Instance 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Average

Lee et al. TS

Liao et al. TS

Gap1 (%)*

Best known Solution (BKS)

Proposed SA

10

30

50

10

30

50

10

30

50

10

30

50

10

30

50

7,571.4 7,103.7 9,993.5 8,338.0 8,709.9 9,143.5 12,721.2 9,275.7 8,096.5 7,044.8 8,051.8 8,661.0 7,370.2 7,132.3 7,563.4 9,983.6 9,538.1 8,057.4 9,042.6 10,478.0 8,380.5 9,016.9 9,489.2 12,513.6 7,114.3 8,421.3 10,666.8 10,123.3 7,503.2 7,642.6 8,824.9

12,366.7 14,173.0 13,836.8 10,995.4 11,757.8 11,027.7 11,899.2 12,825.5 12,718.6 11,794.7 12,094.9 12,132.5 13,223.4 12,413.9 12,521.4 12,044.4 12,699.4 11,001.4 12,724.4 12,357.7 13,177.0 11,545.0 12,308.1 12,722.7 12,844.9 13,297.5 13,415.2 12,613.0 12,840.8 13,796.2 12,505.6

24,284.6 23,435.6 23,449.4 23,471.1 23,406.2 24,026.6 24,190.0 23,158.9 23,594.7 23,530.5 23,371.7 21,082.8 21,610.7 23,397.9 24,041.9 22,893.4 22,950.4 24,358.2 25,068.7 23,232.1 22,564.8 24,360.7 24,377.9 22,008.7 24,256.6 23,424.9 22,961.4 23,822.3 23,678.3 23,149.8 23,438.7

6,847.6 6,816.8 9,615.6 7,289.7 6,599.0 9,324.6 12,083.0 8,719.6 7,362.2 6,204.5 7,635.3 7,867.2 7,097.9 5,208.0 7,103.2 8,768.7 9,003.0 6,887.5 7,123.0 10,471.0 5,431.4 6,908.0 9,224.1 11,976.0 6,638.0 7,216.9 9,709.8 7,408.0 6,748.5 7,304.4 7,886.4

7,692.9 7,787.2 7,893.6 7,792.2 7,224.8 7,245.9 8,206.9 7,880.9 8,157.3 7,924.7 7,452.6 8,320.0 8,222.7 8,211.7 8,144.6 7,451.7 8,086.2 7,576.0 7,871.2 7,883.7 7,914.1 8,005.3 7,883.5 7,731.2 7,884.8 8,001.6 8,899.4 10,131.0 8,276.9 8,251.6 8,000.2

20,704.6 20,816.8 19,612.2 19,549.0 20,448.0 21,212.0 20,640.2 20,664.1 18,920.0 20,384.2 19,941.6 17,258.4 17,829.9 19,845.2 21,863.0 20,144.2 20,093.3 20,244.8 19,955.0 19,267.7 19,533.4 19,032.1 20,562.5 19,288.2 19,695.9 20,610.5 18,942.8 20,097.3 22,248.1 19,321.9 19,957.6

6,847.6 6,816.8 9,615.6 7,289.7 6,599.0 9,143.5 12,083.0 8,719.6 7,362.2 6,204.5 7,635.3 7,867.2 7,097.9 5,208.0 7,103.2 8,768.7 9,003.0 6,887.5 7,123.0 10,471.0 5,431.4 6,908.0 9,224.1 11,976.0 6,638.0 7,216.9 9,709.8 7408.0 6,748.5 7,304.4 7,880.6

7,692.9 7,787.2 7,893.6 7,792.2 7,224.8 7,245.9 8,206.9 7,880.9 8,157.3 7,924.7 7,452.6 8,320.0 8,222.7 8,211.7 8,144.6 7,451.7 8,086.2 7,576.0 7,871.2 7,883.7 7,914.1 8,005.3 7,883.5 7,731.2 7,884.8 8,001.6 8,899.4 10,131.0 8,276.9 8,251.6 8,000.2

20,704.6 20,816.8 19,612.2 19,549.0 20,448.0 21,212.0 20,640.2 20,664.1 18,920.0 20,384.2 19,941.6 17,258.4 17,829.9 19,845.2 21,863.0 20,144.2 20,093.3 20,244.8 19,955.0 19,267.7 19,533.4 19,032.1 20,562.5 19,288.2 19,695.9 20,610.5 18,942.8 20,097.3 22,248.1 19,321.9 19,957.6

6,953.0 6,741.0 9,269.0 7,255.0 6,524.0 7,613.0 11,990.0 8,158.0 7,120.0 6,056.0 7,434.0 7,800.0 6,934.0 4,704.0 7,088.0 8,616.0 9,003.0 6,911.0 7,051.0 10,004.0 4,753.0 6,442.0 9,156.0 11,976.0 6,346.0 6,880.0 9,541.0 7,107.0 6,762.0 6,942.0 7,637.6

7,550.2 7,832.7 7,747.4 7,677.4 7,579.7 7,053.0 7,720.1 7,709.8 7,882.5 7,734.9 7,721.7 7,899.8 7,863.7 8,141.1 7,941.6 7,901.9 8,055.0 7,798.3 7,964.3 7,522.4 7,886.2 7,841.1 7,791.5 7,957.8 7,839.4 7,846.2 8,128.6 8,367.5 8,003.1 7,760.9 7,824.0

19,804.5 18,248.1 18,133.9 19,083.6 18,877.3 19,783.0 19,690.0 18,939.2 18,510.6 19,607.3 18,675.8 17,550.3 18,039.2 18,252.5 19,803.8 18,808.3 18,713.8 18,579.7 18,453.2 18,167.3 19,226.0 18,551.6 18,514.8 18,558.5 18,574.2 18,995.7 18,128.7 18,952.4 19,056.1 18,268.6 18,751.6

1.5 -1.1 -3.6 -0.5 -1.1 -18.4 -0.8 -6.4 -3.3 -2.4 -2.6 -0.9 -2.3 -9.7 -0.2 -1.7 0.0 0.3 -1.0 -4.5 -12.5 -6.7 -0.7 0.0 -4.4 -4.7 -1.7 -4.1 0.2 -5.0 -3.3

-1.9 0.6 -1.9 -1.5 4.9 -2.7 -5.9 -2.2 -3.4 -2.4 3.6 -5.1 -4.4 -0.9 -2.5 6.0 -0.4 2.9 1.2 -4.6 -0.4 -2.1 -1.2 2.9 -0.6 -1.9 -8.7 -17.4 -3.3 -5.9 -2.0

-4.3 -12.3 -7.5 -2.4 -7.7 -6.7 -4.6 -8.3 -2.2 -3.8 -6.3 1.7 1.2 -8.0 -9.4 -6.6 -6.9 -8.2 -7.5 -5.7 -1.6 -2.5 -10.0 -3.8 -5.7 -7.8 -4.3 -5.7 -14.3 -5.5 -5.9

*Gap1: relative percentage gap calculated as (solution values obtained by SA – BKS)/ BKS.

41

Table 4. Computational time of Lee et al. (2006), Liao et al. (2010) and the proposed SA algorithm Instance 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Average

Lee et al. TS 10 30 1.52 3.00 1.74 3.55 2.37 4.32 1.60 2.09 2.28 2.26 1.82 2.10 2.80 2.61 1.85 3.00 2.04 3.10 1.82 2.38 1.80 3.03 1.72 2.64 1.54 2.92 1.53 2.76 1.61 3.06 2.05 3.15 2.26 2.14 1.74 1.70 2.21 2.77 2.55 2.72 2.06 3.39 2.42 2.43 2.31 2.93 2.64 2.87 1.68 2.67 2.04 3.31 2.47 3.25 2.69 2.60 1.73 3.28 1.82 3.78 2.02 2.86

50 5.62 5.73 5.80 5.87 7.28 5.38 7.65 9.88 5.54 5.77 5.37 4.46 4.62 5.44 6.31 5.18 6.93 6.25 5.68 4.79 5.43 6.04 5.88 5.36 5.76 5.05 5.17 5.56 64.84 5.91 7.82

Liao et al. TS 10 30 0.22 0.37 0.23 0.16 0.19 0.43 0.27 0.23 0.21 0.39 0.03 0.22 0.01 0.11 0.04 0.16 0.25 0.16 0.36 0.20 0.00 0.29 0.24 0.16 0.24 0.15 0.00 0.18 0.41 0.38 0.03 0.28 0.06 0.34 0.19 0.28 0.03 0.36 0.00 0.24 0.00 0.26 0.01 0.35 0.11 0.38 0.00 0.48 0.10 0.20 0.03 0.16 0.06 0.17 0.01 0.00 0.18 0.38 0.09 0.28 0.12 0.26

42

50 0.49 0.64 0.30 0.44 0.61 0.56 0.55 0.42 0.38 0.52 0.37 0.17 0.16 0.53 0.55 0.30 0.44 0.53 0.28 0.36 0.61 0.37 0.51 0.05 0.33 0.14 0.31 0.39 0.20 0.65 0.41

Proposed SA 10 30 1.91 2.80 1.78 2.90 2.44 3.00 1.75 3.00 1.75 3.50 1.81 3.10 2.77 3.00 2.21 3.30 1.75 2.80 2.05 2.60 1.93 3.00 1.76 2.90 1.88 2.90 1.69 3.60 1.75 3.10 2.05 3.10 2.60 3.00 1.88 2.90 1.92 3.10 2.32 2.50 1.51 3.40 1.85 2.90 2.28 3.20 2.78 3.00 1.94 3.00 1.86 3.30 2.39 3.30 1.84 2.80 1.86 2.90 3.51 2.70 2.06 3.00

50 7.49 6.62 7.10 6.89 7.09 7.47 6.11 6.91 7.11 7.10 7.15 6.75 6.32 7.38 7.97 6.95 6.72 7.07 7.93 7.56 6.97 7.83 7.35 6.81 7.55 7.80 7.12 7.41 6.96 8.29 7.19

Table 5. Comparison of solution values obtained by CPLEX and SA algorithm Solution Gap2 (%)** Proposed SA Algorithm CPLEX 10 30 50 10* 30* 50 10 30 50 1 716 861 1,670 716 861 1,675 0 0 -0.30 2 743 854 1,657 743 854 1,657 0 0 0.00 3 770 865 1,559 770 865 1,565 0 0 -0.38 4 803 850 1,604 803 850 1,615 0 0 -0.68 5 692 837 1,629 692 837 1,633 0 0 -0.24 6 767 808 1,614 767 808 1,650 0 0 -2.18 7 1,249 920 1,690 1,249 920 1,690 0 0 0.00 8 643 893 1,546 643 893 1,548 0 0 -0.13 9 563 890 1,498 563 890 1,517 0 0 -1.25 10 842 861 1,703 842 861 1,703 0 0 0.00 11 686 880 1,593 686 880 1,666 0 0 -4.38 12 769 897 1,438 769 897 1,451 0 0 -0.90 13 581 867 1,480 581 867 1,485 0 0 -0.34 14 517 835 1,584 517 835 1,574 0 0 0.64 15 746 863 1,664 746 863 1,664 0 0 0.00 16 826 865 1,612 826 865 1,615 0 0 -0.19 17 784 866 1,642 784 866 1,642 0 0 0.00 18 728 865 1,575 728 865 1,575 0 0 0.00 19 786 837 1,560 786 837 1,567 0 0 -0.45 20 1,292 875 625 1,292 875 665 0 0 -6.02 21 729 845 1,567 729 845 1,567 0 0 0.00 22 724 882 1,636 724 882 1,646 0 0 -0.61 23 913 898 1,606 913 898 1,667 0 0 -3.66 24 1,043 843 1,648 1,043 843 1,677 0 0 -1.73 25 905 872 1,575 905 872 1,582 0 0 -0.44 26 596 821 1,554 596 821 1,556 0 0 -0.13 27 1,081 848 1,472 1,081 848 1,455 0 0 1.17 28 844 832 1,531 844 832 1,566 0 0 -2.23 29 774 836 1,703 774 836 1,711 0 0 -0.47 30 758 861 1,605 758 861 1,618 0 0 -0.80 -0.86 Average 795.67 860.90 1,561.33 795.67 860.90 1,573.40 0 0 *Optimal solution **Gap2: relative percentage gap calculated as (solution values obtained by SA – CPLEX)/ CPLEX. Instance

Table 6. Comparison of computational time used by CPLEX and SA algorithm Instance

1 2 3 4 5 6 7 8 9 10 11

Computational Time (seconds) Proposed SA Algorithm 10 30 50 10 0.47 3.84 12.13 4.01 0.57 3.86 10.07 1.25 0.65 3.87 9.54 1.64 0.49 4.01 12.15 3.76 0.51 3.84 11.92 2.93 0.54 3.96 10.45 2.98 0.82 4.15 10.04 3.61 0.60 3.78 10.35 3.16 0.44 3.79 10.74 2.65 0.45 4.27 11.26 3.07 0.53 3.88 11.66 3.11

43

CPLEX 30 352.50 340.13 601.59 153.02 423.79 71.21 386.24 136.63 540.65 806.29 866.39

50* 21,600.00 21,600.00 21,600.00 21,600.00 21,600.00 21,600.00 21,600.00 21,600.00 21,600.00 21,600.00 21,600.00

12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Average

0.47 3.81 10.56 4.43 0.49 3.86 10.02 4.73 0.39 3.77 11.25 0.27 0.49 3.80 11.67 4.29 0.58 3.79 10.62 3.67 0.65 3.89 9.49 1.63 0.54 3.76 11.27 0.86 0.53 3.81 12.57 1.18 0.72 4.08 10.08 3.37 0.38 3.84 10.49 1.56 0.48 3.83 10.85 2.49 0.67 3.87 12.55 2.53 0.76 3.84 12.02 0.92 0.57 3.91 11.92 2.08 0.45 4.11 10.87 4.20 0.64 4.09 10.57 1.49 0.55 3.93 10.63 0.23 0.50 3.85 10.48 4.75 0.47 4.17 9.99 2.14 2.63 0.55 3.91 10.94 * CPLEX was terminated after running for 6 hours.

969.32 866.11 693.28 452.10 256.77 883.90 87.31 696.81 650.57 530.57 126.90 359.85 209.12 484.10 154.35 551.80 300.09 200.24 563.09 457.16

Table 7. Combinations of neighborhoods Combination 1 2 3 4 5 6 7 8 9

Neighborhood(s) 1-Insertion Reverse Swap Reverse and 1-Insertion Reverse and Swap Swap and 1-Insertion Reverse, 1-Insertion, and Swap Reverse, Swap, 1-Insertion, and 2Insertion Reverse, Swap, 1-Insertion, 2Insertion, and 3-Insertion

44

21,600.00 21,600.00 21,600.00 21,600.00 21,600.00 21,600.00 21,600.00 21,600.00 21,600.00 21,600.00 21,600.00 21,600.00 21,600.00 21,600.00 21,600.00 21,600.00 21,600.00 21,600.00 21,600.00 21,600.00

Table 8. Comparison of results obtained by using different combinations of neighborhoods Combination 1 2 3 4 5 6 7 8 9

10 nodes 30 nodes Average Solution Time Average Solution 801.10 3.84 878.55 801.10 3.94 896.16 801.10 3.86 886.98 801.10 3.92 878.87 801.10 4.12 892.50 801.10 4.31 878.38 801.10 4.12 881.07 801.10 4.41 874.95 801.10 4.15 860.90

45

Time 4.10 3.61 3.39 4.03 3.53 3.78 3.80 3.91 4.02

50 nodes Average Solution 1,650.97 1,773.39 1,724.75 1,663.17 1,727.27 1,652.95 1,660.34 1,653.35 1,632.57

Time 12.79 9.83 10.88 12.07 10.54 12.01 11.94 13.08 13.31

Highlights: We explore the open vehicle routing problem with cross-docking (OVRPCD). Simulated annealing algorithm (SA) is proposed to solve OVRPCD problem. The proposed SA algorithm incorporates five neighborhood structures to explore different possibilities of route combination. This problem is solved using the proposed simulated annealing algorithm (SA) and then is compared with the CPLEX results.

46