Title: Guy Desaulniers
1Vehicle routing for propane delivery
- Guy Desaulniers
- Eric Prescott-Gagnon
- Benoît Bélanger-Roy
- Louis-Martin Rousseau
- Ecole Polytechnique, Montréal
2Overview
- Context
- Problem statement and literature
- MIP-based heuristic
- Large neighborhood search heuristics
- Some computational results
- Future work
3Context (1)
- Ongoing research with Info-Sys Solutions Inc.
- Develops software solutions
- Information systems
- Different applications for propane distributors
- Customer accounts
- Automatic billing upon delivery
- Inventory forecasting
- Wants to develop a vehicle routing application
- Not familiar with OR ? no sophisticated tools
such as column generation or Cplex - No real-life data yet!
4Context (2)
- Propane distributor to residential and commercial
customers - One product (propane)
- Vendor-managed inventory at customers
- Distributor wants to determine vehicle delivery
routes for the next day T - Mandatory customers (safety level reached on day
T1) must be serviced on day T - Optional customers (safety level reached on
subsequent days T2 or T3) can be serviced on
day T if feasible and profitable - For planning, we assume known quantities to
deliver
5Context (3)
- Customer opening hours (time windows)
- One or several depots
- Predetermined driver shifts assigned to depots
- Routes must fit into these shifts
- Replenishment stations (certain depots and
others) - Possible en-route replenishments
6Problem statement (1)
- Given
- a day T
- a set of mandatory customers, each with
- known demand
- time windows
- service time
- a set of optional customers, each with
- known demand
- time windows
- service time
- an estimated cost saving if not serviced on day
T1 or T2
7Problem statement (2)
- set of depots
- a set of identical vehicles
- limited capacity
- fixed cost per day
- variable cost per mile
- each assigned to a depot
- a set of driver shifts, each
- with fixed start and end times
- with a fixed cost
- assigned to a depot
- with an available vehicle
8Problem statement (3)
- set of replenishment stations (certain depots and
others) - replenishment time per visit
- travel time matrix between each pair of locations
- travel cost matrix between each pair of locations
9Problem statement (4)
- Find at most one vehicle route for each driver
shift - such that
- each route starts and ends at the depot
associated with the driver - each route respects
- time windows of visited customers
- vehicle capacity including, if needed, visits to
replenishment stations
10Problem statement (5)
- each mandatory customer is serviced exactly once
- full delivery
- each optional customer is serviced at most once
- full delivery
- the objectives are
- minimize the number of vehicles (fixed cost)
- minimize the number of drivers (fixed cost)
- minimize total travel costs
11Literature (1)
- Survey on propane delivery by Dror (2005)
- Stochastic inventory routing problem
- Multi-period (no optional customers)
- 8 to 10 customers per route
- No replenishment stations, driver shifts, time
windows - Stochastic model
- Federgruen and Zipkin (1984), Dror and Ball
(1987), - Dror and Trudeau (1988), Trudeau and Dror (1992)
- Markov decision process model
- Kleywegt et al. (2002, 2004)
- Adelman (2003, 2004)
12Literature (2)
- Petrol stations replenishment
- Multiple products
- Multiple tank vehicles
- 1 to 3 customers per route
- No replenishment stations, driver shifts,
optional customers - Cornillier et al. (2008), Avella et al. (2004)
- One period, exact and heuristic
- Cornillier et al. (2008)
- Multi-period (2 to 5 days), heuristic
- Cornillier et al. (2009)
- One period, time windows, heuristic
13Overview
- Context
- Problem statement and literature
- MIP-based heuristic
- Large neighborhood search heuristics
- Some computational results
- Future work
13
14Mathematical model (1)
- D set of all drivers
- R set of all routes feasible for driver d,
must respect - driver shift
- customer time windows
- vehicle capacity (with replenishments if
necessary) - start and end at the driver depot
- c cost of route r which includes
- driver fixed cost
- travel cost
- a equal to 1 if route r visits customer i, 0
otherwise
d
r
ri
15Mathematical model (2)
- M set of all mandatory customers
- O set of all optional customers
- s estimated cost saving if servicing optional
customer i, which is computed as - an average of the detours incurred for servicing
it in between neighbor customers on the day it
should become mandatory - H set of time points (start and end times of
shifts) where we count the number of vehicles used
i
16Mathematical model (3)
d
- Y binary variable equal to 1 if route r is
assigned to driver d and 0 otherwise - E binary slack variable equal to 1 if
optional customer i is not serviced and 0
otherwise - V integer variable counting the number of
vehicles used
r
i
17Mathematical model (4)
18MIP-based heuristic
- Model (1)-(6) requires the enumeration of all
feasible routes for all drivers - Impractical for real-life instances
- We limit route enumeration and solve the
restricted model (1)-(6) using the Cplex MIP
solver
19Route enumeration (1)
- For each customer, find the nearest neighbor
customers (2 or 3) - For each customer, find the nearest replenishment
stations (1 or 2) - For each station, find the nearest customers (10
to 15) - For each customer, insert it into the neighbor
list of its nearest stations
20Route enumeration (2)
- For each driver, enumerate all feasible routes
that respect - location i can be visited after location j if i
belongs to the neighbor list of j - a replenishment station cannot be visited unless
the vehicle is less than half full - For all customers that belong to less than 10
routes, create additional routes by inserting the
customer into existing routes
21Overview
- Context
- Problem statement and literature
- MIP-based heuristic
- Large neighborhood search heuristics
- Some computational results
- Future work
21
22Large neighborhood search (1)
23Large neighborhood search (2)
- Iterative method
- Current solution
24Large neighborhood search (3)
- Iterative method
- Current solution
- Destruction
25Large neighborhood search (4)
- Iterative method
- Current solution
- Destruction
26Large neighborhood search (5)
- Iterative method
- Current solution
- Destruction
- Reconstruction
27Large neighborhood search (6)
28LNS heuristics
- Initial solution
- Destruction
- A roulette-wheel selection of four operators
- Reconstruction
- MIP-based heuristic (LNS-MIP) or
- Tabu search heuristic (LNS-Tabu)
- Stopping criterion maximum number of iterations
29Initial solution
- Greedy algorithm
- For each driver shift
- Build a route starting from the beginning of the
shift - Select the mandatory customer that can be reached
at the earliest - Add this customer to the route if enough capacity
and it is possible to return to the depot before
the shift end time - Insert a replenishment to the nearest station
when necessary - Return to the beginning of the loop (next
customer) - No optional customers are serviced
30Destruction
- Fixed number of customers to remove
- Neighborhood operators based on
- Proximity
- Longest detour
- Time
- Random
- Roulette-wheel selection based on performance
31Proximity operator (Shaw, 1998)
- Select randomly a customer i
- Order the remaining customers according to their
proximity (in distance) to i - Select randomly a new customer i favoring those
having a greater proximity - Select each subsequent customer according to its
proximity to an already selected customer, which
is chosen at random
32- Select randomly customers, favoring those
generating longer detours
33Time operator
- Select randomly a specific time
- Select customers whose possible visiting time is
closest to selected time
34Random operator
- Select the customers to remove at random
35- Each operator i has an associated value pi
- If operator i finds a better solution pi pi1
- Probability of choosing operator i pi / Sjpj
- pi values are reset to 5 every 100 iterations
36Reconstruction with MIP
- Fix parts of the current solution
- Enumerate routes using the neighbor lists and
respecting the fixed parts of the solution - Solve the resulting MIP using Cplex
36
37Reconstruction with tabu (1)
- Fix parts of the current solution
- Fixed parts are treated as aggregated customers
- Replenishments are always unfixed
- Use a tabu search heuristic
- Seven different move types
- Tabu list
- Infeasibility w.r.t. time windows and vehicle
capacity allowed
37
38Reconstruction with tabu (2)
- Move types
- Move a customer from one route to another
- Remove an optional customer from a route
- Insert an optional customer into a route
- Insert a visit to a replenishment station into a
route - Remove a visit to a replenishment station from a
route - Change the location of a replenishment
- Exchange the routes of two drivers
- All applied at each iteration
38
39Overview
- Context
- Problem statement and literature
- MIP-based heuristic
- Large neighborhood search heuristics
- Some computational results
- Future work
39
40Randomly generated instances
- 1 depot, 8-hour driver shifts for all instances
- Two different sizes (5 instances for each)
- 45 customers 25 mandatory and 20 optional
(small) - average of 3.3 drivers used
- average of 8.9 optional customers serviced
- average of 10.4 customers per route
- 250 customers 150 mandatory and 100 optional
(medium) - average of 5.5 drivers used
- average of 22.9 optional customers serviced
- average of 31.4 customers per route
- 5 runs for each instance
41LNS-MIP vs LNS-TABU (1)
- Small instances (45 customers)
- 10 customers removed per LNS iteration
- 2000 tabu search iterations per LNS iteration
- Comparison of the performance of MIP vs Tabu for
same neighborhoods - Percentage of improvement w.r.t. to current
solution value
42LNS-MIP vs LNS-TABU (2)
43LNS-MIP vs LNS-TABU (3)
- Small instances (45 customers)
- 10 customers removed per LNS iteration
- 2000 tabu search iterations per LNS iteration
44LNS-Tabu No. of customers removed (1)
- Medium-sized instances (250 customers)
- 400 LNS iterations
- 2000 tabu search iterations per LNS iteration
- Tabu list length 25 of no. of customers
removed - Varying number of customers removed per LNS
iteration
45LNS-Tabu No. of customers removed (2)
46LNS-Tabu No. of LNS iterations (1)
- Medium-sized instances (250 customers)
- 80 customers removed per LNS iteration
- Fixed total of tabu search iterations 800,000
- Tabu list length 20
- Varying number of LNS iterations
- Approx. 580 seconds
47LNS-Tabu No. of LNS iterations (2)
48LNS-Tabu No. of customers (1)
- Instances with varying number of customers
(150-450) - 40 of optional customers
- 80 customers removed per LNS iteration
- 400 LNS iterations
- 2000 tabu search iterations per LNS iteration
- Tabu list length 20
49LNS-Tabu No. of customers (2)
50Overview
- Context
- Problem statement
- MIP-based heuristic
- Large neighborhood search heuristics
- Some computational results
- Future work
50
51Future work
- Perform tests on real-life instances
- Improve LNS-Tabu
- Develop a two-phase method
- Minimize number of vehicles and drivers in the
first phase - Minimize total travel costs in the second phase
- Develop LNS-column generation
- Generalize to oil products
- Multiple products
- Heterogeneous fleet of vehicles
- Vehicles with several compartments
52Questions ?
53Tabu search heuristic alone
Medium-sized instances, 800,000 tabu search
iterations