Upload
duongcong
View
222
Download
1
Embed Size (px)
Citation preview
Inventory Routing
Course: Optimization problems in production planning
Simon SpoorendonkDIKU, University of Copenhagen
September 21st, 2006
With help from:
Slides of Savelsbergh at VRP Summer School in Montreal 2006.
http://neumann.hec.ca/chairedistributique/en/school2006_en.shtml
1
2
Overview
• Motivation
• Problem Description
• Deterministic [Campbell and Savelsbergh (2004)]
• Stochastic [Kleywegt et al. (2002,2004)]
• Results
Course: Optimization problems in production planning Spoorendonk, DIKU
3
Motivation
Industries with replenishing goods:
• Petrochemical Industry, e.g. oil, gas
• Suppliers for supermarkets
• Department store chains, e.g. Walmart
• Automotive industry, e.g. parts distribution
Combines:
• Inventory Management
• Vehicle Routing
Course: Optimization problems in production planning Spoorendonk, DIKU
4
Conventional Inventory Management
Customer:
• Monitors inventory levels
• Places orders
Vendor:
• Manufactures/purchases product
• Assembles orders
• Load vehicles
• Routes deliveries
• Makes deliveries
Problems:
• Large variation in demands, production, and transportation
• Workload balancing
• Utilization of resources
• Unnecessary transportation costs
• Urgent vs. nonurgent orders
• Setting priorities
Course: Optimization problems in production planning Spoorendonk, DIKU
5
Vendor Managed Inventory (VMI)
Customer:
• Trust vendor to manage the inventory
Vendor:
• Monitor customer’s inventory
• Controls inventory replenishment and decides
– When to deliver
– How much to deliver
– How to deliver
VMI transfers inventory (and possible ownership) from customer
to supplier.
VMI synchronizes the supply chain through the process of col-
laborative order fulfillment.
Course: Optimization problems in production planning Spoorendonk, DIKU
6
Advantages of VMI
Customer:
• Less resources for inventory management
• Assurance that product will be available when required
Vendor:
• More freedom in when and how to manufacture product and
make deliveries
• Better coordination of inventory levels at different customers
• Better coordination of deliveries to decrease transportation
costs.
Course: Optimization problems in production planning Spoorendonk, DIKU
7
Inventory Routing
• Decide when to deliver to a customer
• Decide how much to deliver to a customer
• Decide on the delivery routes
Course: Optimization problems in production planning Spoorendonk, DIKU
8
Problem Setting
Single plant:
• Single facility
• Single product
• Set of customers
• Set of homogeneous vehicles
Each customer:
• Storage capacity
• Initial inventory
• Product usage rate or
• Probability distribution of product usage
Shipping policy:
• Zero inventory ordering
• Frequency based periodic shipping
• Deterministic order-up-to level
Objective:
• Minimize distribution costs without causing stock-out on fi-
nite time horizon or
• Maximize the expected total discounted value (rewards mi-
nus cost) over an infinite time horizon
Course: Optimization problems in production planning Spoorendonk, DIKU
9
Zero inventory ordering
A shipment is performed when inventory level of the product
reaches zero
• Minimum intershipment times
• Single frequency
• Continuous time between shipments
Frequency Based Periodic Shipment
• Minimum intershipment times
• One or more frequencies
• Integer time between shipments
Course: Optimization problems in production planning Spoorendonk, DIKU
10
Deterministic order-up-to Level
• Minimum and maximum inventory level at each customer
• Plant determine set of delivery times
• At each shipment the quantity delivered is so that the max-
imum inventory level is reached
Course: Optimization problems in production planning Spoorendonk, DIKU
12
Deterministic Solution Method
From [Campbell and Savelsbergh (2004)]
Based on average product usage
2-phase Decomposition Approach
• Phase I: Planning (integer programming)
Determine which customers should receive a delivery on each
day of the planning and how much.
• Phase II: Scheduling (meta heuristic)
Create the precise delivery routes for each day.
Rolling horizon approach - execute j of a k-day plan
Decisions:
• When to serve a customer
• How much to deliver when serving
• Which delivery route to use
Course: Optimization problems in production planning Spoorendonk, DIKU
13
Phase I: Planning
Notation recap:
N is customers
T is planning horizon
ui is consumption rate at i
Ci is inventory capacity at i
I0i is start inventory at i
M homogeneous vehicles
Q is capacity of vehicles
R is delivery routes
Tr is delivery time of route r
dti is demand of i at time t
xtr indicates the use of route r at time t
dtir amount delivered to i on r to time t
cr is cost of r calculated as a TSP
Course: Optimization problems in production planning Spoorendonk, DIKU
16
Improve efficiency
Reduce number of delivery routes.
Clustering:
• Only customers in same cluster can be on same route
• Finding a good cluster:
1. Generate a large set of possible clusters based on distance
and size of delivery
2. Estimate the cost of serving each cluster. Depends on
location, consumption rate, and demand
3. solve a set partitioning problem to select cluster
• Done as preprocessing
Reducing customer sets:
• Critical customers, huge impact on scheduling
• Impending customers, require delivery soon
• Balance customers, added to balance routes including critical
or impending customers
Aggregation/Relaxation:
• Higher quality in beginning. Consider weeks instead of days
at end of planning period.
Course: Optimization problems in production planning Spoorendonk, DIKU
17
Phase II: Scheduling
Solve a VRPTW for each day.
Problem: Inflexible solutions.
Suggestion: j days insertion heuristic for scheduling routes.
Input for next j days:
• List of customers
• list of recommended delivery amounts
Output for next j days for each vehicle:
• Start time
• Sequence of deliveries
• Arrival time at each customer
• Actual delivery amount at each customer
Course: Optimization problems in production planning Spoorendonk, DIKU
18
Insertions
To keep low-order polynomial running time keep track of:
• Min and max delivery time for i
• Min and max delivery amount for i
Insertion score depends on several components:
1. Increased travel time
2. Forced waiting time due to delivery windows
3. Inflexible routes, e.g. small difference between delivery times
4. Inserting customers that are capable to be served by a full
truck load
Low scores are good.
Course: Optimization problems in production planning Spoorendonk, DIKU
19
Selection
• Check feasibility at each iteration
• Keep to lowest scores per delivery
• Always consider to put delivery on own route
Prioritize orders to avoid impossible insertions:
High Deliveries that must take place during the first j days
Low All other deliveries
Selection rules
1. If there are deliveries that cannot be inserted into a existing
route. Select the delivery with the most expensive route for
itself.
(Most expensive for itself leads to least expensive for other
uninserted.)
2. If all deliveries can be inserted into some route. Select the
delivery with largest difference between its two scores.
(Minimizing maximum regret.)
Embedded in a GRASP framework.
Course: Optimization problems in production planning Spoorendonk, DIKU
20
Results
Praxair
• transports liquid gas, e.g. oxygen, hydrogen, nitrogen
• 60 production facilities
• 10.000 customers
Examples:
1. 100 customers
2. 50 customers
Phase 1: enhancements
Course: Optimization problems in production planning Spoorendonk, DIKU
21
Phase II: Flexibility
Plant 1:
Plant 2:
Overall
Plant 1:
Plant 2:
Course: Optimization problems in production planning Spoorendonk, DIKU
22
Stochastic Solution Method
From [Kleywegt et al. (2002,2004)]
Based on probability distribution of product usage
Topics
• Formulated as a Markov Decision Process model
• Approximated with dynamic programming
Direct deliveries only, i.e., one vehicle per route.
Maximizing expected discounted value over an infinite time hori-
zon.
Notation:
cij cost of edge (i, j)
di amount delivered
ri(di) reward gained for delivery
si shortage
pi(si) penalty for shortage
xi amount in inventory
hi(xi + di) holding inventory cost
Course: Optimization problems in production planning Spoorendonk, DIKU
23
Markov Decision Process (MDP)
Models decision making in situations where outcome is partly
under random and partly under decision makers control.
• MDP is a discrete time stochastic control process character-
ized by states
• In each state the decision maker must choose between several
actions
• A transition function determines the transition probabilities
to the next state
• Each state possess the Markov property which means that is
state s of an MDP is known the transition to the next state
s + 1 is independent of previous states
Used for
• solving optimization problems with dynamic programming
• reinforcement learning
Areas
• robotics
• automated control
• economics
• manufacturing
Course: Optimization problems in production planning Spoorendonk, DIKU
24
Formulating as an MDP
1. State x is inventory at customers. Xnt ∈ [0, Cn] is inventory
at n in t. Xt = (X1t, . . . , XNt) ∈ X state at t
2. Action space A(x). Satisfy capacities for all set of routes
a ∈ At at time t.
• kij(a) number of time (i, j) is used by a
• dn(a) amount delivers to n on a
• Xnt + dn(At) ≤ Cn
3. Unt is demand at n in t
• amount used: min{Xnt + dn(At), Unt}
• shortage: Snt = max{Unt − (Xnt + dn(At)), 0}
• next inventory level: Xnt+1 = max{Xnt+dn(At)−Unt, 0}
• Probability distribution F
• Transition function Q
• Subset of states: B ⊆ X
• Probability function
P [Xnt+t ∈ B : Xt = x, At = a] = Q[B : x, a]
≡ F [U : max{xn + dn(a) − Un} ∈ B]
4. Net reward
g(x, a) ≡∑N
i=1 ri(di(a))− (rewards)∑
(i,j) cijkij(a)− (transportation cost)∑N
i=1 hi(xi + di(a))− (inventory holding cost)∑N
i=1 EF [pi(max{Ui0−(xi+di(a)), 0)})] (expected shortage)
Course: Optimization problems in production planning Spoorendonk, DIKU
25
5. Objective function.
• Π policies depending on history up to t
• α ∈ [0, 1) discount factor
• Optimal value
V ∗(x) ≡ supπ∈Π
EF
[
∞∑
t=0
αtg(Xt, At) : X0 = 0
]
Stationary deterministic policy π proscribes decision π(x) ∈
A(x).
V π(x) ≡ EF
[
∞∑
t=0
αtg(Xt, π(Xt)) : X0 = 0
]
= g(x, π(X)) + α
∫
X
V π(y)Q[dy : x, π(x)]
Last is standard result in dynamic programming!
It suffices to consider stationary deterministic policies ΠSD.
V ∗(x) = supπ∈ΠSD
V π(x)
V ∗(x) = supπ∈ΠSD
V π(x
= supa∈A(x)
{
g(x, a) + α
∫
X
V ∗(y)Q[dy : x, a]
}
(1)
Course: Optimization problems in production planning Spoorendonk, DIKU
26
Solving The MDP
Recall:
V ∗(x) = supa∈A(x)
{
g(x, a) + α
∫
X
V ∗(y)Q[dy : x, a]
}
(1)
Determine optimal value V ∗ for optimal policy π∗.
1. Estimate V ∗ (lhs and rhs of (1)). Successive approximations
of V ∗(x) for x ∈ X (exponential size)
2. Estimate expected value (rhs of (1)). High dimensional inte-
gral. (dimensions equal number of customers)
3. Determine optimal action for each state. Solve maximization
problems (an IRP)
Shortcuts with Direct Deliveries
• Action space A(x) much smaller due to one customer per
route.
• Transportation cost per customer not on edges, i.e. cn and
kn(an) be the visits to n using a. Transportation cost is:
N∑
i=1
ciki(a)
Problem is still hard
Course: Optimization problems in production planning Spoorendonk, DIKU
27
Approximating the Value Function
Motivating observation:
• Net reward: g(x, a) =∑N
n=1 gn(xn, an)
• Probable inventory level function: qn(yn, kn : xn, dn), i.e.
probability that inventory is yn with kn visits given inventory
level xn and delivered amount dn the day before.
Decompose into customer subproblems:
1. State (xn, kn)
2. Action A(xn, kn) constrained by vehicle and inventory ca-
pacity
3. Transition properties
P [(Xnt+1, Knt+1) = (yn, ln) : (Xnt, Knt) = (xn, kn), Ant = an] =
qn(yn, kn : xn, dn(an))
4. Net reward gn(xn, an)
5. Objective is to maximize
V ∗(xn, kn) = sup{Ant}
∞t=0
E
[
∞∑
t=0
αtgn(Xnt, Ant) : (Xno, Kn0) = (xn, k0)
]
Course: Optimization problems in production planning Spoorendonk, DIKU
28
Approximating the Value Function
Optimal values V ∗(xn, kn) computable due to reduced state space.
Approximate V (x) is solved as a nonlinear knapsack problem.
When not direct delivery: Maximum Weight Perfect Matching
Problem
Course: Optimization problems in production planning Spoorendonk, DIKU
29
Estimation of the Expected Value andOptimal Action
Randomized algorithm to estimate expected value of an action.
[Nelson-Matecjik]
Many possible actions. Computational inefficient to con-
sider all actions.
Greedy algorithm to identify good actions for all states.
Speed ups
Use parametric functions when approximating value function.
Random sampling and variance reduction techniques when esti-
mating integral.
Course: Optimization problems in production planning Spoorendonk, DIKU
30
Results
Policies to assign vehicles:
CBW [Chien, Balakrishnan and Wong] IP to make single-day
plans. Long term effect passed to next day.
Myopic Greedily assigns vehicles to customers.
KNS1 Decomposition approximation
KNS2 Parametric decomposition approximation
Conclusions
• KNS2 performs best but gains less when instances grow in
size
• Dynamic Programming Approximate methods are viable
Course: Optimization problems in production planning Spoorendonk, DIKU