a hybrid heuristic for an inventory routing problem c.archetti, l.bertazzi, m.g. speranza university...
Post on 22-Dec-2015
219 views
TRANSCRIPT
A hybrid heuristic for an inventory routing problem
C.Archetti, L.Bertazzi, M.G. SperanzaUniversity of Brescia, Italy
A.HertzEcole Polytechnique and GERAD, Montréal, Canada
DOMinant 2009, Molde, September 20-23
The literature
•SurveysFedergruen, Simchi-Levi (1995), in ‘Handbooks in Operations Research and Management Science’Campbell et al (1998), in ‘Fleet Management and Logistics’Cordeau et al (2007) in ‘Handbooks in Operations Research and Management Science: Transportation’Bertazzi, Savelsbergh, Speranza (2008) in ‘The vehicle routing
problem...’, Golden, Raghavan, Wasil (eds)
•Pioneering papers
Bell et al (1983), InterfacesFedergruen, Zipkin (1984), Operations ResearchGolden, Assad, Dahl (1984), Large Scale SystemsBlumenfeld et al (1985), Transportation Research BDror, Ball, Golden (1985), Annals of Operations Research……
• Deterministic product usage - no inventory holding costs in the objective function
Jaillet et al (2002), Transp. Sci.Campbell, Savelsbergh (2004), Transp. Sci.Gaur, Fisher (2004), Operations ResearchSavelsbergh, Song (2006), Computers and Operations
Research ……
• Deterministic product usage - inventory holding costs in the objective function
Anily, Federgruen (1990), Management Sci.Speranza, Ukovich (1994), Operations ResearchChan, Simchi-Levi (1998), Management Sci. Bertazzi, Paletta, Speranza (2002), Transp. Sci. Archetti et al (2007), Transp. Sci.
……
The literature
The literature
• Deterministic product usage - inventory holding costs in the objective function – production decision
Bertazzi, Paletta, Speranza (2005), Journal of Heuristics Archetti, Bertazzi, Paletta, Speranza , forthcoming
Boudia, Louly, Prins (2007), Computers and Operations ResearchBoudia, Prins (2007), EJORBoudia, Louly, Prins (2008), Production Planning and Control
The problem
0
1
2
3
n customersH time units1 vehicle tr0
str Demand of s at t
Availability at t
sU Capacity of s
How much to deliver to s at time t
to minimize routing costs + inventory costs
Data
+ initial inventory+ travelling costs+ inventory costs+ vehicle capacity
No stock-outNo lost sales
Replenishment policies
Order-Up-to Level (OU)
Maximum Level (ML)
0
1
2
3
Constraints on the quantities to deliver
Time
Inventory at customer s
UsMaximum
level
Initiallevel
Order-Up-to level policy (OU)
The Maximum Level policy (ML)
Every time a customer is visited, the shipping quantity is such that at most the maximum level is reached
Us
otherwise 0
at time traveledis arc theif 1
t(i,j)
y tij
Basic decision variables
tsxst at time customer toshipped 0)(quantity :
otherwise 0
at time visitedis
supplier)or (customer ' node if 1
t
Mi
zit
TtxBMsstt
TtxB
Msstt
Problem formulation
• Stock-out constraints at the supplier
• Inventory definition at the supplier
'1101 TtxrBBMs
stttt
'1101 TtxrBB
Msstttt
Ms Mi ijMj Tt
tijij
Ttsts
Ttt ycIhBh
' ,'''0min
Ms Mi ijMj Tt
tijij
Ttsts
Ttt ycIhBh
' ,'''0min
', 0 TtMsIst ', 0 TtMsIst
• Stock-out constraints at the customers
• Inventory definition at the customers
',111 TtMsrxII stststst ',111 TtMsrxII stststst
TtCxMsst
TtCx
Msst
• Capacity constraints
• Order-up-to level constraints
TtMszUx
TtMsIUx
TtMsIzUx
stsst
stsst
ststsst
TtMszUx
TtMsIUx
TtMsIzUx
stsst
stsst
ststsst
The quantity shipped to s at time t is
sts IU
0
Maximum level constraints
• Routing constraints
TtCzx tMs
st
0TtCzx t
Msst
0
TtMizyy itijMj
t
ijMj
tjiij
,'2,','
TtMizyy itijMj
t
ijMj
tjiij
,'2,','
SkTtMSzzy ktSiit
Si ijSj
tij
,,
,
SkTtMSzzy ktSiit
Si ijSj
tij
,,
,
Known algorithms
• A heuristic (for the OU policy)
Bertazzi, Paletta, Speranza (2002), Transp. Science
• A branch-and-cut algorithm (for the OU and for the ML policies)
Archetti, Bertazzi, Laporte, Speranza (2007), Transp. Science
Local search
Very fast
Error?
Instances up to
H=3, n=50
H=6, n=30
History of the hybrid heuristic design
Exact approach allowed us to compute errors generatedby the local search
Design of a tabu search
Design of a hybrid heuristic(tabu search +MILP models)
Often large errors, rarely optimal
Sometimeslarge errors, sometimes optimal
Excellent results
HAIR (Hybrid Algorithm for Inventory Routing)
Initialize generates initial solution
A Tabu search is run
Whenever a new best solution is found Improvements is run
Every JumpIter iterations without improvementsJump is run
OU policy - Initialize
Each customer is served as late as possible
Initial solution may be infeasible(violation of vehicle capacity
or stock-out at the supplier)
OU policy – Tabu search
Search space: feasible solutions infeasible solutions
(violation of vehicle capacity or stock-out at the supplier)
Solution value: total cost + two penalty termsMoves for each customer:
Removal of a dayMove of a dayInsertion of a daySwap with another customer
After the moves:Reduce infeasibilityReduce costs
Route assignment
Goal: to find an optimal assignment of routes to days optimizing the quantities delivered at the same time. Removal of customers is allowed.
OU policy – Improvements – MILP 1
Optimal solution of a MILP model
The route assignment model
OU policy – Improvements – MILP 1
Binary variables:assignment of route r to time tremoval of customer s from route r
Continuous variables: quantity to customer s at time tinventory level of customer s at time tinventory level of the supplier at time t
The route assignment model
OU policy – Improvements – MILP 1
Min inventory costs – saving for removals
s.t.
Stock-out constraintsOU policy defining constraintsVehicle capacity constraints
Each route can be assigned to one day at mostTechnical constraints on possibility to serve or remove a customer
# of binary variables: (n+H)*(# of routes)+n*H NP-hard
OU policy – Improvements – MILP 1
Day 1 Day 2 Day 3 Day 6Day 5Day 4
Incumbent solution
The optimal route assignment
Node removedUnused
Customer assignment
Objective: to improve the incumbent solution by merging a pair of consecutive routes. Removal of customers from routes, insertion of customers into routes and quantities delivered are optimized.
OU policy – Improvements – MILP 2
Optimal solution of a MILP model
For each merging and possible assignment day of the merged route a MILP is solved
The customer assignment model
OU policy – Improvements – MILP 2
Binary variables:removal of customer s from time tinsertion of customer s into time t
Continuous variables: quantity to customer s at time tinventory level of customer s at time tinventory level of the supplier at time t
The customer assignment model
OU policy – Improvements – MILP 2
Min inventory costs + insertion costs – saving for removals
s.t.
Stock-out constraintsOU policy defining constraintsVehicle capacity constraints
Each route can be assigned to one day at mostTechnical constraints on possibility to insert or remove a customer
# of binary variables: n*H NP-hard
OU policy - Jump
After a certain number of iterations without improvements a jump is made.
Jump: move customers from days where they are typically visited to days where they are typically not visited.
(In our experiments a jump is made only once)
The hybrid heuristic for the ML policy
The ML policy is more flexible than the OU policy
The entire hybrid heuristic has been adapted
160 benchmark instances from Archetti et al (2007), TS
Known optimal solution
• H = 3, n = 5,10, …., 50• H = 6, n = 5,10, …., 30• Inventory costs low, high
Tested instances
Summary of results
% error max % error % error max % error number ofHorizon Policy Inv. cost BPS BPS optima
H=3 OU low 0.07 0.87 4.10 14.52 40/50high 0.05 0.83 1.94 7.81 38/50
H=6 OU low 0.14 1.84 3.51 9.50 21/30high 0.08 0.55 1.70 5.01 18/30
H=3 ML low 0.00 0.02 N.A. N.A. 49/50high 0.00 0.07 N.A. N.A. 49/50
H=6 ML low 0.12 1.17 N.A. N.A. 12/30
high 0.17 0.76 N.A. N.A. 11/30
Summary of results
% error max % error % error max % error number ofHorizon Policy Inv. cost BPS BPS optima
H=3 OU low 0.07 0.87 4.10 14.52 40/50high 0.05 0.83 1.94 7.81 38/50
H=6 OU low 0.14 1.84 3.51 9.50 21/30high 0.08 0.55 1.70 5.01 18/30
H=3 ML low 0.00 0.02 N.A. N.A. 49/50high 0.00 0.07 N.A. N.A. 49/50
H=6 ML low 0.12 1.17 N.A. N.A. 12/30
high 0.17 0.76 N.A. N.A. 11/30
Summary of results
% error max % error % error max % error number ofHorizon Policy Inv. cost BPS BPS optima
H=3 OU low 0.07 0.87 4.10 14.52 40/50high 0.05 0.83 1.94 7.81 38/50
H=6 OU low 0.14 1.84 3.51 9.50 21/30high 0.08 0.55 1.70 5.01 18/30
H=3 ML low 0.00 0.02 N.A. N.A. 49/50high 0.00 0.07 N.A. N.A. 49/50
H=6 ML low 0.12 1.17 N.A. N.A. 12/30
high 0.17 0.76 N.A. N.A. 11/30
Large instances
HAIR has been slightly changed:• the improvement procedure is called only if at least 20
iterations were performed since its last application;• the swap move is not considered.
•H = 6•n = 50, 100, 200•Inventory costs: low, high
10 instances for each size for a total of 60 instances
Optimal solution unknown
Summary of results – large instances
Running time for OU: 1 hour
Running time for ML: 30 min
Errors taken with respect to the best solution found
Running time BPS: always less than 3 min
% error max % error % error BPS max % errorHorizon Policy Inv. cost BPS
H=6 OU low 0.14 2.36 4.12 10.30high 0.00 0.05 1.36 3.06
H=6 ML low 0.03 0.40 N.A. N.A.high 0.05 0.78 N.A. N.A.
Summary of results – large instances
% error max % error % error BPS max % errorHorizon Policy Inv. cost BPS
H=6 OU low 0.14 2.36 4.12 10.30high 0.00 0.05 1.36 3.06
H=6 ML low 0.03 0.40 N.A. N.A.high 0.05 0.78 N.A. N.A.
Running time for OU: 1 hour
Running time for ML: 30 min
Errors taken with respect to the best solution found
Running time BPS: always less than 3 min
instance n horizon CPU %error CPU %errorabs1n30.dat 30 6 2365 0,00 8785 2,45abs2n30.dat 30 6 2178 0,35 6612 0,00abs3n30.dat 30 6 3978 0,24 2701 1,07abs4n30.dat 30 6 5063 0,55 6352 0,21abs5n30.dat 30 6 2239 0,09 4556 1,12
HAIR tabu only
Hybrid vs tabu – OU policy
Hybrid vs tabu – ML policy
instance n horizon CPU %error CPU %errorabs1n30.dat 30 6 1922 0,16 2506 1,73abs2n30.dat 30 6 1850 0,61 2125 0,75abs3n30.dat 30 6 2192 0,44 1162 1,47abs4n30.dat 30 6 1952 0,23 3571 0,79abs5n30.dat 30 6 1694 0,21 4428 0,89
HAIR tabu only
• Tabu search combined with MILP models very successful– Use of the power of CPLEX – Ad hoc designed MILP models used to explore in
depth parts of the solution space– It is crucial to find the appropriate MILP models
(models that are needed, models that explore promising parts of the solution space, trade-off between size of search and complexity)
Conclusions