SlideShare a Scribd company logo
1 of 18
Towards a general meta-heuristic
optimiser for vehicle routing:
experiments on six VRP types
Dr Philip G. Welch
Aston University, UK
Aims
 A single VRP model & optimiser for
different and novel real-world problems
• Configurable by a non-specialist user
• e.g. Excel user
 Problem definable without restrictions on
form of cost/constraint functions
• Users write constraint functions in a language
they understand
• Exclude mathematical programming
approaches…
 Solution quality needs to be ‘good enough’
• Useful not optimal
• (Problem tailored approaches will be better)
Requirements
1. A way to describe a VRP model
• Rich model?
• Domain specific language (e.g. MARS)?
2. Efficient evaluation of a solution
• Incremental evaluation
3. An optimisation algorithm
• The hardest part by far…
Brief model description
 Entities
• Routes (actors) split into sections
• Actions (stops or served arcs)
• Events within actions
 User defined functions
• Like formula fields in Excel
• Cost functions
cost(TimeWindowViolation, max(time() –
lateTimeWindow , 0))
• No restrictions placed on functional form
Brief model description
 Each route modelled as a separate
discrete event simulation (DES)
 Supports incremental evaluation
 Assume routes non-interacting
• Route has a state
 Quantities and current time held in the state
 State also available for other objects
• Actions (stops, serve) own events
 Events can change state or add to cost
 Set or add quantities, increment time…
Brief model description
 Arbitrary cost functions available based on
position and assignment (outside DES)
 Half-way between rich VRP model and
domain specific language
• Similar approach to Drools Optaplanner (but
more routing focused)
 Solutions can be evaluated for:
• Deterministic not stochastic problems
• Single (hierarchical) objective only
• Decision variables assignment & position only
Optimisation techniques
 Top VRP solvers based on combination of
local search heuristics and meta-heuristics
 Move single action, swap single action, etc…
• Simple local search heuristics insufficient
for complex positional constraints
 e.g. periodic, pick-up deliver…
 Constraints create many local optima
 Greedy search becomes easily stuck
• Solvers use problem-specific heuristics
 Periodic problem – switch visit pattern
 Pickup-deliver – specialised insert move
Optimisation techniques
 Mathematical programming approaches
have mathematical problem description
 Allows systematic exploration of solution space
• Branch & bound (integer programming)
• Constraint propagation (constraint programming), ….
 Our user-defined constraint functions have
no restrictions on functional form
 …no mathematical description
• Can’t use constraint propagation etc…
 Avoid writing problem-specific heuristics
 Without assuming constraint functional form
can the engine learn to optimise them?
Types of routing problem with requests
Pickup-deliver
Pickup item then deliver item
(image Hosny & Mumford 2010)
Arc-routing
Serve forwards
or serve
backwards
(image Belenguera et
al. 2006)
2-echelon problem
Move item hubdepot then move item
depotcustomer
(image www.ads.tuwien.ac.at/w/Image:2e-lrp.png)
Request: a single service demand with one or more actions
available to satisfy it
Assignment & relative position (ARP) constraints
Problem Actions in request ARP Constraints
2-echelon
|depots| x L1 move to depot
1 x L2 serve customer
1 x L1 action loaded (chosen
depot)
L2 action on route belonging
to chosen depot
Arc routing
1 x serve edge forward
1 x serve edge backward
1 x action loaded
Periodic n actions
Patterns specifying
combinations of days
Each route has a day
Pick-up
deliver
1 x pickup
1 x deliver
Same route
Relative position - pickup
before deliver
ARP space: within a single request, consider
assignment of actions to routes and their relative
positions (before/after). Separate space per request
M1 disjoint search
 ‘Learns’ assignment & positional constraints
 Request R with actions ai  R
 R owns user-defined constraints C
 C is function of assignment & relative positions only
 Relative position between 2 actions : -1, 0, +1
 Analyse ARP constraints using inputs/outputs
 Identify disjoint regions when moving one action a time
 e.g. changing route for a pick-up deliver pair
• Build set of ARP start points S
 Moving from one to another causes constraint violation
 Explore using greedy multi-start search in ARP space
M1 disjoint search –
start points generated for problems
Problem Actions in request Start points generated
2-echelon
|depots| x L1 move to depot
1 x L2 serve customer
One start point per depot
Arc
routing
1 x serve arc forward
1 x serve arc backward
One with forward loaded
One with backwards loaded
Periodic
n actions
Number of start points 
number of visit patterns
Pick-up
deliver
1 x pickup
1 x deliver
One start point per route
M1 disjoint search
 ARP start points generated in ARP space
• Solution contains only single request
 Full optimisation performed in full space
• Solution contains all requests
For each start point in a request
 Move actions to start point positions
 For each action
• Calculate feasible assignments and
relative positions arpi  P (can be cached)
• Move to best full space position pj  arpi
 Efficiency is problem dependent
 Reusability of search results from different
start points? (100% for 2-ech, CARP, PDVRP)
Experiments
 Optimiser engine components:
• M1 disjoint search for move
• Swap, two-opt improvement heuristics
• Controlled by genetic algorithm (hybrid)
 Experiments on 2-echelon, CARP,
periodic, pickup-deliver and single action
problems – VRPTW and multi-trip VRP.
• Java implementation.
• Max runtime 30 minutes on 4-6 CPUs.
 Performance compared to more problem-
tailored approaches?
Results (multi-action requests)
Problem
type
Sets # of
requests
# inst # same
vehicles
# <= BKS RPD from
BKS
2-
echelon
Perboli et al.
Crainic et al.
50
(omitted < 50)
69 n/a
25
(7 better)
0.56%
Hemmelmayr
et al
100
(omitted > 100)
12 n/a 0 7.41%
CARP val, egl 39-190 58 n/a 32 1.42%
Periodic
VRP
Cordeau 20-192
(omitted > 200)
37 n/a 9 2.97%
Pickup
deliver
VRPTW
Li & Lim
100 56 53 35 0.50%
200 60 24 7 7.41%
Results
 Performance relative to BKS
dependent on # of requests in
problem
 ‘Good performance limit’ L
• ~ 100  L  200 (lower for 2-ech)
• Deviation from BKS ~ 0.5-3%
 Similar results for single action
request problems
• Multi-trip VRP & VRPTW
Comparison to other approaches
 Compared to other (meta) heuristic VRP
solvers
• Less specialised
• Can’t handle larger instances (yet)
• Optimises broader range of problems than
other models without including problem
specific heuristics
 Compared to general approaches -
mathematical programming techniques
• More specialised (assume routing problem)
• Handles larger instances
Conclusions
 Whole model occupies ‘niche’
• Competitive solution quality for small-to-
medium size problems whilst solving wider
problem range
• More work needed for larger instances
 M1 disjoint search most useful outcome
• Simple technique easily applicable to other
VRP models
• Simple move heuristic can optimise more
complex positional constraints
• Work needed on cases where search results
re-usable between start points
 Best insertion caching?

More Related Content

What's hot

Galois: A System for Parallel Execution of Irregular Algorithms
Galois: A System for Parallel Execution of Irregular AlgorithmsGalois: A System for Parallel Execution of Irregular Algorithms
Galois: A System for Parallel Execution of Irregular Algorithms
Donald Nguyen
 

What's hot (8)

Monolithic and Procedural Programming
Monolithic and Procedural ProgrammingMonolithic and Procedural Programming
Monolithic and Procedural Programming
 
Testing part 2 bb
Testing part 2 bbTesting part 2 bb
Testing part 2 bb
 
Galois: A System for Parallel Execution of Irregular Algorithms
Galois: A System for Parallel Execution of Irregular AlgorithmsGalois: A System for Parallel Execution of Irregular Algorithms
Galois: A System for Parallel Execution of Irregular Algorithms
 
Undecidable Problems and Approximation Algorithms
Undecidable Problems and Approximation AlgorithmsUndecidable Problems and Approximation Algorithms
Undecidable Problems and Approximation Algorithms
 
Functional Programming Principles & Patterns
Functional Programming Principles & PatternsFunctional Programming Principles & Patterns
Functional Programming Principles & Patterns
 
Parallel Algorithms- Sorting and Graph
Parallel Algorithms- Sorting and GraphParallel Algorithms- Sorting and Graph
Parallel Algorithms- Sorting and Graph
 
7 expressions and assignment statements
7 expressions and assignment statements7 expressions and assignment statements
7 expressions and assignment statements
 
Lecture 3 problem solving
Lecture 3   problem solvingLecture 3   problem solving
Lecture 3 problem solving
 

Similar to Welch Verolog 2013

Predicting Optimal Parallelism for Data Analytics
Predicting Optimal Parallelism for Data AnalyticsPredicting Optimal Parallelism for Data Analytics
Predicting Optimal Parallelism for Data Analytics
Databricks
 
Final Presentation - Edan&Itzik
Final Presentation - Edan&ItzikFinal Presentation - Edan&Itzik
Final Presentation - Edan&Itzik
itzik cohen
 
Nafems15 systeme
Nafems15 systemeNafems15 systeme
Nafems15 systeme
SDTools
 

Similar to Welch Verolog 2013 (20)

Trajectory Transformer.pptx
Trajectory Transformer.pptxTrajectory Transformer.pptx
Trajectory Transformer.pptx
 
Paper Study: A learning based iterative method for solving vehicle routing
Paper Study: A learning based iterative method for solving vehicle routingPaper Study: A learning based iterative method for solving vehicle routing
Paper Study: A learning based iterative method for solving vehicle routing
 
Combinatorial optimization and deep reinforcement learning
Combinatorial optimization and deep reinforcement learningCombinatorial optimization and deep reinforcement learning
Combinatorial optimization and deep reinforcement learning
 
1907555 ant colony optimization for simulated dynamic multi-objective railway...
1907555 ant colony optimization for simulated dynamic multi-objective railway...1907555 ant colony optimization for simulated dynamic multi-objective railway...
1907555 ant colony optimization for simulated dynamic multi-objective railway...
 
Using FME for Topographical Data Generalization at Natural Resources Canada
Using FME for Topographical Data Generalization at Natural Resources CanadaUsing FME for Topographical Data Generalization at Natural Resources Canada
Using FME for Topographical Data Generalization at Natural Resources Canada
 
SPLT Transformer.pptx
SPLT Transformer.pptxSPLT Transformer.pptx
SPLT Transformer.pptx
 
A Dynamic Logistic Dispatching System With Set-Based Particle Swarm Optimization
A Dynamic Logistic Dispatching System With Set-Based Particle Swarm OptimizationA Dynamic Logistic Dispatching System With Set-Based Particle Swarm Optimization
A Dynamic Logistic Dispatching System With Set-Based Particle Swarm Optimization
 
PRM-RL: Long-range Robotics Navigation Tasks by Combining Reinforcement Learn...
PRM-RL: Long-range Robotics Navigation Tasks by Combining Reinforcement Learn...PRM-RL: Long-range Robotics Navigation Tasks by Combining Reinforcement Learn...
PRM-RL: Long-range Robotics Navigation Tasks by Combining Reinforcement Learn...
 
Automated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsAutomated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance Systems
 
SERENE 2014 School: Daniel varro serene2014_school
SERENE 2014 School: Daniel varro serene2014_schoolSERENE 2014 School: Daniel varro serene2014_school
SERENE 2014 School: Daniel varro serene2014_school
 
SERENE 2014 School: Incremental Model Queries over the Cloud
SERENE 2014 School: Incremental Model Queries over the CloudSERENE 2014 School: Incremental Model Queries over the Cloud
SERENE 2014 School: Incremental Model Queries over the Cloud
 
principles of object oriented class design
principles of object oriented class designprinciples of object oriented class design
principles of object oriented class design
 
A Multiple-Shooting Differential Dynamic Programming Algorithm
A Multiple-Shooting Differential Dynamic Programming AlgorithmA Multiple-Shooting Differential Dynamic Programming Algorithm
A Multiple-Shooting Differential Dynamic Programming Algorithm
 
Predicting Optimal Parallelism for Data Analytics
Predicting Optimal Parallelism for Data AnalyticsPredicting Optimal Parallelism for Data Analytics
Predicting Optimal Parallelism for Data Analytics
 
Final Presentation - Edan&Itzik
Final Presentation - Edan&ItzikFinal Presentation - Edan&Itzik
Final Presentation - Edan&Itzik
 
Heuristic design of experiments w meta gradient search
Heuristic design of experiments w meta gradient searchHeuristic design of experiments w meta gradient search
Heuristic design of experiments w meta gradient search
 
Computer Vision descriptors
Computer Vision descriptorsComputer Vision descriptors
Computer Vision descriptors
 
AI Robotics
AI RoboticsAI Robotics
AI Robotics
 
Nafems15 systeme
Nafems15 systemeNafems15 systeme
Nafems15 systeme
 
Achieving Scalability in Software Testing with Machine Learning and Metaheuri...
Achieving Scalability in Software Testing with Machine Learning and Metaheuri...Achieving Scalability in Software Testing with Machine Learning and Metaheuri...
Achieving Scalability in Software Testing with Machine Learning and Metaheuri...
 

Welch Verolog 2013

  • 1. Towards a general meta-heuristic optimiser for vehicle routing: experiments on six VRP types Dr Philip G. Welch Aston University, UK
  • 2. Aims  A single VRP model & optimiser for different and novel real-world problems • Configurable by a non-specialist user • e.g. Excel user  Problem definable without restrictions on form of cost/constraint functions • Users write constraint functions in a language they understand • Exclude mathematical programming approaches…  Solution quality needs to be ‘good enough’ • Useful not optimal • (Problem tailored approaches will be better)
  • 3. Requirements 1. A way to describe a VRP model • Rich model? • Domain specific language (e.g. MARS)? 2. Efficient evaluation of a solution • Incremental evaluation 3. An optimisation algorithm • The hardest part by far…
  • 4. Brief model description  Entities • Routes (actors) split into sections • Actions (stops or served arcs) • Events within actions  User defined functions • Like formula fields in Excel • Cost functions cost(TimeWindowViolation, max(time() – lateTimeWindow , 0)) • No restrictions placed on functional form
  • 5. Brief model description  Each route modelled as a separate discrete event simulation (DES)  Supports incremental evaluation  Assume routes non-interacting • Route has a state  Quantities and current time held in the state  State also available for other objects • Actions (stops, serve) own events  Events can change state or add to cost  Set or add quantities, increment time…
  • 6. Brief model description  Arbitrary cost functions available based on position and assignment (outside DES)  Half-way between rich VRP model and domain specific language • Similar approach to Drools Optaplanner (but more routing focused)  Solutions can be evaluated for: • Deterministic not stochastic problems • Single (hierarchical) objective only • Decision variables assignment & position only
  • 7. Optimisation techniques  Top VRP solvers based on combination of local search heuristics and meta-heuristics  Move single action, swap single action, etc… • Simple local search heuristics insufficient for complex positional constraints  e.g. periodic, pick-up deliver…  Constraints create many local optima  Greedy search becomes easily stuck • Solvers use problem-specific heuristics  Periodic problem – switch visit pattern  Pickup-deliver – specialised insert move
  • 8. Optimisation techniques  Mathematical programming approaches have mathematical problem description  Allows systematic exploration of solution space • Branch & bound (integer programming) • Constraint propagation (constraint programming), ….  Our user-defined constraint functions have no restrictions on functional form  …no mathematical description • Can’t use constraint propagation etc…  Avoid writing problem-specific heuristics  Without assuming constraint functional form can the engine learn to optimise them?
  • 9. Types of routing problem with requests Pickup-deliver Pickup item then deliver item (image Hosny & Mumford 2010) Arc-routing Serve forwards or serve backwards (image Belenguera et al. 2006) 2-echelon problem Move item hubdepot then move item depotcustomer (image www.ads.tuwien.ac.at/w/Image:2e-lrp.png) Request: a single service demand with one or more actions available to satisfy it
  • 10. Assignment & relative position (ARP) constraints Problem Actions in request ARP Constraints 2-echelon |depots| x L1 move to depot 1 x L2 serve customer 1 x L1 action loaded (chosen depot) L2 action on route belonging to chosen depot Arc routing 1 x serve edge forward 1 x serve edge backward 1 x action loaded Periodic n actions Patterns specifying combinations of days Each route has a day Pick-up deliver 1 x pickup 1 x deliver Same route Relative position - pickup before deliver ARP space: within a single request, consider assignment of actions to routes and their relative positions (before/after). Separate space per request
  • 11. M1 disjoint search  ‘Learns’ assignment & positional constraints  Request R with actions ai  R  R owns user-defined constraints C  C is function of assignment & relative positions only  Relative position between 2 actions : -1, 0, +1  Analyse ARP constraints using inputs/outputs  Identify disjoint regions when moving one action a time  e.g. changing route for a pick-up deliver pair • Build set of ARP start points S  Moving from one to another causes constraint violation  Explore using greedy multi-start search in ARP space
  • 12. M1 disjoint search – start points generated for problems Problem Actions in request Start points generated 2-echelon |depots| x L1 move to depot 1 x L2 serve customer One start point per depot Arc routing 1 x serve arc forward 1 x serve arc backward One with forward loaded One with backwards loaded Periodic n actions Number of start points  number of visit patterns Pick-up deliver 1 x pickup 1 x deliver One start point per route
  • 13. M1 disjoint search  ARP start points generated in ARP space • Solution contains only single request  Full optimisation performed in full space • Solution contains all requests For each start point in a request  Move actions to start point positions  For each action • Calculate feasible assignments and relative positions arpi  P (can be cached) • Move to best full space position pj  arpi  Efficiency is problem dependent  Reusability of search results from different start points? (100% for 2-ech, CARP, PDVRP)
  • 14. Experiments  Optimiser engine components: • M1 disjoint search for move • Swap, two-opt improvement heuristics • Controlled by genetic algorithm (hybrid)  Experiments on 2-echelon, CARP, periodic, pickup-deliver and single action problems – VRPTW and multi-trip VRP. • Java implementation. • Max runtime 30 minutes on 4-6 CPUs.  Performance compared to more problem- tailored approaches?
  • 15. Results (multi-action requests) Problem type Sets # of requests # inst # same vehicles # <= BKS RPD from BKS 2- echelon Perboli et al. Crainic et al. 50 (omitted < 50) 69 n/a 25 (7 better) 0.56% Hemmelmayr et al 100 (omitted > 100) 12 n/a 0 7.41% CARP val, egl 39-190 58 n/a 32 1.42% Periodic VRP Cordeau 20-192 (omitted > 200) 37 n/a 9 2.97% Pickup deliver VRPTW Li & Lim 100 56 53 35 0.50% 200 60 24 7 7.41%
  • 16. Results  Performance relative to BKS dependent on # of requests in problem  ‘Good performance limit’ L • ~ 100  L  200 (lower for 2-ech) • Deviation from BKS ~ 0.5-3%  Similar results for single action request problems • Multi-trip VRP & VRPTW
  • 17. Comparison to other approaches  Compared to other (meta) heuristic VRP solvers • Less specialised • Can’t handle larger instances (yet) • Optimises broader range of problems than other models without including problem specific heuristics  Compared to general approaches - mathematical programming techniques • More specialised (assume routing problem) • Handles larger instances
  • 18. Conclusions  Whole model occupies ‘niche’ • Competitive solution quality for small-to- medium size problems whilst solving wider problem range • More work needed for larger instances  M1 disjoint search most useful outcome • Simple technique easily applicable to other VRP models • Simple move heuristic can optimise more complex positional constraints • Work needed on cases where search results re-usable between start points  Best insertion caching?