Presentation is loading. Please wait.

Presentation is loading. Please wait.

DOMinant workshop, Molde, September 20-22, 2009

Similar presentations


Presentation on theme: "DOMinant workshop, Molde, September 20-22, 2009"— Presentation transcript:

1 DOMinant workshop, Molde, September 20-22, 2009
Vehicle routing for propane delivery Guy Desaulniers Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau Ecole Polytechnique, Montréal DOMinant workshop, Molde, September 20-22, 2009

2 DOMinant workshop, Molde, September 20-22, 2009
Overview Context Problem statement and literature MIP-based heuristic Large neighborhood search heuristics Some computational results Future work DOMinant workshop, Molde, September 20-22, 2009

3 DOMinant workshop, Molde, September 20-22, 2009
Context (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! DOMinant workshop, Molde, September 20-22, 2009

4 DOMinant workshop, Molde, September 20-22, 2009
Context (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 T+1) must be serviced on day T Optional customers (safety level reached on subsequent days T+2 or T+3) can be serviced on day T if feasible and profitable For planning, we assume known quantities to deliver DOMinant workshop, Molde, September 20-22, 2009

5 DOMinant workshop, Molde, September 20-22, 2009
Context (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 DOMinant workshop, Molde, September 20-22, 2009

6 DOMinant workshop, Molde, September 20-22, 2009
Problem 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 an estimated cost saving if not serviced on day T+1 or T+2 DOMinant workshop, Molde, September 20-22, 2009

7 DOMinant workshop, Molde, September 20-22, 2009
Problem 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 DOMinant workshop, Molde, September 20-22, 2009

8 DOMinant workshop, Molde, September 20-22, 2009
Problem 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 DOMinant workshop, Molde, September 20-22, 2009

9 DOMinant workshop, Molde, September 20-22, 2009
Problem 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 DOMinant workshop, Molde, September 20-22, 2009

10 DOMinant workshop, Molde, September 20-22, 2009
Problem statement (5) each mandatory customer is serviced exactly once full delivery each optional customer is serviced at most once the objectives are minimize the number of vehicles (fixed cost) minimize the number of drivers (fixed cost) minimize total travel costs DOMinant workshop, Molde, September 20-22, 2009

11 DOMinant workshop, Molde, September 20-22, 2009
Literature (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) DOMinant workshop, Molde, September 20-22, 2009

12 DOMinant workshop, Molde, September 20-22, 2009
Literature (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 DOMinant workshop, Molde, September 20-22, 2009

13 DOMinant workshop, Molde, September 20-22, 2009
Overview Context Problem statement and literature MIP-based heuristic Large neighborhood search heuristics Some computational results Future work DOMinant workshop, Molde, September 20-22, 2009 13 13

14 DOMinant workshop, Molde, September 20-22, 2009
Mathematical 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 DOMinant workshop, Molde, September 20-22, 2009

15 DOMinant workshop, Molde, September 20-22, 2009
Mathematical 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 DOMinant workshop, Molde, September 20-22, 2009

16 DOMinant workshop, Molde, September 20-22, 2009
Mathematical 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 DOMinant workshop, Molde, September 20-22, 2009

17 DOMinant workshop, Molde, September 20-22, 2009
Mathematical model (4) DOMinant workshop, Molde, September 20-22, 2009

18 DOMinant workshop, Molde, September 20-22, 2009
MIP-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 DOMinant workshop, Molde, September 20-22, 2009

19 DOMinant workshop, Molde, September 20-22, 2009
Route 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 DOMinant workshop, Molde, September 20-22, 2009

20 DOMinant workshop, Molde, September 20-22, 2009
Route 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 DOMinant workshop, Molde, September 20-22, 2009

21 DOMinant workshop, Molde, September 20-22, 2009
Overview Context Problem statement and literature MIP-based heuristic Large neighborhood search heuristics Some computational results Future work DOMinant workshop, Molde, September 20-22, 2009 21 21

22 DOMinant workshop, Molde, September 20-22, 2009
Large neighborhood search (1) Iterative method DOMinant workshop, Molde, September 20-22, 2009

23 DOMinant workshop, Molde, September 20-22, 2009
Large neighborhood search (2) Iterative method Current solution DOMinant workshop, Molde, September 20-22, 2009

24 DOMinant workshop, Molde, September 20-22, 2009
Large neighborhood search (3) Iterative method Current solution Destruction DOMinant workshop, Molde, September 20-22, 2009

25 DOMinant workshop, Molde, September 20-22, 2009
Large neighborhood search (4) Iterative method Current solution Destruction DOMinant workshop, Molde, September 20-22, 2009

26 DOMinant workshop, Molde, September 20-22, 2009
Large neighborhood search (5) Iterative method Current solution Destruction Reconstruction DOMinant workshop, Molde, September 20-22, 2009

27 DOMinant workshop, Molde, September 20-22, 2009
Large neighborhood search (6) New solution DOMinant workshop, Molde, September 20-22, 2009

28 DOMinant workshop, Molde, September 20-22, 2009
LNS 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 DOMinant workshop, Molde, September 20-22, 2009

29 DOMinant workshop, Molde, September 20-22, 2009
Initial 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 DOMinant workshop, Molde, September 20-22, 2009

30 DOMinant workshop, Molde, September 20-22, 2009
Destruction Fixed number of customers to remove Neighborhood operators based on: Proximity Longest detour Time Random Roulette-wheel selection based on performance DOMinant workshop, Molde, September 20-22, 2009

31 Proximity 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 DOMinant workshop, Molde, September 20-22, 2009

32 DOMinant workshop, Molde, September 20-22, 2009
Select randomly customers, favoring those generating longer detours DOMinant workshop, Molde, September 20-22, 2009

33 DOMinant workshop, Molde, September 20-22, 2009
Time operator Select randomly a specific time Select customers whose possible visiting time is closest to selected time DOMinant workshop, Molde, September 20-22, 2009

34 DOMinant workshop, Molde, September 20-22, 2009
Random operator Select the customers to remove at random DOMinant workshop, Molde, September 20-22, 2009

35 DOMinant workshop, Molde, September 20-22, 2009
Each operator i has an associated value πi If operator i finds a better solution: πi= πi+1 Probability of choosing operator i = πi / Σjπj πi values are reset to 5 every 100 iterations DOMinant workshop, Molde, September 20-22, 2009

36 Reconstruction 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 DOMinant workshop, Molde, September 20-22, 2009 36

37 Reconstruction 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 DOMinant workshop, Molde, September 20-22, 2009 37

38 Reconstruction 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 DOMinant workshop, Molde, September 20-22, 2009 38

39 DOMinant workshop, Molde, September 20-22, 2009
Overview Context Problem statement and literature MIP-based heuristic Large neighborhood search heuristics Some computational results Future work DOMinant workshop, Molde, September 20-22, 2009 39 39

40 Randomly 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 DOMinant workshop, Molde, September 20-22, 2009

41 LNS-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

42 LNS-MIP vs LNS-TABU (2)

43 LNS-MIP vs LNS-TABU (3) Small instances (45 customers)
10 customers removed per LNS iteration 2000 tabu search iterations per LNS iteration

44 LNS-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 DOMinant workshop, Molde, September 20-22, 2009

45 LNS-Tabu: No. of customers removed (2)
DOMinant workshop, Molde, September 20-22, 2009

46 LNS-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 DOMinant workshop, Molde, September 20-22, 2009

47 LNS-Tabu: No. of LNS iterations (2)
DOMinant workshop, Molde, September 20-22, 2009

48 LNS-Tabu: No. of customers (1)
Instances with varying number of customers ( ) 40% of optional customers 80 customers removed per LNS iteration 400 LNS iterations 2000 tabu search iterations per LNS iteration Tabu list length = 20 DOMinant workshop, Molde, September 20-22, 2009

49 LNS-Tabu: No. of customers (2)

50 DOMinant workshop, Molde, September 20-22, 2009
Overview Context Problem statement MIP-based heuristic Large neighborhood search heuristics Some computational results Future work DOMinant workshop, Molde, September 20-22, 2009 50 50

51 DOMinant workshop, Molde, September 20-22, 2009
Future 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 DOMinant workshop, Molde, September 20-22, 2009

52 DOMinant workshop, Molde, September 20-22, 2009
Questions ? DOMinant workshop, Molde, September 20-22, 2009

53 Tabu search heuristic alone
Medium-sized instances, 800,000 tabu search iterations DOMinant workshop, Molde, September 20-22, 2009


Download ppt "DOMinant workshop, Molde, September 20-22, 2009"

Similar presentations


Ads by Google