Solving the Vehicle Routing Problem with Multiple Multi

Download Report

Transcript Solving the Vehicle Routing Problem with Multiple Multi

Solving the Vehicle Routing
Problem with
Multiple Multi-Capacity
Vehicles
Michael Sanders
Goals
• Create a program that given:
– List of delivery points
– Number and capacity of vehicles
– List of roads
• Return a list of routes that most efficiently
utilize vehicles
• Efficiency undefined, but probably will be
product delivered over distance traveled
Scope
• Heuristics
– Needed for program to identify optimal placement of
delivery point into a route and assigning a vehicle to a
route
– Will probably need new heuristic, although some
already exist for this problem
• A* search
– Used to find shortest route between two locations
– Will use heuristic based on geographical coordinates
Previous Research
• Vehicle Routing Problem (VRP)
– Extensively researched
– Solutions
• Agent architecture
– Used agents to represent vehicles and “auctioneer” that
assigned customers to routes
• Ant colony optimization
– Could solve variants of VRP
Variants of VRP
• Variants
– VRP with Time Windows (VRPTW)
• Requires deliveries to be in specific time ranges for
each delivery
– Multi-Depot VRP (MDVRP)
• Multiple origins for vehicles
Components
• Route finder
– Given two intersections, find shortest-time
route between the two
• Delivery route creator
– Using list of delivery points and quantity to be
delivered, utilizes other component to most
efficiently deliver the product
Route Finder
• Program responsible finding quickest route
• Uses A* search with a geographic heuristic
– Will use latitude and longitude coordinates to
help find best route
• Will use speed limit information as well to
find quickest route as well
• Uses Fairfax Cty and Census data
Delivery Route Creator
• Using previous component, will create
routes and assign vehicles to them
• Will involve heuristic to determine best
delivery point to be added to route and
when new route should be created
Timeline
• Route finder should be complete NLT ½
through second quarter
• Route creator will follow after that
– Aiming to be done early spring in time for
volunteer group’s delivery day to test program
Testing
• Currently running route finder program and
giving it two intersections and evaluating
result against known route information
• As heuristic is implemented, results can be
compared against commercially available
mapping programs
Other Information
• Language
– Ruby
• Problems
– Road data
• Not complete in certain fields—addresses,
coordinates, speed limits, etc.
– Delivery data is not standardized
• Road names not standard throughout list
Things Learned
• Use of hash tables and array storage
• Inprocessing of data
Testing Analysis
• Route finder is currently successful so far
• Is capable of finding route between two
intersections near each other
• However, is very inefficient
– Breadth-first search
• Given complexity of local road network, finding a
route between intersections that are far away can
take days
Main Points
• Importance of the route finder
– Crucial to the route creator’s ability to function
• Ways of implementing a heuristic in the
route creator
– Some ideas from literature research