Upload
morag
View
112
Download
10
Tags:
Embed Size (px)
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
Citation preview
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
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
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)
SOLUTION REPRESENTATIONPermutation-like Coding:
(0, 7, 10, 8, 0, 1, 6, 0, 2, 9, 0, 5, 4, 3, 0)
CONSTRUCTIVE HEURISTICS Start with an empty solution Construct the solution from ground up Using Heuristics – rule of thump, experience,
intuition, … Saving Algorithm
SAVING ALGORITHM (CONCEPT)
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
SAVING ALGORITHM (IMPLEMENTATION)
SAVING ALGORITHM(RESULT)
Total Length: 258.4
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
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
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 }
ITERATIVE INSERT OF UN-ROUTED CUSTOMERS
Evaluate Un-Routed Customers Insertion priority determined by insertion
cost
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 }
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
Total Length: 258.4
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
META-HEURISTIC APPROACHESSOLUTION MODIFICATION
Neighbourhood Concept (Extension)
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
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
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
GENETIC ALGORITHM Crossover operators – result:
Mutation operator: randomly changing the solution
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
MY PROJECTWEB 2.0 GOOGLE MAP
APPLICATION
THANK YOU!