π§© Constraint Solving POTD:Pickup and Delivery Problem (PDP) β Routing with Paired Requests #23114
Closed
Replies: 1 comment
-
|
This discussion has been marked as outdated by Constraint Solving β Problem of the Day. A newer discussion is available at Discussion #23233. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Today's category: Routing | Date: 2026-03-26
Problem Statement
The Pickup and Delivery Problem (PDP) asks: given a fleet of vehicles and a set of transportation requests, find minimum-cost routes such that each request is picked up at one location and delivered to another, with all vehicle capacity and ordering constraints respected.
Concrete Instance (5 requests, 2 vehicles)
Trade-offs: MIP has strong LP relaxation bounds; branch-and-cut with valid inequalities (subtour, pairing cuts) solves real-world instances well. However, the model size is
O(nΒ² Β· K)binary variables, which is expensive for largen.Approach 3 β Local Search / Large Neighborhood Search (LNS)
Practical large-scale solvers use metaheuristics on top of a feasible solution:
krandom requests) and repair (reinsert with a greedy/CP sub-solver) the solutionTrade-offs: Scales to thousands of requests; no optimality guarantee but finds high-quality solutions quickly. The destroy-repair cycle respects pairing naturally by treating each request as an atomic unit.
Example Model (MiniZinc CP Sketch)
Key Techniques
1. Pairing Propagation
The pairing constraint (
vehicle[p_i] = vehicle[d_i]) interacts with capacity and route-length constraints. CP solvers can propagate this eagerly: if placing pickupp_ion vehiclekwould make the delivery unreachable (capacity exceeded, route too long), both are pruned simultaneously.2. Precedence-Based Dominance
In branch-and-bound, any partial route where a delivery appears before its pickup can be pruned immediately β no completion can be feasible. This makes precedence constraints extremely effective at cutting the search tree, especially combined with position-based bounds.
3. Request-Level LNS (Shaw Removal)
Paul Shaw's relatedness-based removal heuristic selects requests to remove based on similarity (nearby pickups, overlapping time windows, same vehicle in the current solution). Reinserting related requests tends to find improving moves faster than random removal, making LNS highly effective for large PDP instances.
Challenge Corner
References
Beta Was this translation helpful? Give feedback.
All reactions