DYNAMIC VEHICLE ROUTING PROBLEM

Preview:

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!

Recommended