140 likes | 249 Views
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
E N D
Solving the Vehicle Routing Problem withMultiple 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