Framework Example 5: VRPTW Branch-and-Price — Overview
1. Overview
Demo5 is the runnable VRPTW integration. It builds a route-based restricted master, prices elementary resource-constrained routes, and applies branch-and-price through the network-scheduling framework.
2. Contexts and Dependencies
| Context | Responsibility | Dependency |
|---|---|---|
| VRP | Customers, vehicle types, routes, resources, and validation | Normalized input and calculation policies |
| Route generation | Resource-constrained elementary-route pricing | VRP, dual prices, branch rules |
| Route compilation | Customer/fleet rows, artificial coverage, and phase objectives | VRP, generated routes |
The application coordinates branch nodes and phase transitions. Generation and compilation exchange route columns and dual prices.
3. Concepts, Sets, and Predicates
4. Variables and Intermediate Values
5. Assertions, Constraints, and Objectives
Customer coverage satisfies
6. Algorithms and Lifecycle
The application seeds routes, solves node LPs, searches improving columns with ESPPRC, and handles fractional solutions and branch nodes. Pricing includes customer and fleet duals. A return constrained by a column limit is not automatically complete pricing.
7. Register → Construct → Solve → Analyze
VRP validates and normalizes input. Generation builds the pricing graph. Compilation registers the restricted master. Branch-and-price coordinates master solves, pricing, and phase transitions. Analysis turns integer route usage into a validated solution.
8. Source Entry Points
9. Kotlin/Rust Comparison and Design Decisions
Both framework examples use route columns. The equations distinguish node LPs from integer solutions and phase-I feasibility restoration from phase-II cost optimization. A direct arc-model test oracle does not replace the route-column production master.
10. Context Model Pages
11. Change Log
| Version | Change | Reason |
|---|---|---|
| 1.1 | Aligned bilingual overviews, notation, and source entry points | Keep the overview consistent with its context models |