A vehicle routing problem with pickup and delivery time windows, and coordination of transportable resources

A vehicle routing problem with pickup and delivery time windows, and coordination of transportable resources

Computers & Operations Research 38 (2011) 1596–1609 Contents lists available at ScienceDirect Computers & Operations Research journal homepage: www...

594KB Sizes 3 Downloads 75 Views

Computers & Operations Research 38 (2011) 1596–1609

Contents lists available at ScienceDirect

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

A vehicle routing problem with pickup and delivery time windows, and coordination of transportable resources$ C.K.Y. Lin  Department of Management Sciences, City University of Hong Kong, 83 Tat Chee Ave., Kowloon Tong, Hong Kong, PR China

a r t i c l e i n f o

a b s t r a c t

Available online 1 March 2011

This paper addresses a pickup and delivery problem with time window constraints, using two types of delivery resources, which allows for coordination. A heavy resource (in this case a van) may carry both delivery items and one or more units of the lighter resource (foot couriers) on its single- or multi-route assignment. Foot couriers can pick up and deliver items independently, or travel with a van on its outbound and/or return leg. Coordination between resources can save time and cut costs. The optimization of this type of coordinated logistics system has received scant coverage in the literature. The objective criterion is the total cost (i.e., the sum of fixed cost and travelling cost) of both heavy and light resources. The problem is first formulated as a mixed integer program, assuming a reasonable coordination strategy. A two-stage heuristic is designed by employing both exact approaches and an ejection chain based on modifying the shortest path algorithm implemented in a dynamic network. The two-stage heuristic is compared with optimization models for an independent strategy and a partial coordination strategy on both local and simulated instances of up to 200 customers. Under certain conditions, the benefit of coordination is realized over the independent strategy in terms of lower average total cost and usage of heavy resource. & 2011 Elsevier Ltd. All rights reserved.

Keywords: Vehicle routing Pickups and deliveries Time windows Inbound/outbound coordination Transportable resource Heuristic

1. Introduction Providing cost-effective and efficient service is important to logistics companies and their contract customers. This work proposes modelling multi-resource routing operations with the intent of improving the service in terms of meeting specific time windows for pickup and delivery, at minimum total cost, and within reasonable computational time. The characteristics of this pickup and delivery operations include two types of delivery resources, one heavy resource (i.e., a van), which can transport both customer items and a lighter resource (i.e., a foot courier). An example occurs in some courier companies where a van, manned by a driver (or courier), can service customers like couriers on foot. On other occasions, the van can also be used to transport couriers who provide service, or to pick up couriers on its return to the depot. Joint transportation yields benefit especially when using infrastructure requiring access fees (like toll tunnel or crossing country border). Methods of resources estimation and scheduling will help in contract preparation with customers who specify their requirements, including their time window $ The work described in this paper was fully supported by the Strategic Research Grant from City University of Hong Kong (Project no. 7002261).  Tel.: + 852 3442 9485; fax: +852 3442 0189. E-mail addresses: [email protected], [email protected]

0305-0548/$ - see front matter & 2011 Elsevier Ltd. All rights reserved. doi:10.1016/j.cor.2011.01.021

constraints for items pickup and/or return. Scheduling results can enable regular performance monitoring of daily operations. As the information on customer location and time windows are given, a deterministic optimization problem is being studied here. This study is based on the activity of a local courier service run by a multi-national logistics company operating with multiple delivery resources (vans, scooters and couriers on foot). It presents a variant of the vehicle routing problem with pickup and delivery time windows (VRPPDTW) where two resources coordinate according to a particular strategy. Two non-identical resources (vans and couriers), which allows for the types of coordination described above, are modelled here by a mixed integer program (MIP) and an ejection chain based heuristic. (In a similar modelling approach, a third resource could also be incorporated as an independent delivery resource, but will not be included here.) In each service session, a given set of N customers is to be served. Each customer is associated with two time window requirements: document pickup at the customer site, and delivery to the mail centre (henceforth referred to as the depot) to meet the designated flight departure time. The current problem consists of many pickup points and only a single, common delivery point at the depot. Express documents are usually letters or small parcels, hence in this respect we can assume an uncapacitated problem. Capacity constraints, however, exist for the heavy resource in terms of the light resource—a van

C.K.Y. Lin / Computers & Operations Research 38 (2011) 1596–1609

can only carry a maximum number of foot couriers. The objective is to find the minimum cost solution when using both resources to service all the customers and satisfying the time window constraints. The contributions made by this study include modelling the coordination of non-identical delivery resources as a variant of VRPPDTW by MIP and presenting a two-stage heuristic algorithm. The heuristic solutions are compared with our past work on the same problem in Ref. [20], where experiments were made on both real and simulated data. Though not included in this work, the heuristic design generates ideas to tackle the general VRPPDTW with multiple resources allowing coordination. The remaining of the paper is organized as follows. Section 2 gives related literature on scheduling coordinated resources. Section 3 describes the problem background, model assumptions and presents a MIP formulation. Section 4 outlines the heuristic approach and the proposed algorithms. Section 5 presents the computational experiments conducted to evaluate the heuristic performance, as compared with results of optimization models from past research. Finally, Section 6 offers some conclusions and insights drawn from this work.

2. Literature review The literature on vehicle routing problem (VRP) describes a number of logistic systems requiring the coordination of resources. The truck and trailer problem (TTRP) involves a composite delivery resource serving customers by one (or more) of the following three routes: (i) a pure truck route, (ii) a complete vehicle route containing a truck and a trailer as one unit or (iii) a complete vehicle route where the trailer is parked somewhere such that the truck can visit customer locations that are less easily accessible by a complete vehicle. This problem can be formulated as an integer programming model and solved heuristically by a two-phase procedure [28]. The first phase assigns trailers to trucks and determines customers to be served by each truck or complete vehicle (truck plus trailer), followed by the second phase of route generation. Other heuristics for this problem include construction and improvement heuristics [11], further improved by specially designed tabu search [4,27], and simulated annealing [23]. Simplifying assumptions were made in modelling this complex problem, such as, assuming each trailer is parked exactly once [11], or each customer site can be a candidate parking place [4,11]. In mail pickup and delivery problems, examples include a multi-criteria dynamic pickup and delivery problem of hospital documents [29], allowing transfer of documents between vehicles provided no additional travel time is incurred. A look-ahead heuristic was developed. In express mail services, vehicles could coordinate as a feeder-backbone system for a large metropolitan area [16]. Each feeder vehicle (small van) assigned to serve a district/route would visit a drop-box periodically to put in the collected documents and in turn deliver documents in the dropbox to customers. A backbone vehicle would move the outbound mail from the drop-box to the sorting facility and collect the inbound mail to be placed in the appropriate drop-box. The adoption of transshipment points (such as drop-boxes) located at several static, convenient locations in a pickup and delivery problem with time windows (PDPTW) was examined and solved by a construction and improvement heuristic [25]. The benefit is expressed in terms of reduction of total travel distances. A more general version of this class of VRP with coordinated transshipments is the multi-echelon VRP introduced in recent literature. Crainic et al. [7,8] addressed a two-echelon VRP (or two-tiered city logistics system) where capacitated satellite stations are set up as intermediate depots between a single depot and customers

1597

for consolidation of shipments. The first level routing involves larger vehicles delivering goods from the depot to satellites, while the satellites-to-customers delivery routes are built at the second level for smaller vehicles. Satellite locations can be set up at customer sites to allow goods transferred from a first level vehicle to a second level vehicle. While the satellite locations are like the drop-off or pickup point of the light resource in this study where the two resources interact, the difference is that the heavy (faster) resource can take up dual roles as a first level and second level vehicle. Besides, it can carry the light resource en route, either departing from or returning to the depot. Conversely, the light resource could operate independently from/to the depot, without the help of a heavy resource. These occur in actual practice of the courier service. Using the heavy resource for both delivery and as a dynamic satellite station can save set up cost. In other mailorder companies, satellite locations could simply be car parks where items are transferred from one vehicle to another [12]. In passenger transportation, Corte´s et al. [5] studied a problem where passengers can be transferred from one vehicle to another at specific transfer locations. Vehicles may interact to interchange passengers at these transfer nodes. The solution method is based on Benders decomposition. Baker et al. [3] reported a case of coordination of transportation resources between public service agencies which led to cost savings. Optimization models were developed for a 2-agency-system to model the coordination of their vehicle routes when two agencies shared the same fleet of two vehicles. In recent studies on intelligent freight-transportation systems in city logistics [6,7], the importance of coordination (of shippers and carriers) and consolidation (of shipments of different shippers, carriers, and customers) was also highlighted. The current problem, a particular variant of VRPPDTW, is first formulated by a path-based MIP. The two-stage heuristic approach proposed here incorporates both exact approaches (including a partial version of the MIP [20] which can handle larger problems and a transportation model) and a multiexchange heuristic. The heuristic is an adaption of ejection chains [13], which has been applied to solve a variety of problems, including a single-source capacitated facility location problem [1], dynamic PDPTW [10], and a deterministic vehicle routing problem with time windows [18].

3. Problem formulation The problem consists of a set of customer requests assigned to a given service session. Customer pickup and delivery time windows are placed in the same session, and each session represents an independent problem. Problem size reduction can be achieved by clustering locations of similar pickup time windows into a single aggregate customer request. The following problem parameters are defined based on the practice of the local courier service. For a given set of N customers in a service session, the pickup time window for customer i (i¼1, y, N), with pickup time specified at ti is [ti  dP, ti], where an early time allowance dP ( 40) is common to all customers and the same for each resource. An amount of on-site service time, j, is expected at each customer site. The delivery location for all customers is the depot where collected items are processed. For customer i, the time window for delivery is [0, ti + dD], where ti is a customer-specified time and a lateness allowance dD ( 40) is common to all customers. At the tactical level, resources and cost estimation are required in contract preparation. The objective is to determine the number of resource units, by type, required to serve all customers at the minimum possible cost. At the operational level, the routing of each independent/coordinated unit provides a basis for monitoring and control.

1598

C.K.Y. Lin / Computers & Operations Research 38 (2011) 1596–1609

3.1. Model assumptions Two types of coordination are modelled, as shown in Figs. 1 and 2. (To illustrate the sequence of routes clearly, multiples copies of the single depot are made in the diagram.) Fig. 1 depicts the transportation of a light resource unit by a heavy resource unit on its return to depot. Fig. 2 depicts the case when both the outbound and inbound trips of a light resource unit are carried by different (or the same) units of the heavy resource. (The modelling and heuristic approach is described in Section 4.) When in coordination, the heavy resource (labelled as resource H) is assumed to be dominant and the light resource (labelled as resource L) will subordinate to its operations. This idea is inspired by the critical chain concept [14] in scheduling critical resources under single- or multi-project environments. Analogously, the route and scheduled times of the heavy resource would not be delayed by carrying units of the light resource. The conditions for feasible coordination are stated in assumptions (viii) and (ix) for return transportation of the light resource units by the heavy resource, and in assumption (x) for outbound transportation. (i) The service session is of duration T and the number of working days is D per month. (ii) Each unit resource H consists of an operator (a unit resource L) and a vehicle. This composite unit can service customers (like resource L), transport other units of resource L and its collected items. (iii) Resource H is constrained in carrying resource L units. Each unit resource H can carry C units of resource L, including the operator of resource H. The capacity of each resource unit is not constrained in carrying customer items. (The latter assumption is adopted in the current and other courier services [10], as well as for pickup and delivery operations of parcels or medical records [17,24,26,29].) (iv) Travel time between a pair of locations could be asymmetrical or symmetrical, and will differ between the two resources. The travelling speed of resource H (L) is assumed to be an average of VH (VL) km/h. (This will be used to estimate the travel time from the given travel distance.) The unit travelling cost of each resource is assumed to be proportional to its travelling speed. (v) Each unit resource can be assigned multiple routes, where each route starts and ends at the depot. On each route, the pickup

Heavy resource unit:

Depot

Light resource unit:

Depot

(vi)

(vii) (viii)

(ix)

(x)

request at each customer location occurs before the delivery request to the common delivery location (depot). Both requests of the customer must be serviced by the same resource unit and no item transfer is considered between units. Pickup at the customer site should be not earlier than dP minutes before and not later than the specified pickup time. Waiting time is allowed if a resource unit arrives before the earliest pickup time at the customer site. On-site service time is assumed to be j minutes. Delivery time at the delivery location (depot) should be not later than dD minutes after the specified delivery time. On each assigned route of resource H, the last customer location is a candidate site for picking up units of resource L and transporting its collected items back to the depot. (The choice of the last location on a route will reduce risk of waiting and delay.) To avoid delays, two conditions are imposed on a unit resource L under which it is allowed to join a unit resource H to return to depot: (a) arrival time of the unit resource L at the return location (say customer i) is on or before the earliest pickup time (i.e., ti  dP); (b) the latest departure time of the unit from this location (i.e., ti + j) still ensures the collected items can be delivered on time, i.e., satisfying the delivery time window constraints (at the depot). A unit resource H can transport a unit resource L out from the depot if there is a time (hence cost) advantage over the light resource unit travelling on its own. The drop-off location is a customer location along the route of the unit resource H, from where the unit resource L travels towards its first customer. This coordination and choice of drop-off location must also ensure the light resource can arrive on or before the earliest pickup time of its first customer (and hence will satisfy the time window constraints of subsequent customers in a feasible route).

3.2. A path-based formulation This variant of VRPPDTW is formulated by a path-based MIP model defined on a specially designed network P ¼(C, A), embedding both independent and cooperative operations, where C and A represent the node set and arc set, respectively. Set C consists of six types of nodes. The depot nodes D(H) and D(L) for

≤C

Depot

Depot

Fig. 1. Return transportation of a light resource.

Heavy resource unit #1:

Depot

≤C

Depot

Light resource unit:

Heavy resource unit #2:

Depot

≤C

Depot

Fig. 2. Outbound and return transportation of a light resource.

Depot

C.K.Y. Lin / Computers & Operations Research 38 (2011) 1596–1609

resource H and L, respectively, can refer to the single depot. Each independent route of resource L forms a node denoted by g, where g is the set of all such nodes. Similarly, G is the set of independent routes of resource H. Each route GAG, generates two nodes, PG and RG. Node PG represents selection of route G to be serviced by a unit resource H. Node RG is a copy of the depot, where resource H can return the collected items and start out again for another route. Each unit resource H can carry different units of resource L on its outbound trip and return trip to node RG (depot), subject to its capacity (C). The last type of nodes is the resource L transfer routes, denoted by gT, representing a route of resource L, starting from the depot and ending at a transfer node. The set containing all transfer routes is denoted by gT. The transfer nodes are selected at customer sites based on assumption (viii). (According to the coordination strategy in assumption (ix), the transfer nodes are the last customer locations in route GAG of resource H before its return to the depot.) The arc set A consists of arcs representing independent and cooperative operations. Each arc constructed ensures that the start node is connected with the end node satisfying the time window constraints. The arc types are defined below. (A1)–(A5) have unit arc capacity as they refer to independent operation of a unit resource L. The remaining arcs allow coordination between the two resources in terms of outbound/inbound transportation. Fig. 3 depicts different cases of operations by defining the following arcs in network P. (A1) (D(L), g) represents selection of route g by a unit resource L starting out from node D(L) (depot) by itself. The arc cost is the sum of fixed cost WL and travelling cost wðLÞ g of route g. (A2) (D(L), gT) represents selection of transfer route gT by a unit resource L. (This unit will join a unit resource H to return to the depot node D(L).) The arc cost is the sum of fixed cost WL and travelling cost wðLÞ of transfer route gT, including the cost up to the gT transfer node in gT. (A3 and A4) (gi, gj) and (gi, gT) both model the multi-route assignment of a unit resource L. (gi, gj) represents selection of route gi followed by route gj (iaj), where the depot is visited at the end of the route gi. For arc (gi, gT), the successor route is transfer route gT. Arc cost is the travelling cost wðLÞ gj of route gj for arc (gi, gj), and for arc (gi, gT), the travelling cost wðLÞ of transfer gT route gT, including the cost up to the transfer node in gT. (A5) (g, D(L)) represents the return to depot (node D(L)) and end of service for a unit resource L after servicing route g. Arc cost is 0. (A6) (D(L), D(H)) is constructed to represent one or more units of resource L that travel out of the depot with some unit resource H. The arc capacity is nL, the maximum units of supply of resource L, and the arc cost is the fixed cost WL of unit resource L. (A7) (D(H), PG) represents selection of route G by a unit resource H starting out from node D(H) (depot). It may carry as many as C units (arc capacity) of resource L, including the operator of resource H. Arc cost is the fixed cost WH of unit resource H.

Fig. 3. Network representing independent/coordinated operations.

1599

(A8) (PG, RG) represents selection of route G by a unit resource H and returning to the depot (node RG) with the collected documents. Arc capacity is C and arc cost is the travelling cost wðHÞ G of route G. (A9) ðRGi , PGj Þ represents multi-route assignment of routes Gi and Gj ( aGi) to a unit resource H, similar to arc (gi, gj) for resource L. Arc capacity is C and arc cost is 0. (A10) (RG, D(H)) represents the final return to depot (node D(H)) of a unit resource H on completing route G. This arc has unit capacity and arc cost is 0. (A11 and A12) (PG, g) and (PG, gT) both represent outbound coordination when a unit resource L, carried by resource H (with assigned route G) from the depot, drops off to travel to its first customer in route g, and transfer route gT, respectively. These arcs have unit capacity. The arc cost of (PG, g), denoted by vðLÞ G,g , is the travelling cost of route g, except that the first leg of resource L starts from the customer in route G nearest to the first customer of route g. The arc cost of (PG, gT), denoted by vðLÞ , is derived G,g T similarly. (A13) (gT, PG) models the joint return (to the depot) of a unit resource L, assigned with transfer route gT, with a unit resource H where they meet at the last customer location of route G. This arc has unit capacity and arc cost is 0. (A14) (RG, D(L)) models the final return to the depot (node D(L)) of resource L unit(s) on a unit resource H after servicing route G. This arc has capacity C and arc cost is 0. As shown in Fig. 3, a multi-route assignment is indicated by the path DðHÞ 2PG1 2RG1 2PG2 2RG2 2DðHÞ where a unit resource H is assigned with routes G1 and G2. (Accordingly, a single-route assignment could be represented by some path D(H)–PG–RG–D(H).) Path DðLÞ 2DðHÞ 2PG1 2g2DðLÞ refers to an example of outbound coordination. A unit resource L starts out from the depot on some unit resource H, assigned with route G1, drops off from the nearest customer (in G1) to service route g. Once completed, it returns to the depot by itself. Another coordination example of return transportation is represented by path DðLÞ 2g T 2PG2 2RG2 2DðLÞ . A unit resource L, assigned with transfer route gT, travels out of the depot by itself (to pick up documents in gT) but returns together with a unit resource H servicing route G2, and ends its service at the depot (D(L)).

3.2.1. Creation of feasible routes The path-based MIP formulation (Section 3.2.2) requires a preprocessing phase to define the set of feasible routes that can service each customer in order to formulate the demand constraint. Let S(L)(i), S(T)(i) and S(H)(i) denote the set of feasible single routes, transfer routes of resource L and single routes of resource H, respectively, that can service customer i ( ¼1, y, N). In other words, S(L)(i), S(T)(i) and S(H)(i) are subsets of g, gT and G, respectively. The following procedure of creating single routes will be exhaustive when the size of the pickup time window (dP) is smaller than the travel times (like 5 min adopted in the local courier service). Otherwise, complete enumeration would be time-consuming and computationally expensive. It will be left to the two-stage heuristic (Section 4) to explore other route sequences. To construct S(L)(i), the set of distinct routes, g ¼ f[i ¼ 1,...,N SðLÞ ðiÞg, is constructed first before identifying S(L)(i), i¼1, y, N. g is determined by first sorting customers in increasing pickup times {ti, i¼1,.y, N} into an ordered list L. A tree search procedure will be applied to select customers in L one by one into an incumbent ordered list, ensuring both the customer pickup and delivery time constraints are satisfied. When a new customer (trial node) appended to the end of the incumbent list violates some pickup or delivery time constraints, the construction of a distinct route from the incumbent list is complete. To find another route, the tree search procedure will

1600

C.K.Y. Lin / Computers & Operations Research 38 (2011) 1596–1609

backtrack to the second last level in the incumbent list in order to branch off to a new customer. Termination of the procedure occurs when the search procedure backtracks to the first level of the incumbent list but the customers in L have been exhausted. Similarly, the set of routes of resource H, G is constructed before identifying individual subset S(H)(i) for customer i (¼1, y, N). As for the transfer routes gT of resource L, the difference from set g is the last node is a transfer node. Each transfer route contains at least one ordinary customer node before the transfer node. Each transfer node is selected from the end of list L backwards. Once selected, it is fixed as the last node and the forward customer sequence is determined by the tree search procedure as described before. The procedure terminates when no more transfer node can be found from list L where at least one other customer can be inserted before it. The sizes of these three distinct sets (G, g and gT) and the time taken to construct the network P for the considered instances are presented in Section 5 (Table 7). 3.2.2. Mixed integer programming model Two sets of decision variables are defined including the flow variables on arcs in set A and the selection decision of certain arcs associated with resource H: xij ¼flow on arc (i, j)AA yij ¼1, if arc (i, j)¼ (D(H), PG), (PG, RG), (RG1, PG2)AA is used (i.e., xij 40), 0 otherwise. The objective of the path-based MIP formulation is to minimize the total cost associated with the two resources, while satisfying the customer time window constraints. Coordination is allowed in terms of outbound/return transportation from/to the depot.   X X X Minimize Z ¼ WL xDðLÞ ,DðHÞ þ xDðLÞ,g þ xDðLÞ ,g T þWH yDðHÞ ,PG g Ag

þ

X gAg

X

xf ,g

fðf ,gÞ A Ajf ð a gÞ A gg

X ðLÞ  wgT xDðLÞ ,gT þ þ g T A gT

X

xf ,gT





fðf ,g T Þ A Ajf A gg

X

þ

GAG

g T A gT

 xDðLÞ ,g þ wðLÞ g

X

vðLÞ PG ,g xPG ,g þ

ðPG ,gÞ A A

vðLÞ x Tþ P ,g T PG ,g G

ðPG ,g T Þ A A

X

wðHÞ G yPG RG

GAG

ð1Þ subject to: X X

X

xf ,g þ

X

xf ,gT þ

g T A SðTÞ ðiÞðf ,g T Þ A A

g A SðLÞ ðiÞðf ,gÞ A A

X

yPG ,RG ¼ 1,

i ¼ 1, . . . ,N

G A SðHÞ ðiÞ

yi,j A f0,1g,ði,jÞ ¼ ðDðHÞ ,PG Þ,ðPG ,RG Þ,ðRG ,PG Þ A A

The objective function (1) minimizes the total cost, comprising the fixed costs and travelling cost of the two resources. The demand constraints (2) require each customer to be visited exactly once in one of its feasible routes. Constraints (3) are flow balance equations at each node. Constraints (4) formulate the relationship between selection of a route (G) by a unit resource H and the number of units carried on its outbound trip assigned to serve other routes. Constraints (5) relate the flow variables on certain arcs of resource H with the corresponding selection decision. As illustrated in Fig. 3, constraints (6) ensure that at most C  1 units of resource L can join a unit resource H to return to depot, when the latter has completed a related route (with selection decision yPG ,RG ). The remaining space is reserved for the operator of resource H. Constraints (7) formulates another condition for return transportation, ensuring any unit resource L returning to the depot with resource H (on arc (RG, D(L))) must have joined the latter at some transfer node (using arc (gT, PG)). The remaining constraints specify the nature of different types of variables. The path-based formulation cannot solve large problems from experiments. To produce benchmarks for comparing with heuristics, a partial version was developed by discarding the coordinated outbound arcs (A6), (A11) and (A12), i.e., {(PG, g), (PG, gT), (D(L), D(H))}AA. The resulting MIP (allowing coordination only on return) has solved problems of up to 150 customers [20], subject to the computer memory capacity. These will be used to evaluate performance of the proposed two-stage heuristic.

4. Two-stage heuristic Related problems have been studied prior to this work, as in the case of a single delivery resource allowing multi-route assignment and items transfer, formulated by a MIP model [19]. The work is extended to consider two resources allowing joint return and document transfer between units of the two resources [20]. For the current study, Fig. 4 depicts the logical design of the two-stage heuristic. As fixed costs of resources are often more significant than the travelling cost, the first stage, consisting of (a)–(c), focuses on determining resources requirement and scheduling units of the two resources at minimum total cost while allowing coordination in the return trip. The units of resource H or L can operate independently or be engaged in coordination. If a unit resource L is in coordination (e.g., Fig. 1), only the joint return transportation (by a unit resource H) will be considered while the outbound trip is made by itself. Stage 2 will consider the

ð2Þ X

xh,i ¼

X

xi,j ,

iA C

ð3Þ

ði,jÞ A A

ðh,iÞ A A

X

xDðHÞ ,PG þ

xRGu ,PG Z yPG ,RG þ

fðRGu ,PG Þ A AjGu ð a GÞ A Gg

X

þ

xPG ,g T ,

X

xPG ,g

ðPG ,gÞ A A

ðP G , RG Þ A A

ð4Þ

ðPG ,g T Þ A A

xij r Cyij , ði,jÞ ¼ ðDðHÞ ,PG Þ,ðPG ,RG Þ,ðRG1 ,PG2 Þ A A X

xgT ,PG r ðC1ÞyPG ,RG ,

ðPG ,RG Þ A A

ð5Þ ð6Þ

fðg T ,PG Þ A Ajg T A gT g

xRG ,DðLÞ r

X

xgT ,PG ,

ðPG ,RG Þ A A

ð7Þ

fðg T ,PG Þ A Ajg T A gT g

xij Z 0,

ði,jÞ A A

ð8Þ

ð9Þ

Fig. 4. Logical design of two-stage heuristic.

C.K.Y. Lin / Computers & Operations Research 38 (2011) 1596–1609

coordinated outbound trip for all units of resource L, if any. The case of all units operating independently (no coordinated units) is also considered as a solution in this two-stage heuristic. 4.1. Generate initial solutions and restore feasibility (Stage 1(a) and 1(b)) In Stage 1(a), two initial solutions are generated, one by a relaxation version, and another by a simplified version of the MIP model allowing coordination in return transportation (i.e., no outbound coordination) [20]. The relaxation version relaxes the constraints (6) related to the coordinated return arcs. The simplified version considers only the demand constraints (2) fulfilled by single-route resource units (i.e., set S(L)(i), S(T)(i) and S(H)(i) for customer i¼1, y, N), and ignores their interaction. The resulting solution in Stage 1(a) is typically infeasible and will be restored to feasibility by a greedy constructive heuristic in Stage 1(b). Infeasible components could be an unassigned customer or an infeasible unit resource L without a returning trip to a depot. These infeasible components will be inserted one by one into the existing solution based on a minimax regret procedure – a modification of Hindi and Pien´kosz [15] and Lin [21] – for facility location problems. The regret value is calculated as the difference between the second smallest cost and the least cost of insertion. The infeasible component with the largest regret value will be checked for feasibility before being inserted into the least-cost resource unit. If feasible, the insertion will proceed. If no existing route can accommodate an infeasible component, a new unit resource H will be created to serve the unassigned customer sequence in the infeasible component. At this point, a feasible solution is obtained in Stage 1(b). A few empty units of resource L are added, forming an incumbent solution denoted by s to be  further improved in Stage 1(c).

1601

with some unit resource H. In each transfer route, the customer sequence before the transfer node is defined as one composite node in Nð s Þ, where displacement/insertion move can be made.  The transfer node is also the last customer on a main route of a unit resource H. Denote this set of mixed customer and transfer nodes in s by Tð s Þ A f1, . . . ,Ng. To allow more flexible moves, a   set of nLd dummy units of resource L is introduced into Nð s Þ. To  summarize, Nð s Þ consists of seven types of nodes: (i) an (artifi cial) origin node s (ii) (artificial) destination node t (iii) resource nodes fuk ,k ¼ 1, . . . ,nH ð s Þ þ nL ð s Þ þ ndL g (iv) pure customer nodes   fck ; kA f1; . . . ; Ng\Tð s Þg ðvÞ mixed customer and transfer nodes  T fck ,k A Tð s Þg (vi) composite nodes fcLk ,k ¼ 1, . . . ,nTL ð s Þg and (vii)   dummy nodes fckd ,k ¼ 1, . . . ,nH ð s Þ þ nL ð s Þ þndL g, one for each   resource unit, for pure insertion moves. Type (v) and type (vi) nodes are the two new types not being considered in past routing literature. Additional information about certain nodes is recorded for future updating. These include:

 the resource unit covering node i, denoted by u(i), where i  

belongs to type (iii)–(vii) nodes. (For other nodes s and t, u(s) ¼u(t)¼0.) the transfer route(s) associated with each mixed customer and transfer node (type (v)) the transfer route corresponding to each composite node (type (vi))

Arc set Að s Þ: Arcs in Að s Þ are constructed to represent   possible displacement moves and insertion moves involving two nodes in Nð s Þ belonging to different resource units. An arc (i, j) in  Að s Þ corresponds to displacing node j from its current resource  unit, u(j), followed by inserting node i (from a different resource unit) into the best position in u(j)—the one with the largest reduction (or smallest increase) in cost. More specifically, the arcs in Að s Þ are classified into the following types of moves: 

4.2. Multi-exchange-shortest-path (ME-SP) heuristic (Stage 1(c)) The method used in the improvement phase, Stage 1(c), is motivated by the concept of ejection chains which was applied by various researchers to solve routing problems and facility location problems [1,10,13,18,21]. The neighbourhood of solutions is defined on a dynamic network. A move consists of a series of single- or multi-customer exchanges determined by a modified shortest path algorithm with the aim of achieving the largest reduction in total cost of s . Before running an iteration of the  ME-SP procedure, the network elements are first defined based on s . A customer improvement network Pð s Þ ¼ ðNð s Þ, Að s ÞÞ is     constructed, where Nð s Þ and Að s Þ denote the node set and arc   set, respectively, and a vector rð s Þ for the arc costs in Að s Þ.   Displacement/insertion moves and infeasible moves are allowed by incorporating relevant cost and infeasibility penalties in the cost of arcs. An insertion move also allows inserting a (pure or partial sequence of) customer as a new route into an existing resource unit after its last route, if cost is justified. This can save travelling cost or fixed cost of operating a new unit [2,22]. The goal is to identify heuristically an improvement path, consisting of a series of displacement and insertion moves, which decreases the total cost Zð s Þ the most. Let Z denote the resulting total cost.  This path of moves is performed if Z results in improvement of the total cost and another iteration is repeated. 4.2.1. Network construction Node set Nð s Þ: From Stage 1(b), the incumbent solution s   typically consists of a set of resource units, say nH ð s Þ units of  T resource H, nL ð s Þ independent units of resource L and nL ð s Þ   transfer routes (e.g., light resource unit in Fig. 1), each associated

(1) Pure displacement moves: {(i, j)|u(i)au(j), iA{origin}[{dummy nodes}, jA{pure customer nodes}[{mixed customer and transfer nodes}[{composite nodes}}. (2) Pure insertion moves: {(i, j)|u(i)au(j), iA{pure customer nodes}[{mixed customer and transfer nodes}[{composite nodes}, jA{resource nodes}[{dummy nodes}}. (3) Displacement and insertion moves: {(i, j)|u(i)au(j), i,jA{pure customer nodes}[{mixed customer and transfer nodes}[ {composite nodes}}. (4) Ending move: {(i, t)|iA{resource nodes}}. The design of ejection chain based neighbourhood move is motivated by Ahuja et al. [1] for facility location problems. The first arc of a path starts with a type (1) arc (s, j) where the origin s will displace a node j of type (iv), (v) or (vi) from its resource unit u(j). Node j will in turn displace a node from another resource unit or be simply inserted into it. Trial positions of insertion depend on the node type. For instance when node i is a pure customer node and pure insertion moves are considered, the trial positions to insert i into u(j) include three types: (a) in the main route; (b) in an existing transfer route (if any) associated with u(j), or (c) as a new transfer route of u(j) with i being the only customer. ((b) and (c) apply when u(j) is a heavy resource unit.) The best insertion position would be the one giving the smallest increase in cost of u(j), when i is inserted. If this arc (i,j) is selected during execution and the best position to insert (pure customer) node i is in an existing transfer route of (heavy resource unit) u(j), the identity of the new transfer route and composite node will be updated accordingly. When node i is a mixed customer and transfer node, all the transfer routes transferring at i and customer i are inserted together into u(j). Arcs (i,j) will be constructed only when u(j) is

1602

C.K.Y. Lin / Computers & Operations Research 38 (2011) 1596–1609

a heavy resource unit. The trial positions to insert i into u(j) include two types: (a) positions between the last customer and the depot on every route, provided the last customer is a pure customer (with no transfer route); (b) as a new route appended to the end of u(j). In both types, i is inserted in the main route but remains as the transfer node of its associated transfer routes. When node i is a composite node (e.g., customer sequence of light resource unit in Fig. 1) to be inserted, only heavy resource units of u(j) will be considered. The trial insertion positions include attaching i as a transfer route to the last customer (transfer node) on every route in u(j). If arc (i,j) is selected, the information of this new transfer route and the corresponding composite node associated with u(j) will be updated accordingly. Moves leading to violation of different time window constraints are allowed on every arc in Að s Þ by imposing the  corresponding penalty costs. The last arc of a path is of type (4). In other words, once a path in the current iteration reaches a resource node (type (2) arcs with jA{resource nodes}), the path ends and the current iteration terminates. Arc costs: The arc cost ri,j ð s Þ is defined as the change in cost of  s when arc (i, j) is selected. ri,j ð s Þ includes the penalty cost if   this move (represented by (i, j)) leads to any violation of the assumptions. Three types of penalty costs are considered as userinput parameters for every unit violation of the late pickup time window (assumption (vi) in Section 3.1), delivery time window (assumption (vii)), and return transportation (assumption (ix)), respectively. However, a move leading to violation of the capacity constraint of resource H (assumption (iii)) will not be constructed in Að s Þ. The network Pð s Þ is dynamic in that the existence of   each arc and its cost value depends on the incumbent solution s  and may vary between iterations of ME-SP. The calculation of arc cost ri,j ð s Þ is facilitated by applying one or  both of the following procedures: DISPLACE(j, u(j)) and INSERT(i, j, u(j)) for the displacement and/or insertion move. Both determine the resulting sequence, cost (sum of fixed cost and travelling cost) and infeasibility penalty of resource unit u(j) with its associated transfer routes (if any). DISPLACE(j, u(j)) displaces node j from its resource unit u(j). INSERT(i, j, u(j)) finds the best insertion position for node i into resource unit u(j), where node j is skipped. ri,j ð s Þ is calculated as the  change in the cost of u(j) before and after executing the procedure(s) required by arc type of (i,j).

Updating dynamic network: Preserving consistent information when updating the network requires storing certain information about the status change along each path evaluated from the origin. These include the nearest node found in each step, its associated resource unit and the resulting solution. Denote the rth nearest node found in step r by nr and its resource unit by ur . This node represents the newest node added to a path from the origin. The resulting solution, denoted by s is obtained by performing r

the move represented by arc ðPredðnr Þ, nr Þ on an earlier solution s , where Predðnr Þ is the nearest node found in the lth step, i.e., t

nl ¼ Predðnr Þ, 0 olor. Starting with the given feasible solution s from Stage 1(b) and  the network Pð s Þ constructed, the algorithm is described as  follows: (I) (Initialize for a new iteration) Set r: ¼0, NP: ¼{s}, Nt:¼ f, d ðsÞ : ¼ 0, d(i):¼N and Pred(i) : ¼ f for iA Nð s Þ\fsg.  (II) (Update neighbouring nodes of origin) For ðs,iÞ A Að s Þ, set  dðiÞ : ¼ rs,i ð s Þ), Pred(i):¼s and Nt: ¼Nt[{i}.  (III) (Find the next-nearest node from origin) Set r: ¼r + 1. Find node inANt such that dði Þ ¼ mini A Nt fdðiÞg, i.e., in is the nextnearest node of distance d(in) from origin s. Give node in a permanent label by setting Np: ¼NP [{i*} and Nt : ¼Nt \{i*}. (IV) (Record information of permanent node) Set n*r: ¼i* and d ði Þ : ¼ dði Þ: Retrieve solution s where nln ¼Pred(nrn), l 0 ol or. Set urn: ¼ resource unit holding i* in s , and l s : ¼ resulting solution of s by displacing nr from ur and l l   inserting Predðnr Þ into ur . (V) (Update neighbouring nodes) Find every node j A s that can be r reached directly from node in. If jANP, ignore; otherwise calculate arc cost ri j ð s Þ representing the change in cost of r

the resource unit of j when j is displaced and in inserted. If dðjÞ 4 dði Þ þ qi j ð s Þ, update dðjÞ : ¼ dði Þ þ qi j ð s Þ, Pred(j):¼ r

r

in and Nt:¼Nt[{j}. (VI) (End of an iteration) Repeat from (III) until the next-nearest node found is the destination node t. When t is reached, s is a r local optimal solution of the current iteration. (The improvement path can be traced backwards from t to s through the predecessors: t-Pred(t)- y -s.) For every pair of (nonempty) resource units in s belonging to the same type k r

4.2.2. Algorithm The ME-SP heuristic identifies an improvement path using a variant of the shortest path algorithm [9]. It is different in that the network Pð s Þ changes with the incumbent solution s and the 



arc cost ri,j ð s Þ could be negative for some arcs (e.g., outflow arcs 

of the origin s). But no cycles will result as a node given a permanent label will not be revisited on the same path. Similarly to the classical shortest path algorithm [9], certain information is recorded and updated at each step. Let r be the step number to find the rth nearest node to the origin. Nodes are labelled as three types: permanent, temporary or unreachable from the origin. Their status may change as the algorithm is run. Let NP be the set of nodes in Nð s Þ given permanent label. This means the shortest 

distance, d ðiÞ, of node iANP from the origin (s) is confirmed at some step. Let Nt be the set of nodes in Nð s Þ reachable from the 

origin, but with only temporary (unconfirmed shortest) distance, d(i), from the origin, for node iANt. (Accordingly, the remaining nodes are unreachable from the origin, i.e., dn(i) ¼d(i)¼ N for i A NðsÞ\fNP [ Nt g.) Let Pred(i) be the predecessor node of iANP[Nt, 

once its distance is improved or confirmed to be the shortest. (Otherwise, Pred(i)¼ f for i A NðsÞ\fNP [ Nt g:) 

(¼H, L), try append one unit (and its customer sequence) to the end of the other unit and check for time window constraints. If satisfied, combine the two units to save a unit resource k and its fixed cost Wk. Upate s and dn(t):¼dn(t)Wk. r

(VII) (Terminate) If d*(t)o0, repeat another iteration from (I) by setting Z ¼ : Zð s Þ þ d ðtÞ, s : ¼ s and construct Pð s Þ; 



r



otherwise retrieve the initial solution s and its total cost 

Zð s Þ from (I) in the current iteration. Stage 1 terminates by 

returning solution

s



and total cost Z ¼ Zð s Þ for the 

second stage.

4.3. Assign outbound legs of light resource units (Stage 2) While the first stage handles the major cost component (fixed costs and some travelling cost), this stage seeks for further reduction in travelling cost by assigning the outbound trip of every unit resource L (independent or coordinated) to some unit of resource H or an independent unit resource L in s , provided there is no time  conflict and capacity allows. It aims to find the largest cost saving, if any, from the set of optimal assignment, as compared with the unit resource L travelling outward by itself. Basically, a feasible assignment

C.K.Y. Lin / Computers & Operations Research 38 (2011) 1596–1609

1603

of the outbound trip of a unit resource L can occur under one of two occasions: (1) appended to the end of a unit resource H or another unit resource L as it completes all its assigned route(s) and returns to the depot (2) assigned to a unit resource H travelling outbound from the depot on one of its routes, if capacity allows. (1) Will result in saving of a unit resource L and its fixed cost. (2) Will result in some saving of its travelling cost. An optimal assignment can be made by formulating the Stage 2 problem as a transportation model. First, a procedure, TP_set_up, is run to define the input parameters of the transportation model which include the demand nodes, supplier nodes and the assignment cost (i.e., objective coefficient) for each pair of (supplier, demand) nodes. The demand nodes here refer to units of resource L to be assigned. A supplier node is a route in a unit resource H or an independent unit of resource L to which assigning (the outbound trip of) at least one demand node results in some cost saving.

Set demand requirement of 1 for u end if end for (next non-empty unit u of resource L) At the end of procedure TP_set_up, if the improvement status imp¼0, no savings can be made and the Stage 1 solution s is  returned as the best solution of the two-stage heuristic. Otherwise, the transportation model is set up with supplier node set S, demand node set D and objective coefficients given by saving(v, r, u) for each pair of supplier node (v, r) and demand node u. The optimal solution maximizing the total cost savings, denoted by Z2 , can be obtained from the classical transportation simplex method. Accordingly, the best objective value from the two-stage heuristic is Z -Z Z2 .

Procedure TP_set_up Let imp¼ improvement status of first stage solution. Initialize imp¼0. Let S ¼set of supplier nodes and D ¼set of demand nodes. Initialize S ¼ f and D ¼ f. for (each non-empty unit u of resource L) do Let te ¼the earliest pickup time of the first customer of unit u Let Ce ¼travelling cost of unit u from depot to its first customer Let max_saving¼maximum cost saving in assignment of u. Initialize max_saving ¼0. Let cur_saving¼current cost saving in assignment of u. Initialize cur_saving¼0. for (each non-empty unit resource H or independent unit resource Lau, denoted by v) do Let R¼number of routes of unit v and r ¼route index If v belongs to resource H, feasible values of r¼ {1, y, R, R+ 1}; otherwise, r¼R +1, where R+ 1 implies a new route. Let saving(v, r, u) ¼cost saving from assigning outbound trip of u to route r of unit v. Initialize saving(v, r, u) ¼0. for (each route rrR and each of its customer c OR if r ¼R+ 1, c¼depot node 0) do if (arrival time at c + travelling time from c to the first customer of unit u rte) then if r rR then if travelling cost from c to the first customer of unit uoCe then cur_saving¼(Ce  travelling cost from c to the first customer of unit u)  D working days per month if saving(v, r, u)ocur_saving, then saving(v, r, u)¼cur_saving end if else [r ¼R+ 1] saving(v, r, u) ¼ fixed cost of unit u. end if if saving(v, r, u)40 then imp¼ 1 max_saving¼max{saving(v, r, u), max_saving} Include new supplier node (v, r) into S by updating S ¼S[(v, r) If v belongs to resource H and r rR, then supplier node (v, r) has capacity¼C  1; otherwise, capacity of (v, r)¼1. end if end if end for (next pair of (r, c)) end for (next non-empty unit v) if max_saving40 then Include new demand node u into D by updating D ¼ D[u

Examples of testing for the current and similar problems by other authors are not found in the literature. As the path-based formulation (Section 3.2) cannot solve large problems, computational analysis is carried out on the available data sets of an earlier study [20], comparing the strategy of allowing coordination in return transportation with the independent operating strategy. (Both models were based on MIP models.) As an illustration, Fig. 5 shows the benefits of coordination in an instance of 15 customers from a local delivery service where their locations are indicated on the local map of Hong Kong island (from Hong Kong Observatory). The travel distances estimated by a GIS are converted to travel times by the average travelling speeds of the two resources, VH and VL, respectively. (The travel times of resource H for all pairs of locations are given in the Appendix with the simulated customer pickup and delivery times. The ratio of travelling speed VH:VL ¼20.8:5 is described in the next paragraph.) While the optimal independent solution requires 5 units of resource H, the two-stage heuristic solution requires only 3 units of resource H and 2 units of resource L in coordination. Each unit resource H is assigned to one or more routes. The outbound and return trips of the two units of resource L could be assigned to the same or different units of resource H. A cost saving of $26,870 (110,936.67–84,066.67) is achieved through coordination. Additional larger simulated instances are also created to compare the performance of the two-stage heuristic with the independent strategy. Basically, two types of data are used. The first set (Table 1 with 17 instances) contains customer and depot locations obtained from real-life data of a local delivery service. These locations have geographical characteristics, such as clusters of densely populated districts, and are not uniformly distributed. The problem sizes are 27, 29, 30 and 89 customers. The instances of the same problem size contain the same set of customer locations but with different depot locations being tested. The second set (Tables 2–5 with a total of 57 instances) consists of simulated problems of 50, 100, 150 and 200 customers. (All data sets are available upon request.) Data and parameters were obtained from the following local sources:

5. Computational experiments

 In the first set of local data, travel distances were provided either



by the driver or estimated by a geographical information system (GIS). The travelling cost of a unit resource H is HK$70 per hour. (With the average travelling speed given, average travel time between any two locations can be estimated.). The travelling speed (VH) of each unit resource H is based on the average vehicle travel speed of 20.8 km/hour reported in [30]. The travelling speed (VL) of each unit resource L is assumed a human walking speed of 5 km/h (around the average walking speed for younger pedestrians [31]).

1604

C.K.Y. Lin / Computers & Operations Research 38 (2011) 1596–1609

Fig. 5. A 15-customer example from local data.

 Parameters related to time windows, capacity, and fixed costs were obtained from a courier service. The duration of a service session (T) is 300 min; the on-site service time (j) is 5 min; the early allowance (dP) for the pickup time window is 5 min; the lateness allowance (dD) for the delivery time window is 10 min. The monthly fixed cost per unit resource L (WL) and resource H (WH) is HK$7,000 and HK$19,000, respectively. The capacity (C) of unit resource H in carrying resource L is 6 units (including the operator). Also, a 20-workday month (D) is adopted.

All time windows in each instance are simulated, i.e., parameters of pickup times (ti), and delivery times (ti) are simulated within the time interval [0, T]. For the simulated instances (18–74) in Tables 2–5, customer locations are randomly generated in a rectangular travel grid of size 200  200 min2. This corresponds to a maximum one-way travel time of around 280 pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ð ¼ 2002 þ2002 ¼ 282:84Þ min, which is close to the duration of the service session (T ¼300), and is reasonable for the maximum travel time in urban areas. The depot locations in the simulated instances (parentheses in Tables 2–5 column 2) are tested at 3 positions in the travel grid: the edge, the centre, and half-way between, to examine the impact on the use of resources and the frequency of coordination. The two-stage heuristic algorithm was coded in Visual Basic.NET 2005 version and the optimization software IBM ILOG CPLEX

12.1 is used to generate the initial solutions (Section 4.1). All experiments were performed on a Pentium 4, 2.5 GHz processor. Performance measures include total cost, units required by resource and the computational time taken. In Tables 1–5, the total cost and resource usage of the two-stage heuristic (columns 4 and 8) are compared with those from the independent strategy (columns 3 and 7) and allowing return transportation (columns 6 and 9), where the last two strategies are based on MIP [20]. Savings in travelling cost from the second stage of the 2-heuristic (column 5) is also recorded to show the impact of outbound trip assignment. (In some instances on running the MIP, the best result before memory exceeded is recorded.) When computer memory is insufficient to produce any solution from a strategy, the number of such instances is recorded and the average total cost over the remaining instances feasible for all strategies will be computed (in row labelled Average in table). The summary of average total cost performance is given in Table 6. As supporting information about the data preparation for the two-stage heuristic, Table 7 gives the size of feasible single routes (Section 3.2.1) by resource type, transfer routes (columns 3–5) and the creation time taken (column 6), with the corresponding minimum and maximum shown in square parentheses. (These are basic components for generating the initial solutions.) The subsequent network construction time for running the relaxation or simplified version of MIP (Section 4.1: Stage 1(a)) and the total run time of the twostage heuristic are given in the last two columns of Table 7.

C.K.Y. Lin / Computers & Operations Research 38 (2011) 1596–1609

1605

Table 1 Computational results on local instances from the two-stage heuristic, independent strategy and strategy allowing return transportation. Instance

1 2 3 4 5 6 7 8 9 10 11 12

No. of customers

27

29

30

Average 13 14 15 16 17

89

Average # Instances out of memory

Total cost (HK$)

Units used: H, L (independent), L (coordinated)

Independent (MIP)

Two-stage heuristic [savings in stage 2]

Allowing return transportation (MIP)

Independent (MIP)

Two-stage heuristic

Allowing return transportation (MIP)

308,320.00 299,803.33 270,740.00 319,106.67 139,363.33 193,836.67 337,983.33 186,183.33 161,210.00 188,493.33 230,693.33 261,313.33

308,320.00 299,803.33 270,740.00 319,106.67 139,363.33 193,836.67 337,983.33 202,453.33 161,630.00 188,493.33 215,800.00 261,313.33

308,320.00 299,803.33 270,740.00 319,106.67 139,363.33 193,836.67 337,983.33 186,183.33 161,210.00 188,493.33 217,690.00 248,916.67

13, 1, 0 13, 0, 0 11, 1, 0 14, 0, 0 6, 0, 0 8, 0, 0 14, 0, 0 8, 0, 0 7, 0, 0 8, 0, 0 10, 0, 0 11, 0, 0

13, 1, 0 13, 0, 0 11, 1, 0 14, 0, 0 6, 0, 0 8, 0, 0 14, 0, 0 9, 0, 0 7, 0, 0 8, 0, 0 9, 0, 1 11, 0, 0

13, 1, 0 13, 0, 0 11, 1, 0 14, 0, 0 6, 0, 0 8, 0, 0 14, 0, 0 8, 0, 0 7, 0, 0 8, 0, 0 9, 0, 1 10, 0, 1

241,420.55

241,570.28

391,920.00 369,560.00 (out of memory) 544,620.00 476,506.67 – 1

457,093.33 425,556.67 478,926.67 510,230.00 498,836.67 – 0

16, 15, 24, 20,

20, 18, 19, 21, 20,

– – – – –

[0] [0] [0] [0] [0] [0] [0] [0] [0] [0] [1,890.00] [0]

239,303.89 [0] [163.33] [140.00] [4,083.33] [0]

(out (out (out (out (out – 5

of of of of of

memory) memory) memory) memory) memory)

2, 0 2, 0 0, 0 0, 0

0, 1, 3, 0, 1,

1 1 1 4 2

Table 2 Computational results on simulated instances (50 customers) from the two-stage heuristic, independent strategy and strategy allowing return transportation. Instance

18 19 20 21 22 23 24 25 26 27 23 24 25 26 27

No. of customers (depot location)

50 (edge)

50 (half-way)

50 (centre)

Average # Instances out of memory

Total cost (HK$)

Units used: H, L (independent), L (coordinated)

Independent (MIP)

Two-stage heuristic [savings in stage 2]

Allowing return transportation (MIP)

Independent (MIP)

Two-stage heuristic

Allowing return transportation (MIP)

575,710.00 507,416.67 549,080.00 667,530.00 574,380.00 563,326.67 522,783.33 461,753.33 528,016.67 511,443.33 507,383.33 500,960.00 531,820.00 512,470.00 510,656.67 534,982.00 0

564,526.67 507,416.67 549,080.00 663,930.00 568,166.67 550,416.67 522,783.33 461,753.33 515,083.33 511,443.33 507,383.33 500,983.33 531,820.00 512,470.00 510,656.67 531,860.89 0

564,526.67 507,416.67 548,870.00 663,743.33 570,010.00 550,416.67 522,783.33 461,753.33 515,083.33 511,443.33 507,383.33 500,820.00 531,820.00 512,470.00 510,656.67 531,946.44 0

22, 19, 21, 26, 22, 23, 21, 19, 22, 21, 21, 20, 22, 21, 22,

21, 19, 21, 25, 21, 22, 21, 19, 21, 21, 21, 20, 22, 21, 22,

21, 19, 21, 25, 21, 22, 21, 19, 21, 21, 21, 20, 22, 21, 22,

[0] [0] [0] [0] [1,843.33] [0] [0] [0] [0] [0] [0] [0] [0] [0] [0]

Insights drawn from the computational results of all 74 instances are summarized below: (1) A more sophisticated initial solution often leads to a better heuristic result but is limited by the computer memory capacity and time allowed. The initial solution from the relaxation version of the MIP model [20] gives better solution quality in the two-stage heuristic than the simplified version of the same MIP model in 66 out of 74 instances. In the remaining 8 instances, the computer memory is exhausted when constructing the network P and hence the simplified MIP model is used to produce an initial solution. (2) From results of individual instances (Tables 1–5) and the summary on average cost (Table 6), the two models for coordination strategies (two-stage heuristic allowing both

0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,

1 0 0 2 1 1 0 0 1 0 0 0 0 0 0

0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

1 0 1 2 1 1 0 0 1 0 0 1 0 0 0

outbound and return transportation and the MIP model allowing only return transportation [20]) can be applied to complement each other. Either one or both models produce solutions of average total cost lower than the independent strategy. The optimization capability of the MIP model often generates better quality solutions. However in complex or large problems where the computer memory is exhausted by the MIP model (like instances 13–17, 67, 70 and 72), the two-stage heuristic could always produce a feasible solution, due to its flexibility in adopting an initial solution from either a relaxation or simplified version of the MIP model (or from any feasible solution). The heuristic result is better than the independent strategy in some of such instances (15, 16 and 67), but not always due to its heuristic nature.

1606

C.K.Y. Lin / Computers & Operations Research 38 (2011) 1596–1609

Table 3 Computational results on simulated instances (100 customers) from the two-stage heuristic, independent strategy and strategy allowing return transportation. Instance

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

No. of customers (depot location)

100 (edge)

100 (half-way)

100 (centre)

Average # Instances out of memory

Total cost (HK$)

Units used: H, L (independent), L (coordinated)

Independent (MIP)

Two-stage heuristic [savings in stage 2]

Allowing return transportation (MIP)

Independent (MIP)

Two-stage heuristic

Allowing return transportation (MIP)

997,333.33 943,366.67 975,066.67 967,063.33 929,420.00 833,150.00 869,703.33 970,833.33 859,156.67 722,773.33 762,786.67 800,290.00 761,783.33 868,660.00 869,546.67 875,395.56 0

984,983.33 927,953.33 940,796.67 967,296.67 902,940.00 837,473.33 880,593.33 970,506.67 834,543.33 720,130.00 764,186.67 814,413.33 761,853.33 860,766.67 846,153.33 867,639.33 0

962,616.67 927,906.67 920,256.67 967,063.33 902,940.00 833,150.00 859,033.33 967,583.33 834,543.33 716,716.67 761,263.33 798,703.33 761,783.33 853,106.67 838,120.00 860,319.11 0

38, 35, 37, 37, 36, 33, 35, 39, 35, 28, 31, 32, 31, 36, 36,

37, 33, 31, 37, 33, 34, 34, 39, 32, 27, 31, 33, 31, 35, 34,

35, 33, 30, 37, 33, 33, 34, 38, 32, 26, 30, 32, 31, 34, 33,

[0] [0] [0] [0] [0] [0] [1,866.67] [23.33] [0] [2,053.33] [0] [0] [0] [3,103.33] [2,006.67]

0, 3, 2, 0, 1, 3, 0, 1, 0, 3, 1, 1, 0, 0, 0,

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0,

1 6 12 0 4 0 3 1 4 5 0 0 0 2 2

0, 0, 3, 0, 1, 3, 0, 0, 0, 1, 1, 0, 0, 0, 0,

3 6 10 0 4 0 1 3 4 6 2 1 0 3 3

Table 4 Computational results on simulated instances (150 customers) from the two-stage heuristic, independent strategy and strategy allowing return transportation. Instance

48 49 50 51 52 53 54 55 56 57 58 59 60 61 62

No. of customers (depot location)

150 (edge)

150 (half-way)

150 (centre)

Average # Instances out of memory

Total cost (HK$)

Units used: H, L (independent), L (coordinated)

Independent (MIP)

Two-stage heuristic [savings in stage 2]

Allowing return transportation (MIP)

Independent (MIP)

Two-stage heuristic

Allowing return transportation (MIP)

1,200,736.67 1,148,216.67 1,087,723.33 1,232,090.00 1,114,960.00 1,152,856.67 1,034,913.33 1,045,536.67 1,044,983.33 1,291,110.00 1,128,910.00 1,065,430.00 1,089,400.00 1,144,720.00 1,058,313.33 1,122,660.00 0

1,197,183.33 1,136,006.67 1,074,766.67 1,221,730.00 1,116,236.67 1,155,393.33 1,041,306.67 1,043,250.00 1,042,060.00 1,274,903.33 1,132,696.67 1,064,076.67 1,091,150.00 1,135,800.00 1,071,940.00 1,119,900.00 0

1,172,693.33 1,123,656.67 1,071,773.33 1,209,590.00 1,111,570.00 1,135,343.33 1,034,073.33 1,034,906.67 1,033,746.67 1,252,816.67 1,126,693.33 1,061,953.33 1,088,996.67 1,135,800.00 1,052,730.00 1,109,756.22 0

46, 43, 41, 45, 42, 46, 40, 41, 42, 50, 45, 43, 44, 47, 43,

45, 42, 40, 45, 41, 45, 40, 41, 41, 48, 46, 43, 44, 46, 43,

43, 41, 39, 44, 41, 44, 40, 39, 40, 46, 45, 43, 43, 46, 42,

[0] [0] [0] [0] [980.00] [0] [0] [630.00] [1,003.33] [910.00] [0] [0] [0] [0] [793.33]

0, 2, 2, 4, 1, 1, 3, 2, 0, 2, 2, 1, 1, 0, 1,

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

1, 1, 0, 2, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0,

1 2 3 1 3 3 3 2 2 3 0 1 1 1 3

1, 1, 1, 2, 0, 0, 2, 1, 0, 1, 1, 0, 1, 0, 0,

3 3 4 2 3 4 1 5 3 5 1 1 2 1 3

Table 5 Computational results on simulated instances (200 customers) from the two-stage heuristic, independent strategy and strategy allowing return transportation. Instance

63 64 65 66 67 68 69 70 71 72 73 74

No. of customers (depot location)

200 (edge)

200 (half-way)

200 (centre)

Average # Instances out of memory

Total cost (HK$)

Units used: H, L (independent), L (coordinated)

Independent (MIP)

Two-stage heuristic [savings in stage 2]

Allowing return transportation (MIP)

Independent (MIP)

Two-stage heuristic

Allowing return transportation (MIP)

1,420,443.33 1,589,376.67 1,441,573.33 1,607,513.33 1,291,816.67 1,385,083.33 1,354,020.00 1,298,303.33 1,416,253.33 1,367,980.00 1,278,843.33 1,307,883.33 1,422,332.22 0

1,411,546.67 1,585,800.00 1,442,453.33 1,616,316.67 1,283,596.67 1,398,593.33 1,334,353.33 1,302,053.33 1,405,466.67 1,487,796.67 1,291,746.67 1,385,703.33 1,430,220.00 0

1,414,806.67 1,585,100.00 1,425,096.67 1,590,210.00 (out of memory) 1,380,200.00 1,335,823.33 (out of memory) 1,407,326.67 (out of memory) 1,269,293.33 1,380,590.00 1,420,938.52 3

53, 60, 55, 61, 51, 55, 54, 51, 58, 55, 51, 53,

52, 59, 54, 62, 50, 55, 51, 50, 57, 62, 51, 57,

51, 59, 51, 59, – 54, 51, – 56, – 50, 53,

[5343.34] [0] [0] [0] [0] [863.33] [1,260.00] [1,120.00] [0] [0] [1,540.00] [0]

2, 2, 1, 0, 1, 0, 0, 3, 1, 1, 3, 0,

0 0 0 0 0 0 0 0 0 0 0 0

0, 2, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0,

4 2 3 1 1 2 4 7 2 1 5 1

0, 3, 1, 0,

6 1 8 5

0, 2 1, 4 1, 4 0, 4 1, 6

C.K.Y. Lin / Computers & Operations Research 38 (2011) 1596–1609

(3) For small problem size (say 50 or fewer customers), coordination among resources (either in return or/and outbound transportation) is infrequent but still some amount of cost savings can be achieved over the optimal independent strategy. This is observed in the 1 or 2 coordinated units of resource L (last column of units used) in Tables 1 and 2. As problem size increases (Tables 1, 3–5), more units of resource L are in coordination and cost savings are observed over the independent strategy (either in coordination of return or in both outbound and inbound transportation). This is often achieved by converting one or more units of resource H into a few coordinated units of resource L. (4) Table 7 gives the size of input parameters and computational times for the two-stage heuristic. The number of single routes (G) for resource H exceeds that of resource L (g or gT) due to its relatively large travelling speed (20.8:5). Local instances with clustered customer locations could create complex problems due to variation in time windows. In local instances (13–17), the size of G is the largest (up to 168,790 routes for 89 customers) as compared with simulated instances of similar or more customers. The corresponding construction time of G, g and gT is within 500 CPU seconds—the largest among all local and simulated instances. For simulated instances, the routes construction time is insignificant. The network construction time is relatively small up to 150 customers (simulated instances), but increases much

Table 6 Summary on average total cost of all strategies. Instances No. of customers

1–12

27–30

13–17 18–32

89 50

33–47

100

48–62

150

63–74

200

Average total cost (HK$) over instances with solution from all strategies [number of instances out of memory] Independent (MIP)

Two-stage heuristic

Allowing return transportation (MIP)

241,420.55 [0] – [1] 534,982.00 [0] 875,395.56 [0] 1,122,660.00 [0] 1,422,332.22 [0]

241,570.28 [0] – [0] 531,860.89 [0] 867,639.33 [0] 1,119,900.00 [0] 1,430,220.00 [0]

239,303.89 [0] – [5] 531,946.44 [0] 860,319.11 [0] 1,109,756.22 [0] 1,420,938.52 [3]

1607

beyond this customer size. The total run time of the two-stage heuristic in the largest simulated instances (200 customers) is 460 CPU seconds on average and with a maximum of 1200 CPU seconds. 6. Conclusions The problem studied in this paper relates to the need of a local, corporate courier service to minimize costs and maximize efficiencies in resource allocation—a static VRPPDTW with two delivery resources allowing coordination is studied. This variant of VRPPDTW is characterized by two levels of pickups and deliveries—customer items and transportable light delivery resource units by heavy resource units. A path-based MIP formulation is given. The heuristic design is based on the critical chain concept [14], and ejection chains [10,13]. The ‘‘drum resource’’ in critical chain project management [14] refers to the key, critical resource around which projects will be synchronized. Based on a similar idea, the schedule of the heavy resource units dominates when in coordination and the light resource unit(s) schedules its route to synchronize with the heavy resource (Section 3.1: assumptions (ix) and (x)). This is achieved in the first stage of the two-stage heuristic by scheduling the two resources and allowing partial coordination of the light resource units, assuming a reasonable coordination strategy. (In this way, the important factors, resource fixed costs and certain points of coordination, are treated first.) Two types of coordination are modelled: joint return and outbound travel. In the first stage, new solutions are explored through a multi-exchange neighbourhood structure, similar to ejection chains. An improvement path of moves (ejection chain) is identified through a modified shortest path algorithm, ME-SP heuristic. The second stage seeks for (less significant) cost savings by assigning the outbound legs of light resource units to those of the heavy resource or independent light resource units in the first stage solution. The second stage problem can be formulated by a transportation model. A factor encouraging coordination is the geographical spread of the depot and customer locations, as depicted in Fig. 5. The two models of coordination (two-stage heuristic and the MIP model allowing only return transportation [20]) perform better than the independent strategy in terms of lower average total cost and usage of heavy resource in simulated instances of up to 150 customers. In larger instances and instances based on local data, the performances are less predictable and dependent upon the computer memory capacity. The two-stage heuristic is also flexible in

Table 7 Size of network constructed in two-stage heuristic and the computational time (CPU seconds). Instance

No. of customers

Average no. of single routes by resource type [min., max.] H (set G)

1–12

27–30

13–17

89

18–32

50

33–47

100

48–62

150

63–74

200

1204 [144, 3298] 76965 [39900, 168790] 432 [257, 651] 2568 [1612, 5085] 9525 [6166, 15338] 24066 [3, 38383]

L (indep. routes—set g)

4 [0, 18] 158 [12, 486] 4 [0, 10] 9 [2, 22] 14 [5, 24] 37 [5, 192]

Average time [min., max.] (CPU seconds) T

L (transfer routes—set g )

49 [0, 112] 678 [431, 1110] 12 [3, 20] 47 [21, 88] 107 [74, 132] 211 [95, 295]

Construction of

Total run time

Routes (G[g[gT)

Network (P)

0.05 [0, 0.19] 130.96 [24.66, 475.66] 0.02 [0.02, 0.03] 0.17 [0.06, 0.53] 1.75 [0.67, 4.29] 13.13 [2.78, 23.36]

0.46 [0.06, 1.31] 0.28 [0.17, 0.63] 0.16 [0.05, 0.53] 1.12 [0.33, 5.54] 20.17 [3.08, 56.40] 195.26 [0.11, 615.53]

4.91 [3, 8.83] 154.79 [50.57, 503.25] 7.05 [5.97, 10.28] 40.50 [21.35, 85.54] 101.40 [56.19, 156.04] 459.88 [141.33, 1143.65]

1608

C.K.Y. Lin / Computers & Operations Research 38 (2011) 1596–1609

Table A1 Below are the basic data for the 15-customer example in Fig. 5. Customer (i)

Node (i) Pickup time (ti) Delivery time at depot (ti) Travel timea (min.) of heavy resource

0 (depot) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 a

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

219 293

132 192

154 218

85 189

3 292

104 164

189 239

140 205

120 199

160 260

88 234

133 237

138 222

134 273

19 155

Customer 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

52 –

33 80 –

25 73 9 –

29 76 5 4 –

17 64 17 10 13 –

23 71 12 3 7 8 –

28 75 5 5 1 12 7 –

46 93 18 22 18 30 25 18 –

48 95 20 25 20 32 27 20 3 –

44 91 16 20 16 28 23 16 3 5 –

56 103 28 32 28 40 57 28 11 8 13 –

53 100 25 29 25 37 32 25 8 5 10 6 –

63 111 35 40 35 48 42 35 18 16 21 12 13 –

53 100 25 29 25 37 32 25 8 6 10 5 1 12 –

89 133 61 65 61 74 68 61 44 42 47 39 37 44 37 –

Symmetrical travel times assumed

handling multiple routes for each unit resource. Allowing multiple routes is beneficial to the current problem with delivery time windows at the depot and in classical VRP problems with both vehicle capacity and route duration constraints [2,22]. There are several directions for future research based on the findings of this study. Because the original problem derives from a specific real-world problem, the two-stage heuristic design can be extended to more general VRPPDTW to deal with the coordination of multiple resources. Metaheuristics and their combination with exact approaches could be explored. A multi-echelon vehicle routing problem in city logistics with dynamic location of coordination between resources is worth investigation.

Acknowledgement The author would like to thank the two anonymous reviewers and Dr. Nagy Gabor for their valuable comments to help improve the presentation of this paper. Special thanks to Dr. Nagy for his continual support to the current and earlier work.

Appendix (See Table A1). References [1] Ahuja RK, Orlin JB, Pallottino S, Scaparra MP, Scutella MG. A multi-exchange heuristic for the single-source capacitated facility location problem. Management Science 2004;50:749–60. [2] Azi N, Gendreau M, Potvin J-Y. An exact algorithm for a vehicle routing problem with time windows and multiple use of vehicles. European Journal of Operational Research 2010;202:756–63. [3] Baker HM, Franz LS, Sweigart JR. Coordinated transportation systems: an alternative approach to traditional independent systems. European Journal of Operational Research 1993;66:341–52. [4] Chao I-M. A tabu search method for the truck and trailer routing problem. Computers & Operations Research 2002;29:33–51.

[5] Corte´s CE, Matamala M, Contardo C. The pickup and delivery problem with transfers: formulation and a branch-and-cut solution method. European Journal of Operational Research 2010;200:711–24. [6] Crainic TG, Gendreau M, Potvin J-Y. Intelligent freight-transportation systems: assessment and the contribution of operations research. Transportation Research Part C: Emerging Technologies 2009;17:541–57. [7] Crainic TG, Ricciardi N, Storchi G. Models for evaluating and planning city logistics systems. Transportation Science 2009;43:432–54. [8] Crainic TG, Perboli G, Mancini S, Tadei R. Two-echelon vehicle routing problem: a satellite location analysis. Publication CIRRELT-2009-15, CIRRELT, Universite´ de Montre´al, Canada, 2009. [9] Dijsktra EW. A note on two problems in connexion with graphs. Numerische Mathematik 1959;1:269–71. [10] Gendreau M, Guertin F, Potvin J-Y, Se´guin R. Neighbourhood search heuristics for a dynamic vehicle dispatching problem with pick-ups and deliveries. Transportation Research Part C 2006;14:157–74. [11] Gerdessen JC. Vehicle routing problem with trailers. European Journal of Operational Research 1996;93:135–47. [12] Gendron B, Semet F. Formulations and relaxations for a multi-echelon capacitated location-distribution problem. Computers & Operations Research 2006;36:1335–55. [13] Glover F. Ejection chains, reference structures and alternating path methods for traveling salesman problems. Discrete Applied Mathematics 1996;65:223–53. [14] Goldratt EM. Critical chain. Massachussetts: North River Press; 1997. [15] Hindi KS, Pien´kosz K. Efficient solution of large scale, single-source, capacitated plant location problem. Journal of the Operational Research Society 1999;50:268–74. [16] Kamoun M, Hall RW. Design of express mail services for metropolitan regions. Journal of Business Logistics 1996;17:265–302. [17] Langevin A, Soumis F. Design of multiple-vehicle delivery tours satisfying time constraints. Transportation Research Part B 1989;23:123–38. [18] Lim A, Zhang X. A two-stage heuristic with ejection pools and generalized ejection chains for the vehicle routing problem with time windows. INFORMS Journal on Computing 2007;29:443–57. [19] Lin CKY. A cooperative strategy for a vehicle routing problem with pickup and delivery time windows. Computers & Industrial Engineering 2008;55: 766–82. [20] Lin CKY. Resources requirement and routing in courier service. In: Caric T, Gold H, editors. Vehicle routing problem. Vienna: I-Tech; 2008. p. 125–42. [21] Lin CKY. Stochastic single-source capacitated facility location model with service level requirements. International Journal of Production Economics 2009;117:439–51. [22] Lin CKY, Kwok RCK. Multi-objective metaheuristics for a location-routing problem with multiple use of vehicles on real data and simulated data. European Journal of Operational Research 2006;175:1833–49. [23] Lin S-W, Yu VF, Chou S-Y. Solving the truck and trailer routing problem based on a simulated annealing heuristic. Computers & Operations Research 2009; 36:1683–92.

C.K.Y. Lin / Computers & Operations Research 38 (2011) 1596–1609

[24] Mitrovic´-Minic´ S, Laporte G. Waiting strategies for the dynamic pickup and delivery problem with time windows. Transportation Research Part B 2004; 38:635–55. [25] Mitrovic-Minic S, Laporte G. The pickup and delivery problem with time windows and transshipment. INFOR 2006;44:217 27. [26] Mitrovic´-Minic´ S, Krishnamurti SR, Laporte G. Double-horizon based heuristics for the dynamic pickup and delivery problem with time windows. Transportation Research Part B 2004;38:669–85. [27] Scheuerer S. A tabu search heuristic for the truck and trailer routing problem. Computers & Operations Research 2006;33:894–909.

1609

[28] Semet F. A two-phase algorithm for the partial accessibility constrained vehicle routing problem. Annals of Operations Research 1995;61:45–65. [29] Shang JS, Cuff CK. Multicriteria pickup and delivery problem with transfer opportunity. Computers & Industrial Engineering 1996;30:631–45. [30] Car journey time survey for monitoring traffic congestion, Hong Kong. Transport Department, Hong Kong, 2001. [31] Carey N. Establishing pedestrian walking speeds. Portland State University; 2005.