Skip to main content
Log in

Dynamic Programming Approach to the Generalized Minimum Manhattan Network Problem

Algorithmica Aims and scope Submit manuscript

Cite this article


We study the generalized minimum Manhattan network (GMMN) problem: given a set \(P\) of pairs of points in the Euclidean plane \({\mathbb{R}}^2\), we are required to find a minimum-length geometric network which consists of axis-aligned segments and contains a shortest path in the \(L_1\) metric (a so-called Manhattan path) for each pair in \(P\). This problem commonly generalizes several NP-hard network design problems that admit constant-factor approximation algorithms, such as the rectilinear Steiner arborescence (RSA) problem, and it is open whether so does the GMMN problem. As a bottom-up exploration, Schnizler (2015) focused on the intersection graphs of the rectangles defined by the pairs in \(P\), and gave a polynomial-time dynamic programming algorithm for the GMMN problem whose input is restricted so that both the treewidth and the maximum degree of its intersection graph are bounded by constants. In this paper, as the first attempt to remove the degree bound, we provide a polynomial-time algorithm for the star case, and extend it to the general tree case based on an improved dynamic programming approach.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13

Similar content being viewed by others


  1. Precisely, a triangle itself is not a triangle-free pseudotree, but its size is trivially bounded by a constant. In contrast, the size of a pseudotree containing a triangle is unbounded, and it remains open whether such a case is tractable or not. See Sect. 2.3 for why the triangle-freeness is crucial in our approach.

  2. We remark that our definition of the intersection graph is slightly different from Schnizler’s one [18], which regards two pairs as adjacent even when their bounding boxes share exactly one point. We employ our definition because M-paths for such pairs cannot share any nontrivial segment. This difference itself expands tractable situations, and sometimes requires more careful arguments due to shared points of nonadjacent pairs (in particular, the corners of their bounding boxes).

  3. Note that p can be shared as corners of two different leaf pairs due to our definition of the intersection graph, and then leaving one bounding box means entering the other straightforwardly.

  4. We may have \(p \in V_\llcorner \setminus {V_{{}^\bullet {}_\bullet }}\) and \(q \in {V_{{}^\bullet {}_\bullet }}\), and then the original arc in G is already \((p, q^{\rm{hor}})\) or \((p, q^{\rm{vert}})\) of length \(d(p, q) = \Vert pq\Vert\). Such an arc is replaced with two arcs \((p, q^{\rm{hor}})\) of length \(d_x(p, q)\) and \((p, q^{\rm{vert}})\) of length \(d_y(p, q)\).

  5. If \(p_v\) or \(q_v\) (or both) can move on two boundaries of B(v), then we separately handle all possible cases, e.g., when \((q_v)_x = (t_v)_x\) (i.e., \(q_v\) moves on the right boundary of B(v)) and when \((q_v)_y = (t_v)_y\) (i.e., \(q_v\) moves on the upper boundary of B(v)).


  1. Appel, K., Haken, W.: Every planar map is four colorable. Part I: discharging. Ill. J. Math. 21(3), 429–490 (1977)

    MATH  Google Scholar 

  2. Appel, K., Haken, W., Koch, J.: Every planar map is four colorable. Part II: reducibility. Ill. J. Math. 21(3), 491–567 (1977)

    MATH  Google Scholar 

  3. Arora, S.: Approximation schemes for NP-hard geometric optimization problems: a survey. Math. Program. 97(1–2), 43–69 (2003)

    Article  MathSciNet  Google Scholar 

  4. Brooks, R.L.: On colouring the nodes of a network. Math. Proc. Cambridge Philos. Soc. 37(2), 194–197 (1941)

    Article  MathSciNet  Google Scholar 

  5. Chepoi, V., Nouioua, K., Vaxès, Y.: A rounding algorithm for approximating minimum Manhattan networks. Theoret. Comput. Sci. 390(1), 56–69 (2008)

    Article  MathSciNet  Google Scholar 

  6. Chin, F.Y., Guo, Z., Sun, H.: Minimum Manhattan network is NP-complete. Discrete Comput. Geom. 45(4), 701–722 (2011)

    Article  MathSciNet  Google Scholar 

  7. Cygan, M., Fomin, F.V., Kowalik, L., Lokshtanov, D., Marx, D., Pilipczuk, M., Pilipczuk, M., Saurabh, S.: Parameterized Algorithms. Springer, New York (2015)

    Book  Google Scholar 

  8. Das, A., Fleszar, K., Kobourov, S., Spoerhase, J., Veeramoni, S., Wolff, A.: Approximating the generalized minimum Manhattan network problem. Algorithmica 80(4), 1170–1190 (2018)

    Article  MathSciNet  Google Scholar 

  9. Funke, S., Seybold, M.P.: The generalized minimum Manhattan network problem (GMMN)-scale-diversity aware approximation and a primal–dual algorithm. In: Proceedings of Canadian Conference on Computational Geometry (CCCG), vol. 26 (2014)

  10. Gudmundsson, J., Levcopoulos, C., Narasimhan, G.: Approximating a minimum Manhattan network. Nordic J. Comput. 8(2), 219–232 (2001)

    MathSciNet  MATH  Google Scholar 

  11. Guo, Z., Sun, H., Zhu, H.: Greedy construction of 2-approximation minimum Manhattan network. In: Proceedings of International Symposium on Algorithms and Computation (ISAAC), 4–15 (2008)

  12. Lu, B., Ruan, L.: Polynomial time approximation scheme for the rectilinear Steiner arborescence problem. J. Comb. Optim. 4(3), 357–363 (2000)

    Article  MathSciNet  Google Scholar 

  13. Masumura, Y., Oki, T., Yamaguchi, Y.: Dynamic programming approach to the generalized minimum Manhattan network problem. In: Proceedings of International Symposium on Combinatorial Optimization (ISCO), 237–248 (2020)

  14. Nastansky, L., Selkow, S.M., Stewart, N.F.: Cost-minimal trees in directed acyclic graphs. Z. Oper. Res. 18(1), 59–67 (1974)

    MathSciNet  MATH  Google Scholar 

  15. Nouioua, K.: Enveloppes de Pareto et Réseaux de Manhattan: Caractérisations et Algorithmes. Ph.D. thesis, Université de la Méditerranée (2005)

  16. Rao, S.K., Sadayappan, P., Hwang, F.K., Shor, P.W.: The rectilinear Steiner arborescence problem. Algorithmica 7(1–6), 277–288 (1992)

    Article  MathSciNet  Google Scholar 

  17. Robertson, N., Sanders, D., Seymour, P., Thomas, R.: The four-colour theorem. J. Comb. Theory Ser. B 70(1), 2–44 (1997)

    Article  MathSciNet  Google Scholar 

  18. Schnizler, M.: The generalized minimum manhattan network problem. Master’s thesis, University of Stuttgart (2015)

  19. Seybold, M.P.: Algorithm engineering in geometric network planning and data mining. Ph.D. thesis, University of Stuttgart (2018)

  20. Shi, W., Su, C.: The rectilinear Steiner arborescence problem is NP-complete. SIAM J. Comput. 35(3), 729–740 (2005)

    Article  MathSciNet  Google Scholar 

  21. Zachariasen, M.: On the approximation of the rectilinear Steiner arborescence problem in the plane. (Unpublished Manuscript) (2000)

Download references


We are grateful to the anonymous reviewers of this paper and the preliminary version [13] for their careful reading and giving helpful comments. Most of this work was done when the first and third authors were with Osaka University, and the two authors appreciate the support from members of Department of Information and Physical Sciences.

Author information

Authors and Affiliations


Corresponding author

Correspondence to Yutaro Yamaguchi.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

A preliminary version [13] of this paper appeared in ISCO 2020.


A Faster Dynamic Programming on Tree Decompositions

In this section, we prove the following theorem (cf. Table 1).

Theorem A.1

There exists an \(O(f({\rm{tw}}, \varDelta )\cdot n^{2\varDelta ({\rm{tw}}+ 1) + 1})\)-time algorithm for the GMMN problem, where \({\rm{tw}}\) and \(\varDelta\) denote the treewidth and the maximum degree of the intersection graph \({\rm{IG}}[P]\) for the input P, respectively, and f is a computable function.

1.1 A.1 Treewidth and Nice Tree Decompositions

We first review the concepts of tree decompositions and treewidth of graphs, and then define “nice” tree decompositions, which are useful to design a DP algorithm (cf. [7, Section 7.3]).

Definition A.1

A tree decomposition of an undirected graph G is a pair \({\mathcal{T}} = (T, (X_t)_{t \in V(T)})\) of a tree T and a tuple of subsets of V(G) indexed by V(T) such that the following three conditions hold:

  1. (T1)

    \(\bigcup _{t \in V(T)} X_t = V(G)\).

  2. (T2)

    For every \(\{u, v\} \in E(G)\), there exists \(t \in V(T)\) such that \(X_t\) contains both u and v.

  3. (T3)

    For every \(u \in V(G)\), the set \(T_u=\{t \in V(T) \mid u \in X_t\}\) is connected in T.

We call each \(t \in V(T)\) a node and each \(X_t\) a bag.

The width of a tree decomposition is the maximum size of its bag minus one. The treewidth of a graph G, which is denoted by \({\rm{tw}}(G)\) (or simply by \({\rm{tw}}\)), is the minimum width of a tree decomposition of G.

We choose an arbitrary node of a tree decomposition as a root, and define a nice tree decomposition as follows.

Definition A.2

A rooted tree decomposition \({\mathcal{T}}=(T, (X_t)_{t\in V(T)})\) is said to be nice if the following conditions are satisfied:

  • \(X_r = \emptyset\) for the root node r,

  • \(X_l = \emptyset\) for every leaf node \(l \in V(T)\), and

  • every non-leaf node of T is one of the following three types:

    • Introduce node: a node t having exactly one child \(t'\) such that \(X_t = X_{t'} \cup \{v\}\) for some vertex \(v \notin X_{t'}\); we say that v is introduced at t.

    • Forget node: a node t having exactly one child \(t'\) such that \(X_t = X_{t'} \setminus \{w\}\) for some vertex \(w \in X_{t'}\); we say that w is forgotten at t.

    • Join node: a node t having two children \(t_1\) and \(t_2\) such that \(X_t = X_{t_1} = X_{t_2}\).

By the condition (T3), every vertex of V(G) is forgotten only once, but may be introduced several times. Given any tree decomposition, one can efficiently transform it as nice without increasing the width.

Lemma A.1

(cf. [7, Lemma 7.4]) Any graph G admits a nice tree decomposition of width at most \({\rm{tw}}(G)\). Moreover, given a tree decomposition \({\mathcal{T}}=(T, (X_t)_{t \in V(T)})\) of G of width k, one can compute a nice tree decomposition of G of width at most k that has \(O(k\cdot |V(G)|)\) nodes in \(O(k^2 \cdot \max \left\{ |V(T)|, |V(G)|\right\} )\) time.

1.2 A.2 Algorithm Outline

We first sketch the idea of Schnizler’s algorithm for GMMN[Tree], and then extend it to our DP algorithm on nice tree decompositions.

Let \(P\) be a GMMN[Tree] instance. Suppose that we fix an arbitrary M-path \(\pi _v^* \in \varPi _P(v)\) for some \(v \in P\) and consider only feasible networks \(N = (\pi _w)_{w \in P} \in {\rm{Feas}}(P)\) with \(\pi _v = \pi _v^*\). Then, the instance \(P\) is intuitively divided into two independent parts \(P_v - v\) and \(P\setminus P_v\), where recall that \(P_v\) denotes the vertex set of the subtree of \({\rm{IG}}[P]\) rooted at v. In particular, if \(\Vert N\Vert\) is minimized (subject to \(\pi _v = \pi _v^*\)), then the restriction \(N[P_v] = (\pi _w)_{w \in P_v}\) also attains the minimum length subject to \(\pi _v = \pi _v^*\) (which is true for the other side \((P\setminus P_v) \cup \{v\}\)).

In addition, once we fix the in-out pairs \((s'_u, t'_u)\) of \(\pi _u \in \varPi _P(u)\) for all neighbors \(u \in \varGamma _v\), we can restrict the candidates for such M-paths \(\pi _v^* \in \varPi _P(v)\) on the corresponding coarse grid \({\mathcal{H}}(P', v)\), where \(P' = \{ (s'_u, t'_u) \mid u \in \varGamma _v \} \cup \{v\}\). The number of candidates for \(P'\) is at most \(((4n)^2)^{\delta _v} \le (16n)^{2\varDelta }\) and the number of candidates for \(\pi _v^* \in \varPi _{P'}(v)\) for each possible \(P'\) is at most \(\left( {\begin{array}{c}4\delta _v + 4\\ 2\delta _v + 2\end{array}}\right) \le 2^{4\varDelta + 4}\), where recall that \(\delta _v\) denotes the degree of v in \({\rm{IG}}[P]\) and \(\varDelta\) is the maximum degree of \({\rm{IG}}[P]\). Based on these observations, one can design a DP algorithm from the leaves to the root on \({\rm{IG}}[P]\) that computes minimum-length partial networks \(N[P_v] = (\pi _w)_{w \in P_v}\) subject to \(\pi _v = \pi _v^*\) for \(O((cn)^{2\varDelta })\) possible M-paths \(\pi _v^*\) for each \(v \in P\), where c is some constant.

Let us turn to our DP algorithm. Let \(P\) be a GMMN instance and \({\mathcal{T}} = (T, (X_t)_{t \in V(T)})\) be a nice tree decomposition of the intersection graph \({\rm{IG}}[P]\) of width \({\rm{tw}}\). As with the DP for GMMN[Tree] sketched above, we construct partial solutions from the leaves to the root of \({\mathcal{T}}\). From Lemma A.1, we can assume that T has \(O({\rm{tw}}\cdot n)\) nodes.

For \(t \in V(T)\), let \(P_t\) be the union of all the bags appearing in the subtree of T rooted at t, including \(X_t\). Then, the following lemma analogously holds, which implies that among all the feasible solutions \(N=(\pi _w)_{w \in P} \in {\rm{Feas}}(P)\) satisfying \(N[X_t] = (\pi ^*_w)_{w \in X_t}\) for some fixed \((\pi ^*_w)_{w \in X_t}\), all the minimum-length solutions have exactly the same length in \(P_t\).

Lemma A.2

Let \(N_1 \in {\rm{Feas}}(P)\) and \(N_2\in {\rm{Feas}}(P)\) be two feasible solutions for \(P\) such that \(N_1[X_t] = N_2[X_t]\). If \(\left\| N_1[P_t]\right\| < \left\| N_2[P_t]\right\|\), then \(N_2\) is suboptimal, i.e., \(N_2 \not \in {\rm{Opt}}(P)\).


Let \(N_2'\) be the network obtained from \(N_2\) by replacing \(N_2[P_t]\) with \(N_1[P_t]\). As \({\mathcal{T}}\) is a tree decomposition of the intersection graph \({\rm{IG}}[P]\), if we remove all the vertices in \(X_t\) from \({\rm{IG}}[P]\), then \(P_t \setminus X_t\) is disconnected from its complement in the remaining graph (cf. the condition (T3) in Definition A.1). Moreover, \(N_1\) and \(N_2\) have the same M-paths for \(X_t\), and hence the network \(N_2'\) is still an feasible solution for \(P\). In addition, \(\left\| N_1[P_t]\right\| < \left\| N_2[P_t]\right\|\) implies that \(\Vert N_2'\Vert < \Vert N_2\Vert\), and we are done. \(\square\)

Based on this lemma, we define subproblems for possible solutions in \(X_t\) as follows: given a GMMN instance \(P\) and an M-path \(\pi ^*_v \in \varPi _P(v)\) for each \(v \in X_t\), we are required to find a network \({\hat{N}} = ({\hat{\pi }}_w)_{w \in P} \in {\rm{Feas}}(P)\) such that \({\hat{N}}\) minimizes \(\Vert {\hat{N}}[P_t]\Vert\) subject to \({\hat{\pi }}_v = \pi ^*_v\) for all \(v \in X_t\). Formally, we define

$$\begin{aligned} {\rm{twdp}}(t, (\pi _v^*)_{v \in X_t}) = \min \left\{ \left\| N[P_t] \right\| \Biggm | \begin{array}{ll}&{}N = (\pi _w)_{w \in P} \in {\rm{Feas}}(P),\\ &{}\pi _v = \pi _v^* \ (\forall v \in X_t) \end{array}\right\} . \end{aligned}$$

If t is a leaf, i.e., when \(X_t = \emptyset\), then we write \((\pi _v^*)_{v \in X_t} = \epsilon\). As with the tree case, it suffices to consider \(O((cn)^{2\varDelta })\) candidates for \(\pi _v^* \in \varPi _P(v)\), and hence there exist \(O((cn)^{2\varDelta ({\rm{tw}}+ 1)})\) candidates for \((\pi _v^*)_{v \in X_t}\) as \(|X_t| \le {\rm{tw}}+ 1\). We describe recursive formulae for filling up the DP table in the next section.

1.3 A.3 Recursive Formula

We separately discuss the four types of nodes in a nice tree decomposition (cf. Definition A.2).

Leaf node. If t is a leaf node, then \({\rm{twdp}}(t, \epsilon ) = 0\) since \(X_t = \emptyset\) and \(P_t = \emptyset\).

Introduce node. If t is an introduce node with the child \(t'\) such that \(X_t = X_{t'} \cup \{w\}\) for some \(w \in X_{t'}\), then

$$\begin{aligned} {\rm{twdp}}(t, (\pi _v^*)_{v \in X_t}) = {\rm{twdp}}(t', (\pi _v^*)_{v \in X_{t'}}) + d(s_w, t_w) - \left\| \pi ^*_w \cap N^*\right\| , \end{aligned}$$

where we define \(N^* = \bigcup _{v \in X_{t'}} \pi _v^*\) and the correctness of (A.1) is shown as follows. If w has a neighbor u in \(P_t \setminus X_{t'}\), then the edge \(\{u, w\} \in E({\rm{IG}}[P])\) cannot belong to any bag (because u has already been forgotten in the subtree rooted at \(t'\)), which contradicts that \({\mathcal{T}}\) is a tree decomposition of \({\rm{IG}}[P]\) (cf. the condition (T2) in Definition A.1). Hence, it suffices to care the total length of segments shared by \(\pi _w^*\) and \(N^*\), which leads to the formula (A.1).

Forget node. If t is a forget node with the child \(t'\) such that \(X_t = X_{t'} \setminus \{u\}\) for some \(u \in X_{t'}\), then

$$\begin{aligned} {\rm{twdp}}(t, (\pi _v^*)_{v \in X_{t}}) = \min \left\{ {\rm{twdp}}(t', (\pi _v)_{v \in X_{t'}}) \mid \pi _v = \pi ^*_v \ (\forall v \in X_{t'}\setminus \{u\})\right\} , \end{aligned}$$

whose correctness is shown as follows. By definition, we have \(P_t = P_{t'}\) and any network \(N = (\pi _w)_{w \in P} \in {\rm{Feas}}(P)\) with \(\pi _v = \pi _v^*\) \((\forall v \in X_{t'})\) satisfies \(\pi _v = \pi _v^*\) \((\forall v \in X_t \subseteq X_{t'})\), and hence \({\rm{twdp}}(t, (\pi _v^*)_{v \in X_{t}}) \le {\rm{twdp}}(t', (\pi ^*_v)_{v \in X_{t'}})\). On the other hand, if we take a network \(N = (\pi _w)_{w \in P} \in {\rm{Feas}}(P)\) attaining \({\rm{twdp}}(t', (\pi _v^*)_{v \in X_{t'}})\), then we have \({\rm{twdp}}(t', (\pi _v^*)_{v \in X_{t'}}) = {\rm{twdp}}(t, (\pi _v)_{v \in X_{t}})\) and \(\pi _v = \pi _v^*\) for all \(v \in X_{t'}\). Thus, we see that the formula (A.2) holds.

Join node. If t is a join node with two children \(t_1\) and \(t_2\) such that \(X_t = X_{t_1} = X_{t_2}\), then

$$\begin{aligned} {\rm{twdp}}(t,(\pi _v^*)_{v \in X_t}) = {\rm{twdp}}(t_1, (\pi _v^*)_{v \in X_t}) + {\rm{twdp}}(t_2, (\pi _v^*)_{v \in X_t}) - \Vert N^*\Vert , \end{aligned}$$

where we define \(N^* = \bigcup _{v \in X_t} \pi _v^*\) and the correctness of (A.3) is shown as follows. Let \(N_1 = (\pi ^{(1)}_w)_{w \in P} \in {\rm{Feas}}(P)\) and \(N_2 = (\pi _w^{(2)})_{w \in P} \in {\rm{Feas}}(P)\) be networks attaining \({\rm{twdp}}(t_1, (\pi _v^*)_{v \in X_t})\) and \({\rm{twdp}}(t_2, (\pi _v^*)_{v \in X_t})\), respectively. Since two pairs \(u \in P_{t_1} \setminus X_{t}\) and \(w \in P_{t_2} \setminus X_{t}\) cannot be adjacent (otherwise, the edge \(\{u, w\} \in E({\rm{IG}}[P])\) cannot belong to any bag, a contradiction), the restrictions \(N_1[P_{t_1} \setminus X_t]\) and \(N_2[P_{t_2} \setminus X_t]\) do not share any nontrivial segment. In addition, as \(P_t = P_{t_1} \cup P_{t_2}\) and \(\pi ^{(1)}_v = \pi ^{(2)}_v = \pi _v^*\) for all \(v \in X_{t} = X_{t_1} = X_{t_2}\), we obtain

$$\begin{aligned} {\rm{twdp}}(t, (\pi _v^*)_{v \in X_t})&= \Vert N_1\Vert + \Vert N_2\Vert - \Vert N^*\Vert \\&= {\rm{twdp}}(t_1, (\pi _v^*)_{v \in X_t}) + {\rm{twdp}}(t_2, (\pi _v^*)_{v \in X_t}) - \Vert N^*\Vert . \end{aligned}$$

1.4 A.4 Computational Time Analysis

In this section, we show that the whole algorithm runs in \(O(f({\rm{tw}}, \varDelta ) \cdot n^{2\varDelta ({\rm{tw}}+ 1) + 1})\) time, which completes the proof of Theorem A.1. Recall that \(|V(T)| = O({\rm{tw}}\cdot n)\) and the size of the DP table \({\rm{twdp}}(t, \cdot )\) is bounded by \(O((cn)^{2\varDelta ({\rm{tw}}+ 1)})\) for each node \(t \in V(T)\) (cf. Sect. A.2).

For each forget node t, we just reduce the table \({\rm{twdp}}(t', \cdot )\) of size \(O((cn)^{2\varDelta ({\rm{tw}}+ 1)})\) for the child \(t'\) by taking the minimum according to (A.2), which requires \(O((cn)^{2\varDelta ({\rm{tw}}+ 1)})\) time in total.

Recall that, when we consider candidates for \(\pi _v^* \in \varPi _P(v)\), we restrict them on a coarse grid \({\mathcal{H}}(P', v)\) with \(|P'| \le \delta _v + 1 \le \varDelta + 1\) (cf. Sect. A.2). Hence, for each introduce or join node t, by (A.1) or (A.3), respectively, one can compute \({\rm{twdp}}(t, (\pi _v^*)_{v \in X_t})\) in time depending only on \(\varDelta\) and \({\rm{tw}}\).

Thus, one can fill up each table \({\rm{twdp}}(t, \cdot )\) in \(O(f({\rm{tw}}, \varDelta ) \cdot n^{2\varDelta ({\rm{tw}}+ 1)})\) time, where \(c^{2\varDelta ({\rm{tw}}+ 1)}\) is also included in \(f({\rm{tw}}, \varDelta )\). This concludes that the overall computational time is bounded by \(O(f({\rm{tw}}, \varDelta ) \cdot n^{2\varDelta ({\rm{tw}}+ 1) + 1})\).

We remark that, in the running time of our algorithm, the exponent of n still contains both the treewidth \({\rm{tw}}\) and the maximum degree \(\varDelta\) of the intersection graph. It remains open whether the GMMN problem is fixed parameter tractable (FPT) with respect to such parameters or not.

B Approximation Ratio Based on Chromatic Number

In this section, we give a simple observation based on graph coloring (Table 2).

Table 2 Current best approximation ratios classified by the class of intersection graphs, whose treewidth and maximum degree are denoted by \({\rm{tw}}\) and \(\varDelta\), respectively

Proposition B.1

Let \(P\) be a GMMN instance and \(N^*\in {\rm{Opt}}(P)\) be an optimal solution for \(P\). If the intersection graph \({\rm{IG}}[P]\) of \(P\) is k-colorable, for every \(N \in {\rm{Feas}}(P)\), the total length of N is at most k times of the total length of \(N^*\).


Let \(P\) be a GMMN instance such that \({\rm{IG}}[P]\) is k-colorable, i.e., there exists a k-partition \(\{P_1, P_2, \dots , P_k\}\) of \(P\) such that every \(P_i\) is an independent set in \({\rm{IG}}[P]\). Then, for each \(i \in [k]\), the total length of an optimal solution \(N_i^* = (\pi _w)_{w \in P_i} \in {\rm{Opt}}(P_i)\) for the GMMN subinstance \(P_i\) is equal to the sum of the Manhattan distances, i.e.,

$$\begin{aligned} \left\| N_i^*\right\| = \sum _{w = (s, t) \in P_i} d(s, t). \end{aligned}$$

For every \(i \in [k]\), the optimal solution \(N^*\) also contains an M-path for every pair in \(P_i\) since \(P_i \subseteq P\), and hence \(\Vert N_i^*\Vert \le \Vert N^*\Vert\). Since any feasible solution \(N \in {\rm{Feas}}(P)\) is written as \(\bigcup _{i \in [k]} N_i^*\) for some \(N_i^* \in {\rm{Opt}}(P_i)\) \((i \in [k])\) by definition, we have

$$\begin{aligned} \Vert N\Vert = \left\| \bigcup _{i \in [k]} N_i^* \right\| \le \sum _{i \in [k]} \Vert N_i\Vert \le k \cdot \Vert N^*\Vert , \end{aligned}$$

and we are done. \(\square\)

From Proposition B.1, we immediately obtain the following corollaries. For complete graphs and odd cycles, obviously, one needs \(\varDelta + 1\) colors, where \(\varDelta\) is the maximum degree. However, all other connected graphs are \(\varDelta\)-colorable [4]. Since the GMMN problem whose intersection graph is a complete graph and a cycle admits an O(1)-approximation algorithm and a polynomial-time (exact) algorithm, respectively, we focus on approximation ratio for other cases.

Corollary B.1

Let \(P\) be a GMMN instance whose intersection graph has maximum degree at most \(\varDelta\), and is neither a complete graph nor an odd cycle. Let \(N^*\in {\rm{Opt}}(P)\) be an optimal solution for \(P\). Then for any feasible solution \(N \in {\rm{Feas}}(P)\), we have \(\Vert N\Vert \le \varDelta \cdot \Vert N^*\Vert\).

It is easy to check that a graph of treewidth at most \({\rm{tw}}\) is \(({\rm{tw}}+1)\)-colorable.

Corollary B.2

Let \(P\) be a GMMN instance whose intersection graph is of treewidth at most \({\rm{tw}}\). Let \(N^*\in {\rm{Opt}}(P)\) be an optimal solution for \(P\). Then for any feasible solution \(N \in {\rm{Feas}}(P)\), we have \(\Vert N\Vert \le ({\rm{tw}}+1)\cdot \Vert N^*\Vert\).

Every planar graph is known to be 4-colorable [1, 2, 17].

Corollary B.3

Let \(P\) be a GMMN instance whose intersection graph is planar. Let \(N^*\in {\rm{Opt}}(P)\) be an optimal solution for \(P\). Then for any feasible solution \(N \in {\rm{Feas}}(P)\), we have \(\Vert N\Vert \le 4 \cdot \Vert N^*\Vert\).

Rights and permissions

Reprints and Permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Masumura, Y., Oki, T. & Yamaguchi, Y. Dynamic Programming Approach to the Generalized Minimum Manhattan Network Problem. Algorithmica 83, 3681–3714 (2021).

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: