Split Algorithm in Linear Time for the Vehicle Routing Problem with Simultaneous Pickup and Delivery and Time Windows
For many kinds of vehicle routing problems (VRPs), a popular heuristic approach involves constructing a Traveling Salesman Problem (TSP) solution, then partitioning segments of the solution into routes for different vehicles with respect to problem constraints. Previously, a Split algorithm with a worst-case runtime of $O(n)$ was proposed for the capacitated VRP (CVRP) and its soft variant that finds the most cost-efficient partition of customers, given a TSP solution. This was an improvement over the previously fastest-known algorithm with a worst-case runtime of $O(n^2)$ that was based on Bellman's shortest path algorithm. While this linear Split has been an integral part of modern state-of-the-art CVRP approaches, little progress has been made in extending this algorithm to handle additional VRP variants, limiting the general applicability of the algorithm. In this work, we propose an extension of the linear Split that handles two cardinal VRP variants simultaneously: (i) simultaneous pickups and deliveries (VRPSPD) and (ii) time windows (VRPTW). The resulting $O(n)$ algorithm is guaranteed to be optimal, assuming travel times between nodes satisfy a weakened triangle inequality. We generalize the properties of both variants that allow for the proposed approach. Additionally, we develop $O(n)$ Splits for the soft versions of VRPTW (with time-warp penalty), VRPSPD, and the combined VRPSPD with time windows (VRPSPDTW). The complications these variants introduce compound when combined, yet linearity remains obtainable. Computational experiments are performed to empirically validate the correctness and linearity of these new approaches.