Approximation Schemes for the Restricted Shortest Path Problem: The Rounding Algorithm Outputs a T-Path of Length at Most (1 + ε)·OPTResearch Paper
Motivation
The restricted shortest path problem asks for a shortest route between two points of a network subject to a budget on a second additive quantity, such as travel time, cost or risk. It appears as the pricing subproblem of column generation for crew scheduling and vehicle routing, in quality-of-service routing in communication networks, and in scheduling, where Hassin's own §7 uses it for a single-machine problem. The problem is NP-hard (Garey and Johnson, 1979), so exact polynomial algorithms are not expected, and the natural question is how well it can be approximated in polynomial time.
Timeline.
- 1966–1985. Practical exact methods and pseudopolynomial dynamic programs (Joksch 1966; Lawler 1976; Handler and Zang 1980; Aneja, Aggarwal and Nair 1983; Henig 1985).
- 1987. Warburton gives the first fully polynomial approximation scheme (FPAS) for this problem on acyclic graphs, based on rounding and scaling (Warburton, Oper. Res. 35, 1987).
- 1992. Hassin gives two faster FPASs: a rounding-and-scaling scheme driven by an approximate decision test (§3–§4), and a strongly polynomial scheme (§5–§6) (Hassin, Math. Oper. Res. 17, 1992).
- 2001. Lorenz and Raz give a simpler and faster scheme built on the same test-and-search pattern (Lorenz–Raz, Oper. Res. Lett. 28, 2001).
Hassin's combination of an approximate decision test with a geometric search on the bounds is the pattern later schemes for resource-constrained path problems refine, which is why his first scheme is the subject of this mission.
Setting
A directed graph has vertex set , , and edge set . Following the paper, the vertices are numbered so that every edge has ; in particular the graph is acyclic. Each edge carries a positive integer length and a positive integer transition time . A path has length and transition time . For a nonnegative integer , a -path is a path from to with , and is the length of a shortest -path.
Fix . For a real , the rounded lengths are
Procedure TEST(V) deletes the edges with and answers NO if, for some integer , some – path in the remaining graph has transition time at most and rounded length at most ; otherwise it answers YES.
The Rounding Algorithm keeps bounds on OPT. Starting from initial bounds , Step 1 repeats while : with it sets if TEST(V) = YES and if TEST(V) = NO. Step 2 outputs a -path that is shortest for the rounded lengths . The bounds after passes are written .
Formalization targets
Goal: the approximation guarantee of the Rounding Algorithm
If is a lower bound on the length of every -path, is a stage at which , and is a Step 2 output at , then
that is, . The initial upper bound is arbitrary.
Milestones (§3–§4)
- Rounding error (§3, p. 38): with , for every edge, and for every path.
- TEST(V) = NO (§3, p. 38): some -path has length , so .
- TEST(V) = YES (§3, p. 38): every -path has length , so .
- Bound update (§4, p. 39): along the run, and is a lower bound on every -path; if some -path has length at most , some -path has length at most .
- Scaled-optimum error (§4, p. 39): a Step 2 output at any satisfies for every -path .
Companion statements
- Termination when : some stage has ; and an explicit instance with on which Step 1 never stops.
- Initial bounds (Step 0, p. 39): every – path has length between and the sum of the longest edge-lengths.
- Algorithms A and B (§2, pp. 37–38): their recursions compute and , with .
Significance
The guarantee makes the Rounding Algorithm a fully polynomial approximation scheme: combined with the paper's running-time analysis, a -approximate -path is computed in time polynomial in the input size and . The two ingredients, an approximate decision test that answers "OPT " or "OPT ", and a geometric search on the ratio , are reused in later FPASs for constrained path, knapsack-type and scheduling problems; the milestones isolate them as separate statements.
The result has been proved since 1992 but, as far as a search of the platform and of Mathlib shows, none of it is machine-checked. This mission produces a checked version of the first scheme, stated for every stage at which the printed stopping test holds and every optimal Step 2 output. It also records, as a companion, that the printed Step 1 need not terminate when , and proves termination under .
Difficulty
The arithmetic of each step is short; the difficulty is in the combinatorial facts the page uses without proof and in the bookkeeping of a run. The rounding error of a path is at most only because a – path has at most edges, which follows from the numbering and must be derived for list-encoded paths. The YES case must cover -paths through edges that TEST deleted, which the rounding argument does not see. The bound update needs both bounds to stay positive so that is a meaningful test point, an invariant of the whole run rather than of one step. A tempting shortcut, assuming that LB is a lower bound on OPT at the stopping stage, would assume milestone 4; the goal assumes it only for .
Formalization scope
- Representation. Vertices are natural numbers; an instance is a structure with , a finite edge set of pairs, and length and time functions, with a well-formedness predicate: , every edge has , and lengths and times are positive. The requirement is not printed: a – path and the divisions by presuppose it. Paths are nonempty vertex lists.
- Arithmetic. is taken in the reals; is the natural-number floor of a nonnegative real; is the real square root. Bounds and are reals, is a natural number.
- OPT. OPT is never a number in the formal statements, because it is when no -path exists. "OPT " is a bound on every -path, "OPT " is the existence of a -path, and the goal compares the output with every -path. Algorithms A and B use values in .
- TEST(V) is defined by the answer the procedure reaches, not through Algorithm B's printed recursion, whose initial condition is wrong for rounded lengths ; for and the answers agree.
- The run is the iterate of one pass of Step 1; a stopped state is a fixed point. Step 2 outputs any -path optimal for the rounded lengths, without pruning edges, as printed.
- Added hypothesis. The termination statement assumes , which the page does not state; without it the printed loop can run forever, and an explicit instance is included.
- Not a trivialization. The goal assumes nothing about TEST's correctness, the rounding error or the lower-bound invariant along the run, and the termination companion shows that its stopping hypothesis is reachable.
- Out of scope. The second, strongly polynomial scheme of §5–§6 is not included, because as printed its Partitioning Algorithm can report infeasibility on a feasible instance and formalizing it would require a corrected algorithm that is not the author's. All running-time claims, stated as bounds under an informal operation count, are also excluded, as are the variant of the test points and the scheduling application of §7.
- Reusable parts. The list-based path layer with two additive weights, and the correctness of the pseudopolynomial recursions of Algorithms A and B, are independent of the approximation scheme. Contributions of proofs for any milestone or companion are welcome.
Selected references
- R. Hassin, Approximation schemes for the restricted shortest path problem, Mathematics of Operations Research 17(1):36–42, 1992. https://doi.org/10.1287/moor.17.1.36
- A. Warburton, Approximation of Pareto optima in multiple-objective, shortest-path problems, Operations Research 35(1):70–79, 1987. https://doi.org/10.1287/opre.35.1.70
- D. H. Lorenz and D. Raz, A simple efficient approximation scheme for the restricted shortest path problem, Operations Research Letters 28(5):213–219, 2001. https://doi.org/10.1016/S0167-6377(01)00069-4
- M. R. Garey and D. S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, W. H. Freeman, 1979.