A hybrid heuristic for an inventory routing problem C.Archetti, L.Bertazzi, M.G. Speranza University of Brescia, Italy A.Hertz Ecole Polytechnique and GERAD, Montréal, Canada DOMinant 2009, Molde, September 20-23
The literature Surveys Federgruen, 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), Interfaces Federgruen, Zipkin (1984), Operations Research Golden, Assad, Dahl (1984), Large Scale Systems Blumenfeld et al (1985), Transportation Research B Dror, 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 Research Savelsbergh, 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 Research Chan, Simchi-Levi (1998), Management Sci. Bertazzi, Paletta, Speranza (2002), Transp. Sci. Archetti et al (2007), Transp. Sci. …… 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 Research Boudia, Prins (2007), EJOR Boudia, Louly, Prins (2008), Production Planning and Control
The problem n customers H time units 1 vehicle Demand of s at t Availability at t 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-out No lost sales
Replenishment policies Order-Up-to Level (OU) Maximum Level (ML) Constraints on the quantities to deliver
Time Inventory at customer s UsUs Maximum level Initial level 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 UsUs
Basic decision variables
Problem formulation Stock-out constraints at the supplier Inventory definition at the supplier
Stock-out constraints at the customers Inventory definition at the customers Capacity constraints
Order-up-to level constraints The quantity shipped to s at time t is Maximum level constraints
Routing constraints
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 generated by the local search Design of a tabu search Design of a hybrid heuristic (tabu search +MILP models) Often large errors, rarely optimal Sometimes large 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 improvements Jump 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 terms Moves for each customer: Removal of a day Move of a day Insertion of a day Swap with another customer After the moves: Reduce infeasibility Reduce 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 t removal of customer s from route r Continuous variables: quantity to customer s at time t inventory level of customer s at time t inventory 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 constraints OU policy defining constraints Vehicle capacity constraints Each route can be assigned to one day at most Technical 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 1Day 2Day 3 Day 6Day 5 Day 4 Incumbent solution The optimal route assignment Node removed Unused
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 t insertion of customer s into time t Continuous variables: quantity to customer s at time t inventory level of customer s at time t inventory 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 constraints OU policy defining constraints Vehicle capacity constraints Each route can be assigned to one day at most Technical 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
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
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
Hybrid vs tabu – OU policy
Hybrid vs tabu – ML policy
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