Vehicle routing problem

A figure illustrating the vehicle routing problem

The vehicle routing problem (VRP) is a combinatorial optimization and integer programming problem seeking to service a number of customers with a fleet of vehicles. Proposed by Dantzig and Ramser in 1959,[1] VRP is an important problem in the fields of transportation, distribution and logistics. Often the context is that of delivering goods located at a central depot to customers who have placed orders for such goods. The objective of the VRP is to minimize the total route cost.

Determining the optimal solution is an NP-complete problem in combinatorial optimization, so in practice heuristic and deterministic methods have been developed that find acceptably good solutions for the VRP. MJC² has a non-technical explanation for why the VRP is much more challenging than might be expected.

Overview

Several variations and specializations of the vehicle routing problem exist:

• Vehicle Routing Problem with Pickup and Delivery (VRPPD): A number of goods need to be moved from certain pickup locations to other delivery locations. The goal is to find optimal routes for a fleet of vehicles to visit the pickup and drop-off locations.
• Vehicle Routing Problem with LIFO: Similar to the VRPPD, except an additional restriction is placed on the loading of the vehicles: at any delivery location, the item being delivered must be the item most recently picked up. This scheme reduces the loading and unloading times at delivery locations because there is no need to temporarily unload items other than the ones that should be dropped off.
• Vehicle Routing Problem with Time Windows (VRPTW): The delivery locations have time windows within which the deliveries (or visits) must be made. In computational complexity theory, this problem is known to be NP-hard.[2]
• Capacitated Vehicle Routing Problem (with or without Time Windows): CVRP or CVRPTW. The vehicles have limited carrying capacity of the goods that must be delivered.
• Vehicle Routing Problem with Multiple Trips (VRPMT): The vehicles can do more than one route.
• Open Vehicle Routing Problem (OVRP): Vehicles are not required to return to the depot.

Several software vendors have built software products to solve the various VRP problems. Numerous articles are available for more detail on their research and results.

Although VRP is related to the Job Shop Scheduling Problem, the two problems are typically solved using different techniques.[3]

Free software for solving VRP

Name
(alphabetically)
jsprit LGPL Java lightweight, java based, open source toolkit for solving rich VRPs. link An Excel-compatible user interface for jsprit is available with mapping, reporting and route editing functionality. link
Open-VRP LLGPL Lisp Open-VRP for Lisp, hosted on Github. link
OptaPlanner Apache License Java Open Source Java constraint solver (optaplanner.org) with VRP examples.
VRP Spreadsheet Solver open source Microsoft Excel and VBA based open source solver, with a link to public GIS for data retrieval. link