Loading in 2 Seconds...

Guy Desaulniers Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau Ecole Polytechnique, Montréal

Loading in 2 Seconds...

- By
**jana** - Follow User

- 350 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about 'Guy Desaulniers Eric Prescott-Gagnon Benoît Bélanger-Roy Louis-Martin Rousseau Ecole Polytechnique, Montréal' - jana

**An Image/Link below is provided (as is) to download presentation**

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

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

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

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!

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

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

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

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

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

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

Problem 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

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

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

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

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

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

Mathematical model (3)

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

d

r

i

DOMinant workshop, Molde, September 20-22, 2009

Mathematical model (4)

DOMinant workshop, Molde, September 20-22, 2009

MIP-basedheuristic

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

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

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

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

- Iterative method
- Current solution

DOMinant workshop, Molde, September 20-22, 2009

- Iterative method
- Current solution
- Destruction

DOMinant workshop, Molde, September 20-22, 2009

- Iterative method
- Current solution
- Destruction

DOMinant workshop, Molde, September 20-22, 2009

- Iterative method
- Current solution
- Destruction
- Reconstruction

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

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

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

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

Select randomly customers, favoring those generating longer detours

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

Random operator

- Select the customers to remove at random

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

Reconstruction with MIP

DOMinant workshop, Molde, September 20-22, 2009

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

Reconstruction with tabu (1)

DOMinant workshop, Molde, September 20-22, 2009

- 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

Reconstruction with tabu (2)

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

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

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

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

LNS-MIP vs LNS-TABU (3)

Small instances (45 customers)

10 customers removed per LNS iteration

2000 tabu search iterations per LNS iteration

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

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

DOMinant workshop, Molde, September 20-22, 2009

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

LNS-Tabu: No. of LNS iterations (2)

DOMinant workshop, Molde, September 20-22, 2009

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

DOMinant workshop, Molde, September 20-22, 2009

DOMinant workshop, Molde, September 20-22, 2009

Context

Problem statement

MIP-based heuristic

Large neighborhood search heuristics

Some computational results

Future work

50

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

Questions ?

DOMinant workshop, Molde, September 20-22, 2009

Tabu search heuristic alone

Medium-sized instances, 800,000 tabu search iterations

DOMinant workshop, Molde, September 20-22, 2009

Download Presentation

Connecting to Server..