Route generation context model
1. Overview
Route generation searches elementary routes satisfying resource and branch rules, then returns improving columns to route compilation. Pricing is an elementary shortest-path problem with resource constraints (ESPPRC).
1. Dependent Contexts
The VRP context supplies customers, vehicle types, resources, and calculation policies. Compilation supplies the phase and customer/fleet duals. The application supplies branch rules.
2. Concepts / Entities
1. Labels
A label records the current node, visited customers, accumulated load, service time, and pricing cost. It is search state, not a solver variable.
2. Routes and Prices
3. Variables
1. Decision Variables
This context does not duplicate master route usage
2. Auxiliary Variables
Label state
4. Predicates
5. Sets
6. Intermediate Values
1. Resource Recurrence
For an extension from label
2. Reduced Cost
The route's phase-dependent objective coefficient is:
A route of vehicle type
Costs and duals must use the same numerical normalization. Branch decisions restrict the search through route compatibility.
7. Assertions
A successful extension must preserve elementarity and resource feasibility:
This implication states what a permitted extension must satisfy. It does not require every label to extend to every customer.
8. Constraints
1. Route Feasibility [路线可行性]
Description: Pricing searches depot-to-depot routes without repeated customers, subject to capacity, time windows, and branch rules.
These are label-extension, filtering, and completed-route validation conditions, not a second family of arc variables and master rows.
2. Improving Column Filter [改进列筛选]
9. Objective Function (if applicable)
Description: Search permitted vehicle types for a route with minimum phase-dependent reduced cost.
Only complete pricing that finds no negative-reduced-cost route supports a column-generation convergence claim. Early return due to time, column, or search limits does not establish that optimality conclusion.
10. Algorithm References
| Algorithm | Referenced In | Description |
|---|---|---|
| Initial route generation | Master initialization | Supplies seed routes; artificial coverage initializes feasibility |
| ESPPRC label extension and dominance | Sections 6–8 | Maintains resources, visited sets, and reduced costs; prunes dominated states |
| Branch-compatibility filtering | Sections 4, 8 | Applies required/forbidden decisions to the graph and candidates |
| Pricing completion reporting | Section 9 | Distinguishes complete search from a limit-triggered return |
Kotlin route-generation source; Kotlin/Rust example entry points.
11. Ubiquitous Language
| Term | Symbol | Definition |
|---|---|---|
| Label | Search state for a partial route | |
| Visited set | Customers already served by a label | |
| Reduced cost | Phase coefficient minus corresponding row-dual contributions | |
| Fleet dual | Dual value of the vehicle-type availability row | |
| Pricing complete | Search status allowing a reliable improving-column conclusion |
12. Design Decisions
| Decision | Alternative | Rationale |
|---|---|---|
| ESPPRC label search | Enumerate all routes | Searches incrementally under resources and elementarity |
| Include customer and fleet duals | Subtract customer duals only | Matches all base restricted-master rows |
| Explicit completion status | Treat every return as completed search | Avoids reporting truncated search as convergence |
13. Change Log
| Version | Change | Reason |
|---|---|---|
| 1.1 | Aligned bilingual resource recurrences, phase prices, and pricing boundaries | Restored fleet duals and separated algorithm state from model variables |