Ingeniare. Revista chilena de ingeniería, vol. 24 Nº 2, 2016, pp. 305-313 A column generation-based algorithm for solving combined inventory and routing problems Algoritmo basado en generación de columnas para resolver problemas combinados de ruteo e inventarios Carlos Franco-Franco1 Juan Carlos Figueroa-García2 Recibido 8 de enero de 2014, aceptado 29 de octubre de 2015 Received: January 8, 2014 Accepted: October 29, 2015 ABSTRACT This paper presents a column generation algorithm for solving combined vehicle and inventory problems. This problem is based on the idea of coordinating customer inventory levels through a minimum routing cost. This is a combinatory decision problem since vehicle routing and inventory problems, are combined. Using the column generation method, we can iteratively generate interesting routes to the system, based on their dual costs, this is routes that will improve the quality of the objective function because its reduced costs are negatives. The initial mixed integer problem has to be relaxed for getting its reduced costs. The sub problem is defined as the shortest path problem that returns a set of desirable routes. Finally, when the set of desirable routes is obtained, the mixed integer model should select a set of routes that fulfill both minimum shipping costs and the constraints of the system. Keywords: Column generation, pricing, routing problem, inventory, shortest path problem, pulse algorithm. RESUMEN Este trabajo presenta un algoritmo basado en generación de columnas para la solución de problemas combinados de ruteo e inventarios. Este problema trata de coordinar los niveles de inventario del cliente mediante envíos a costo mínimo. Siendo este un problema de decisión combinatorio, ya que combina problemas de ruteo de vehículos (VRP) y problemas de inventario. Utilizando el método de generación de columnas se pueden generar iterativamente rutas interesantes al sistema basadas en los costos duales, esto es rutas que mejoren la calidad de la función objetivo al presentar costos reducidos negativos. Para esto el problema entero mixto original se relaja para obtener los costos reducidos y se establece un subproblema encargado de generar las rutas. El subproblema se modela como un problema de ruta más corta. Finalmente cuando se tiene un conjunto de rutas atractivas para el modelo, el problema entero mixto es el encargado de seleccionar aquellas rutas que minimicen costos y satisfagan las restricciones establecidas. Palabras clave: Generación de columnas, costeo ruteo de vehículos, inventarios, ruta más corta, algoritmo pulse. 1 Universidad Distrital Francisco José de Caldas. Cra 7ª # 40-53, Piso 5°. Bogotá, Colombia. E-mail: cafra87@gmail.com 2 Facultad de Ingeniería. Universidad Distrital Francisco José de Caldas. Cra 7ª # 40-53, Piso 5°. Bogotá, Colombia. E-mail: jcfigueroag@udistrital.edu.co Ingeniare. Revista chilena de ingeniería, vol. 24 Nº 2, 2016 INTRODUCTION AND MOTIVATION the minimum between the maximum quantity that can be delivered without exceeding the maximum Nowadays many companies has to deal with the capacity of the customer, the residual capacity of problem of coordinate inventory policies and the vehicle and the quantity available at the supplier. transportation management. Due to this problem a variety of strategies are used for minimizing The difference between these two policies are that the logistics costs. One of these strategies is the in the order up to level policy when a customer Vendor Managed Inventory System (VMI) where is visited the inventory level reaches exactly its the suppliers decide the quantity that will be sent maximum level, meanwhile in the maximum level to the customers, the period of time that will be policy when a customer is visited the quantity made the delivery and how will be distributed the delivered cannot exceed the maximum inventory product. When these decisions are made by retailers level. In other words the maximum level policy the logistics cost are reduced and the customer can is more flexible than order up to level policy. In reduce the ordering cost. case these policies are not used, it means that the quantity shipped to the customers is not restricted The VMI can be model as an Inventory Routing by any constraint. In other words the total amount Problem (IRP), which is an attractive problem due of quantity is sent to the customers can take any to its complexity and for the applicability that it value that do not exceed the capacity of the vehicle has. In fact, this problem is NP-Hard because it is and do not exceed the maximum level of inventory an extension of the vehicle routing problem (VRP) of the customer. and involves inventory decisions. This problem is not only attractive for its The Inventory Routing Problem (IRP) was introduced computational complexity but also for its industrial by Federguen & Zipkin [1]. This problem can be applicability. This model can be used in wholesales, seen as an extension of the classical Vehicle Routing where they have to decide the distribution of Problem (VRP). The problem consists in designing products to its stores. Another application is the a set of vehicle routes of minimal cost, starting and distribution of drugs between centers of attention, returning to the depot, while satisfying capacity we can also see this problem in distribution of constraints and customer requirements. Both types blood between hospitals (Hemmelmayr, Doerner of decisions concerning inventory and routing are & Hartl [3]) or animals between farms (Aghezzaf, taken simultaneously. Raa & Landeghem [4]) or applications in the maritime transportation (Henrik [5]) or perishable The problem shifts responsibilities for customers products [13] or bulk gas distribution [14]. A huge and suppliers (Savelsbergh & Song [2]). Customers number of distribution problems can be modeled transfer the inventory control to the supplier. The as an Inventory Routing Problem. suppliers monitor the inventory level and decide when to deliver, how much to deliver and how There are several algorithms proposed to solve the to deliver. This change has advantages like less problem like Savelsbergh & Song [2] who proposed resources required for inventory management for an integer programming based optimization the customers, and the freedom for the supplier algorithm with local search procedures in order to to decide the routes, when, how and how much improve solutions. Zhao, Wang & Lai [6] develop to deliver. It is common to use a so-called order a tabu search in order to find the optimal regional up to level policy or maximum level policy in the partition wich indicates the customer that must inventory routing problem. be visited. A hybrid genetic algorithm for a multi product IRP was developed by Moin, Salhi & Aziz According to order up to level policy introduce by [7], Aghezzaf, Raa & Landeghem [4] proposed a Bertazzi, Paletta and Speranza [17], every time a nonlinear mixed integer formulation and solve customer is visited, the quantity delivered by the the problem using a column generation method supplier is such that the maximum level of the where the subproblems are solved using saving inventory is reached at the customer. In the maximum based approximation method. Coelho, Cordeau level policy the quantity delivered to a customer is & Laporte [8] proposed a matheuristic with and 306 Franco-Franco and Figueroa-García: A column generation-based algorithm for solving combined inventory… adaptative large neighborhood search for solving The mathematical model can described as follows: the problem. Solyali and Sural [15] developed a branch and cut algorithm for solving the problem min∑∑ hiIit +∑∑∑crxrkt (1) using a tour based heuristic and Coelho, Cordeau and i∈N t∈T ' r∈R k∈K t∈T Laporte [16] developed and cutting plane algorithm s.t. for obtain the exact solutions of several instances. ∑ xrkt ≤ 1 ∀ k ∈K , t∈T (2) Also real applications were developed by Oppen, r∈R Lokketangen & Desrosiers [9] who model the problem of livestock collection as an IRP, where for ∑∑ airxrkt ≤ 1 ∀ i∈N ', t∈T (3) r∈R k∈K solving the problem a column generation approach was proposed, also Hemmelmayr, Doerner & Hartl qikt ≤Q∑ airxrkt ∀ k ∈K , i∈N ', t∈T (4) [3] model the problem of blood distribution as an r∈R IRP with uncertainty of the demads. ∑ qikt ≤Q ∀ k ∈K , t∈T (5) i∈N ' THE INVENTORY-ROUTING PROBLEM I0t = I0,t−1 + rt−1 − ∑ ∑ qik ,t−1 ∀ t∈T '\{1} (6) Mathematical formulation i∈N k∈K The Inventory-Routing problem can be defined as a I = B (7) mixed integer decision problem in the sense that the 01 supplier needs to define inventory levels alongside I = I + q − d ∀ i∈N ', t∈T '\{1} with routing decisions. it i,t−1 ∑ ik ,t−1 i,t−1 (8) k∈K The problem can be represented by a graph Ii1 = Si ∀ i∈N ' (9) consisting of a set of nodes N = {0,…n}, where the node 0 is the depot, and the subset N’ = N \ Iit ≥ Li ∀ i∈N ', t∈T ' (10) {0} represents the customers. At each discrete time over a finite horizon t ∈ T = {1,…,τ} a quantity r I ≤U ∀ i∈N ', t∈T 't it i (11) will become available at the depot and a quantity dit is consumed by customer i ∈ N’ at each time Iit ≥ 0 ∀ i∈N ', t∈T ' (12) t ∈ T = {1,…,τ}. The inventory holding costs are hi units for each node i ∈ N per time period. The qikt ≥ 0 ∀ i∈N , k ∈K , t∈T (13) inventory level at node i ∈ N at the beginning of time t ∈ T’ = T ∪ {T + 1} is represented by I(i,t). xrkt ∈{0,1} ∀ k ∈K , r ∈R, t∈T (14) There is an initial inventory level at the depot of B and the customers i ∈ N’ have also an initial The objective function (1) comprises the inventory inventory defined by Si. For each customer i ∈ and transportation cost, the objective is to minimize N’ there is a maximum and minimum level of the total cost. Constraints (2) guarantee that each inventory denoted by Ui and Li respectively. The vehicle k can be used at most once for each time set K={1,…,k} defines available vehicles at the t. Constraint (3) shows that every customer can be depot, each one of them has a capacity Q. The visited at most once for each period. Constraints (4) mathematical formulation is based on column represents that the maximum quantity shipped to generation where the set R contains all the possible each customer could be de capacity of each vehicle routes, and each route r ∈ R = {1,…p}, is associated if the customer is on the route otherwise the quantity to a cost Cr. There is a binary parameter air that is is cero and constraints (5) guarantee that the quantity 1 if and only if a customer i ∈ N’ is on the route shipped for each route cannot exceed the capacity r ∈ R, and 0 otherwise. The binary variable xrkt of the vehicle. Constraint (6) ensures the inventory is equal to 1 if the route r ∈ R is used by vehicle balance equation at the depot while constraint (7) k ∈ K at time r ∈ T, and 0 otherwise. Besides we assures the initial inventory level; similarly, constraint introduce a variable that models the quantity of (8) represents the inventory balance equation at each product sent to customer i ∈ N’ using the vehicle customer where stock outs are not allowed, and k ∈ K at time t ∈ T, as qikt. constraint (9) guarantees the initial inventory level 307 Ingeniare. Revista chilena de ingeniería, vol. 24 Nº 2, 2016 per customer. Constraints (10) and (11) enforce the can be defined by a graph consisting of a set of inventory level to stay between lower bound (10) and nodes M = {0, …, N + 1}, where the node 0 and upper bound (11). Finally, constraints (12), (13) and N + 1 correspond to the depot, and the subset (14) define the type of variables. M’ = M \ {0, N + 1} represents the customers. For every node i ∈ M the parameter bi represents THE PROPOSED APPROACH the transition demand, where b0 = 1 is the demand of the depot, bi = 0, i ∈ M’ representing the The proposed approach for solving this kind of customers demand, and bN+1 = 1 representing the problems is based on a merge-and-conquer strategy, depot. There is a cost Cij associated with every commonly used in ordering algorithms. In our case, arc (i, j) ∈ M. The binary variable wij is equal to we divide the problem into two steps: one if the arc (i, j) ∈ M is on the route and the binary variable yi is equal to one if the customer 1. A strategy for finding feasible routes. i ∈ M’ is visited. The variable ui is used for 2. An optimization routine for finding the optimal subtour elimination and models the order in which routes and the optimal deliveries quantities. a customer i ∈ M’ is visited. Therefore, the main idea is to find a subset of min   ∑ ∑ cijwij −Θ− the possible routes using the dual information by i  ∈ M j  ∈ M (15) finding an optimal solution of each subproblem π y +Q ϕ y (feasible route). The subproblem is then formulated ∑ i i ∑ i ii  ∈ M' i  ∈ M' as a shortest path problem (SPP) where each node represents a customer, and the depot is represented w − w = b           ∀ i  by the initial and the final node. ∑ ij ∑ ji ij  ∈ N   j  ∈ N   (16) ∈M  Finally, the solution is provided by the best routes of the subproblems after solving all of them as SPPs. ∑ wji = yi            ∀ i  ∈ M' (17) j  ∈ N We use the dual information for solve the subproblem by using a LP relaxation of (1) to (14). To do so, ui ≥ 2           ∀ i∈M  (18) the PULSE algorithm (see next Section) allows us to solve the subproblem by generating more ui ≤   |M |           ∀ i∈M  (19) than one route per iteration. Once we complete a subset of feasible routes, the mixed integer problem ui − uj + 1 ≤   (|M |)*(1−wij)    ∀ i∈M (20) is solved given an inventory policy (in this case, inventory levels). wij ,  y i   ∈{0,1}             ∀i, j  ∈ M (21) Subproblem formulation ui ≥ 0                   ∀i∈M (22) We will introduce the following notation obtained for the master problem; it is defined for a specific The objective function (15) comprises the routing cost vehicle and day as follows: and the dual information, the objective is to minimize the reduced costs. Constraints (16) represent the flow • θ is the dual variable associated with the maximum conservation constraints. Constraints (17) guarantee uses of a vehicle, Constraints (2). that if a customer i is visited then the variable yi • pi are the dual variables associated with the takes the value of one, and zero if the customer is maximum visit of a customer, Constraints (3). not visited. Constraints (18), (19) and (20) are the • ϕi are the dual variables associated with the Subtour elimination constraints. Finally Constraints quantity shipped, Constraints (4). (21) and (22) restrict the type of variables. The goal of the subproblem is to find routes with The dual information is obtained from solving negative reduce cost that can be added to the master the relaxed version of the master problem. With problem. We model it as a network to solve it. It this information we solve the subproblem. The 308 Franco-Franco and Figueroa-García: A column generation-based algorithm for solving combined inventory… subproblem then obtains routes that are added to EXPERIMENTS AND RESULTS the master problem. The proposed algorithm is tested using the instances The PULSE algorithm proposed by Archetti, Bertazzi, Laporte & Speranza The PULSE algorithm (Lozano & Medaglia, [10]), is [11], where we only consider one vehicle available at an exact method for solving the constrained shortest the depot. These instances are also used by Coelho, path problem. The algorithm consists in send pulses Cordeau, & Laporte [8] and Archetti, Bertazzi, through the network and use pruning strategies Hertz & Speranza [12] who used metaheuristics to avoid that the pulses continues propagating for solving the problem, whose optimal solutions through the network. If the pulse reached the end were computed in order to compare their results. of the network it contains all the information for Instances with a time horizon of 3 are denoted by a feasible path. H3 and instances with time horizon of 6 are referred to as H6. The amount of customers varies between The pulse algorithm uses 4 types of pruning strategies: 5 and 50, represented by N = 5k where k varies by cycles, by dominance, by infeasibility and by between 1 and 10 if the time horizon is 3, and k boundaries. varies between 1 and 6 if the time horizon is 6. The demand dit for each customer i ∈ N’ at each period In the pruning by cycles, the algorithm uses a binary t ∈ T is generated randomly, but it is assumed to be vector that keep the nodes already visited in the constant over the whole time horizon. Hence we will partial path, with this vector the pulses cannot go also refer to the customers demand per time period back to a node previously visited. as di. There is a quantity rt becoming available at the depot at each time t ∈ T, represented by ∑ d . i∈N it The second strategy used is pruning by dominance. There is a maximum inventory level for each When a pulse is propagating through the network customer i ∈ N’ represented by Ui, it is given by it stores all the information about the resource d g where g is selected randomly from {2, 3}. The consumption and the accumulative costs. When a i i i new pulse is propagating it is compared with another initial inventory level at the depot is ∑ Ui∈N i and path that has already propagated. If the new pulse the initial inventory level for each customer i ∈ N’ is dominated by another path it is pruned and it is set as Ui - di. The instances are divided into two cannot continue propagating. classes depending of their inventory holding cost: high cost and low cost. The inventory holding cost A third method to prune is by infeasibility. When a at the depot is h0 = 0.03 when the inventory holding pulse is propagating it is calculated the minimum costs at the customers are low and h0 = 0.3 when the resource consumption from the actual node to the inventory holding costs at the customers are high. final node, in order to calculate the minimum resource The capacity for vehicles is given by 3 d . to reach the end of the network. If the sum of the 2∑ i∈N i partial consumption and the minimum resource Finally the transportation cost cij ∀ (i, j) ∈ N is an consumption to the final node exceed the resource Euclidean distance. availability, then the pulse is pruned. The methodology of the study Finally, pruning by boundaries uses two strategies, The study is performed through some experiments pruning by primal boundary and pruning by primal (different instances of well-known case studies), and dual boundary. In the first case when a pulse using the following key steps: reaches the final node of the network, the best total cost is updated. When a new pulse is exploring the 1. Vary the number of routes generated per iteration network if the cost of the partial path exceed the between [2-12] best known solution it is pruned. In the primal and a. Run column generation dual bound pruning strategy, the minimum cost to b. Run PULSE algorithm the final node is calculated and is pruned the pulse 2. Set an appropriate number of routes provided if the partial cost and the minimum cost to the final in Step 1. node is greater than the best known solution. c. Run SPP 309 Ingeniare. Revista chilena de ingeniería, vol. 24 Nº 2, 2016 3. Aggregate by number of vehicles Bertazzi, Laporte & Speranza [11], Coelho, d. Obtain results for High and Low holding Cordeau, & Laporte [8] and Archetti, Bertazzi, costs (for PULSE and SPP) Hertz & Speranza [12] but relaxing the order 4. Compare PULSE against SPP up to level policy. This allows us to obtain a negative gap in most of experiments which means Firstly, the column generation algorithm is run an improvement of the solutions. Also this kind of alongside with the pulse algorithm, varying the problems without this policy were not published so number of routes generated per iteration. We have far, so our results are the first reported experiments varied the amount of routes considered (between 2 in those conditions. and 12) per instance. After solving these problems, the average results for different classes of instances Note that the relaxation of the order up to policy and results are aggregated for all instances with allows us to find better results, so in practice, the same amount of vehicles. Once an appropriate the use of the order up policy leads to higher number of routes to be generated per iteration are transportation costs. selected, two comparisons are performed: the first one compares the pulse algorithm to the approach Table 1 shows that in overall instances the pulse that solves the subproblem as a shortest path problem algorithm is able to obtain better solutions that exactly which generates only one route. The second using a classical shortest path problem. Table 2 comparison consists in contrasting our algorithm to shows that our proposal is able to obtain the same the results published in the literature that consider a solutions as reported in the literature in most of similar problem that uses an order up to level policy. the instances. The obtained average gap is 0.04% on H3 low cost instances, 0.31% on H6 low cost Once our algorithm is run, the results are summarized instances, 0.39% on H3 high cost instances and separately for instances of high and low inventory 0.24% on H6 high cost instances. Our model is holding cost. able to obtain high quality solutions on instances available in the literature. Our approach is effective RESULTS and stable. Using the pulse algorithm, we obtain better results in Table 3 shows the average results of the algorithm average when generating seven routes per iteration. without order up policy, which obtains better The comparison between the pulse algorithm and the solutions in most of the classes of instances than classic shortest path problem are provide in Table 1. others reported in the literature. If the order up to The computational results are presented in Table 2 level policy is relaxed, we can find better solutions and 3, where only one vehicle is available at the using the PULSE algorithm. depot. Each table provides the average results per class of instances, organized as follows: the first Our proposal obtains better solutions in all column presents the time periods and the type of the instances for H3 and H6. The average cost (where H3 is 3 time periods an H6 is 6 time computational time of the algorithm is 376.11 periods). Second column contains the amount of seconds for H3 low cost instances and 1045.75 customers, and the results of the objective function seconds for H3 high cost instances. For H6 low obtained by the proposed algorithm are presented instances, our algorithm spent 800.72 seconds in the third column where z(P7) indicates the on average and 1249.98 seconds for the H6 high objective function using the pulse algorithm with cost instances. seven routes. Finally, the Gap (as percentage) and the Computational Time (in seconds) are presented We improve solutions on average 3.35% on H3 low in columns four and five respectively, the gap is cost instances and 3.22% on H3 high cost instances. obtained by comparing the best result report in the On H6 low cost instances we improve solutions on literature vs the solution obtained by our algorithm. average 12.23% while on H6 high cost instances we obtain 25.40% on average. These improvements Remark 1. Table 3 compares the results of our can be obtained because we relaxed the order up proposal to the optimum obtained by Archetti, to level policy. 310 Franco-Franco and Figueroa-García: A column generation-based algorithm for solving combined inventory… Table 1. Average results comparing a pure shortest Table 2. Average results with order up to level path problem and the pulse algorithm. policy. n z (sp) z (p) Gap (%) n z (P7) Gap (%) Time (s) 5 1529,24 1416,50 -7,37% 5 1418,76 0,00% 2,43 10 2420,81 2028,77 -16,19% 10 2228,67 0,00% 82,32 15 3016,98 2514,69 -16,65% 15 2493,47 0,00% 97,00 20 3758,64 2870,76 -23,62% 20 3053,02 0,00% 194,78 25 4500,76 3225,37 -28,34% H3 Low cost 25 3451,15 0,00% 238,57 30 5530,13 3546,02 -35,88% H3 Low cost 30 3643,22 0,00% 537,50 35 7026,36 3720,99 -47,04% 35 3846,87 0,00% 541,21 40 8214,37 4001,93 -51,28% 40 4125,70 0,00% 957,51 45 8711,60 4109,88 -52,82% 45 4270,61 0,00% 1323,93 50 11544,84 4808,19 -58,35% 50 4829,33 0,38% 1247,32 Average 5625,37 3224,31 -33,76% 5 3299,98 0,00% 1,42 5 3124,41 2572,30 -17,67% 10 4832,89 0,00% 24,24 10 4649,36 4269,81 -8,16% 15 5566,39 0,00% 1428,48 15 5564,97 4865,86 -12,56% H6 Low cost H6 Low cost 20 6833,29 0,00% 1905,56 20 6878,03 6139,21 -10,74% 25 7592,33 1,85% 875,27 25 8295,41 6957,99 -16,12% 30 7847,39 0,00% 2196,43 30 9071,88 7041,86 -22,38% 5 2354,18 0,00% 0,00 Average 6264,01 5307,84 -14,61% 10 4690,46 0,00% 6,51 n z (sp) z (p) Gap (%) 15 5736,91 0,00% 43,55 5 2320,57 2273,70 -2,02% 20 7619,91 0,00% 1116,66 10 4540,87 4252,73 -6,35% 25 9460,74 0,00% 1566,77 H3 High cost 15 5699,73 5698,46 -0,02% 30 11320,63 0,00% 2053,46 20 7710,88 7493,00 -2,83% 35 12101,32 2,30% 2057,90 25 10647,60 9043,66 -15,06% 40 13011,46 0,00% 2316,68 H3 High cost 30 13749,35 10878,49 -20,88% 45 14317,82 0,00% 2702,39 35 15304,90 11765,54 -23,13% 50 16209,32 1,63% 2592,90 40 18051,35 12850,79 -28,81% 5 5538,02 0,00% 3,31 45 18092,30 13934,34 -22,98% 10 8872,41 0,00% 772,22 50 19502,60 15256,75 -21,77% 15 11721,83 0,00% 1193,38 H6 High cost Average 11562,02 9344,75 -14,38% 20 14863,85 0,00% 2541,00 5 5137,61 4790,30 -6,76% 25 17170,81 0,00% 2941,25 10 8405,39 6672,31 -20,62% 30 20949,32 1,41% 3210,28 15 11154,18 8412,01 -24,58% H6 High cost 20 14301,74 10242,78 -28,38% CONCLUDING REMARKS 25 17894,00 12532,19 -29,96% 30 21784,22 14918,38 -31,52% Our proposal combines column generation with the pulse algorithm, decomposing the mathematical Average 13112,86 9594,66 -23,64% problem into a master problem and a sub-problem. 311 Ingeniare. Revista chilena de ingeniería, vol. 24 Nº 2, 2016 Table 3. Average results without order up to level We have obtained better solutions in most of the policy. instances because we do not use order up to level policy while other algorithms use this policy. We n z (P7) Gap (%) Time(s) also can obtain the optimal solution in most of the 5 1416,50 -0,16% 1,20 instances even considering the order up to level policy. 10 2028,77 -8,97% 2,04 The mathematical model and the presented solution 15 2514,69 0,85% 5,34 approach are generic. This means that other 20 2870,76 -5,97% 159,00 constraints could be added to the master problem, 25 3225,37 -6,54% 178,03 and the proposed algorithm is able to solve the H3 Low cost 30 3546,02 -2,67% 430,00 problem and test its flexibility. 35 3720,99 -3,27% 413,14 Finally, the strategy of divide and merge properly 40 4001,93 -3,00% 638,34 works for solving the problem (for both the relaxed 45 4109,88 -3,76% 894,55 and original problem), since the shortest path 50 4808,19 -0,06% 1039,43 problem is efficient when solving well defined 5 2572,30 -22,05% 0,00 instances which are provided by the combination of the column generation and PULSE algorithms. 10 4269,81 -11,65% 17,56 This allows us to find better results than other 15 4865,86 -12,59% 971,75 H6 Low cost compact algorithms. 20 6139,21 -10,16% 1270,37 25 6957,99 -6,66% 729,39 REFERENCES 30 7041,86 -10,26% 1815,23 [1] A. Federguen and P. Zipkin. “A combined n z (P7) Gap (%) Time(s) vehicle routing and inventory allocation 5 2273,70 -3,42% 0,00 model”. Operations Research. Vol. 32 Nº 5, 10 4252,73 -9,33% 4,43 pp. 1019-1035. 1983. 15 5698,46 -0,67% 31,33 [2] M. Savelsbergh and J.-H. Song. “An optimization algorithm for the inventory 20 7493,00 -1,67% 749,44 routing problem with continous moves”. 25 9043,66 -4,41% 1243,47 H3 High cost Computers & Operations Resarch. Vol. 35, 30 10878,49 -3,91% 1387,47 pp. 2266-2282. 2008. 35 11765,54 -0,53% 1559,01 [3] V.C. Hemmelmayr, K.F. Doerner and R.F. 40 12850,79 -1,23% 1643,04 Hartl. “A variable neighborhood search heuristic for periodic routing problem”. 45 13934,34 -2,68% 1889,78 European Journal of Operational Research. 50 15256,75 -4,34% 1949,55 Vol. 95 Nº 1, pp. 91-802. 2009. 5 4790,30 -13,50% 2,49 [4] E.-H. Aghezzaf, B. Raa and H.V. Landeghem. 10 6672,31 -24,80% 589,48 “Modeling inventory routing problems in 15 8412,01 -28,24% 932,33 supply chains of high consumption products”. H6 High cost 20 10242,78 -31,09% 1789,44 European Journal of Operational Research. Vol. 169, pp. 1048-1063. 2006. 25 12532,19 -27,01% 1987,33 [5] A. Henrik. “Industrial aspects and literature 30 14918,38 -27,78% 2198,82 survey:Combined inventory management and routing”. Computers & Operations Research. Vol. 37, pp. 1515-1536. 2010. The master problem selects routes, the quantity to be [6] Q.-H. Zhao, S.-Y. Wang and K. Lai. “A delivered to the customers and the resulting inventory partition approach to the inventory/routing levels. The sub-problem generates attractive routes problem”. European Journal of Operational to be included into the master problem. Research. Vol. 177, pp. 786-802. 2007. 312 Franco-Franco and Figueroa-García: A column generation-based algorithm for solving combined inventory… [7] N. Moin, S. Salhi and N. Aziz. “An [13] S. Mehmet, M. Jacqueline, Bloemhof- efficient hybrid genetic algorithm for Ruwaard, H. Rene and G.A.J. Jack Van the multi-product multi-period inventory der Vorst. “Modeling an Inventory Routing routing problem”. International Journal in Problem for perishable products with Production Economics. Vol. 133, pp. 334- environmental considerations and demand 343. 2011. uncertainty”. International Journal of [8] L.C. Coelho, J.-F. Cordeau and G. Laporte. Production Economics. Vol. 164, pp. 118- “Consistency in multi-vehicle inventory- 133. 2015. routing”. Transportation Research. Vol. 24 [14] D. Hugues, D. Pierre, N. Nicoleta and Y. (Part C), pp. 270-287. 2012. Thomas. “A GRASP for real life inventory [9] J. Oppen, A. Lokketangen and J. Desrosiers. routing problem: application to bulk gas “Solving a rich vehicle routing and inventory distribution”. 9th International Conference problem using column generation”. on Modelling, Optimization & Simulation. Computers & Operations Research. Vol. 37, Bordeaux, France. June, 2012. pp. 1308-1317. 2010. [15] O. Solyali and H. Sural. “A branch and cut [10] L. Lozano and A.L. Medaglia. “On an algorithm using a strong formulation and a exact method for the constrained shortest priori tour based heuristic for an inventory- path problem”. Computers & Operations routing problem”. Transportation Science. Research. Vol. 40, pp. 378-384. 2013. Vol. 45, pp. 335-345. 2011. [11] C. Archetti, L. Bertazzi, G. Laporte and [16] L.C. Coelho, J.-F. Cordeau and G. Laporte. M.G. Speranza. “A branch-and-cut algorithm “The exact solution of several classes of for a vendor-managed inventory-routing inventory-routing problems”. Computers problem”. Transportation Sciences. Vol. 41 & Operations Research. Vol. 40, pp. 558- Nº 3, pp. 382-391. 2007. 565. 2012. [12] C. Archetti, L. Bertazzi, A. Hertz and M.G. [17] L. Bertazzi, G. Paletta and M.G. Speranza. Speranza. “A hybrid heuristic for an inventory “Deterministic order-up-to level policies in an routing problem”. INFORMS Journal on inventory routing problem”. Transportation Computing. Vol. 24 Nº 1, pp. 101-116. 2011. Science. Vol. 36, pp. 119-132. 2002. 313