Anda di halaman 1dari 12

Computers & Operations Research 39 (2012) 25372548

Contents lists available at SciVerse ScienceDirect

Computers & Operations Research


journal homepage: www.elsevier.com/locate/caor

The inventory-routing problem with transshipment


Leandro C. Coelho n, Jean-Franc - ois Cordeau, Gilbert Laporte
al, 3000 chemin de la C al, Canada H3T 2A7 CIRRELT and HEC Montre ote-Sainte-Catherine, Montre

a r t i c l e i n f o
Available online 5 January 2012 Keywords: Inventory-routing problem Transshipment ALNS Heuristic

abstract
This paper introduces the Inventory-Routing Problem with Transshipment (IRPT). This problem arises when vehicle routing and inventory decisions must be made simultaneously, which is typically the case in vendor-managed inventory systems. Heuristics and exact algorithms have already been proposed for the Inventory-Routing Problem (IRP), but these algorithms ignore the possibility of performing transshipments between customers so as to further reduce the overall cost. We present a formulation that allows transshipments, either from the supplier to customers or between customers. We also propose an adaptive large neighborhood search heuristic to solve the problem. This heuristic manipulates vehicle routes while the remaining problem of determining delivery quantities and transshipment moves is solved through a network ow algorithm. Our approach can solve four different variants of the problem: the IRP and the IRPT, under maximum level and order-up-to level policies. We perform an extensive assessment of the performance of our heuristic. & 2012 Elsevier Ltd. All rights reserved.

1. Introduction Logistics is now widely recognized as a value adding center in organizations through product availability, consistency of deliveries, accuracy in inventory and demand management, and ease of placing orders. Vendor-managed inventory (VMI) is one of the most up-to-date examples of value added through logistics. This practice constitutes a streamlined approach to inventory management in which the supplier makes replenishment decisions based on specic inventory and supply chain policies. Vendor-managed inventory is often described as a winwin situation: suppliers save on distribution and production costs since they can combine and coordinate demands and shipments for different customers, and buyers gain by not allocating resources to inventory control and management. The supplier then has to make three simultaneous decisions: (1) when to serve a given customer, (2) how much to deliver, and (3) how to combine customers into routes. Regarding the size of deliveries, one of two policies is typically applied: the order-up-to (OU) policy or the maximum level (ML) policy. Under the OU policy the quantity delivered to a customer lls its inventory capacity; under the ML policy the supplier can decide how much to deliver to a customer, as long as its holding capacity is respected [32]. The drawback of VMI is that it requires the solution of a very difcult optimization problem, called the Inventory-Routing
Corresponding author. Tel.: 1 514 343 6111x8716; fax: 1 514 343 7121. E-mail addresses: leandro.coelho@cirrelt.ca (L.C. Coelho), jean-francois.cordeau@cirrelt.ca (J.-F. Cordeau), gilbert.laporte@cirrelt.ca (G. Laporte). 0305-0548/$ - see front matter & 2012 Elsevier Ltd. All rights reserved. doi:10.1016/j.cor.2011.12.020
n

Problem (IRP), itself a combination of two well-studied problems: inventory management and vehicle routing. According to a recent survey by [1] no commercially available systems provide decision support for combined inventory management and routing. Scientic research on the IRP is relatively recent compared to that on related optimization problems, such as the Vehicle Routing Problem (VRP), and most of it is on the single vehicle case. Speranza and Ukovich [46] note the existence of distinct extensive literature reviews on transportation and on inventory management problems, but relatively few studies exploit their integration. This is still true to this day. A quick search on the ABI/INFORM Global database shows over 580 scholarly publications on the VRP, but fewer than 70 on the IRP. Recent reviews on the IRP found fewer than a hundred papers addressing the combined VRP-inventory management problem [1,13]. Several variants of the IRP have arisen since this problem was rst introduced by Bell et al. [7]. These include the IRP with a single customer [8,17,47], the IRP with multiple customers [2,7,10,24], the stochastic IRP [24,25,30], the IRP with direct deliveries [18,19,21,24,31], the multi-item IRP [6,39,44,46], and the IRP with heterogeneous eet [10,11,37]. There are so many ways of modeling and solving IRPs that different authors rarely dene the problem in exactly the same way. We next describe three important algorithms for the IRP which we will use as benchmarks for our own algorithm. Bertazzi et al. [9] have studied the one-vehicle case with multiple retailers, dynamic deterministic demand rates and the OU policy. Their heuristic computes the quantity to be delivered to each customer for each combination of time instants and inserts it in the cheapest position. The solution is then iteratively

2538

L.C. Coelho et al. / Computers & Operations Research 39 (2012) 25372548

improved by selecting customer pairs, removing them from the current solution and reinserting them after solving a shortest path problem. Any improving move is implemented and the process is reiterated as long as improvements are obtained. The rst exact algorithm for the IRP is that of Archetti et al. [2]. It handles the single-vehicle case without backlogging, under the OU inventory policy. This algorithm is based on a classical branch-and-cut scheme in which the subtour elimination constraints are initially relaxed. Branching is performed in priority on the assignment of customers to delivery periods, and then on routing variables. The instances solved in this paper have become standard benchmarks. Recently, Archetti et al. [3] have developed a hybrid heuristic combining tabu search and integer programming for the same problem. Starting from a feasible solution, the algorithm explores the neighborhood of the current solution and performs occasional jumps to new regions of the search space. Infeasible solutions are temporarily accepted, namely due to a stockout at the supplier or exceeded vehicle capacity. This paper introduces the concept of transshipment within inventory-routing. Under this policy, goods may be shipped to a customer, either directly from the supplier, or from another customer. This happens, for example, between stores belonging to the same chain which can ship merchandise to one another when unforeseen demands variations occur [4,14,28,3335]. To the best of our knowledge, transshipment has not yet been formally integrated within the context of inventory-routing. Planned transshipments can also be used to redistribute inventory among customers so as to reduce handling costs, as is the case in the retail industry [35] and in companies that make use of external freight carriers for part of their distribution [34]. Transshipments may be benecial in a deterministic context in which no shortages occur because they may yield an overall reduced distribution and inventory holding cost. This is the case, for example, when vehicle capacity and storage limits at customer locations restrict the amounts that can be delivered to these customers at each time period. Deterministic subproblems also arise when solving stochastic inventory-routing problems in a rolling horizon framework where one uses demand forecasts for the next time periods as approximations of the unknown demand. This is the context in which our problem is dened. Mercer and Tao [29] provide an example of an inventory-routing system used by the supermarket chain Tesco, in the United Kingdom, where deliveries are made from a factory to several warehouses, and lateral transshipments can take place between warehouses. Note that the concept of transshipment also appears in a different way in [43]. The latter paper describes a three-level supply chain consisting of suppliers, transshipment ports and customers, but no transshipment takes place among customers. As pointed out by Laporte [26], medium-size instances of the VRP cannot be solved exactly using exact methods. Incorporating inventory management issues and transshipments makes the problem signicantly harder. For this reason, it is unrealistic to contemplate the use of an exact algorithm for the IRPT. We have therefore developed an adaptive large neighborhood search (ALNS) heuristic for it. This type of algorithm was initially put forward by [40] in the context of the VRP and extends a concept initially proposed by Shaw [42]. The algorithm we propose is designed to handle the specic features of the IRPT. It is exible and can easily handle the OU and ML replenishment policies. The main scientic contributions of this paper are the introduction of a transshipment option within the context of inventory-routing and the development of a powerful and exible ALNS heuristic to solve four variants of the problem: the IRPT with transshipment (IRPT) and the IRP without transshipment (IRP), under an OU or an ML replenishment policy. More specically, we show that ALNS provides a powerful algorithmic framework

capable of simultaneously handling the routing, scheduling and transshipment decisions inherent to the IRPT. In addition, we demonstrate on benchmark instances the advantage of allowing transshipments. The four variants will be referred to as IRPT-OU, IRPT-ML, IRP-OU and IRP-ML. The remainder of the paper is organized as follows. In Section 2 we introduce and describe the IRP. Section 3 presents a mixedinteger linear programming formulation for the four variants of the problem considered in the paper, and for a restriction in which routing is xed. In Section 4 we present our ALNS algorithm, followed by computational results, in Section 5, and by our conclusions in Section 6.

2. Problem description We now formally introduce the IRPT. The problem is dened on a graph G V , A where V f0, . . . , ng is the vertex set and A fi, j : i, j A V , i a jg is the arc set. Vertex 0 represents the supplier and the vertices of V 0 V \{0} represent customers. Both the supplier and customers incur unit inventory holding costs hi per period (i A V ), and each customer has an inventory holding capacity Ci. The length of the planning horizon is p and, at each time period t A T f1, . . . , pg, the quantity of product made available at the supplier is rt. We assume the supplier has enough inventory to meet all the demand during the planning horizon and that inventories are not allowed to be negative, i.e., the supplier can only ship what he holds in stock with no backlogging option. At the beginning of the planning horizon the decision maker knows the current inventory level of the supplier and of 0 the customers (I0 0 and Ii ), and receives the information on the t demand di of each customer i for each time period t. Throughout the paper, we assume that the quantity rt becoming available at the supplier in period t can be used for deliveries to customers in the same period, and that the quantities qt i received by customer i in period t can be used to meet the demand in that period. A single vehicle of capacity Q is available. This vehicle is able to perform one route at the beginning of each time period to deliver products from the supplier to a subset of customers. A routing cost cij is associated with arc i, j A A. Whereas many distribution systems make use of several vehicles, most research in the eld of inventory-routing still considers only one vehicle, and there are indeed practical applications in which a single vehicle is used at a given echelon of the supply chain, such as in the case study described by Mercer and Tao [29]. Transshipments can be made later in the time period. A transshipment can start from the depot or from any customer in a subset R D V 0 , i.e., these customers can dispatch goods to other customers as needed. Transshipments can occur when it is protable to ship goods from the depot to a customer on a special request basis, or from customer i A R to customer j A V 0 . This can be done by subcontracting to a carrier who will pickup goods either at the supplier or from any transshipment point. These outsourced deliveries are only made by direct shipping and the unit cost associated with transshipping products from i to j is bij. It is possible that both the suppliers vehicle and the subcontractor visit the same customer within the same time period: the suppliers vehicle rst delivers to the customer according to the OU or to the ML policy, and the subcontractor may later deliver to that customer according to the ML policy. The total quantity delivered to a customer in a given period guarantees that no shortages occur and that the capacity is not exceeded at the end of the period. However, the customers capacity may be temporarily exceeded during that period. We also assume that all orders and deliveries can be performed during the same time period, which means that lead times are negligible.

L.C. Coelho et al. / Computers & Operations Research 39 (2012) 25372548

2539

The objective of the problem is to minimize the total cost while meeting the demand for each customer in each period. The replenishment plan is subject to the following constraints:

 the inventory level of a customer at the end of a period cannot


exceed the maximal available inventory capacity;

 inventories are not allowed to be negative, i.e., all demand   


must be met by previous inventory plus deliveries performed during the time period considered; if the suppliers vehicle visits a customer in a time period, an OU or an ML replenishment policy applies; the suppliers vehicle can perform at most one route per time period, starting and ending at the supplier; the vehicle capacity cannot be exceeded. The solution to the problem should determine:

3.1.3. Inventory denition at the customers Likewise, the inventory level at each retailer in period t is given by its previous inventory level in period t 1, plus the quantity qt i delivered by the suppliers vehicle in period t, plus the total quantity transshipped in period t, minus the total quantity transshipped to other customers in period t, minus its demand in period t, that is: X X t t 1 It qt wt wt i A V0 t A T : 4 i Ii i ji ij di ,
j A R[f0g j A V0

3.1.4. Stockout constraints at the customers These constraints guarantee that for each customer i A V 0 the inventory level It i remains non-negative at all time: It i Z 0, i A V, tAT : 5

 which customers to serve in each time period using the  


suppliers vehicle; which route to use in each time period; how much to transship from every i A R [ f0g to every j A V 0 in each time period.

3.1.5. Maximal inventory level at the customers These constraints guarantee that for each customer i A V 0 the inventory level It i remains below the maximum level Ci at the end of each period: It i r Ci, i A V, t AT : 6

3. Mathematical models The model works with the following binary variables: xt ij is equal to 1 if and only if customer j immediately follows customer i on the route of the suppliers vehicle in period t. Let wt ij be the amount of product delivered directly from i A R [ f0g to customer j A V 0 at period t using the outsourced carrier. Let It i denote the inventory level at vertex i A V at the end of period t A T . We denote by qt i the quantity of product delivered from the supplier to customer i in time period t. The model also uses continuous variables vt i to enforce the VRP subtour elimination constraints [15,23]. They represent the sum of the deliveries made by the vehicle in period t after visiting customer i. 3.1. Model for IRPT-OU In the IRPT, the total cost to be minimized is the sum of inventory holding costs at the supplier and at the customers, of routing costs for the suppliers vehicle and of transshipment costs: X t X X t XX X X X X min h0 I0 hi Ii cij xt bij wt ij ij :
tAT i A V0 t A T iAV jAV tAT i A R[f0g j A V 0 t A T

3.1.6. Quantities delivered These sets of constraints ensure that the quantity delivered by the suppliers vehicle to each customer i A V 0 in each period t A T will ll the customers inventory capacity if the customer is served, and will be zero otherwise: X t 1 qt xt , i A V0, t A T ; 7 i Z Ci ij Ii
j A V0 t 1 , qt i r C i Ii

i A V0, i A V0,

t AT ; t AT :

8 9

X qt xt i r Ci ij ,
jAV

1 As is standard in vehicle routing, travel costs are distance-dependent and are unrelated to the vehicle load. However, transshipment costs are distance- and volume-dependent because this is sometimes how outsourced carriers dene the terms of their contracts. The constraints are as follows. 3.1.1. Inventory denition at the supplier The inventory level at the supplier at the end of period t A T is given by the inventory level at the end of period t 1, plus the quantity rt made available in period t, minus the total quantity shipped to the customers using the suppliers vehicle in period t, minus the total quantity transshipped to the customers in period t: X X t 1 t It qt wt t AT : 2 0 I0 r i 0i ,
i A V0 i A V0

If customer i is not visited in period t, then constraints (9) mean that the quantity delivered to it will be zero (while constraints (7) and (8) are still respected). If, otherwise, customer i is visited in period t, constraints (9) limit the quantity delivered to the customers inventory holding capacity, and this bound is tightened by constraints (8), making it impossible to deliver more than what would exceed this capacity. Constraints (7) model the OU replenishment policy, ensuring that the quantity delivered will be exactly the bound provided by constraints (8). 3.1.7. Vehicle capacity These constraints guarantee that the vehicles capacity is not exceeded: X qt tAT : 10 i rQ,
i A V0

3.1.8. Routing constraints These constraints guarantee that a feasible route is designed to visit all customers served in period t: (a) Flow conservation constraints: these constraints impose that the number of arcs entering and leaving a vertex should be the same: X X xt xt j A V, t A T : 11 ij ji ,
iAV iAV

3.1.2. Stockout constraints at the supplier These constraints impose that the suppliers inventory at the end of period t cannot be negative: It 0 Z 0, t AT : 3

(b) A single vehicle is available: X xt tAT : i0 r 1,


iAV

12

2540

L.C. Coelho et al. / Computers & Operations Research 39 (2012) 25372548

Initial conditions
r

Periods
r
0

Period p+1
0

Supplier

Dummy sink

1 Customers 2

1
d

1
d

2
q

Suppliers vehicle

Inventory conservation arcs Vehicle routes arcs (fixed by the ALNS) Transshipment arcs
Fig. 1. Network ow problem for two customers and two time periods.

(c) Subtour elimination constraints:


t t t vt i vj Qxij r Q qj ,

i A V0,

j A V0,

tAT ;

13

t qt i r vi r Q ,

i A V0,

t AT :

14

3.1.9. Integrality and nonnegativity constraints


t t vt i , qi , wji Z 0,

i A V0,

j A R [ f0g, iaj t AT :

tAT ;

15 16

xt ij A f0; 1g

i, j A V ,

3.2. Adaptations to IRPT-ML, IRP-OU and IRP-ML The IRPT-OU model just described can be modied to enforce the ML replenishment policy by dropping constraints (7). Similarly, to forbid transshipments one only has to set all wt ij variables equal to zero. Thus, all four versions of the IRPT can be modeled through the same formulation. 3.3. Model for the IRPT with xed routes If one xes routing variables xt ij , the remaining problem t t reduces to a network ow problem dened by the It i , qi and wij variables. The ow conservation equations are given by (2) and (4). The lower and upper bounds on the ows are dened by (3), (5)(9). Vehicle capacity constraints (10) still dene an upper bound on the quantity delivered by the vehicle, even though the customers to be visited are xed. Constraints (11)(13) are not relevant in the ow models because their variables are xed. Fig. 1 depicts the network ow model for a small network with two customers and two time periods. The supplier and the customers are represented by vertices replicated for each time period, plus one extra set of vertices for initial inventories, and one extra set for the decisions made at the last time period. The supplier and each customer carry their inventories between successive time periods. The corresponding solid arcs in the gure have unit inventory holding costs, and the ows on these arcs are bounded above by the customers inventory capacities (innite

for the supplier). At each period t the supplier receives rt units of the product and customer i has a demand equal to dt i. The vehicle is represented by one vertex at each period, receiving a zero cost arc from the supplier at the same period with a ow up to Q units, and is then connected to each customer receiving a delivery at that period. This is a routing decision made prior to applying the network ow algorithm. They are dashed at period 2, assuming that the routing heuristic has decided to only visit customer 2. We have added dotted arcs representing transshipment options from the supplier and from every customer to every other customer. For the sake of clarity, Fig. 1 only shows these arcs for period 1, but these are actually present in all periods. This allows the network ow solution to serve a given customer through a transshipment if a later routing delivery would violate vehicle capacity, or if any inventory constraint is not satised by the routing decisions. The OU policy is enforced by xing the ow on the arcs linking customers in different successive time periods: once customer i is visited in period t, the arc connecting it to itself at the next period t has a ow equal to C i di . The network ow algorithm only computes the quantities delivered from all transshipment arcs since the quantities delivered by the supplier are xed by the OU policy. When the ML replenishment policy is in place, no extra action is needed.

4. Adaptive large neighborhood search heuristic The IRPT is NP -hard since it contains the VRP as a special case. As a result, the model described in Section 3 can only be solved exactly for very small instances. A heuristic is therefore needed for instances of realistic size. Because the problem combines several dimensions (routing, scheduling, inventory management and transshipment), a powerful metaheuristic is required for its solution. Such a metaheuristic is the ALNS framework recently proposed by [40] for the VRP and applied to a number of other contexts [5,22,27,36]. This type of algorithm is highly suitable for the problem at hand because of its generality and exibility. It can simultaneously handle several families of hard constraints and it conducts a highly diversied search through the multiplicity of its operators and through the use of a random mechanism for their selection.

L.C. Coelho et al. / Computers & Operations Research 39 (2012) 25372548

2541

We now describe our ALNS heuristic. The algorithmic framework is made up of ve main components. 1. Large neighborhood: At each iteration, a number of customers are removed from their current route and are eventually reinserted. This xes the decisions regarding routing, and the problem is passed to a network ow solver to optimize all remaining decisions simultaneously (minimize total costs taking into account inventory holding costs, transshipments and delivery quantities), as described in Section 3.3. 2. Adaptive search engine: The choice of which operator to apply at a given iteration is governed by a roulette-wheel mechanism in which each operator is assigned a weight depending on its past performance. Let oi be a measure of how well operator i has performed in the past; then given h operators with weights oi , P operator j will be selected with probability oj = h i 1 oi . 3. Adaptive weight adjustment: The search is divided into segments of j iterations each, and weights are computed by taking into account the performance of the operators during the last segment. Each operator is assigned a weight and a score. Initially, all weights are equal to one and all scores are equal to zero. At each iteration, scores are updated as follows: if an operator nds a new best solution, its score is increased by s1 ; if it nds a solution better than the incumbent, its score is increased by s2 ; if the solution is not better but is still accepted, the score is increased by s3 . Obviously s1 Z s2 Z s3 Z 0. After j iterations, the weights are updated considering the scores obtained in the last segment and the scores are reset to zero. To do so, let pi and oij be, respectively, the score of the operator i and the number of times operator i has been used in the last segment j, normalized by a factor ni Z 1 reecting the computational effort it requires (see [41]). The normalization factor ni multiplies oij, and therefore decreases the weight of operator i, so that the more time consuming operators are applied less frequently. The values used for the normalization factors are all equal to one in our implementation, except for three cases where different values are used. These are provided in Sections 4.2.3, 4.2.4 and 4.2.12. The updated weights are then ( oi if oij 0, oi : 1Zo Zp =n o if o a 0, 17 i i i ij ij where Z A 0; 1 is called the reaction factor, controlling how quickly the weight adjustment reacts to changes in the operator performance. 4. Periodic postoptimization: At the end of each segment, we apply a 2-opt procedure to each vehicle route. 5. Acceptance and stopping criteria: As in [40], we use an acceptance criterion based on simulated annealing. Given a solution s, a neighbor solution s0 is accepted if zs0 o zs, and with 0 probability ezs zs=t otherwise, where z(s) is the solution cost dened by (1) and t 4 0 is the current temperature. The temperature starts at tstart and is decreased by a cooling rate factor f at each iteration, where 0 o f o 1. To avoid long computations for large and difcult instances, we limit the running time to 1 h and also to a maximum number of iterations, as described in Section 4.3. The use of simulated annealing not only prevents the search mechanism from cycling, but it also provides an added diversication effect.

initial solution does not have a signicant impact on the overall solution cost or on the running time. 4.2. List of operators Unlike related problems such as the VRP, where every removal is accompanied by an insertion, one may decide to remove a vertex from some periods and not reinsert it back. This partial solution will still be feasible when transshipments are allowed. Moreover, in the IRPT, it is feasible and sometimes optimal not to create any route because transshipments can always be made. This observation has motivated us not to use the traditional destroy and repair framework of Shaw [42] and Pisinger and Ropke [38] in which each destroy operator is always followed by a repair operator, but to keep the option of making only a removal or only an insertion. In the operators described in Sections 4.2.3, 4.2.4 and 4.2.12, it is implicitly assumed that solution costs are computed through the network ow algorithm of Section 3.3 once a route is xed. In Sections 4.2.2, 4.2.6, 4.2.8 and 4.2.11, the best insertion position is found by computing the insertion cost at each position in the route, which has linear complexity with respect to the number of customers in the route. In what follows, r is an integer randomly drawn from the interval [1, n] using a semi-triangular distribution with a negative slope. 4.2.1. Randomly remove r This operator randomly selects one period and randomly removes one customer from it. The complexity of this operator is O(1). It is repeated r times. This operator is useful for rening the solution since it does not change it much when r is small (which happens frequently). However, it still yields a major transformation of the solution when r is large. 4.2.2. Randomly insert r This operator randomly selects unrouted customers, up to a maximum of r, and one random period for each of them. It inserts the customer in the best position in the route of the selected period. The complexity of each insertion is O(n). 4.2.3. Remove worst r This operator removes the customer that will save the most when removed, considering the total routing, inventory and transshipment cost. It is repeated r times. Because a network ow problem must be solved for each customer, the complexity of each removal is O(nf n), where f(n) is the complexity of solving the min-cost network ow problem. The normalization factor used for this operator is 50. 4.2.4. Insert best r This operator is analogous to the previous one. It is repeated r times by computing the cheapest insertion with respect to total costs.

4.1. Initial solution The initial solution is generated by randomly selecting 75% of the customers and randomly assigning each of them to a period of the planning horizon. Their insertion in the routes follows the cheapest insertion rule. Our computational experiments have shown that the

4.2.5. Shaw removal Following the ideas developed by Ropke and Pisinger [40] and by Shaw [42], this operator removes customers that are relatively close to each other. Specically, this heuristic randomly selects one period from the planning horizon and one customer served in this period, computes the distance distmin to the closest customer also being served by the same route, and removes all customers within 2dist min units from the selected route. The complexity of this operator is O(n).

2542

L.C. Coelho et al. / Computers & Operations Research 39 (2012) 25372548

4.2.6. Shaw insertions This operator is similar to the Shaw removal in the sense that it selects similar customers to be inserted together. It selects one period and one customer not served in that period. The heuristic then computes distmin and all customers within a 2dist min distance are inserted in the same period, always following the cheapest insertion rule. The complexity of this operator is O(n). 4.2.7. Remove r customers This operator removes a customer from all routes where it appears. Its complexity is O(p) since each customer appears in at most p routes. It is repeated r times. The motivation for this operator is to allow these customers to be assigned to different sets of periods. 4.2.8. Insert r customers This operator iteratively selects r customers and assigns them to the best position of the vehicle route in several randomly selected periods if the customer is not yet present in these periods. Its complexity is O(np) since each selected customer will be inserted in at most p periods. The motivation is to diversify the search towards unexplored areas of the search space by allowing customers to be served in different periods from the ones currently selected. 4.2.9. Empty one period This operator randomly selects one period and removes all customers from it. It is implemented in O(1) time. The motivation is to allow different periods to have opened routes. 4.2.10. Swap routes This operator randomly selects two periods and swaps their routes. It is implemented in O(1) time. 4.2.11. Randomly move r This operator selects one period and one customer being served in this period, removes it and serves it in the best possible position in a different randomly selected period. Its complexity is O(n). It is repeated r times. 4.2.12. Multiple interchanges This operator is used only in IRP-OU and IRPT-OU since we observed that for these variants the remaining operators were not sufcient: due to the OU policy, the insertion of a customer in the incumbent solution has a great impact on the inventory costs and on vehicle loads. This operator performs interchanges like the heuristic of Bertazzi et al. [9] summarized in Section 1, but differs from the original algorithm in three ways: (1) in order to limit the computational burden, it does not iterate as long as improvements can be obtained, but stops after n/2 iterations; (2) it does not restart from an empty solution at each call, but is initiated from the current solution; (3) it applies some improvement procedures to take transshipments into account as they were not present in the original algorithm: if a customer has a lower inventory cost than that of the supplier, products are transshipped to that customer if the trade-off is positive, while respecting its inventory holding capacity; transshipments are combined to an early period if this yields savings, and routes from the last two periods are replaced by transshipments, since one could save on inventory holding costs if the OU policy did not have to be enforced. Delivery quantities are determined as in [9] by computing shortest paths on acyclic networks N i , one for each customer i. Each node of N i corresponds to a discrete

time instant between 0 and p 1, and arc t , t 0 is dened if no stockout occurs at customer i whenever it is not visited in the interval t , t 0 ; the quantity delivered to i at each time period will be that to ll the customer capacity and the arcs cost is the sum of the inventory and routing costs associated with visiting customer i in the interval t , t 0 . Algorithm 1 provides a formal description of this operator. This operator can be implemented in O(n2 p2 ) time if Dijkstras algorithm [16] is used to compute the shortest paths. The normalization factor used for this operator is 20. Algorithm 1. Multiple interchanges operator. 1: Sort the set of customers V 0 in the non-decreasing order of P t the ratio between Ci and t A T di =p. Relabel them accordingly. Let z(s) be the cost of the incumbent solution s. iterations0. while iterations o n=2 and improvements are made do for i 1, . . . , n do for j n, . . . , 1 and j a i do s0 s. Remove customers i and j from s0 . Create an acyclic network N j for customer j. Solve the shortest path over N j from 0 to p 1 and insert customer j in the periods represented by the selected nodes. Transship goods to j up to Cj if the trade-off (transshipping cost inventory cost) is positive. Combine transshipments to j to an early period if this yields savings. Replace deliveries from the last two periods by transshipments. Repeat steps 9 to 13 for customer i. if zs0 o zs then ss0 ; end if end for end for end while return s.

2: 3: 4: 5: 6: 7: 8: 9: 10:

11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:

4.3. Parameter settings and pseudocode We now describe our ALNS pseudocode and the parameters that govern the algorithm. We have tested different combinations for the parameters during a tuning phase, mostly through an ad hoc trial and error phase in the development of the heuristic. The starting temperature tstart is set to 30,000 and the cooling rate f is 0.9994, which yields roughly 25,000 iterations, our desired number of repetitions. The stopping criterion is satised when the temperature reaches 0.01, when 25,000 iterations have been performed, or when 3600 s have elapsed. Adjusting the cooling mechanism based on the number of iterations alone may not work for large instances which require more computing time per iteration. In such cases, the temperature may be too high when the time limit is reached. This is why we decrease it not only on the basis of the iteration count, but also on the basis of the elapsed computation time. In our implementation, the segment length j was set to 200 iterations and the reaction factor Z was set to 0.7, that is, new weights will be composed by 70% of the performance on the last segment and 30% by the last weight value. Scores are updated with s1 10, s2 5 and s3 2. At the end of each segment we also perform the periodic postoptimization described in item 4 at the beginning of Section 4.

L.C. Coelho et al. / Computers & Operations Research 39 (2012) 25372548

2543

Algorithm 2 shows the pseudocode for our ALNS. Algorithm 2. ALNS heuristic. 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: Initialize: set all weights equal to 1 and all scores equal to 0. sbest sinitial solution. ttstart . while t 4 0:01 and time o 3600 and iterations o 25; 000 do s0 s. Select an operator using the roulette-wheel mechanism based on the current weights. Apply the operator to s0 and update the number of times it is used. if zs0 o zs then ss0 ; if zs o zsbest then sbest s; update the score for the operator used with s1 ; else update the score for the operator used with s2 ; end if else if s0 is accepted by the simulated annealing criterion then ss0 ; update the score for the heuristic used with s3 . end if end if if the iteration count is a multiple of j then update the weights of all operators and reset their scores. perform an intra-route 2-opt to improve the sequence of customers. end if if time 4 1; 200 and iterations o 25; 000=3 then

transshipment variables are zero, the problem reduces to an IRPML which yields an upper bound on the IRPT-ML optimum. This variant entails no changes in the network depicted in Fig. 1. 4.6. ALNS applied to the IRP-OU We have applied our algorithm to the IRP-OU without any structural change. To avoid passing an infeasible problem to the network ow algorithm (for instance when vehicle capacity would be exceeded or when a stockout would occur at a customer due to it not being served as often as required), we have kept all transshipment arcs from the supplier and from every customer to every other customer, with large articial costs; this means that feasible solutions can always be reached, but at very high cost if transshipments are used. These costs act as penalties in the objective function when the vehicle capacity is exceeded or when the master level heuristic does not add all customers to the current solution. The remaining problem is then similar to the IRPT-OU: decisions regarding routings are xed by the ALNS algorithm and modeled as a network ow problem with one vertex representing the vehicle for each period, and arcs leaving the vehicle vertex and arriving at each selected customer. The vehicle vertex receives an arc from the supplier with up to Q units of ow. The OU policy is modeled on the network of Fig. 1 by xing the ow on the horizontal arcs connecting customers in successive time periods: once customer i is visited in period t, the arc linking to it in the next period has a ow equal to t C i di . In order to prevent transshipments, but still allow feasible solutions to be reached irrespective of the routing decisions, all transshipment arcs are assigned a high unit cost. 4.7. ALNS applied to the IRP-ML Modeling the IRP-ML as a network ow problem is similar to the IRP-OU, except that arcs connecting the customers in successive time periods have a minimum ow equal to 0. The vehicle vertex is fed from the supplier with up to Q units and the minimum-cost network ow algorithm decides on how much to deliver to each of the customers selected from the master level heuristic. Dummy arcs are again inserted to penalize unvisited customers and solutions in which the vehicle capacity would be exceeded. It is easy to see that the IRP-OU yields an upper bound on the IRP-ML optimum as we just relaxed one constraint of the former problem. The only modication on the network of Fig. 1 concerns the cost of transshipment arcs as in the previous case.

f0:01=t1=2iterations ;
end if if time 4 2; 700 and iterations o 25; 000=2 then

f0:01=t1=iterations=2 ; 31: end if 32: tft; 33: end while 34: return sbest ;

4.4. ALNS applied to the IRPT-OU In this section we briey describe how our ALNS is implemented for the IRPT-OU. Once the ALNS has xed the routing variables, the remaining problem is modeled as a network ow problem and solved by means of a specialized minimum cost network ow algorithm, as described in Section 3. It is easy to see that if all transshipment variables are set to zero, the problem reduces to IRP-OU which yields an upper bound on the IRPT-OU optimum. In Fig. 1, this corresponds to xing the ow on the horizontal t inventory conservation arcs to meet the OU policy, i.e. It i C i di if customer i is set to be visited by the vehicle. 4.5. ALNS applied to the IRPT-ML This version of the problem is similar to the IRPT-OU except that the arcs connecting customers between successive time periods do not force the ow to respect the OU policy. The network ow algorithm determines the quantities delivered by the vehicle and from all transshipment arcs. Once again, if all 5. Computational results Our algorithm was coded in C using Microsoft Visual Studio 2008. We used the scaling push-relabel algorithm for the minimum-cost ow problem developed by Goldberg [20] to solve the second level problem. All our computations were performed on an Asus F8s Intel T7700 Core2Duo 2.4 GHz and 4 GB RAM laptop PC. To evaluate the performance of our heuristic, we have used the instances of the IRP generated and solved to optimality by Archetti et al. [2] available at the URL http://www-c.eco-unibs.it/ $ bertazzi/abls.zip. These instances are divided into two classes according to their inventory cost, as in [2]. In low cost instances, inventory holding costs are selected randomly in the interval [0.01, 0.05]; in high cost instances, inventory holding costs are selected randomly in the interval [0.1, 0.5]. We report average statistics over ve instances for each combination. The instance data are identical to those of [2], but we now allow transshipments, as described in Section 2. There are no previously reported solutions for the IRPT since we are introducing the problem in this paper. We have compared our

2544

L.C. Coelho et al. / Computers & Operations Research 39 (2012) 25372548

algorithm against a truncated execution of CPLEX with a time limit of 3600 s and 4GB RAM. In Tables 1 and 2 we report both the best upper bound (UB) and lower bound (LB) obtained by CPLEX and our solution values for the IRPT-OU, as well as the gaps with respect to the CPLEX lower bounds. Results for the IRPT-ML are reported in Tables 3 and 4. In all tables, best solution values are shown in boldface. Our algorithm was able to nd better solutions than CPLEX for most of the instances on all sets. Our solutions were on average 8.2% better than those obtained by CPLEX for the IRPT-OU. They were better on all four sets of instances and up to 15.5% better for the set with six time periods and low inventory holding costs. For the IRPT-ML, our solutions were also better on all sets of instances. They
Table 1 Average results for the IRPT-OU p 3 and transshipment cost bij 0:01cij . Instance Truncated CPLEX LB Low inventory cost absn05 absn10 absn15 absn20 absn25 absn30 absn35 absn40 absn45 absn50 Average High inventory cost absn05 absn10 absn15 absn20 absn25 absn30 absn35 absn40 absn45 absn50 Average
a

were on average 12.4% better than those obtained by CPLEX, and up to 21.6% better for the same set. For full results on all instances, the reader is referred to [12]. We have also applied our algorithm to the traditional IRP (without transshipment) by setting the transshipment cost sufciently large (bij cij ) so as to avoid the use of transshipment in the nal solution. We have used the same time limit of 3600 s. In Tables 5 and 6, our results are compared to those of Archetti et al. [3] and of Bertazzi et al. [9] on these IRP-OU instances. Our results are signicantly better than those of Bertazzi et al. [9] but slightly worse than those of Archetti et al. [3]. The instances reported in the BPS [9] column were in fact generated and solved by Archetti et al. [3] using the code of

ALNS UB Gap (%) Time (s) z Gap (%) Time (s)

745.39 1616.08 1851.02 2274.24 2421.25 2812.98 2772.64 2828.15 3090.45 3376.61

745.39 1616.11 1851.13 2339.63 2710.08 3123.22 4316.84 4531.14 4540.60 6491.95

0.00 0.00 0.01 2.84 12.11 11.19 55.18 59.78 47.39 95.53 28.40

0.06 2.29 19.58 557.58a 1887.00a 2037.20a 1339.51a 1760.32a 1511.04a 1610.72a 1072.52 0.07 2.40 20.64 684.51a 2100.71a 1362.58a 1622.33a 1427.80a 1427.33a 2009.60a 1065.79

745.39 1617.51 1864.70 2442.44 2724.67 3341.49 3522.66 3795.60 4078.89 4581.07

0.00 0.10 0.78 7.15 12.59 18.86 26.89 34.40 32.25 36.49 16.50

6.56 29.55 82.24 183.28 389.10 635.79 895.11 1577.21 2350.23 2898.06 904.71 8.06 30.12 74.63 151.21 350.23 521.52 930.08 1577.64 2244.01 3375.50 926.30

1664.38 4043.83 5069.04 6818.37 8422.54 10332.37 10695.61 11588.44 13069.51 14418.41

1664.38 4043.94 5069.51 6877.20 8611.29 10765.01 11608.97 13117.59 16468.68 17326.09

0.00 0.01 0.01 0.80 2.20 3.99 8.49 13.40 26.11 20.55 7.55

1664.38 4043.94 5116.21 6927.36 8754.03 10867.17 11367.04 12563.16 13921.34 15560.06

0.00 0.01 0.99 1.56 3.82 4.84 6.31 8.59 6.59 7.99 4.07

Premature termination of CPLEX because of lack of memory.

Table 2 Average results for the IRPT-OU p 6 and transshipment cost bij 0:01cij . Instance Truncated CPLEX LB Low inventory cost absn05 absn10 absn15 absn20 absn25 absn30 Average High inventory cost absn05 4759.29 absn10 7495.05 absn15 10 037.35 absn20 12 332.22 absn25 14 262.97 absn30 18 169.95 Average
a

ALNS UB Gap (%) Time (s) z Gap (%) Time (s)

2561.77 3524.75 3880.76 4396.94 4641.33 5562.96

2561.84 4054.39 5042.41 7418.80 10 566.48 13 917.82

0.00 16.17 30.83 68.77 129.28 150.80 65.97

1.35 2221.58a 1029.67a 1382.76a 1834.25a 1590.49a 1343.35 2.21 1477.52a 1109.10a 1207.34a 1540.39a 1951.69a 1214.70

2561.84 4095.55 4881.79 6276.32 6806.59 7981.14

0.00 17.36 26.47 42.41 47.32 43.54 29.51

16.23 70.29 208.08 491.31 805.16 1650.37 540.24 14.98 65.29 156.07 442.43 906.47 1718.08 550.55

4759.54 8077.14 11 225.20 16 778.25 20 807.23 26 411.34

0.01 8.38 12.25 36.07 45.72 45.65 24.68

4760.94 8038.53 11 027.72 14 278.32 16 867.70 20 492.18

0.03 7.77 10.24 15.69 18.33 12.70 10.79

Premature termination of CPLEX because of lack of memory.

L.C. Coelho et al. / Computers & Operations Research 39 (2012) 25372548

2545

Table 3 Average results for the IRPT-ML p 3 and transshipment cost bij 0:01cij . Instance Truncated CPLEX LB Low inventory cost absn05 absn10 absn15 absn20 absn25 absn30 absn35 absn40 absn45 absn50 Average High inventory cost absn05 1660.26 absn10 3998.80 absn15 5054.12 absn20 6752.82 absn25 8342.03 absn30 10 319.56 absn35 10 689.39 absn40 11 573.32 absn45 12 979.04 absn50 14 406.63 Average
a

ALNS UB Gap (%) Time (s) z Gap (%) Time (s)

741.76 1577.23 1839.88 2232.38 2367.55 2735.52 2742.38 2799.85 3034.49 3396.46

741.76 1577.30 1840.06 2278.04 2657.38 3116.05 4034.69 4480.11 5110.99 9172.72

0.00 0.00 0.01 1.96 12.38 13.82 45.94 59.81 69.37 176.64 37.99

0.29 2.64 58.46 1143.92a 1920.44a 2006.29a 1200.07a 1992.43a 1613.87a 2301.51a 1223.99 0.72 3.17 35.86 1134.22a 1496.09a 1586.59a 1191.40a 1643.60a 2143.09a 2461.43a 1169.61

744.88 1586.91 1849.83 2290.55 2579.18 2985.99 3448.17 3361.80 3697.61 4071.09

0.21 0.59 0.56 2.54 9.11 9.02 25.72 20.24 22.24 20.29 11.05

5.28 14.52 30.64 56.74 92.04 165.20 248.74 348.93 461.71 760.30 218.41 5.98 15.36 33.76 57.73 91.26 159.13 282.47 360.83 627.96 939.87 257.43

1660.26 3999.02 5054.58 6822.95 8714.21 10 716.07 11 511.05 14 329.19 15 822.42 18 144.64

0.00 0.01 0.01 1.00 4.36 3.65 7.90 23.14 21.74 26.30 8.81

1660.26 4011.81 5061.92 6869.26 8562.59 10 557.63 11 309.46 12 165.28 13 699.96 15 004.18

0.00 0.30 0.17 1.73 2.60 2.18 5.93 5.14 5.67 4.18 2.79

Premature termination of CPLEX because of lack of memory.

Table 4 Average results for the IRPT-ML p 6 and transshipment cost bij 0:01cij . Instance Truncated CPLEX LB Low inventory cost absn05 absn10 absn15 absn20 absn25 absn30 Average High inventory cost absn05 4741.97 absn10 7429.95 absn15 9933.52 absn20 12 321.40 absn25 14 333.90 absn30 18 182.52 Average
a

ALNS UB Gap (%) Time (s) z Gap (%) Time (s)

2554.37 3443.84 3619.79 4385.61 4679.71 5547.73

2554.45 4056.39 5114.79 9880.24 13 786.58 14 296.67

0.00 19.01 45.04 124.22 192.77 157.60 89.77

2.62 1660.45a 976.65a 1367.07a 1769.39a 2336.32a 1352.08 2.23 2035.50a 813.05a 1166.17a 1937.04a 2064.83a 1336.13

2558.37 4095.10 4834.73 6020.83 6808.40 7466.89

0.21 20.02 36.99 36.99 46.81 34.50 29.25

10.90 36.70 80.68 174.24 295.30 671.24 211.51 13.28 37.91 88.45 179.70 329.51 787.47 239.38

4742.19 8015.35 11 262.90 17 437.75 21 962.55 29 215.44

0.01 8.58 14.01 40.87 52.43 61.03 29.48

4748.31 7961.72 10 949.14 14 152.04 16 320.18 20 235.50

0.13 7.75 10.50 14.76 14.05 11.13 9.72

Premature termination of CPLEX because of lack of memory.

Bertazzi et al. [9]. The CPU times for the solution of these instances are not provided but are reported to be very small (a few seconds for n r 100 and less than three minutes for n r 200). We have also tested our algorithm with the IRP-ML and the gaps to the optimal solutions were slightly larger than those observed in the IRP-OU. The machines used in [3] and in our experiments are different; according to SPEC [45] our computer is approximately 30% faster than the one used by [3]. We have evaluated the impact of the transshipment cost on the solution and its cost. To this end, we have gradually increased the transshipment cost, and we have solved a subset of instances under the IRPT-OU and IRPT-ML policies. The results of these

experiments are reported in Tables 7 and 8. It can be seen that solution values become much closer to those of the traditional IRP when the transshipment cost increases from bij 0:01cij to 0:05cij , and several instances make no use of transshipment when bij is set equal to 0:10cij . Transshipments start to be economically interesting when the cost of outsourcing the delivery of ten units does not exceed the cost of transporting one unit with the suppliers vehicle, all other costs being identical. It should be noted, however, that this conclusion may not extend to real-life instances which are often different from articial ones. Moreover, we have performed tests to assess the impact of individual operators in our ALNS heuristic. We have examined the

2546

L.C. Coelho et al. / Computers & Operations Research 39 (2012) 25372548

Table 5 Average results for the IRP-OU p 3. Instance ABLS [2] zn Low inventory cost absn05 1418.75 absn10 2228.66 absn15 2493.47 absn20 3053.01 absn25 3451.14 absn30 3643.21 absn35 3846.86 absn40 4125.70 absn45 4270.61 absn50 4810.86 Average High inventory absn05 absn10 absn15 absn20 absn25 absn30 absn35 absn40 absn45 absn50 Average cost 2354.17 4690.46 5736.90 7619.91 9460.74 11 320.63 11 828.80 13 011.45 14 317.82 15 948.78 2393.09 4774.67 5858.66 7870.47 9554.62 11 460.87 12 096.13 13 315.08 14 669.39 16 198.76 BPS [9] z Gap (%) ABHS [3] z Gap (%) time1 (s) ALNS z Gap (%) Time2 (s)

1465.75 2245.61 2555.21 3176.91 3552.08 3774.20 4022.04 4394.94 4594.91 5090.68

2.88 0.78 2.56 3.83 2.99 3.60 4.46 6.46 7.60 5.81 4.09 1.31 1.74 2.18 3.30 1.06 1.21 2.25 2.26 2.49 1.57 1.93

1418.75 2228.72 2493.47 3053.55 3451.14 3643.99 3848.46 4128.50 4276.89 4831.97

0.00 0.00 0.00 0.02 0.00 0.02 0.04 0.07 0.14 0.44 0.07

3.00 12.80 41.40 104.20 258.80 515.00 808.80 1168.60 1460.00 2280.60 665.32 4.60 13.20 46.60 104.20 222.00 431.60 833.40 1293.60 1534.40 2830.20 731.38

1418.75 2228.66 2493.47 3055.58 3451.86 3645.70 3850.83 4140.16 4283.33 4841.26

0.00 0.00 0.00 0.09 0.02 0.07 0.10 0.35 0.30 0.64 0.15

10.71 35.28 99.32 239.76 572.28 1072.47 1439.28 2755.72 3417.87 2675.47 1231.81 9.45 34.62 97.09 224.24 446.47 890.16 1600.56 2767.76 3010.08 2987.26 1206.76

2354.17 4691.02 5738.11 7620.59 9460.74 11 342.08 11 842.24 13 011.45 14 322.96 15 975.00

0.00 0.01 0.02 0.01 0.00 0.17 0.09 0.00 0.04 0.17 0.05

2354.17 4691.02 5740.66 7626.94 9476.04 11 354.66 11 848.90 13 043.95 14 392.04 16 077.86

0.00 0.01 0.07 0.09 0.17 0.28 0.19 0.26 0.52 0.81 0.24

Time1: run on an Intel Dual Core 1.86 GHz and 3.2 GB RAM. Time2: run on an Intel Core2Duo 2.4 GHz and 4 GB RAM.

Table 6 Average results for the IRP-OU p 6. Instance ABLS [2] zn Low inventory cost absn05 3299.97 absn10 4832.87 absn15 5566.37 absn20 6833.27 absn25 7454.14 absn30 7847.37 Average High inventory absn05 absn10 absn15 absn20 absn25 absn30 Average cost 5538.01 8872.41 11 721.83 14 863.85 17 170.80 20 657.29 5555.91 9036.86 11 852.95 15 179.46 17 534.01 21 180.91 BPS [9] z Gap (%) ABHS [3] z Gap (%) Time1 (s) ALNS z Gap (%) Time2 (s)

3348.43 4899.85 5803.08 7035.02 7913.47 8214.21

1.64 1.36 4.27 2.95 6.19 4.64 3.50 0.34 1.87 1.20 2.09 2.12 2.55 1.69

3299.97 4832.87 5566.37 6838.41 7471.41 7892.28

0.00 0.00 0.00 0.08 0.23 0.56 0.14

17.80 76.80 337.40 837.80 1720.00 3321.00 1051.80 19.80 90.40 289.00 746.60 1781.40 3164.60 1015.30

3299.97 4832.87 5582.80 6857.90 7487.80 7888.56

0.00 0.00 0.28 0.39 0.45 0.53 0.27

20.92 95.88 337.70 797.63 1610.54 3031.66 982.38 22.82 106.84 370.67 1021.13 2221.46 3399.49 857.06

5538.01 8872.41 11 721.83 14 882.83 17 191.87 20 705.65

0.00 0.00 0.00 0.13 0.12 0.25 0.08

5538.91 8872.41 11 738.50 14 883.49 17 223.47 20 752.32

0.02 0.00 0.14 0.13 0.31 0.48 0.18

Time1: run on an Intel Dual Core 1.86 GHz and 3.2 GB RAM. Time2: run on an Intel Core2Duo 2.4 GHz and 4 GB RAM.

Table 7 Average increase of the solution cost when the transshipment cost increases from bij 0:01cij to 0:05cij for the IRPT-OU. Set of instances Avg gap (%) to the IRP-OU when bij 0:01cij 20.38 11.89 10.25 6.06 Avg gap (%) to the IRP-OU when bij 0:05cij 2.31 1.39 0.19 0.00

Table 8 Average increase of the solution cost when the transshipment cost increases from bij 0:01cij to 0:05cij for the IRPT-ML. Set of instances Avg gap (%) to the IRP-ML when bij 0:01cij 18.21 9.63 10.75 4.96 Avg gap (%) to the IRP-ML when bij 0:05cij 0.06 0.21 0.09 0.21

p 3, p 3, p 6, p 6,

low inventory cost high inventory cost low inventory cost high inventory cost

p 3, p 3, p 6, p 6,

low cost high cost low cost high cost

L.C. Coelho et al. / Computers & Operations Research 39 (2012) 25372548

2547

Table 9 Average increase (%) of the solution cost when individual operators are removed from the ALNS algorithm IRPT-ML. Operator removed Average increase (%) 1 0.47 2 1.63 3 0.52 4 1.38 5 0.26 6 0.39 7 0.94 8 0.16 9 2.46 10 0.35 11 0.09

Table 10 Average increase of the solution cost (%) when only a subset of operators are used. Strategy Average % increase Randomness only 0.21 Best/worst only 24.58 Mixed only 1.42

impact of removing individual operators for a subset of 32 instances, including small, medium and large ones, with three and six time periods. Specically, we have selected the rst instance of each size: n 5, 10, 15, 20, 25, 30, 35, 40, 45, 50 for p 3, and n 5, 10, 15, 20, 25, 30 for p 6, both for low and high inventory costs. The results of the experiments for the IRPT-ML are summarized in Table 9. Removing some operators can have a major impact both on solution quality and on running time. Specically, operators that require solving a network ow problem frequently are time consuming. Removing them reduces the CPU time signicantly at the expense of a slight decrease in solution quality. Also, operators that increase the diversication of the solution (using randomness) are very fast. They do not impact the CPU time, and may even deteriorate solution quality on some instances. In our preliminary tests we have performed such analyses in order to ne tune some operators and change those that were too time consuming or that did not have a positive impact on the solution. From this analysis, it seems that operator 9 is the most critical and operator 11 is the least critical. We have also proled the code of our algorithm using GNU gprof to identify how the computing time was distributed in the algorithm. To this end, we have solved the subset of instances applied in Tables 79 and found that nearly 50% of the time is spent instantiating and solving network ow problems. Even though this percentage is high, solving network ow problems is still much faster than the alternative, i.e. solving integer linear programs using a general purpose solver. Some functions that are executed at every iteration, sometimes several times, are also time consuming. These include copying solutions (to keep the selected ones and to restore the previous ones over the unaccepted ones), and calculating the cost of a solution. Each of these two functions consumes approximately 10% of the total computing time. The time used by each ALNS operator is roughly the same. This is due to the fact that most of the operators are simple, to the adaptive mechanism inherent to the method, and to the normalization used to the most complex operators, as described in Section 4. In general, each ALNS operator uses 13% of the CPU time over the selected instances. Finally, we also wanted to identify how well some operators would perform if taken in isolation. To this end, we have executed the code with only the few operators we wanted to assess. We offer in Table 10 a summary with three different analyses: randomness only, best (worst) insertion (removal) only, and mixed operators only (those that apply removals and insertions simultaneously). These tests were performed on the IRPT-OU on a subset of instances including small, medium and large ones.

problem is very difcult to solve exactly and the lower bounds provided by CPLEX are rather weak. To generate good solutions, we have developed a powerful ALNS heuristic capable of solving four variants of the problem: IRP-OU, IRPT-OU, IRP-ML and IRPTML. Comparative tests on a large set of articial instances have shown that our heuristic can produce high quality solutions within reasonable computing times. We have also shown that the use of transshipment can reduce solution cost signicantly on these instances, depending on the ratio between the unit transshipment cost and the cost of using the suppliers vehicle.

Acknowledgements This work was partly supported by the Canadian Natural Sciences and Engineering Research Council under grants 227837-09 and 39682-10. This support is gratefully acknowledged. The authors thank Glaydston M. Ribeiro for his help with computations at an early stage of this work, as well as Andrew Goldberg and Boris Cherkassky for making their implementation of the scaling pushrelabel minimum-cost ow algorithm available. Thanks are due to the referees for their valuable comments.

References
[1] Andersson H, Hoff A, Christiansen M, Hasle G, Lkketangen A. Industrial aspects and literature survey: combined inventory management and routing. Computers & Operations Research 2010;37(9):151536. [2] Archetti C, Bertazzi L, Laporte G, Speranza MG. A branch-and-cut algorithm for a vendor-managed inventory-routing problem. Transportation Science 2007;41(3):38291. [3] Archetti C, Bertazzi L, Hertz A, Speranza MG. A hybrid heuristic for an inventory routing problem, INFORMS Journal on Computing; 2011, doi: 10.1287/ ijoc.1100.0439. [4] Axsater S. Modelling emergency lateral transshipments in inventory systems. Management Science 1990;36:132938. [5] Bartodziej P, Derigs U, Malcherek D, Vogel U. Models and algorithms for solving combined vehicle and crew scheduling problems with rest constraints: an application to road feeder service planning in air cargo transportation. OR Spectrum 2009;31(2):40529. [6] Bausch DO, Brown GG, Ronen D. Scheduling short-term marine transport of bulk products. Maritime Policy & Management 1998;25(4):33548. [7] Bell WJ, Dalberto LM, Fisher ML, Greeneld AJ, Jaikumar R, Kedia P, et al. Improving the distribution of industrial gases with an on-line computerized routing and scheduling optimizer. Interfaces 1983;13(6):423. [8] Bertazzi L, Speranza MG. Continuous and discrete shipping strategies for the single link problem. Transportation Science 2002;36(3):31425. [9] Bertazzi L, Paletta G, Speranza MG. Deterministic order-up-to level policies in an inventory routing problem. Transportation Science 2002;36(1):11932. [10] Chien TW, Balakrishnan A, Wong RT. An integrated inventory allocation and vehicle routing problem. Transportation Science 1989;23(2):6776. [11] Christiansen M. Decomposition of a combined inventory and time constrained ship routing problem. Transportation Science 1999;33(1):316. [12] Coelho LC, Cordeau J-F, Laporte G. The inventory-routing problem with al, Canada; 2011. transshipment, Technical Report 21, CIRRELT, Montre [13] Cordeau J-F, Laporte G, Savelsbergh MWP, Vigo D. Vehicle routing. In: Barnhart G, Laporte G, editors. Transportation. Amsterdam: North-Holland; 2007. p. 367428. [14] Dada M. A two-echelon inventory system with priority shipments. Management Science 1992;38:114053. [15] Desrochers M, Laporte G. Improvements and extensions to the Miller TuckerZemlin subtour elimination constraints. Operations Research Letters 1991;10(1):2736. [16] Dijkstra EW. A note on two problems in connexion with graphs. Numerische Mathematik 1959;1(1):26971. [17] Dror M, Ball MO. Inventory/routing: reduction from an annual to a shortperiod problem. Naval Research Logistics 1987;34(6):891905.

6. Conclusions We have introduced a new variant of the Inventory-Routing Problem, in which planned transshipments are allowed. This

2548

L.C. Coelho et al. / Computers & Operations Research 39 (2012) 25372548

[18] Gallego G, Simchi-Levi D. On the effectiveness of direct shipping strategy for the one-warehouse multi-retailer r-systems. Management Science 1990;36(2): 2403. [19] Gallego G, Simchi-Levi D. Rejoinder to a note on bounds for direct shipping costs. Management Science 1994;40(10):1393. [20] Goldberg AV. An efcient implementation of a scaling minimum-cost ow algorithm. Journal of Algorithms 1997;22(1):129. [21] Hall RW. A note on bounds for direct shipping cost. Management Science 1992;38(8):12124. [22] Hewitt M, Nemhauser GL, Savelsbergh MWP. Combining exact and heuristic approaches for the capacitated xed-charge network ow problem. INFORMS Journal on Computing 2010;22(2):31425. [23] Kara I, Laporte G, Bektas T. A note on the lifted MillerTuckerZemlin subtour elimination constraints for the capacitated vehicle routing problem. European Journal of Operational Research 2004;158(3):7935. [24] Kleywegt AJ, Nori VS, Savelsbergh MWP. The stochastic inventory routing problem with direct deliveries. Transportation Science 2002;36(1):94118. [25] Kleywegt AJ, Nori VS, Savelsbergh MWP. Dynamic programming approximations for a stochastic inventory routing problem. Transportation Science 2004;38(1):4270. [26] Laporte G. Fifty years of vehicle routing. Transportation Science 2009;43(4): 40816. [27] Laporte G, Musmanno R, Vocaturo F. An adaptive large neighbourhood search heuristic for the capacitated arc-routing problem with stochastic demands. Transportation Science 2010;44(1):12535. [28] Lee HL. A multi-echelon inventory model for repairable items with emergency lateral transshipments. Management Science 1987;33:130216. [29] Mercer A, Tao X. Alternative inventory and distribution policies of a food manufacturer. Journal of the Operational Research Society 1996;47(6): 75565. [30] Minkoff AS. A Markov decision model and decomposition heuristic for dynamic vehicle dispatching. Operations Research 1993;41(1):7790. [31] Mishra BK, Raghunathan S. Retailer- vs. vendor-managed inventory and brand competition. Management Science 2004;50(4):44557. [32] Neale JJ, Tomlin BT, Willems SP. The role of inventory in superior supply chain performance. In: Harrison TP, Lee HL, Neale JJ, editors. The practice of supply chain management: where theory and application coverage. Boston: Kluwer; 2003. LM, Jornsten [33] Nonas K. Heuristics in the multi-location inventory system with transshipments. In: Kotzab H, Seuring S, Muller M, Reiner G, editors. Research

[34]

[35]

[36]

[37]

[38] [39]

[40]

[41]

[42]

[43]

[44]

[45] [46] [47]

Methodologies in Supply Chains Management. Heidelberg: Physica-Verlag; 2005. p. 50924. LM, Jornsten Nonas K. Optimal solution in the multi-location inventory system with transshipments. Journal of Mathematical Modelling and Algorithms 2007;6(1):4775. Paterson C, Kiesmller G, Teunter R, Glazebrook K. Inventory models with lateral transshipments: a review. European Journal of Operational Research 2011;210(2):12536. Pepin A-S, Desaulniers G, Hertz A, Huisman D. A comparison of ve heuristics for the multiple depot vehicle scheduling problem. Journal of Scheduling 2009;12(1):1730. Persson JA, Gothe-Lundgren M. Shipment planning at oil reneries using column generation and valid inequalities. European Journal of Operational Research 2005;163(3):63152. Pisinger D, Ropke S. A general heuristic for the vehicle routing problem. Computers and Operations Research 2007;34(8):240335. Qu WW, Bookbinder JH, Iyogun P. An integrated inventory-transportation system with modied periodic policy for multiple products. European Journal of Operational Research 1999;115(2):25469. Ropke S, Pisinger D. An adaptive large neighborhood search heuristic for the pickup and delivery problem with time windows. Transportation Science 2006;40(4):45572. Ropke S, Pisinger D. A unied heuristic for a large class of vehicle routing problems with backhauls. European Journal of Operational Research 2006;171(3):7505. Shaw P. A new local search algorithm providing high quality solutions to vehicle routing problems. Technical report, University of Strathclyde, Glasgow; 1997. Shen Q, Chu F, Chen H. A Lagrangian relaxation approach for a multi-mode inventory routing problem with transshipment in crude oil transportation. Computers and Chemical Engineering 2011;35(10):211323. Sindhuchao S, Romeijn HE, Akc - ali E, Boondiskulchok R. An integrated inventory-routing system for multi-item joint replenishment with limited vehicle capacity. Journal of Global Optimization 2005;32:93118. SPEC. Standard Performance Evaluation Corporation. /http://www.spec.org/S. Accessed August, 2011. Speranza MG, Ukovich W. Minimizing transportation and inventory costs for several products on a single link. Operations Research 1994;42(5):87994. Speranza MG, Ukovich W. An algorithm for optimal shipments with given frequencies. Naval Research Logistics 1996;43(5):65571.

Anda mungkin juga menyukai