PowerPoint プレゼンテーション

Download Report

Transcript PowerPoint プレゼンテーション

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
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.
Drink
Food
Tabacco
Ticket
goods
services
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
POS (Point-Of-Sales) Vending System
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
Forecasting
Module
Movement
Table
GIS
Module
IVRP Solver
Module
Route
Table
Customer
Table
Product
Table
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.
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
GIS
Module
Customer
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
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.
Product
Table
Forecasting
Module
Customer
Table
The forecasting module computes future demand
forecasts using historical demand data and campaign
information.
IVRP Solver
Module
Route
Table
Product
Customer
Table Movement Truck Depot Table
Table Table 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 CaseConsider 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
improve that 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 it and jt.
Step 6. Repeat Step 2 through Step 5 until all the customers are inserted.
...
Depot
Day 1
Day 2
Day 3
Day 4
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 Kdimensional 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.
A
D E
F GH J
I
B
C
K
cutdim=X
cutval= X(N)
cutdim=Y
cutval=Y(B)
cutdim=Y
cutval=Y(F)
M
P
O N
L
ABDECPON FGJK HIML
Cross-opt
depot a
c
d
depot
b
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|.
(0,1)-opt neighborhood search using FRNN
centered at customer a with radius |ba|+|ac|.
depot
c
b
a
depot
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 crossopting 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
LA
i
j
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.
# of Routes
#
%
Insertion+Iterated 15
Local Search
60%
Current (manual) 25
solution
100%
Travel Time
# of stockouts
Time
%
4604.75
12
63%
7297.35
100%
more than 57
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 number
of 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 much
larger 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!