\(\newcommand{\R}{\mathbb{R}}\) \(\newcommand{\Z}{\mathbb{Z}}\) \(\newcommand{\N}{\mathbb{N}}\)
For a graph \(G=(V,E)\) with cost on the edges. A single vehicle with capacity 1 is at position \(s_0\in V\).
\(s_0\)
\(\color{blue}{s_1}\)
\(\color{blue}{t_1}\)
\(\color{red}{s_2}\)
\(\color{red}{t_2}\)
\(s_0\)
\(\color{blue}{s_1}\)
\(\color{blue}{t_1}\)
\(\color{red}{s_2}\)
\(\color{red}{t_2}\)
\(s_0\)
\(\color{blue}{s_1}\)
\(\color{blue}{t_1}\)
\(\color{red}{s_2}\)
\(\color{red}{t_2}\)
\(s_0\)
\(\color{blue}{s_1}\)
\(\color{blue}{t_1}\)
\(\color{red}{s_2}\)
\(\color{red}{t_2}\)
\(s_0\)
\(\color{blue}{s_1}\)
\(\color{blue}{t_1}\)
\(\color{red}{s_2}\)
\(\color{red}{t_2}\)
\(s_0\)
\(\color{blue}{s_1}\)
\(\color{blue}{t_1}\)
\(\color{red}{s_2}\)
\(\color{red}{t_2}\)
\(s_0\)
\(\color{blue}{s_1}\)
\(\color{blue}{t_1}\)
\(\color{red}{s_2}\)
\(\color{red}{t_2}\)
Input: A base graph \(B=(V,E)\), requests \(R\subseteq V\times V\), cost \(c:E\to \R^+\). Let \(G=(V,E\cup R)\) be a mixed graph.
Output: A min-cost tour of \(G\) where each edge in \(R\) is used exactly once.
\(m=|E|\), \(n=|V|\), \(p=|R|\)
Generalizations are called dial-a-ride problems.
For base graphs:
Image courtesy (Roodbergen and Koster 2001)
Stacker Crane Problem for a fixed topology can be solved in \(O(MST(m)+p)\) time.
Stacker Crane Problem is FPT parametrized by cycle rank and branch number of the base graph.
Algorithms of (Atallah and Kosaraju 1988; Frederickson 1993).
Using the original formulation (no mixed graph).
Tour traverse through a edge forward and backward the same number of times. Flow is \(0\) on all edges (flow condition).
The tour must traverse through \(s_i\) to \(t_i\).
Add paths to fix the flow condition.
Add opposing edges to make sure the tour is connected.
Remove some vertices not incident to any edge already in the tour.
Reduced to minimum spanning tree.
Obtain a complete solution by construct a tour through the chosen edges.
flow = 0?
First, add the request paths.
Add edges to make sure each edge forward - backword = 1
Run minimum Steiner tree to get the set opposing edges to connect the tour.
Proximity Theorem
Let \(f\) be the min-cost circulation, the min-cost tour is in \([g]\) for some circulation \(g\) such that \(\|f-g\|_\infty\leq r\).
Theorem
There are \(O((2d+1)^r)\) circulations \(g\) such that \(\|f-g\|_\infty \leq d\), and can be enumerated in \(O((2d+1)^rm)\) time.
Minimum Steiner Tree
Given a weighted graph \(G=(V,E)\) and a set of terminal vertices \(T\subseteq V\). Find a minimum weight tree that connects all vertices in \(T\).
For a base graph with at most \(k\) branch vertices and cycle rank \(r\), the running time of the SCP algorithm is \(2^{O(2^r)}m + O((2r+1)^{r} 2^k (MST(m) + p))\).
SCP problem for fixed topologies can be solved in \(O(MST(m) + p)\) time.
FPT algorithm parametrized by number of branch vertices?
Arbitrary cycle rank, exactly \(1\) branch vertex
