Inventory Routing Problem for Perishable Product with Dynamic Demand and Spoilage Rate

. The paper presents an inventory routing problem for perishable products using dynamic demand and spoilage rate data. This problem has three main costs for the simulation criteria: holding inventory cost, routing shipment cost, and perishable product cost with a single supplier and many retailers. Instead of the problem, there are 2 set decision variables inventory level range and shipping route. The simulation uses a Genetic Algorithm method to find the minimum cost. It shows that the dynamic data demand can be optimized, and the dynamic demand data have bigger cost consequences than the static demand data.


Introduction
Vendor-Managed Inventory (VMI) is inventory management controlled by the supplier for their retailer. In the VMI system, suppliers manage retailers' inventory levels from shipping quantity and shipping route in one planning period [1]. Inventory Routing Problem (IRP) is one of the VMI methods to optimize the cost of inventory routing. Inventory routing optimization is an important thing for fulfilling the demand market with optimal cost. IRP is a basic of optimizing inventory levels from retailers for fulfilling the demand market with minimum transport and inventory from the system [2]. The IRP object is to minimize the cost of shipping and inventory from the planning horizon without causing retail's inventory to run out of stock.
The perishable products give more challenges in inventory management and also attempting to minimize defective unsold products. The perishable products have a random lifetime caused by the environment, such as temperature and humidity, and also uncertainty of transport time and product harvest condition [3]. The random lifetime of the perishable product causes inventory cost because of that defective unsold product [4][5][6].
The previous paper developed the IRP model to optimize the routing problem of perishable products with a static demand and spoilage rate. In this paper, the IRP model for perishable products decides inventory stock level and shipping route with a dynamic demand and spoilage rate. This model is solved by the Genetic Algorithm (GA) method to get optimal inventory stock level and shipping route with optimal cost. This proposed model was tested by random dynamic demand and spoilage rate data. The problem result of this proposed model can be used to decide the inventory level of each retail and shipping route with optimal cost and fulfill the dynamic demand.

Inventory Routing Problem (IRP)
IRP is a primary method for optimizing the inventory level of retailers to fulfill market demand with a minimum shipping and inventory cost from a system [2]. IRP is one of the VMI solutions that suppliers manage retail's inventory level. In the previous paper, IRP was proposed for many problem methods such as perishable product, maritime, inbound, multi-product, stochastic periodic, green, and cyclic with two versions of IRP deterministic and stochastic [2].
From previous IRP papers, there is two main cost problem from IRP, inventory holding cost and shipping cost [1,4,6,7]. Holding cost is an expense for storing products at each retail warehouse. That holding cost usually counts by the amount of inventory stock in the warehouse. Shipping cost is an expense of shipping transport from supplier to each retail and back to supplier. These costs have several parameters such as the amount of holding cost of each product from each retail, retail distance, the inventory level of each period, shipping capacity, retail holding capacity, and others. There is previous related literature with each part that can be seen in Table 1.
Decomposition procedure V V [7] Genetic Algorithm V V [8] Myopic Algorithm V V

Perishable Product
A perishable product is a product that has a random lifetime. The product that ships from supplier to retail may have a different lifetime [3]. The perishable product has an uncertain lifetime that is challenged to fulfill market demand with the amount of products spoilage that can't be sold. Examples of perishable products are packaged food, food material, fruits, vegetables, and others.
In IRP model [4] said that perishable products affect the cost from the product's price when can't sell the defected product. The spoilage rate of perishable products is directly proportional to the amount of inventory stock level. In the IRP model, the spoilage rate variable is a function to count the amount of defective product from each retail in each period.

Genetic Algorithm
A genetic Algorithm is a biologically motivated approach which popular in solving a complex optimization problem. GA makes sets of solutions called the population to get the best solution. GA has an operator such as crossover, mutation, and selection are utilized to get new solution sets (offspring) to reach the desired solution [4]. There are three important things in GA, chromosome representation, fitness value function, and population regeneration. Chromosome representation is a set structure of decision variables to solve the problem. The fitness value function is a formulation value which is the benchmark value of each set chromosome. Population regeneration is a process to get a new set of chromosomes (offspring). GA is commonly used to solve a non-linear problem, such as in [4] and [7]. Both of those papers discuss about IRP for perishable products and using the GA method to solve the problem.

Problem Description
In this section, we propose a mathematical model of inventory routing problem for a perishable product with dynamic demand and spoilage rate which the supplier should decide an optimal solution of retail's inventory level and shipping route. This mathematical model is based on [4] with the adaptation of dynamic demand and spoilage rate. These model objects are single product, single supplier, single shipping vehicle, and multi-period with multi retail. The objective of this problem is to minimize the total cost of the system and fulfill the entire demand in each period.

Notation Description hi
Holding Number of defect product of retail I in t period Q Shipping capacity in one period cij Shipping distance cost from retail i to retail j Ci Holding capacity of retail i P Product's price Initial stock of retail i

Notation Description Li
Minimum stock level retail i Mi Maximum stock level retail j Xij (t) Binary Decision, 1 if pass a route from retail i to retail j, and else is 0 Quantity product sent to retail i in t period

Mathematical Model
The objective function of this model is to minimize the cost of the inventory system. There are three costs from this model, holding inventory cost represented in the first term, defect product cost in the second term, and shipping route cost in the third term that as shown in equation (1) (1) Subject to: Number of products shipped at t period equals to fulfill retail's stock until maximum stock level (Mi) if retail's last stock (t -1 period) is less than minimum stock level (Li). The number of products shipped can be seen in equation (12).
Equation (2) shows a retailer's stock level at t period equals to last period stock level and shipped product number reduced by last period spoilage product and demand product at t period. Equation (3) is a number of spoilage products at t period equals to spoilage rate at t period multiplied by the stock level at t period. Equation (4) is a constraint of stock level, which must be less than maximum stock level and also maximum retail's stock capacity. Equation (5) is a constraint of stock level, which must be greater or equal to the minimum stock level. Equation (6) is a constraint of total shipping, which must be less or equal to the shipping capacity of each period. Equation (7) is a constraint of the shipped route. Equation (8) is a constraint of shipping route is a binary. Equation (9) is a constraint of spoilage rate product. Equation (10) is a constraint where the number of retails and periods are integer. Equation (11) is a non-negativity constraint.

Dynamic Data Simulation
A model with dynamic data was proposed by [8] through dynamic distribution center simulation. In this paper, the dynamic simulation was adopted to generate data set of dynamic demand and spoilage rate. This part generates demand and spoilage rate data randomly for each retail at each period and simulates for each data set with the solution using the Genetic Algorithm method to find an optimal solution for all data set. The representation of demand and spoilage rate data can be seen in Figure 1.

Chromosome Representation
Chromosome representation is a representation of decision variables from the problem model. The decision variable of this model is inventory stock level and shipping route. Inventory stock level generates a range of stock amount for each retail i with Li for minimum stock and Mi for maximum stock with a random number from 0 to maximum retail i capacity. Inventory stock level representation can be seen in Figure 2.

Figure 2. Inventory Stock Level Representation
The shipping route is an order of delivery from the supplier to each retail and returns to the supplier in each period. If the quantity of delivery for retail i is zero, then the route of retail i will be zero. This route representation is transferred into Xij(t)with binary value. Shipping route representation can be seen in Figure 3.

Figure 3. Shipping Route Representation
Each chromosome has a solution of inventory stock level and shipping route. Each of these set representations has a fitness value from this objective function model. The smaller fitness value is the optimal solution.

Population
A population is a group of chromosomes that are generated randomly. The chromosome is generated randomly by the system for P times in the first iteration. In the next iteration, the population of chromosomes is generated from the Genetic Algorithm operator, such as crossover, mutation, and elitism. For each iteration, the system randomly pairs two chromosomes using the roulette wheel method into crossover until P offspring is generated.

Crossover
Crossover is one of the GA operators that generate new offspring chromosomes from pairs of parent chromosomes. In this process, these chromosomes change parts of the parent chromosomes to each other and generate new offspring chromosomes by using the one-point crossover. There are 2 parts of each chromosome, inventtory stock level and shipping route. Inventory stock level change the half minimum and maximum part with the other chromosome that can be seen in Figure 4.

Mutation
The mutation is a GA operator that changes the part of each new offspring chromosome randomly. In this process, each new offspring chromosome mutates each part with the mutation rate (Mr) parameter as a random mutation decision. The value of Mr parameter in this simulation is set to 0.6 for inventory stock level mutation. Each part of the chromosome generates a random number and changes to a new random number with interval 0 to maximum retail capacity, and a constraint for the minimum must be smaller than maximum, and the maximum must be bigger than the minimum. If the random number is bigger than Mr. Mutation of inventory stock level can be seen in Figure 6. The shipping route also generates the random number on each chromosome's part and mutates two parts in each period that have a bigger random number. Shipping route mutation can be seen in Figure 7.

Elitism
Elitism is the last GA operator that preserves several parent chromosomes which have the lowest fitness value with the specified amount. The preserved parent chromosomes combined with new offspring chromosomes population for next iteration. The purpose of this elitism process is to preserve a good parent chromosome that has a good fitness value. This proposed model uses a fixed number of elitism.

Stopping criteria
Stopping criteria is a condition statement to end GA iteration. This proposed model uses a fixed stopping criteria with a number of iterations parameter (g).

Numerical Example
In this section, the proposed Genetic Algorithm method and representation are run to solve three sets of data simulation samples. These are represented through every five sets of demand and spoilage rate. This simulation focused on simulating different demand numbers. Each of the data sets of demand generated randomly with uniform distribution normal interval dynamic demand, normal interval static demand, and small interval dynamic demand in [20 -60] units, [20 -60] units, and [30 -40] units, respectively with same spoilage rate [5 -15]%. This simulation has five periods with ten retails and 750 units supplier's shipping capacity for each period. The main problem of this simulation sample is the dynamic demand and spoilage rate. This simulation shows the decision variable should be fulfilled to all dynamic demand and spoilage rate samples. The cost of this simulation was generated randomly with a uniform distribution interval for holding cost [10 -25], retail cost distance [20 -50], and fixed 40 for the product price. The other parameters were holding cost each retail and number of elitism in [60 -100] and ten respectively. The population and iteration numbers are a combination of population 80, 100, 120, and 140, and also iteration 100, 150, 200, and 250. The cost of this simulation is represented by each fitness value solution. Fitness value for each solution/ Table 2. Simulation Result chromosome obtained from the average of each cost demand and spoilage rate data set simulation. This Genetic Algorithm is implemented by using PHP HTML programming language and database storage using MySQL to facilitate subsequent development using real demand and spoilage rate data and also take advantage of the flexibility access web technology.

Result & Discussion
The simulation has one supplier, ten distributors, and five periods. The supplier controlled the inventory levels and shipping routes for each distributor. The simulation use combination of iteration number in 100, 150, 200, and 250 and population number in 80, 100, 120, and 140 with three different data dynamic demand 20-60, static demand 20-60, and dynamic demand 30-40. The result of each simulation shows that it has a cost reduction with the best fitness value at 250 iterations and 140 population and has a more execution time in each added iteration or population. The simulation combination and simulation result can be seen in Table 2.
Instead of the best fitness value with more iteration and population, the execution time is also increased. The optimal execution time with the optimal result is in 250 iterations and 140 populations which have a significant cost reduction of 1.53% and 0.68%, respectively. The increment time and cost reduction comparison can be seen in Table 3.  [4 -72]    The model in this paper combines the IRP model of perishable products with dynamic data of demand and spoilage rate from retails on each period. There are samples of dynamic data through the previous study about dynamic distribution center simulation, which converted into dynamic data of demand and spoilage simulation and generated set data simulation of previous IRP model. There are three main costs in this model, holding inventory cost, defect product cost and shipping route cost. The solution should be fulfilling each demand and spoilage rate simulation and have the best cost. By using Genetic Algorithm, the result of this simulation shows that the dynamic demand can be optimized by the result's pattern with fixed stopping criteria iteration and have a higher cost than static demand. The best result of this simulation is small interval dynamic demand which has 24.2% cost reduction, followed by normal interval dynamic and static demand which have 19.8% and 20.3% cost reduction. This result shows that smaller interval has a better reduction and dynamic and static demand have the same reduction that shows the dynamic can be solved as a static problem. But, the optimal best solution shows that dynamic demand data has bigger optimal cost consequences than static demand data. Instead of the best solution, the execution time shows that the most optimal cost reduction is in 250 iterations and 140 population. In this paper, the IRP model has a single product, single supplier, and single-carrier object. Therefore, the dynamic demand and spoilage rate can be optimized by this IRP model. So, the model can be improved with other inventory routing problem objects or constraints such as multiple products, multiple suppliers, multiple carriers, or anything else.

Conclusions
The simulation has one supplier, ten distributors, and five periods. The supplier controlled the inventory levels and shipping routes for each distributor. The simulation use combination of iteration number in 100, 150, 200, and 250 and population number in 80, 100, 120, and 140 with three different data dynamic demand 20-60, static demand 20-60, and dynamic demand 30-40. The result of each simulation shows that it has a cost reduction with the best fitness value at 250 iterations and 140 population and has a more execution time in each added iteration or population.