DYNAMIC VEHICLE ROUTING PROBLEM

41
DYNAMIC VEHICLE ROUTING PROBLEM

description

DYNAMIC VEHICLE ROUTING PROBLEM. AGENDA. Overview of the Problem Problem & Solution Representation Constructive Heuristics Savings Algorithm Meta-heuristics Approaches Solution Construction Greedy Randomised Adaptive Search Procedure (GRASP) Solution Modification Tabu Search - PowerPoint PPT Presentation

Transcript of DYNAMIC VEHICLE ROUTING PROBLEM

Page 1: DYNAMIC VEHICLE ROUTING PROBLEM

DYNAMIC VEHICLE ROUTING PROBLEM

Page 2: DYNAMIC VEHICLE ROUTING PROBLEM

AGENDA Overview of the Problem Problem & Solution Representation Constructive Heuristics

Savings Algorithm Meta-heuristics Approaches

Solution Construction Greedy Randomised Adaptive Search Procedure

(GRASP) Solution Modification

Tabu Search Solution Recombination

Genetic Algorithm Dynamic Aspect of the Problem

Page 3: DYNAMIC VEHICLE ROUTING PROBLEM

VEHICLE ROUTING PROBLEMOVERVIEW

Depot

Limited Capacity

1pm-2pm

4pm-5pm3pm-4pm

Pickup

Delivery

Last In First Out

D=7D=2

D=5D=3

D=4

D=8

D=1

D=2

Page 4: DYNAMIC VEHICLE ROUTING PROBLEM

PROBLEM REPRESENTATION Set V = {0,1, ... ,n} of vertices

0 is depot - assigned demand of 0 (d0 =0) 1,...,n are customers – assigned demand di ≤ C

Set E of edges with ci j being the cost of going from customer i to customer j. Symmetric cost ci j = cj i

xi j k is binary decision variable whether vehicle k traverse edge (i,j)

Page 5: DYNAMIC VEHICLE ROUTING PROBLEM
Page 6: DYNAMIC VEHICLE ROUTING PROBLEM
Page 7: DYNAMIC VEHICLE ROUTING PROBLEM
Page 8: DYNAMIC VEHICLE ROUTING PROBLEM

SOLUTION REPRESENTATIONPermutation-like Coding:

(0, 7, 10, 8, 0, 1, 6, 0, 2, 9, 0, 5, 4, 3, 0)

Page 9: DYNAMIC VEHICLE ROUTING PROBLEM

CONSTRUCTIVE HEURISTICS Start with an empty solution Construct the solution from ground up Using Heuristics – rule of thump, experience,

intuition, … Saving Algorithm

Page 10: DYNAMIC VEHICLE ROUTING PROBLEM

SAVING ALGORITHM (CONCEPT)

Page 11: DYNAMIC VEHICLE ROUTING PROBLEM

SAVING ALGORITHM (IMPLEMENTATION)

Initialisation: At first every customer is serviced by a separate vehicle

Calculate Saving List for every pair of customers and sort it in descending order

si j = c0 i + c0 j – ci j

Going down the Saving List, if can merger then merge . Condition: Total demand is within capacity Both customers adjacent to depot

Page 12: DYNAMIC VEHICLE ROUTING PROBLEM

SAVING ALGORITHM (IMPLEMENTATION)

Page 13: DYNAMIC VEHICLE ROUTING PROBLEM
Page 14: DYNAMIC VEHICLE ROUTING PROBLEM
Page 15: DYNAMIC VEHICLE ROUTING PROBLEM
Page 16: DYNAMIC VEHICLE ROUTING PROBLEM
Page 17: DYNAMIC VEHICLE ROUTING PROBLEM
Page 18: DYNAMIC VEHICLE ROUTING PROBLEM
Page 19: DYNAMIC VEHICLE ROUTING PROBLEM
Page 20: DYNAMIC VEHICLE ROUTING PROBLEM

SAVING ALGORITHM(RESULT)

Total Length: 258.4

Page 21: DYNAMIC VEHICLE ROUTING PROBLEM

META-HEURISTIC APPROACHESSOLUTION CONSTRUCTION

Greedy Randomized Adaptive Search Procedure (GRASP)

Calculate seed customers S ={ i, j, k } Create partial solution s based on seed

customers s = R = { (0, i, 0), (0, j, 0), (0, k, 0) }

Iteratively insert un-routed customers until the solution is complete

Page 22: DYNAMIC VEHICLE ROUTING PROBLEM

CALCULATE SEED CUSTOMERS CREATION OF THE PARTIAL

ROUTES Select customers of different geographical

regions Use as few seed customers as possible

Choose customer with highest cost from depot as first seed

Iteratively selecting customers with the highest minimum cost to all other seed customers until enough

Page 23: DYNAMIC VEHICLE ROUTING PROBLEM

CALCULATE SEED CUSTOMERS CREATION OF THE PARTIAL

ROUTES S ={ 1, 2, 3, 7 } s = R = { (0, 1, 0), (0, 2, 0), (0, 3, 0), (0, 7, 0)

} N ={ 4, 5, 6, 8, 9, 10 }

Page 24: DYNAMIC VEHICLE ROUTING PROBLEM

ITERATIVE INSERT OF UN-ROUTED CUSTOMERS

Evaluate Un-Routed Customers Insertion priority determined by insertion

cost

Page 25: DYNAMIC VEHICLE ROUTING PROBLEM

ITERATIVE INSERT OF UN-ROUTED CUSTOMERS

S ={ 1, 2, 3, 7 } s = R = { (0, 1, 0), (0, 2, 0), (0, 3, 0), (0, 7, 0)

} N ={ 4, 5, 6, 8, 9, 10 }

Page 26: DYNAMIC VEHICLE ROUTING PROBLEM

ITERATIVE INSERT OF UN-ROUTED CUSTOMERS

Values are sorted in decreasing order(ip8, ip10, ip9, ip4, ip5, ip6)

Build restricted candidate list(ip8, ip10, ip9, ip4)

Choose a random customer from this list and insert at position with least cost

Page 27: DYNAMIC VEHICLE ROUTING PROBLEM
Page 28: DYNAMIC VEHICLE ROUTING PROBLEM
Page 29: DYNAMIC VEHICLE ROUTING PROBLEM
Page 30: DYNAMIC VEHICLE ROUTING PROBLEM
Page 31: DYNAMIC VEHICLE ROUTING PROBLEM
Page 32: DYNAMIC VEHICLE ROUTING PROBLEM

Total Length: 258.4

Page 33: DYNAMIC VEHICLE ROUTING PROBLEM

META-HEURISTIC APPROACHESSOLUTION MODIFICATION

Tabu Search Neighbourhood Concept

Sum of the cost of the edges removed must be higher then the sum of the cost of edges inserted

Page 34: DYNAMIC VEHICLE ROUTING PROBLEM

META-HEURISTIC APPROACHESSOLUTION MODIFICATION

Neighbourhood Concept (Extension)

Page 35: DYNAMIC VEHICLE ROUTING PROBLEM

TABU SEARCH Iteratively remove and add edges using neighborhood

operator to improve current solution

Use a tabu listRecency-based information (short term memory)List has limited number of element

Edges removed by the neighborhood operator are added to tabu list and may not be added again to prevent cycling.

Terminate: Maximum amount of iterations Maximum allowed execution time Best known solution has not been improving

Page 36: DYNAMIC VEHICLE ROUTING PROBLEM

META-HEURISTIC APPROACHESSOLUTION RECOMBINATION

Genetic Algorithm Operates on a on a large set of solutions

(may not be optimal) called population Build a new generation of solutions through

parent selection and crossover operator Purpose: combine properties of different

solutions and create new ones Mutation operator: preserve diversity,

prevent premature convergence Replacement operator: builds new population

out of old and new individuals

Page 37: DYNAMIC VEHICLE ROUTING PROBLEM

GENETIC ALGORITHM Crossover operators:

A random route in parent s2 is chosen(0, 7, 2, 10, 0)

Customers of this route are removed in parent s1 s1 temp: (0, 4, 1, 0, 8, 0, 9, 5, 3, 0, 6, 0)

Removed customers are inserted one by one by GRASP method

Page 38: DYNAMIC VEHICLE ROUTING PROBLEM

GENETIC ALGORITHM Crossover operators – result:

Mutation operator: randomly changing the solution

Page 39: DYNAMIC VEHICLE ROUTING PROBLEM

DYNAMIC ASPECT OF VEHICLE ROUTING PROBLEM

Static VS Dynamic: information used in planning may (and is very likely to) change: Number of customers Demand of customers Number of trucks available Cost / Travelling time between customers

Approach: A daily list is prepared with available information Create a system to respond to real time request Objective: Optimal operation & Minimal

disruption to already planned daily list

Page 40: DYNAMIC VEHICLE ROUTING PROBLEM

MY PROJECTWEB 2.0 GOOGLE MAP

APPLICATION

Page 41: DYNAMIC VEHICLE ROUTING PROBLEM

THANK YOU!