The Inventory Routing Problem with Priorities and Fixed Heterogeneous Fleet

: This paper presents a new combinatorial optimization problem, the inventory routing problem with priorities, and a ﬁxed heterogeneous ﬂeet. In this problem, a particular set of customers has to be served before the rest of the customers using vehicles with different capacities. The problem is inspired by the current situation faced by a specialized gas distribution company in the northeast region of Mexico. The company produces and distributes three main products, although this paper focuses only on the oxygen distribution problem. The company delivers oxygen to industrial customers, as well as hospitals and other medical facilities. Due to Mexican government regulations, the company requires prioritizing deliveries to hospitals and medical facilities over its industrial customers. Therefore, the company is obliged to satisfy the customers demand considering inventory levels and priority constraints while minimizing the inventory and routing cost. An integer programming model is proposed to solve the problem. The model minimizes the total distribution cost while considering inventory level, priority constraints, and a ﬁxed ﬂeet of vehicles with different capacities. Finally, computational experiments were carried out using benchmark instances to validate the correctness of the proposed model and to analyze the effect of priorities on the total distribution cost. Finally, actual customers of the company were selected to show the effectiveness of the proposed model to solve real-world problems.


Introduction
According to Sakalli and Atabas [1], the efficiency of the production and distribution systems are of great concern for companies seeking to improve customer's satisfaction and profitability. In addition, Bolanos et al. [2] mention that, among other activities, storage assignment, order scheduling, inventory management, and vehicle routing design are significant challenges when dealing with real-life situations. Additionally, Ref. [3] argues that real word problems are complex. Therefore, managers need to support their decisions through the use of different approaches and methodologies [1], net present value, payback period method, cost-benefit analysis, Monte Carlo simulation approach, probability tree method, dynamic programming method, and the shortest path method are among such methods [4].
Inventory and distribution management are two of the main activities for the supply chain and are said to account for more than 60% of the total logistics costs [5]. Making an optimal distribution plan will help to save on transportation costs [6]. The Inventory Routing Problem (IRP) is an extension of the VRP that involves routing and inventory decisions [7]. Applications of the IRP can be found in several industries like gas companies, petrochemical, clothing, auto parts, among many others [8].

Literature Review
Through the years, many authors have worked with the IRP considering different characteristics as mentioned in the reviews presented by [9,[13][14][15][16]; some of them focus on methodological aspects, industrial applications, stochastic nature of the problem or sustainable aspects, among others. Regardless of the type and characteristics of IRP, an optimal solution for real-life problems is so far unreachable due to the problem complexity, which is mainly related to the routing segment. Since the VRP is of type NP-hard, the IRP is also NP-hard because it always can be reduced to a VRP (not considering inventory) [17]. The NP-hard nature of the IRP makes it a very difficult problem to solve, and this is why many authors have implemented or developed heuristics ( [10,[18][19][20][21][22]). All of them use procedures or methods to solve large instances for different approaches of the problem-assuming deterministic demand, a homogeneous fleet, among others.
In some cases, it is essential to give special considerations to a group of customers due to a specific characteristic they have. For example, in [23], products need to be delivered considering the customer's time windows and the freshness of the perishable products. The authors use a co-evolutionary algorithm to solve instances of the problem. In addition, the authors of [24] propose the vehicle routing problem with multiple hard prioritized time windows. In this problem, some customers have priority over others to receive their goods in the established time windows. Finally, prioritization has also been implemented for some critical items in humanitarian logistics [25].
In [5], customers are selected for deliveries according to its inventory level and demand. A maritime application to the IRP is presented in [26], where flexible solutions are obtained by incorporating soft constraints and using a heuristic approach. Wei et al. [27] addressed the cold-chain inventory routing problem that is an extension of the IRP. The cold chain distribution aims to optimize the distribution cost and time for perishable food.
This brief literature review shows the importance of special considerations over time windows, products, and customers. Although an extensive literature review was done and, to our knowledge, there is no previous paper studying the inventory routing problem that addresses priorities (as considered in this work) and the use of multiple vehicles with different capacities.
In Table 1, we show the characteristics of different inventory routing problems that have been studied by several authors. None of them have considered priorities in the same sense that have been considered in the new approach proposed in this paper.

Inventory Routing Problem with Priority
The problem addressed in this paper is about inventory routing problem with priorities. In the following, we explain with an example the main difference of the traditional IRP and the IRP with priority. Consider the following example: imagine a route with ten customers: five hospitals and five industries. In the traditional IRP, the priority is not relevant so the route will be designed in order to minimize the total cost and to satisfy the customers demand on time. Accordingly, industrial customers could be visited before hospitals. In the left solution of Figure 1, the route obtained for period one is D-4-10-9-D, where vertices 4 and 10 are industrial customers, and customer 9 is a hospital. Notice that customer nine is served last in the route because, in this case, priority is not relevant. In the IRPP, solutions may be different. Consider the same instance with ten customers: five hospitals and five manufacturing companies. Here, priority is essential and means medical facilities have to be visited first. In the solution at the right of Figure 1, the route for period one is D-5-10-4-D. In this case, vertex 5 is a hospital and receives deliveries before customers 10 and 4 (industrial ones). It is essential to mention that all medical facilities have the same level of priority, and, therefore, there is no differentiation among them. The order in which a route visits two medical facilities depends on their level of inventory and the traveling costs. Routes that do not visit priority customers are allowed as is shown in the left image in Figure 1 (route in period 3).
As we mentioned before, due to the Mexican Law (NOM-027-SSA3-2013), companies have to design the routes considering first deliveries to hospitals, even if this increases the routing cost. When priorities are considered, it is possible to have more expensive routes, but this consideration is crucial to maintain the health of patients in hospitals. In this sense, it is possible to say that cost is less important than patients' health.

Mathematical Formulation
The mathematical model presented in this paper is derived from the formulations presented in [9,40] formulations. Unlike the formulations mentioned before, the model in this paper incorporates the Miller-Tucker-Zemlin constraints [41], customers with priorities, and considers vehicles with different capacities.

•
The product is shipped from the depot (vertex 0) to a set of customers (N ) over a time horizon (T), using a directed graph G = (V, A) where V = N ∪ 0 is the set of vertices including the depot and the clients and A = (i, j)|i ∈ V, j ∈ V, i = j the set of arcs. • Storage facilities at each customer i ∈ N have a maximum capacity U i and minimum stock level l min i .

•
There is an inventory cost per unit in stock h i associated to every storage facility i ∈ N ∪ 0.

•
There is a cost c ij associated with every arc (i, j) ∈ A • There is no distribution or product consumption at time t = 0. • There is a fixed set of vehicles K, each one with a given capacity Q k to supply the customers. Note that there are at least two vehicles k1 ∈ K and k2 ∈ K, with different capacities Q k1 = Q k2 .

•
The consumption rate r it > 0 associated with each customer i ∈ N remains constant throughout the periods.
The problem can be formulated using the following variables: and q t ik = the quantity delivered to client i ∈ N by vehicle K on period t ∈ T u ijkt = the load at the vehicle after visiting client i ∈ N on period t ∈ T Considering the previously defined assumptions and variables, the objective function of the model is defined as follows: The first term in the objective function (1) minimizes the inventory cost at the depot, and the second is the customer's inventory during the time horizon. The third term at the objective functions computes the total routing cost during the time horizon. Additionally, the following constraints are required to complete the model: Constraint (2) controls the inventory level at the depot for every period t ∈ T. Note that I 0t is equal to the inventory level at the depot in the previous period (I 0t−1 ) plus the product available (r 0t ) at the current period t ∈ T, minus the total product delivered to all customers (∑ i∈N q t ik ) at the current period t ∈ T with the different type of trucks k ∈ K.
The balancing equation for the inventory level at every customer is represented with Constraint (3). Customer i ∈ N inventory level at period t ∈ T is equal to its inventory level at the previous period (I it−1 ) minus the product consumption at the current period (r it ) plus the product delivered (q t ik ) to the customer i ∈ N at the current period t ∈ T with vehicle k ∈ K: In order to guarantee the correct operation of the tank, the inventory level at customer must be greater or equal to a minimum inventory level (l min i ) as expressed in Constraint (4): Constraints (5)-(7) are related to the order-up-to level policy. Constraints (5) and (6) indicates that the quantity delivered to the customer (q t ik ) must be greater than or equal to the difference between the tank's maximum capacity (U i ) and the inventory level at the previous period (I it−1 ), but only if the customer was visited (z t ik = 1) in period t with truck k. Constraint (7) requires the quantity delivered to the customer in period t (q t ik ) to be less or equal than the tank's capacity (U i ) if the customer was visited (z t ik = 1): Constraint (8) guarantee that the vehicle capacity (Q k ) will not be exceeded: The flow Constraint (9) indicates that, if customer i ∈ N is visited by vehicle k ∈ K in period t ∈ T, the vehicle must leave the customer in the same period: In order to avoid the enumeration of an exponential number of the classic subtour elimination constraints, we modified and adapted the Miller-Tucker-Zemlin constraints [41] that indeed exclude subtours using extra variables u t ijk (10)- (12): Constraint (13) allocates at the beginning of a route to those customers with priority deliveries (P j ): The non-negativity and integrity of variables are represented with Constraints (14)- (16):

Computational Experiments
A set of 120 instances was used to perform computational experiments. The instances were adapted from the ones proposed by [40], by considering a given percentage of the customers as customers with priorities and a percentage of truck capacity in order to create two different types of vehicles. The original instance set from [40] contains subsets of instances depending on the number of customers considered (5-50); each subset contains five instances. For the IRPPHF, each instance in the subsets between 5 and 30 customers was adapted; for this, four levels of customers with priorities were considered: 0%, 25%, 50%, and 75%. It is necessary to notice that considering 100% of customers with priorities is the same as 0% since all customers have the same priority. In addition, two types of vehicles were considered using 60% and 30% of the original vehicle capacity. A computer with an Intel i5 at 2.5 GHz and 8 GB was used to solve the proposed benchmark problems. The mathematical model was coded and solved using ILOG CPLEX Optimization Studio 12.8 (New York, NY, USA). Instances with up to 30 customers were solved using a moderate computational effort considering the complexity of the problem (537.11 s on average). Table 2 summarizes the obtained results for every subset of instances. Column n denotes the number of customers, column GAP the average percentage deviation between the lower bound, and the upper bound obtained by the solver, column CPU the time in seconds for solving the instance, column ∆IC the average percentage change on the inventory cost (IC = DIC + CIC), column ∆RC the average percentage change on the routing cost, and column ∆TC the average percentage change on the total cost (TC = DIC + CIC + RC). Summary results in Table 2 show that the introduction of priorities increases the solution total cost. The increment is mostly due to the increase of the routing cost RC (11.38% on average) while the inventory cost IC (Depot+Customers) remains practically without change (0.01% in average). On average, the total cost TC increases by 5.90%. It is also clear that the routing cost RC increases with priorities as the size of the instance increases. The increase in routing costs is explained by the fact that more vehicles are required to serve customers, and vehicles travel longer distances to fulfill priority constraints. Finally, as it was expected, the CPU times increase as the size of the instance increases. Table 3 presents the incremental cost by priorities for the different sets of instances. Additionally, Figures 2 and 3 show the average increment percentage of the total cost for every set of instances and priorities. In Figure 2, the first graph on the left shows the incremental total cost for instances with five clients. This graph shows an irregular pattern different from the pattern presented in the other graphs in Figures 2 and 3. The cost change on instances with five clients is importantly influenced by the location of the clients with priorities, which explains the different pattern. Notice that, for five client instances, one customer represents 25% of clients with priority, and 50% of clients with priority are two customers. In instances with more than five customers (Figure 2, middle and left, and Figure 3), the average percentage cost increment follows a pattern for the different levels of priority. When the percentage of customers with priority is 75%, the total cost increases when compared to the no priority case, but, it remains on average lower when compared to the case with 50% of clients with priority. Notice that having 75 % of clients with priorities means that almost all clients have the same preference, and solutions tend to be similar to those when no priorities are considered (100% of clients with priorities is equivalent to 0% of clients with priorities).    The complete results for all benchmark problems are presented in Tables A1-A6 in Appendix A.
The complete results show that, almost always, the total cost increases. For some instances with 5 and 10 customers, the cost remains the same. The cost remains the same when the customers with priorities are visited first (last) when no priorities are considered. For example, Figure 4 shows the obtained routes for an instance of 10 customers where the introduction of priorities did not increase the total cost TIC. In both cases, vehicles 2 and 3 do not leave the depot, and also, in period 3, no distribution is made. The routes in period 2 P = 2 are equivalent. When priorities are introduced, the clients with priority are visited first instead of last, which is the case when no priority clients are considered. The complete results also show that the routing cost increment depends importantly on the location of customers with priority, their consumption rates, and the number of vehicles used. If the customers with priority have a high consumption rate and are located far away from the depot, the routing cost will increase importantly. Figure 5 shows how routes change when priority clients are introduced. In this case, the introduction of priorities modifies importantly routes P = 1 and P = 2 with the vehicle Ve = 1. For many of the test instances, the depot inventory costs DIC and customer inventory costs CIC increase or decrease when priority customers are introduced. However, it is important to notice that the total inventory cost TIC = DIC + CIC remains almost the same as mentioned before. In general, if DIC increases, CIC is reduced, and vice versa.

Case of Study
As mentioned previously, this problem is inspired by the situation faced by a company that produces and distributes oxygen. The company is located in the northeast region of Mexico and has two different types of vehicles: (i) a big truck with 22 tons of capcity and (ii) a mid-size one with a capacity of 11 tons approximately. This company has a team of planners who are responsible for creating the distribution routes following specific rules. The primary rule is to visit the first hospitals and medical facilities to guarantee a minimum quality level of the product. The secondary rule is to maintain a minimum stock level at the customer tank. Every day, the team checks the oxygen inventory level at the customer's facility, and, according to their consumption rate, they decide if the customer will be visited the next day or not. Once they have selected a group of customers, they look over their location. After that, the planner defines which type of vehicle (truck) should be used and designs the distribution routes considering the priority constraints.
This case of study considers an instance with 28 customers (7 hospitals and 21 industrial clients) distributed in the metropolitan area of the city of interest. Three trucks of different capacities (22, 22 and 11 tons) are available at the depot. In Figure 6, the location of customers is presented. Hospitals are colored in red, industrial customers in blue, and the depot is marked in black. It is important to notice that the location of the depot as well as the cost units have been modified due to confidentiality issues. The software used by the company is different from the one used here. Although the model is the same. In the first period, the model suggests three routes, the first one (blue) only visits industrial customers, while routes two and three (black and red respectively) visit first hospitals and then industrial customers. Then, in period two, every route includes a hospital that is visited first. Finally, in period three, the model creates two routes (see Figure 7). The total cost of this solution is $635.59 and the time used to obtain the solution was 7200 s. Comparing the routes designed by the model with the routes created by the planner, the model reduces the total distribution cost in more than 30%. The inventory routing problem is a combinatorial optimization problem of type NP-Hard. Therefore, finding reasonable quality solutions is a complicated process when done without the aid of computing tools. Consider that, for a planner, designing a route implies a considerable effort since he/she needs to consider every assigned customer, verify its inventory level, and, according to its consumption rate, decide whether to include it or not in the next day delivery program. The task is complicated for the planners because, if a customer does not receive a sufficient quantity in an adequate time, it could run out of the product and be forced to stop operations. With this tool, the company could save money, while guaranteeing that every customer has a minimum stock level of product and will help the planners in their work. There are still some characteristics to be considered in order to make this solution closer to the real operation of the company. Notice that the location of the depot and the cost units have been modified due to confidentiality issues.

Conclusions
In this paper, the Inventory Routing Problem with priorities and heterogeneous fleet has been proposed. A mixed-integer model is proposed based on previous formulations [9,40] and was extended to consider facilities from the health sector, which have priority over industrial customers according to Mexican law, as well as multiple vehicles with different capacities. Test instances were also proposed considering deterministic consumption rates and a certain percentage of customers with priority. The results show that solutions from the IRPPHF differ importantly from those of the IRP. The proposed formulation was used to solve instances of up to 30 clients. Results from the computational experiments with the benchmark instances show that the inclusion of customers with priority increases the total cost mainly by the routing cost, while the inventory costs, in general, remain the same. Routing cost increases depending on the number of vehicles used in each period, and the location and consumption rates of the customers with priorities. Additionally, a case study is presented to assess the performance of the proposed model in a real-life scenario. The results show that the use of computational tools such as the one presented in this paper can lead to substantial cost savings (up to 30%). These kinds of tools can support the route design process and help managers to make better decisions. For future research, additional constraints and features can be included in the model to make it closer to reality. The use of articulated vehicles, multiproduct distribution, and non-deterministic consumption rates are among the features that might be considered in future research. The inclusion of such features could allow not to underestimate elements of the problem like the total distribution cost, as mentioned in [42]. Finally, in order to improve the solution process, the use of cutting plane algorithms and column generation might be studied.

Appendix A. Results of Computational Experiments
Tables A1-A6 present the complete results for the benchmark problems, where column Priority presents the percentage of customers with priority, DIC the depot inventory cost, CIC the customer inventory cost, RC the routing cost, TC the total cost (DIC + CIC + RC), and ∆TC the percentage cost increase when compared to the solution of the instance without priorities. In Table A5, we see the results of instances with 25 customers for the different levels of priority. Here, we identify the same behavior in almost all cases; the average percentage of the total cost increases when the number of customers with priority increases.