Abstract

A solution to the vehicle routing problem (VRP) is presented that takes only quadratic space, <i>O(n<sup>2</sup>),</i> and quadratic time, <i>O(n<sup>2</sup>)</i>, if <i>n</i> is the number of stops on a route. The input is assumed to be a list of stops of length <i>n</i> in longitude, latitude format. The output is an origin-destination (OD) matrix of size <i>O(n<sup>2</sup>)</i>, which takes <i>O(n<sup>2</sup>)</i> time to build. The element <i>(i, j)</i> in the matrix is the approximate driving distance between stop <i>i</i> and stop <i>j</i> on the route. Each approximate driving distance takes constant or <I>O(1)</I> time to compute. (The approximate driving distance appears in previous work by the author, published in URISA GIS-Pro ‘19 and CalGIS 2020.) This OD matrix is well-suited for solving large-scale and very large-scale VRP problems, since computing approximate driving distances is lightning fast. For instance, using real-world data, it took less than one (1) second to produce a route with 5,156 stops. The OD matrix can be used with any exact or approximation algorithm to find a route, including the nearest-neighbor approximation algorithm: Starting at an origin, the next closest stop is visited repeatedly, ending at the destination once all stops have been visited. Determining the next stop to visit takes linear or <i>O(n)</i> time to compute, and this is done <i>O(n)</i> times. This solution to the VRP is a polynomial-time, <i>O(n<sup>2</sup>)</i>, approximation; it is not exact, but is extremely fast.

Highlights

  • A solution to the vehicle routing problem (VRP) is presented that takes only quadratic space, O(n2), and quadratic time, O(n2), if n is the number of stops on a route

  • The vehicle routing problem (VRP) is defined as follows: Beginning at a depot, a route is formed by visiting all stops before returning to the depot [1]

  • The contribution in this work is that an origin-destination (OD) matrix is built on the fly with approximate driving distances [8,9,10]

Read more

Summary

Approximate Driving Distance

Each line of the input file has a longitude, latitude pair (in degrees) of a stop in the route. The approximate driving distance between them is: distance(i, j) = Abs(xi – xj) + Abs(yi – yj) + Abs(zi – zj) This approximate distance, the Manhattan distance [13], is both a better approximation of the actual driving distance than the Euclidean distance, and an order of magnitude faster to compute than the Euclidean [8,9,10]. A pilot study was performed to determine how accurate Manhattan distances are compared to actual driving distances. There are many reasons why Manhattan distance might underestimate actual driving distance, including: 1.

OD Matrix and the Nearest-Neighbor Approximation Algorithm
Case Study
Results
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call