Aenorm Survey specialty The inventory routing problem Aenorm Survey Readers of Aenorm 77 had the opportunity to submit our survey on the future of the Aenorm. We are happy that so many people took time to complete the survey to help us improve the Aenorm. Currently we are analysing the results and we aim to publish Aenorm 80 (September 2013) in a new format. There will be more attention for VSAE related activities, columns and publications from students. We will provide you with more information on the changes of the Aenorm in the next edition. For now, we want to thank everybody who completed the survey. The winners of the €50 giftcheque are • Joris Bücker • Joran Houtman They will be contacted soon to receive their price. A two-phase approach by: Jacob Kooijman The aim of this thesis is to develop a heuristical approach for the inventory routing problem. We will propose a two-phase approach to solve the problem. A novelty of the approach is the use of volume delivery optimization while optimizing the route schedule by means of column generation. Jacob Kooijman Jacob C. Kooijman finished his master in June 2012 at the Vrije Universiteit Amsterdam with his thesis: “The inventory routing problem, a two-phase approach.” He wrote his thesis under the supervision of prof. dr. J.A. dos Santos Gromicho. He is specialized in Operations Research and Business Econometrics, which is also his main area of interest. After his study he started working at ORTEC as a junior software engineer. Introduction The inventory routing problem arises when a retailer is responsible for the inventory management of his customers and needs to deliver to his customers on time to ensure that they do not run out of stock. An example is an oil company that has multiple gas stations and needs to ensure that each of the gas stations has enough gasoline to serve its customers. A geographical display of a problem instance is shown in Figure 1. We will solve the problem over a planning horizon T. Each customer is assumed to have a usage rate ui , which is the amount of product the customer consumes per time unit. The usage of a customer is thus assumed to be deterministic and constant over time. Secondly, a customer has a starting inventory Ii at the beginning of the planning period and a storage capacity Ci. Customers might have restrictions on visitation times and thus we use time windows to ensure that a delivery takes place within a time window [ai, bi]. The deliverable amount of a customer is the maximum amount that can be delivered at a certain moment in time. An example of the deliverable amount of a customer in its delivery window is shown in figure 1. To deliver the customers we have a fleet of M homogeneous vehicles available. The objective is to minimize both short-term and long-term transportation and inventory costs. To apply our solution method we will use the following assumptions: 1. Customer usage rates are constant and deterministic. 2. Only one type of product to deliver. 3. A depot with an infinite amount of the product available. 4. There are no inventory holding cost. Figure 1: an inventory routing problem instance 20 AENORM vol. 21 (78) April 2013 AENORM vol. 21 (78) April 2013 21 specialty We make these assumptions to limit the problem’s complexity. Some of these assumptions might seem unrealistic, but our approach will take the weaknesses of these assumptions into account. The usage rates in practice are stochastic, but if we would model the usage rates as a stochastic process the model will become even more complex and thereby harder to solve. Instead we will deliver customers earlier than the latest possible time to prevent incorrect forecasts leading to stock outs for the customers. In the next paragraph we will introduce our solution approach. Solution approach The resulting problem is in the class of NP-hard problems and solving it to optimality for even small problems, is a computationally hard task. To solve practical problems we decide to divide the problem into three phases: demand prediction, planning and scheduling. The division in phases is shown in Figure 2. In the first phase the demand is predicted based on historical usage data. In the planning phase, visits to customers are planned, which are called orders. In the scheduling phase the orders are combined into routes to minimize the transportation cost. Even the scheduling phase is considered to be among the hardest optimization problems. In this thesis we do not consider the prediction of usage rates, but we will focus on the two last phases and assume that the usage rates are given. Figure 2: the inventory routing problem divided into three phases A solution of the inventory routing problem (IRP) consists of the following decisions: • • • When to deliver to a customer? How much to deliver to a customer? Which delivery routes to use? Each of these decisions affects the other decisions. An earlier delivery to a customer results in a smaller maximum delivery to a customer. This is due to the fact that a customer uses less of his inventory when delivering earlier and has a limited storage capacity. Hence, the moment of delivery affects the decision how much to deliver. If the decision how much to deliver is made for each customer, this can affect possible routes that can be used due to a limited capacity for each vehicle. Some combinations of customers in one route might exceed the available truck capacity and thus result in an infeasible solution. A less 22 AENORM vol. 21 (78) April 2013 obvious relation exists between the decisions what routes to use and when to deliver to a customer. If a customer is visited as the first customer in a route he consumed a small amount of inventory from the start of the day, but if a customer is visited at the end of the route he consumed more of his inventory. This difference can affect the decision when to deliver next. Note that in Figure 2 there is a back arrow from the scheduling phase to the planning phase, because the selection of routes affects the future decisions in the planning phase. Solution quality Before we mention our complete algorithm we should have a good measure for solution quality. In routing literature it is common to use the amount of driven kilometers by the vehicles as a cost measure. To reflect shortterm cost this measure is realistic, but for the long-term cost in our problem we should also consider the volume delivered. If we deliver small amounts of volume each time we visit a customer, many visits will be needed to keep the customer from running out of stuck. If we deliver the maximum amount possible to a customer each time we visit the customer less visits are needed, hence decreasing transportation cost in the long-term. To balance between the amount of driven kilometers and the amount of volume delivered we will use the amount of driven kilometers divided by the amount of volume delivered as a measure for solution quality, which is recommended by Song and Savelsbergh (2007). Another important variable is the amount of vehicles required to execute the planning. A solution with a high volume per kilometer value that requires many vehicles might not be the best. In practice the size of the vehicle fleet is generally given, but it might be interesting to analyze the effect of the size of the fleet on the solution quality. Planning phase The purpose of the planning phase is to plan orders for each customer in such a way that a customer will not run out of stock, while trying to maximize the solution quality. In the planning phase we should use the volume per kilometer measure as a guideline for our design, but another important part is the amount of vehicles required. We will try to minimize the amount of vehicles required, while trying to keep good values for the volume per kilometer measure. A very strong assumption is the assumption that we have deterministic usage rates. Delivering at the moment just before a stockout occurs would maximize the amount of volume that can be delivered in one visit. If a usage prediction turns out to be incorrect this could lead to high cost, because an emergency visit might need to be scheduled to prevent specialty the stock-out, increasing cost significantly. We introduce the safety stock, which is the amount of stock a customer should always have as inventory to ensure that incorrect demand forecasts will generally not lead to stock-outs. The time window of each generated customer order is adjusted for this to guarantee we deliver before reaching the safety stock. In the solutions for the planning phase we focused on delivering as late as possible to maximize the delivery volume. If we plan every customer just before he reaches his safety stock we might obtain orders for customers that are very far apart, increasing the amount of driven kilometers. We try to combine customers in routes that have a small geographical distance to one another. The planning is made for a certain period, for example two weeks. Due to the complexity of the scheduling phase we will only solve one day at a time in the scheduling phase. We create a planning for two weeks, then find routes for the orders on the first day. Afterwards we move on to the next day and make a planning again. We recalculate the planning, because as mentioned earlier routing decisions affect the latest possible delivery time for the next delivery. We could decide to just leave the planning as it was, but the computational effort required to recalculate the planning is small with the current implementation of our algorithms. Scheduling phase In the scheduling phase we need to find routes which execute all the generated orders in the planning phase. All these orders are called must-go orders and should be executed within their time window. Besides these orders we also introduce may-go orders, which are orders for customers who do not require a visit in the planning period, because they reach their safety stock outside the planning period. We will use may-go customers to fill up the vehicle capacity in a route, but only if it is beneficial. If adding such a customer to a route improves the volume per kilometer measure it is considered beneficial to add the customer. The routes are constructed using a column generation approach, which is commonly used for routing problems. The idea of column generation is that many possible routes exist, but only a few will be part of the optimal solution. If we would consider every route we will have an immense amount of variables and the problem becomes nearly impossible to solve. Instead we start with a limited amount of routes that result in a feasible solution and try to find routes that can improve the solution. By using theory from linear programming we can quite rapidly find routes that improve the solution. One novelty of our approach is the fact that we use delivery volume optimization before we check which routes can improve the solution. Delivery volume optimization postpones routes to a later time to improve the deliverable volume. If a customer is visited later he consumed more of his inventory, hence a larger amount of the product can be delivered. Delivery volume optimization is generally applied after selecting the routes, but that does not have to lead to an optimal combination of routes. The effect of delivery volume optimization for some routes might not allow postponing the route to a later moment in time. Postponing a route later in time might also not be beneficial, because the maximum deliverable quantity could have already been reached due to capacity constraints of the vehicle. Results To evaluate our algorithms we used a dataset provided by the Georgia Tech University. In our research we found out that the research community did not supply any results on the instances, but there were also no results from other instances to compare with using the volume per kilometer measure. Instead we decided to compare different solutions for our own algorithms. In the scheduling phase we select a set of routes based on an objective function, which is the sum of the cost of the selected routes. In principle any cost function can be used to determine the cost of a route. We investigated two types of cost functions. A weighted cost function that weighs the amount of driven kilometers and the unused volume in the vehicle. The second cost function is the amount of kilometers driven in a route divided by the amount of volume delivered. We try to maximize the volume per kilometer, so we should minimize the opposite. Note that the cost functions are applied per route and not over all selected routes together. We cannot calculate the volume per kilometer over all routes, because the column generation formulation requires a linear objective function. In figure 3 we compared both cost functions for a planning period of 30 days. Figure 3: comparison between weighted cost function and km/volume cost function with the volume per km on the y-axes and the weight for the amount of unused capacity on the x-axes. AENORM vol. 21 (78) April 2013 23 specialty The km per volume cost function has constant and quite good behavior, but for certain values of the weights the weighted cost function outperforms the km per volume cost function. One interesting comparison is to compare our cost functions with a cost function based on the amount of kilometers driven, which is normally used in routing literature. If the weight of the weighted cost function is zero it only considers the amount of kilometers. From Figure 3 it follows that the km per volume cost function slightly outperforms the standard cost function for routing problems in our case and a better optimized weight can even improve this further. For other research results we would like to refer the reader to the thesis. Conclusion We developed a two-phase approach for the inventory routing problem. A very important aspect is the collaboration between the planning and scheduling phase. We focused on maximizing the total amount of volume delivered divided by the total amount of driven kilometers. As mentioned, delivering every customer at the latest possible time maximizes the delivered volume. When creating routes for these customers the geographical distance between them might be very large, hence increasing the total amount of kilometers driven. It is thus very important to already consider the effects of decisions made in the planning phase, before solving the scheduling phase. References Campbell, A., L. Clarke, A. Kleywegt and M. Savelsbergh. The inventory routing problem , Fleet Management and Logistics. Kluwer Academic Publishers (1998): 95-113. Rust in de financiële markt, dat is keihard werken. Begin je carrière bij DNB. Ontdek de mogelijkheden op werkenbijdnb.nl Campbell, A. and M. Savelsbergh. “Delivery volume optimization.”, Transportation Science, 38.2 (2004): 210-223. Feillet, D. “A tutorial on column generation and branchand-price for vehicle routing Problems.”, 4OR: A Quarterly Journal of Operations Research 8 (2010): 407-424. Song, J. and M. Savelsbergh. “Performance measurement for inventory routing.”, Transportation Science 41.1 (2007): 44-54. Bij DNB werk je in het zenuwcentrum van onze economie. Iedere beslissing die we nemen, wordt kritisch besproken door de hele financiële wereld. Een dynamische wereld die we tot rust moeten brengen. Dat vraagt om aanpakken en volhouden. Want iedere dag krijg je te maken met een ander complex vraagstuk en moet je de actualiteit zien voor te blijven. Daarmee lever je een belangrijke bijdrage aan financiële stabiliteit en vertrouwen. Kun jij die druk aan en zie je het als een uitdaging om onze economie vooruit te helpen? Denk dan eens aan een carrière bij DNB. Kijk voor meer informatie en de mogelijkheden op werkenbijdnb.nl. 24 AENORM vol. 21 (78) April 2013 Werken aan vertrouwen.