250 likes | 391 Views
The vender managed inventory system for vending machines and a two-phase algorithm for the inventory routing problem. KUBO Mikio Tokyo University of Mercantile Marine Logistic and Information Engineering. Joint Work with Fuji Electric.
E N D
The vender managed inventory system for vending machinesand a two-phase algorithm for the inventory routing problem KUBO Mikio Tokyo University of Mercantile Marine Logistic and Information Engineering
Joint Work with Fuji Electric Fuji Electric has Fuji Denki Reiki who accounts for an approximately 40% share of the food and drink vending machines in Japan. Fuji Electric is the top manufacturer of vending machines in Japan while Fuji Denki Reiki is the top seller. The number of drink vending machines in Japan is about 2.6 million in1998.The sales figure of these machines is about 3 trillion yen. The replenishment cost per one replenishment is about 7000 yen. Each vending machine is replenished at least once per week; it costs 1 trillion yen per year. (if 1$=100 yen; it’s 10 billion dollar.) The number of vending machines. source: http://www.fujireiki.co.jp/index.html
VMI (Vender Managed Inventory) VMI is a business practice in which venders monitor the customers’ inventory and decide when and how much to deliver their products. VMI requires accurate and timely information about the inventory status of vending machines. We need a modern monitoring system. Internet Telephone network
Inventory Vehicle Routing Problem (IVRP) The core problem when we implement the VMI is the inventory vehicle routing problem (IVRP). The IVRP addresses the coordination of inventory replenishment and vehicle routing decisions. The IVRP is used daily at each depot to produce a schedule for a 30-day horizon; only the scheduling of the first day is implemented, that is, we use a rolling horizon method. ・・・ 1 2 3 4 5
IVRP: Size and Complexity Typical problems in our real application involve 1000-5000 customers, 20-100 vehicles, and 300-500 products. The model should include the acceptable time windows for the replenishment, vehicle capacity constraints, the acceptable assignment of vending machines and vehicle, etc…. Our computerized vehicle routing system is carefully designed to consider all the major complexities of the problem.
Related Literature Federgruen and Zipkin (1984) Golden, Assad and Dahl (1984) Chien, Balakrishnan and Wong (1989) Converted to a single day problem. Bell et al. (1983) Dror, Ball and Golden (1985), Dror and Ball (1987) Trudeau and Dror (1992) Jaillet (1997) Campbell, Clarke, Kleywegt and Savelsbergh (1997)A rolling horizon approach by determining a schedule for several days, but only implementing the first few days.
Related Literature Anily and Federgruen (1990) Gallego and Simchi-Levi (1990) Anily and Federgruen (1993) Bramel and Simchi-Levi (1995) Chan, Federgruen and Simchi-Levi (1998) Analyzed the asymptotic behavior of certain simple policies under the assumption that customers are distributed on a plane randomly and the time horizon is infinite. Minkoff (1993) Campbell, Clarke, Kleywegt and Savelsbergh (1997) Nori and Savelsbergh (1998) Formulated the IVRP as a Morkov decision process and applied approximation algorithms.
Related Literature Bell et al. (1983) developed a computerized decision support system based on a multi-period model. Their system was implemented at Air Products, Inc. and awarded the 1983 CPMS prize. They formulated the IVRP as a huge mixed integer programming problem by generating promising routes (because the number of customers in a route was relatively small; usually 2 or 3) and then solved it using a Lagrangean relaxation method. Campbell, Clarke, Kleywegt and Savelsbergh (1997) used a similar approach. In our case, the number of vending machines per route may be large (say, 15 or more); We adopted a metaheuristic approach.
VMI System Customer Table Product Table Truck Table Depot Table Movement Table Route Table Forecasting Module GIS Module IVRP Solver Module
The customer table includes a description of each vending machine, giving its type, location information, time window and opening days for the replenishment, service time, maximum intervals of replenishments, and historical replenishment information. Customer Table Product Table The product table includes a description of each product to be delivered, giving its weight and volume, holding cost, and lost sales cost. Each customer has the data of the products stored in the machines, including allocated capacity, historical product usage, and current inventory levels.
Truck Table The truck table includes a description of each truck, giving its capacity, cost per mile, average speed, number of crews, and maximum delivery time for a day. Depot Table The depot table includes a description of the depot in the system, giving opening and closing time, opening days, and its location. Movement Table GIS Module The GIS (geographical information system) maintains a network of the road system. The GIS computes the distance, cost, and travel time between any pair of customers and between each customer and the depot. Customer Table
Product Table The forecasting module computes future demand forecasts using historical demand data and campaign information. Route Table Forecasting Module IVRP Solver Module Customer Table Product Table Customer Table Depot Table Movement Table Truck Table Using all the data described above, the IVRP solver module produces a list of routes, including start time and replenishment day, scheduled vehicle, arrival and departure time for each customer, total travel time, and cost.
IVRP: Notation and Assumption-Single Customer Case- Consider the problem of repeated distribution of P products, from a single depot, to a customer (vending machine) over a given planning horizon of length T. The demands of product p on day t is known a priori and denoted by dtp. The customer has the capability to maintain a local inventory of product p with the capacity Cp. Holding and lost sales costs of product p are denoted by Hp and Lp, respectively. Fixed ordering cost for day t is denoted by Ft. Assume: The inventory level of each product is set to its capacity when we replenish the inventory of the customer. Objective: To find an ordering policy that minimizes the total cost. A variant of the dynamic lot sizing problem; solved by a dynamic programming (DP) algorithm in O(PT2) time.
IVRP: Notation and Assumption Our IVRP is concerned with the repeated distribution of multiple products, from a single depot, to a set of n vending machines using m vehicles over a given planning horizon of length T. The travel cost between two points i and j is known and denoted by cij. The travel time between two points i and j is known and denoted by tij. The capacity of vehicle k is Qk. Each customer i must be visited within a given interval (time window) [ei,li]. Objective: To minimize the sum of distribution, inventory, and shortage costs during the planning periods. [10:00,12:00] depot
Two Phase Algorithm for IVRP Our approximate algorithm for IVRP has two phases: A construction phase, in which an initial feasible solution is constructed. - We apply an insertion method using DP that finds good delivery days for a single customer. An improvement phase, in which an attempt is made to improvethat initial solution by repeatedly searching neighborhoods. - We apply an iterated local search algorithm by using cross-opt and re-insertion neighborhoods.
Insertion Method for IVRP using DP Step 1. Start with a subgraph consisting of the depot and m self-loops for each day t. Step 2. Find customer k that is farthest from the depot. Step 3. For each day t, find the edge (i,j) in the routes that minimizes cik+ckj-cij. Let this minimum value be Ft and this minimum insertion place be (it,jt). Step 4. Let Ft be the fixed ordering cost for day t and use DP for determining the replenishment days of customer k. Step 5. For each replenishment day t, insert customer k between itand jt. Step 6. Repeat Step 2 through Step 5 until all the customers are inserted. ... Depot Day 4 Day 1 Day 2 Day 3
cutdim=Y cutval=Y(F) F G J K H I M L We adopted semi-dynamic K-dimensional binary search tree (K-d tree in short) proposed by Bentley (1990) to represents a set of points in K-dimensional space. K-d tree supports the following proximity queries: Fixed-radius near neighbor (FRNN) query: Find all points within a fixed radius of the given query point. Ball search query: Each point has an associated radius that represents a sphere and a query asks which spheres contain a given point. cutdim=X cutval= X(N) K A J G F H D E I cutdim=Y cutval=Y(B) B M C L P O N A B D E C P O N
depot a d depot c b Cross-opt We use the geometric structure to avoid considering all pairs of customers for starting cross-opt search. Cross-opt removes the two edges ab and cd and replaces them with the two edges ad and cb. We perform an FRNN search to examine all the customers (candidate of d) within the circle centered at a with radius α|ab|.
depot depot (0,1)-opt neighborhood search using FRNN centered at customer a with radius |ba|+|ac|. c b a
Handling Time Windows The following quantities are useful in the check of feasibility of cross-opt in the IVRP with time windows. 1. The total travel time TT on the path exchanged. 2. The earliest departure time ED at the last customer on the path, assuming the fist customer is left at the opening of his time window. 3. The latest arrival time LA at the first customer on the path. By using TT, ED, and LA, we can check the feasibility of cross-opting in constant time. If we increment the path by adding one customer at its tail, we can update these values in constant time. NewTT =TT+tij TT i i j LA NewLA=min{ LA, lj-newTT}
Don’t Look Bit To reduce the ``check out” time of cross-opt, we use a ``approximate” local search scheme. We prepare a bit (called ``don’t look bit”) with each customer; all bits are initialized to 1. We select a customer whose bit is 1 and perform the FRNN searches. If the searches failed to find a better cross-opt, we set the bit of the customer to 0. If we find a better route and execute exchange, we turn on the bits of all the customers exchanged. Bit=1
Insertion + Iterated Local Search for IVRP Step 1. Construct an initial route using the insertion method. Step 2. Repeat Steps 2-1 and 2-2 until no cost reduction is possible. Step 2-1. Repeat Steps 2-1-1 and 2-1-2 until no cost reduction is possible. Step 2-1-1. Cross-opt search. Step 2-1-2. 2-opt and Or-opt search for each route. Step 2-2. Re-insertion opt search. (Delete a customer from the current routes, and then re-insert it using DP by setting the fixed ordering cost to the minimum insertion cost for each period.)
Computational Experiments We have done a preliminary experiment on real data with 727 vending machines and 315 products over 30 days. The result shows that our new approach outperforms the current manual route w.r.t. all the measures. Computational time on Pentium III 1GHz machine: Insertion method=30 sec.; Iterated LS =5 min.
Future Work • Our first client is in Hokkaido who has 50 depots in his district. • Although the population density of Hokkaido area is very low, the numberof vending machines is more than 80 thousand. • The number of depots is decreasing, while the number of vending machines is increasing. This means we’ll have to solve muchlarger problems. • The problems in Tokyo (or Osaka) Metropolitan area are much larger. • Apply the VMI to the gas cylinder replenishment problem. (Every gas cylinder in Japan will have to equip a monitoring system by a law.) For this application, each depot may serve 100-300 thousand customers. • The project has just began. Much remains to be done!