guy desaulniers eric prescott-gagnon benoît bélanger-roy louis-martin rousseau

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

Upload: yuli-hays

Post on 01-Jan-2016

22 views

Category:

Documents


1 download

DESCRIPTION

Vehicle routing for propane delivery. Guy Desaulniers Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau Ecole Polytechnique, Montréal. Overview. Context Problem statement and literature MIP-based heuristic Large neighborhood search heuristics Some computational results - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

Guy Desaulniers Eric Prescott-GagnonBenoît Bélanger-Roy

Louis-Martin Rousseau

Ecole Polytechnique, Montréal

1

Vehicle routing for propane delivery

Page 2: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

Context Problem statement and literature MIP-based heuristic Large neighborhood search heuristics Some computational results Future work

2

Overview

Page 3: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

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!

3

Context (1)

Page 4: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

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

Page 5: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

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

Page 6: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

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 T+1 or T+2

Page 7: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

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

Page 8: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

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

Page 9: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

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

Page 10: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

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

Page 11: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

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)

11

DOMinant workshop, Molde, September 20-22, 2009

Page 12: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

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

12

DOMinant workshop, Molde, September 20-22, 2009

Page 13: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

Context Problem statement and literature MIP-based heuristic Large neighborhood search heuristics Some computational results Future work

13

Overview

Page 14: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

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

Page 15: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

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

Page 16: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

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

i

r

d

Page 17: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

Page 18: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

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

Page 19: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

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

Page 20: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

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

Page 21: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

Context Problem statement and literature MIP-based heuristic Large neighborhood search heuristics Some computational results Future work

21

Overview

Page 22: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

Iterative method

22

Large neighborhood search (1)

Page 23: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

Iterative method▪Current solution

23

Large neighborhood search (2)

Page 24: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

Iterative method▪Current solution▪Destruction

24

Large neighborhood search (3)

Page 25: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

Iterative method▪Current solution▪Destruction

25

Large neighborhood search (4)

Page 26: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

Iterative method▪Current solution▪Destruction▪Reconstruction

26

Large neighborhood search (5)

Page 27: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

▪New solution

27

Large neighborhood search (6)

Page 28: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

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

28

Page 29: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

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

29

DOMinant workshop, Molde, September 20-22, 2009

Page 30: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

Fixed number of customers to remove

Neighborhood operators based on:▪Proximity▪Longest detour▪Time▪Random

Roulette-wheel selection based on performance

30

Page 31: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

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

31

Page 32: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

Select randomly customers, favoring those generating longer detours

ikjkij ccc

Page 33: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

Select randomly a specific time Select customers whose possible visiting time is closest

to selected time

33

Page 34: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

Select the customers to remove at random

34

DOMinant workshop, Molde, September 20-22, 2009

Page 35: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 200935

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

Page 36: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

1. Fix parts of the current solution2. Enumerate routes using the neighbor lists and

respecting the fixed parts of the solution3. Solve the resulting MIP using Cplex

36

Page 37: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

1. Fix parts of the current solution◦ Fixed parts are treated as aggregated customers◦ Replenishments are always unfixed

2. Use a tabu search heuristic◦ Seven different move types◦ Tabu list◦ Infeasibility w.r.t. time windows and vehicle capacity allowed

37

Page 38: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

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

Page 39: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

Context Problem statement and literature MIP-based heuristic Large neighborhood search heuristics Some computational results Future work

39

Overview

Page 40: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

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

40

Page 41: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

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

Page 42: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau
Page 43: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

Small instances (45 customers) 10 customers removed per LNS iteration 2000 tabu search iterations per LNS iteration

Page 44: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

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

44

DOMinant workshop, Molde, September 20-22, 2009

Page 45: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

45

DOMinant workshop, Molde, September 20-22, 2009

Page 46: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

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

46

DOMinant workshop, Molde, September 20-22, 2009

Page 47: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

47

DOMinant workshop, Molde, September 20-22, 2009

Page 48: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

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

48

DOMinant workshop, Molde, September 20-22, 2009

Page 49: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau
Page 50: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

Context Problem statement MIP-based heuristic Large neighborhood search heuristics Some computational results Future work

50

Overview

Page 51: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 2009

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

51

Page 52: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

DOMinant workshop, Molde, September 20-22, 200952

Page 53: Guy Desaulniers  Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau

53

DOMinant workshop, Molde, September 20-22, 2009

Medium-sized instances, 800,000 tabu search iterations