Advertisement

Packing of arborescences with matroid constraints via matroid intersection

  • Csaba KirályEmail author
  • Zoltán Szigeti
  • Shin-ichi Tanigawa
Open Access
Full Length Paper Series A
  • 135 Downloads

Abstract

Edmonds’ arborescence packing theorem characterizes directed graphs that have arc-disjoint spanning arborescences in terms of connectivity. Later he also observed a characterization in terms of matroid intersection. Since these fundamental results, intensive research has been done for understanding and extending these results. In this paper we shall extend the second characterization to the setting of reachability-based packing of arborescences. The reachability-based packing problem was introduced by Cs. Király as a common generalization of two different extensions of the spanning arborescence packing problem, one is due to Kamiyama, Katoh, and Takizawa, and the other is due to Durand de Gevigney, Nguyen, and Szigeti. Our new characterization of the arc sets of reachability-based packing in terms of matroid intersection gives an efficient algorithm for the minimum weight reachability-based packing problem, and it also enables us to unify further arborescence packing theorems and Edmonds’ matroid intersection theorem. For the proof, we also show how a new class of matroids can be defined by extending an earlier construction of matroids from intersecting submodular functions to bi-set functions based on an idea of Frank.

Mathematics Subject Classification

05C05 05C20 05C70 05B35 05C22 

1 Introduction

1.1 Edmonds’ arborescence packing theorem and its extensions

An arborescence is a rooted directed tree in which each vertex has in-degree one except for one vertex called the root. In this paper we are interested in packing of arborescences, where throughout the paper a packing in a digraph means arc-disjoint subgraphs.

Edmonds’ arborescence packing theorem (or disjoint branching theorem) is one of the fundamental results in combinatorial optimization. This theorem gives a good characterization for directed graphs having a given number of arc-disjoint spanning arborescences (see Fig. 1a).

Theorem 1.1

(Edmonds [7]). Let \(D=(V, A)\) be a digraph, and \(\{s_1,\ldots , s_k\}\) a multiset of vertices in V. Then there exists a packing of spanning arborescences \(T_1, \ldots , T_k\) in D such that the root of \(T_i\) is \(s_i\) if and only if
$$\begin{aligned} |\partial (X)|\ge |\{i \in \{1,\ldots ,k\} : s_i\notin X\}| \end{aligned}$$
for every nonempty \(X\subseteq V\), where \(\partial (X)\) denotes the set of arcs entering X in D.
Fig. 1

Examples of arborescence packings, where the left figure is a given digraph with the root set \(\{s_1, s_2, s_3\}\) and the right figure indicates a packing. The uniform matroid \(\mathcal{{M}}\) of rank two is given on \(\{s_1, s_2 ,s_3\}\). a A packing of spanning arborescences, b a reachability packing of arborescences, c an \(\mathcal{{M}}\)-based packing of arborescences, and d an \(\mathcal{{M}}\)-reachability-based packing of arborescences

Since Edmonds’ seminal paper [7], numerous extensions and algorithmic improvements are proposed, see e.g., [1, 11, 28]. In this paper we are interested in two different lines of generalizations; one is due to Kamiyama, Katoh, and Takizawa [19], and the other is due to Durand de Gevigney, Nguyen, and Szigeti [4].

Let \(D=(V,A)\) be a digraph with a multiset set \(\{s_1,\ldots , s_k\}\) of vertices. The set of vertices reachable from \(s_i\) in D is denoted by \(U_i\). If \(U_i\) is not equal to V for some i, Theorem 1.1 only says that there is no spanning arborescence packing. Kamiyama, Katoh, and Takizawa [19] proved that Theorem 1.1 can be extended in a nontrivial way even in the setting that \(U_i\ne V\) holds for some i (see Fig. 1b).

Theorem 1.2

(Kamiyama, Katoh, and Takizawa [19]). Let \(D=(V, A)\) be a digraph, and \(\{s_1,\ldots , s_k\}\) a multiset of vertices in V. Then there is a packing of arborescences \(T_1, \ldots , T_k\) in D such that the root of \(T_i\) is \(s_i\) and \(V(T_i)=U_i\) for every i if and only if
$$\begin{aligned} |\partial (X)|\ge |\{i \in \{1,\dots ,k\} : s_i\notin X, U_i\cap X\ne \emptyset \}| \end{aligned}$$
for every nonempty \(X\subseteq V\).

Durand de Gevigney, Nguyen, and Szigeti [4] obtained another extension of Edmonds’ arborescence packing theorem. Suppose that a matroid \({\mathcal {M}}\) is given on a multiset \(\{s_1,\ldots , s_k\}\) of vertices in V. Instead of asking that every vertex is spanned by each arborescence, it is asked to find an arborescence packing in such a way that every vertex “receives a base” of \({\mathcal {M}}\) from the root set. Formally, a packing \(T_1,\ldots , T_k\) of arborescences is called \({\mathcal {M}}\)-based if the root of \(T_i\) is \(s_i\) for every i and the multiset \(\{s_i: v\in V(T_i)\}\) forms a base in \({\mathcal {M}}\) for every \(v\in V\). The following generalization of Theorem 1.1 was shown in [4] (see Fig. 1c).

Theorem 1.3

(Durand de Gevigney, Nguyen, and Szigeti [4]). Let \(D=(V,A)\) be a directed graph, \(\{s_1,\dots , s_k\}\) a multiset of vertices in V, and \({\mathcal {M}}\) a matroid with ground set \(\{s_1,\dots , s_k\}\) and rank function r. Then there exists an \({\mathcal {M}}\)-based packing of arborescences in D if and only if the multiset \(\{s_i: s_i=v\}\) is independent in \({\mathcal {M}}\) for every \(v\in V\) and
$$\begin{aligned} |\partial (X)|\ge r({\mathcal {M}})-r(\{ s_i: s_i\in X\}) \end{aligned}$$
for every nonempty \(X\subseteq V\), where \(r({\mathcal {M}})\) denotes the rank of \({\mathcal {M}}\).

Cs. Király [21] further considered a common generalization: a packing \(T_1,\ldots , T_k\) of arborescences is said to be \({\mathcal {M}}\)-reachability-based if the root of \(T_i\) is \(s_i\) for every i and \(\{s_i: v\in V(T_i)\}\) is a base of \(\{s_j: s_j\in P(v)\}\) for every \(v\in V\), where P(v) denotes the set of vertices from which v is reachable by a directed path in D. It was proved that a natural combination of the conditions in Theorems 1.2 and 1.3 still gives a good characterization (see Fig. 1d).

Theorem 1.4

(Cs. Király [21]). Let \(D=(V,A)\) be a directed graph, \(\{s_1,\dots , s_k\}\) a multiset of vertices in V, and \({\mathcal {M}}\) a matroid with ground set \(\{s_1,\dots , s_k\}\) and rank function r. Then there exists an \({\mathcal {M}}\)-reachability-based packing of arborescences in D if and only if the multiset \(\{s_i: s_i=v\}\) is independent in \({\mathcal {M}}\) for every \(v\in V\) and
$$\begin{aligned} |\partial (X)|\ge r(P(X))-r(\{ s_i: s_i\in X\}) \end{aligned}$$
for every \(X\subseteq V\), where \(P(X)=\bigcup _{v\in X} P(v)\).

The proofs of all of the above results are algorithmic, i.e., one can find a packing of arborescences satisfying the specified property in polynomial-time. In [21], Cs. Király also posed a question whether one can efficiently find a minimum weight arc set of a reachability-based packing of arborescences if a weight function is given on the arc set. Recently, Bérczi, T. Király, and Kobayashi [2] showed that this minimum weight packing problem can be reduced to the submodular flow problem, which leads to a polynomial-time algorithm.

1.2 Contributions

For the original setting of packing spanning arborescences, there is another well-known characterization due to Edmonds [8]. Namely the arc set of a packing of k spanning arborescences is exactly a common independent set of two matroids of size \(k|V|-k\); one matroid is the union of k copies of the graphic matroid of the underlying undirected graph and the other is the direct sum of uniform matroids on \(\partial (v)\) of rank \(k-|\{i\in \{1,\dots ,k\}: s_i=v\}|\) over \(v\in V\). This observation enables us to reduce the minimum weight packing problem of spanning arborescences to the minimum weight matroid intersection problem. In this paper we extend this fundamental observation to the setting of reachability-based packing of arborescences. We show that the arc set of a reachability-based packing is exactly a common independent set of two matroids of a certain size. One matroid we used is the direct sum of uniform matroids on \(\partial (v)\) as in the original setting. The other matroid, which is new to the best of our knowledge, is constructed by exploiting the underlying submodular bi-set function.

The application of bi-sets for arborescence packings was introduced by Bérczi and Frank [1] and then later developed by Bérczi, T. Király, and Kobayashi [2]. We continue this development by showing how the matroid induced by an intersecting submodular bi-set function plays a fundamental role. Such a matroidal view was in fact motivated by the work by Frank [13], where he used the same approach to reduce a rooted k-connection problem to the matroid intersection problem.

Our new characterization of reachability-based packing not only implies a faster algorithm for the minimum weight version of the problem but also unifies the reachability-based packing with the matroid restricted packing introduced by Frank [13] (or explicitly by Bernáth and T. Király [3]). Suppose that a matroid \({\mathcal {M}}_v\) is given on \(\partial (v)\) for all \(v\in V,\) and let \({\mathcal {M}}'\) be the directed sum of \({\mathcal {M}}_v\) over \(v\in V\). Then a packing is said to be \({\mathcal {M}}'\)-restricted if the arc set of the packing is independent in \({\mathcal {M}}'\). Frank [13] observed that the arc set of an \({\mathcal {M}}'\)-restricted packing of k spanning arborescences is exactly a common independent set of size \(k|V|-k\) of the union of k copies of the graphic matroid and \({\mathcal {M}}'\). Following Frank’s idea, we can also consider the reachability-based matroid-restricted packing problem and give a good characterization of the existence of a packing as well as an efficient algorithm for finding the minimum weight packing. In this way, we obtain a common generalization of three different generalizations of Edmonds’ arborescence packing theorem.

As we will explain formally in Sect. 3, the reachability-based matroid-restricted packing problem also includes the matroid intersection problem. Hence our result unifies not only the extensions of Edmonds’ arborescence packing theorem but also Edmonds’ matroid intersection theorem.

In order to solve the weighted reachability-based packing problem, we shall use a weighted matroid intersection algorithm. In the weighted matroid intersection problem, we are given two matroids \(\mathcal{{M}}_1 = (S, r_1)\) and \(\mathcal{{M}}_2 = (S, r_2 )\), a weight function \(w:S\rightarrow {\mathbb {R}}\), and an integer k, and are asked to find a minimum weight common independent set of cardinality k of \(\mathcal{{M}}_1\) and \(\mathcal{{M}}_2\). Edmonds [9], Lawler [23], and Iri-Tomozawa [18] independently gave algorithms that run in polynomial time, given an efficient independence oracle for \(\mathcal{{M}}_1\) and \(\mathcal{{M}}_2\). Since then there are number of improvements, see Sect. 41.3 of [28] and [16, 24] for a recent development.

Our contributions are summarized as follows:
  • A good characterization of \({\mathcal {M}}\)-reachability-based \({\mathcal {M}}'\)-restricted packings of arborescences in the form of connectivity (Theorem 3.4).

  • A characterization of the arc sets of \({\mathcal {M}}\)-reachability-based \({\mathcal {M}}'\)-restricted packings of arborescences in the form of matroid intersection (Theorem 5.7).

  • An efficient algorithm for the problem of minimum weight \({\mathcal {M}}\)-reachability-based \({\mathcal {M}}'\)-restricted packing of arborescences (Theorem 5.8).

  • A polyhedral description of the characteristic vectors of the arc sets of \({\mathcal {M}}\)-reachability-based \({\mathcal {M}}'\)-restricted packings of arborescences (Theorem 5.16).

1.3 Organization

The paper is organized as follows. In Sect. 2 we review a construction of matroids from intersecting submodular functions and then extend it to bi-set functions on digraphs. This matroid construction is a key tool in the development of our new results. In Sect. 3 we reformulate our packing problem in terms of rooted digraphs, which is more convenient in the subsequent technical discussion, and give a full description of our characterization of \({\mathcal {M}}\)-reachability-based \({\mathcal {M}}'\)-restricted packing. In Sect. 4 we consider the matroid-based packing problem and show how to solve the minimum weight packing problem via matroid intersection. The result is a special case of that in Sect. 5, but we believe that understanding this special case would be helpful to capture the high level idea. In Sect. 5 we develop new results on reachability-based packings listed above. In the remaining part of this section we introduce some notations used throughout the paper.

1.4 Notations

Let \(D=(V,A)\) be a digraph. For \(B\subseteq A\), let \( {\varvec{V}}({\varvec{B}})\) be the set of the endvertices of the arcs in B while let \({\varvec{H}}({\varvec{B}})\) be the set of heads of the arcs in B. For \(X,Z\subseteq V\) and \(B\subseteq A\), \({\varvec{\partial }}^{\varvec{B}}_{\varvec{Z}}({\varvec{X}})\) denotes the set of arcs in B from \(Z-X\) to X, \( {\varvec{B}}({\varvec{X}})\) denotes the set of arcs in B induced by X, \({\varvec{i}}_{\varvec{B}}({\varvec{X}})\)\(:=|B(X)|\), and \({\varvec{D}}[{\varvec{X}}]\)\(:=(X,A(X))\).

The notation can be extended for bi-sets. A bi-set is a pair \(\textsf {X}=(X_O, X_I)\) with \(X_I\subseteq X_O\subseteq V\). If \(\textsf {X}=(X_O, X_I)\) is a bi-set, \({{\mathbf {\mathsf{{X}}}}}_{\varvec{O}}\) and \({{\mathbf {\mathsf{{X}}}}}_{\varvec{I}}\) denote the outer-set\(X_O\) and the inner-set\(X_I\) of \(\textsf {X}\), respectively. The set of all bi-sets \(\{\textsf {X}=(X_O, X_I): X_I\subseteq X_O\subseteq V\}\) is denoted by \({\varvec{{\mathcal {{P}}}}}_{\varvec{2}}({\varvec{V}})\) or simply by \({{\mathcal {P}}}_2\). For \(\textsf {X}\in {{\mathcal {P}}}_2\), \(Z\subseteq V\) and \(B\subseteq A\), \({\varvec{\partial }}_{\varvec{Z}}^{\varvec{B}}({{\mathbf {\mathsf{{X}}}}})\) denotes the set of arcs in B from \(Z- \textsf {X}_O\) to \(\textsf {X}_I\), \( {\varvec{B}}({{\mathbf {\mathsf{{X}}}}})\)\(:=\{uv\in B: u\in \textsf {X}_O, v\in \textsf {X}_I\}\), and \( {\varvec{i}}_{\varvec{B}}({{\mathbf {\mathsf{{X}}}}})\)\(:=|B(\textsf {X})|\). Note that, for \(X\subseteq V,\)\(\partial _Z^B(X)=\partial _Z^B((X,X))\), \(B(X)=B((X,X))\) and \(i_B(X)=i_B((X,X)).\)

Throughout the paper we use the following basic terminologies from matroid theory. Let S be a finite set. A set function \(f:2^{S}\rightarrow {\mathbb {Z}}_+\) is called monotone non-decreasing if \(f(X)\le f(Y)\) for every \(X\subseteq Y\subseteq S\) and submodular if
$$\begin{aligned} f(X)+f(Y)\ge f(X\cup Y)+ f(X\cap Y) \end{aligned}$$
(1)
for every \(X,Y\subseteq S\). A pair \({{\mathcal {M}}}=(S, r)\) of a finite set and a set function \(r:2^{S}\rightarrow {\mathbb {Z}}_+\) is called a matroid if \(r(\emptyset )=0\), \(r(\{s\})\le 1\) for every \(s\in S\), and r is monotone non-decreasing and submodular. The members of \({{\mathcal {I}}}=\{Q\subseteq S:r(Q)=|Q|\}\) are called the independent sets of the matroid and r is called the rank function of the matroid. It is well known that a matroid can also be defined by its independent sets. Let \(Q\subseteq {S}.\) The maximal independent sets in Q are called bases of Q. A base of S is called a base of \(\mathcal{{M}}.\) An element \(s\in S\) is called a loop if s is not included in any base of \(\mathcal{{M}}\). We define \({\mathbf{Span}}_{{\varvec{\mathcal{{M}}}}}\)\((Q):=\{{s}\in {S}:r(Q\cup \{{s}\})=r(Q)\}.\)

For a finite set S and a positive integer k, the family of subsets \(Q\subseteq S\) with \(|Q|\le k\) forms the independent set family of a matroid, which is called the uniform matroid on S of rank k. If \(k=|S|\), it is called the free matroid on S. For a graph G with the edge set S, the graphic matroid of G is defined such that \(Q\subseteq S\) is independent if and only if Q is the edge set of a forest.

Let \(\mathcal{{M}}=(S,r)\) be a matroid. For \(Q\subseteq {S},\) the restriction \({\varvec{\mathcal{{M}}}}|_{\varvec{Q}}\) to Q is the matroid with rank function \( {\varvec{r}}|_{\varvec{Q}}\) obtained from \(\mathcal{{M}}\) by restriction on Q. For \(s\in S\), \({\varvec{\mathcal{{M}}}}-{\varvec{s}}\) is the matroid obtained from \(\mathcal{{M}}\) by deletion of s, that is, a matroid on \({S}-{s}\) with rank function \(r|_{{S}-{s}}\). For a positive integer k\({\varvec{\mathcal M}|_{\varvec{k}}}\) is the matroid obtained from \(\mathcal{{M}}\) by truncation at k, that is, a matroid on S with a rank function \(r_{{\mathcal M}|_k}(Q)=\min \{r(Q),k\}\). For matroids \(\mathcal{{M}}_1\) and \(\mathcal{{M}}_2\) on disjoint sets \(S_1\) and \(S_2\) with rank functions \(r_1\) and \(r_2\), their direct sum\( {\varvec{\mathcal{{M}}}}_{\varvec{1}}\oplus {\varvec{\mathcal{{M}}}}_{\varvec{2}}\) is the matroid on \(S_1\cup S_2\) with rank function \(r_{\oplus }(Q)=r_{1}(Q\cap {S_1})+r_{2}(Q\cap {S_2})\) for all \(Q\subseteq S_1\cup S_2.\) For matroids \(\mathcal{{M}}_1, \ldots , \mathcal{{M}}_k\) on a set S, the family of subsets \(Q\subseteq S\) which can be partitioned into independent sets \(Q_1, \dots , Q_k\) of \(\mathcal{{M}}_1, \ldots , \mathcal{{M}}_k\) forms the independent set family of a matroid on S. This matroid is known as the union of \(\mathcal{{M}}_1, \ldots , \mathcal{{M}}_k\).

2 Constructing matroids from submodular functions

In this section we review a matroid construction based on intersecting submodular set functions and then extend it to bi-set functions, which will play a key role in the development of our new result. The result in this section seems to have more applications, and is interesting in its own right.

2.1 Matroids from set functions

Let S be a finite set. Two sets \(X, Y\subseteq S\) are intersecting if \(X\cap Y\ne \emptyset \). The family \(\mathcal{{Q}}\) of subsets of S is said to be intersecting if \(X\cup Y, X\cap Y\in \mathcal{{Q}}\) for every intersecting \(X, Y\in \mathcal{{Q}}\). A function \(f:\mathcal{{Q}}\rightarrow {\mathbb {R}}\) on an intersecting family \(\mathcal{{Q}}\) is called intersecting submodular if (1) holds for every intersecting \(X, Y\in \mathcal{{Q}}\). A function f on a family \(\mathcal{{Q}}\) is called monotone non-decreasing if \(f(X)\le f(Y)\) for every \(X, Y\in \mathcal{{Q}}\) with \(X\subseteq Y\). A set function f is called (intersecting) supermodular if \(-f\) is (intersecting) submodular. For a function \(f:S\rightarrow {\mathbb {R}}\), we will denote its modular extension to \(2^S\) by \({\widetilde{{\varvec{f}}}}\), that is, \({\widetilde{f}}(X):=\sum _{x\in X}f(x)\) for \(X\subseteq S\).

Initiated by Edmonds and Rota [10] or Edmonds [5], several authors gave constructions of matroids from (intersecting) submodular functions. We use the following form (see [14, Section 13.4.1], or [15, Section 3.4c]).

Theorem 2.1

Let \(\mathcal{{Q}}\) be an intersecting family of subsets of a finite set S, and \(h:\mathcal{{Q}}\rightarrow {\mathbb {Z}}_{\ge 0}\) a monotone non-decreasing intersecting submodular set function. Then
$$\begin{aligned} {\varvec{\mathcal {I}}}_{\varvec{h}}=\{Y\subseteq S: |X|\le h(X) \text { for every } X\in \mathcal{{Q}}\text { with } X \subseteq Y\} \end{aligned}$$
forms the independent set family of a matroid \({\varvec{{\mathcal {M}}}}_{\varvec{h}}\) with rank function
$$\begin{aligned} {\varvec{r}}_{\varvec{h}}(Z):=\min \left\{ \sum _{i=1}^t h(X_i)+|Z-\bigcup _{i=1}^t X_i|:\{X_1,\ldots ,X_t\}\subseteq \mathcal{{Q}}\text { is a subpartition of }Z\right\} , \end{aligned}$$
and
$$\begin{aligned} {\varvec{P}}_{\varvec{h}}:=\{x\in {\mathbb {R}}^S: {\widetilde{x}}(X)\le h(X) \text { for } X\in \mathcal{{Q}}, \ 0\le x(v)\le 1\text { for } v\in S\} \end{aligned}$$
is the convex hull of the incidence vectors of the independent sets of \({\mathcal {M}}_h.\)

2.2 Matroids from bi-set functions

Let \(D=(V,A)\) be a digraph. For bi-sets \(\textsf {X}, \textsf {Y}\in {{\mathcal {P}}}_2(V)\), we denote by \({{\textsf {X}}}\subseteq {{\textsf {Y}}}\) if \(\textsf {X}_I\subseteq \textsf {Y}_I\) and \(\textsf {X}_O\subseteq \textsf {Y}_O\). The intersection \(\cap \) and the union \(\cup \) of bi-sets \(\textsf {X}, \textsf {Y}\in {{\mathcal {P}}}_2\) are defined by \({{\mathbf {\mathsf{{X}}}}}\,{\varvec{\cap }}\, {{\mathbf {\mathsf{{Y}}}}}\)\(:=(\textsf {X}_O\cap \textsf {Y}_O, \textsf {X}_I\cap \textsf {Y}_I)\) and \({{\mathbf {\mathsf{{X}}}}}\,{\varvec{\cup }}\,{{\mathbf {\mathsf{{Y}}}}}\)\(:=(\textsf {X}_O\cup \textsf {Y}_O, \textsf {X}_I\cup \textsf {Y}_I)\). Bi-sets \(\textsf {X}\) and \(\textsf {Y}\) are said to be intersecting if \(\textsf {X}_I\cap \textsf {Y}_I\ne \emptyset \).

Note that for \(\textsf {X},\textsf {Y}\in {{\mathcal {P}}}_2,\)
$$\begin{aligned} A(\textsf {X})\cap A(\textsf {Y})= & {} A(\textsf {X}\cap \textsf {Y}), \end{aligned}$$
(2)
$$\begin{aligned} A(\textsf {X})\cup A(\textsf {Y})\subseteq & {} A(\textsf {X}\cup \textsf {Y}). \end{aligned}$$
(3)
Using the above definition of \(\cap \) and \(\cup \) and intersecting bi-sets, we can extend the notions of intersecting families to bi-set families and the notions of intersecting sub- or supermodular set functions to bi-set functions.

Frank [13, Theorem 3.3] proved the following statement for modular bi-set functions. The same argument works for intersecting submodular bi-set functions.

Theorem 2.2

Let \(D=(V,A)\) be a digraph, \({{\mathcal {F}}}\) an intersecting bi-set family on V,  and \(f:{{\mathcal {F}}}\rightarrow {\mathbb {Z}}_{\ge 0}\) an intersecting submodular bi-set function. Thenforms the family of independent sets of a matroid \({\varvec{{\mathcal {M}}}}_{\varvec{f}}\) on A with rank functionandis the convex hull of the incidence vectors of the independent sets of \({\mathcal {M}}_f.\)

Proof

The proof is done by applying Theorem 2.1. To do so we define a set family \({{\mathcal {A}}}\) and a set function \(h:{{\mathcal {A}}}\rightarrow {\mathbb {Z}}_{\ge 0}\) as follows:We first show that \({{\mathcal {A}}}\) is an intersecting family and h is intersecting submodular on \({{\mathcal {A}}}\).
Take any \(F_1, F_2\in {{\mathcal {A}}}\), and let \(\textsf {Y}^i\in {{\mathcal {F}}}\) be a minimizer in the definition of \(h(F_i)\) for \(i=1,2\). By (2) and (3)
$$\begin{aligned} \begin{aligned}&F_1\cap F_2\subseteq A(\textsf {Y}^1\cap \textsf {Y}^2) \\&F_1\cup F_2\subseteq A(\textsf {Y}^1\cup \textsf {Y}^2). \end{aligned} \end{aligned}$$
(6)
To see that \({{\mathcal {A}}}\) is an intersecting family, suppose that \(F_1\cap F_2\ne \emptyset \). Then, by (6), \(\textsf {Y}^1_I\cap \textsf {Y}^2_I\ne \emptyset \). As \({{\mathcal {F}}}\) is an intersecting family, \(\textsf {Y}^1\cap \textsf {Y}^2\in \mathcal{{F}}\) and \(\textsf {Y}^1\cup \textsf {Y}^2\in \mathcal{{F}}\). Therefore (6) implies that \(F_1\cap F_2\in {{\mathcal {A}}}\) and \(F_1\cup F_2\in {{\mathcal {A}}}\), and \({{\mathcal {A}}}\) is indeed an intersecting family.
Also (6) and the intersecting submodularity of f imply the intersecting submodularity of h as follows:
$$\begin{aligned} h(F_1)+h(F_2)= & {} f(\textsf {Y}^1)+f(\textsf {Y}^2)\ge f(\textsf {Y}^1\cap \textsf {Y}^2)+f(\textsf {Y}^1\cup \textsf {Y}^2)\\\ge & {} h(F_1\cap F_2)+h(F_1\cup F_2). \end{aligned}$$
We next show that \(B\in {{\mathcal {I}}}\) if and only if \(|F|\le h(F)\) for every \(F\subseteq B\) with \(F\in {{\mathcal {A}}}\). Indeed, if \(B\in {{\mathcal {I}}},\) then for any \(F\subseteq B\) with \(F\in {{\mathcal {A}}}\) and for any \(\textsf {X}\in \mathcal{{F}}\) with \(F\subseteq A(\textsf {X})\), \(|F|\le i_B(\textsf {X})\le f(\textsf {X})\) and hence \(|F|\le h(F).\) On the other hand, if \(|F|\le h(F)\) for every \(F\subseteq B\) with \(F\in {{\mathcal {A}}}\), then for any \(\textsf {X}\in \mathcal{{F}},\)\(B(\textsf {X})\in {{\mathcal {A}}}\) and hence \(i_B(\textsf {X})=|B(\textsf {X})|\le h(B(\textsf {X}))\le f(\textsf {X}).\)

Thus \(\mathcal{{I}}\) forms the independent set family of a matroid by Theorem 2.1, which completes the proof of the first statement.

We next derive the rank formula given in the statement. By Theorem 2.1, \({{\mathcal {M}}}_f\) has the following formula for the rank of each \(F\subseteq A\):
$$\begin{aligned} r_f(F)=\min \left\{ \sum _{i=1}^t h(F_i)+\big |F-\bigcup _{i=1}^t F_i\big | \right\} \end{aligned}$$
(7)
where the minimum is taken over subpartitions \(\{F_1,\ldots , F_t\}\) of F such that \(F_i\in {{\mathcal {A}}}\). Take a minimizer \(\{F_1,\ldots , F_t\}\) for \(r_f(F)\), and let \(\textsf {X}^i\in {{\mathcal {F}}}\) be a minimizer in (5) for \(h(F_i)\). We claim that such a minimizer \(\{F_1,\ldots , F_t\}\) (and the corresponding \(\textsf {X}^i,\dots , \textsf {X}^t\)) can be taken in such a way that \(\textsf {X}^i_I\cap \textsf {X}^j_I=\emptyset \) for \(i\ne j\). Suppose that \(\textsf {X}^1_I\cap \textsf {X}^2_I\ne \emptyset \). Then \(F_1\cup F_2\subseteq A(\textsf {X}^1\cup \textsf {X}^2)\) and \(f(\textsf {X}^1)+f(\textsf {X}^2)\ge f(\textsf {X}^1\cap \textsf {X}^2)+f(\textsf {X}^1\cup \textsf {X}^2) \ge f(\textsf {X}^1\cup \textsf {X}^2)\) by the intersecting submodularity and non-negativity of f. Hence if we remove \(F_1\) and \(F_2\) and insert \(F_1\cup F_2\) to the family, the value on the right hand side of (7) does not increase.

Therefore, we can take \(\{F_1,\ldots , F_t\}\) such that \(\textsf {X}^i_I\cap \textsf {X}^j_I=\emptyset \) for \(i\ne j\). Then observe that \(\bigcup _{i=1}^t F_i=\bigcup _{i=1}^t A(\textsf {X}^i)\). Indeed, by definition, \(F_j\subseteq A(\textsf {X}^j)\) for \(1\le j\le t.\) By replacing \(F_j\) by \(A(\textsf {X}^j)\), \(\sum _{i=1}^t h(F_i)+\big |F-\bigcup _{i=1}^t F_i\big |\) can only decrease, but \(\{F_1,\ldots , F_t\}\) was already a minimizer of \(r_f(F)\), so we obtain that \(F_j=A(\textsf {X}^j)\) for \(1\le j\le t.\) Thus (7) can be written in the form of the statement.

Finally, for the polyhedral description, Theorem 2.1 implies \(P_f=\{x\in {\mathbb {R}}^A: {\widetilde{x}}(F)\le h(F) \text { for } F\in \mathcal{{A}}, \ 0\le x(a)\le 1\text { for } a\in A\}\). By the same argument as above, we have that \({\widetilde{x}}(F)\le h(F)\) for every \(F\in {{\mathcal {A}}}\) if and only if \({\widetilde{x}}(A(\textsf {X}))\le f(\textsf {X})\) for every \(\textsf {X}\in {{\mathcal {F}}}\). Thus the description can be converted in the form of the statement. \(\square \)

3 Characterizations in rooted digraphs

3.1 Rooted digraphs

It is a standard technique to convert the problem of packing arborescences with multiple root vertices to that with single root vertex by inserting a designated super vertex. Since the latter formulation would be technically easier to handle, in subsequent discussion we shall always work in directed graphs with a designed vertex, called rooted digraphs. Specifically, a rooted digraph is a directed graph \(D=(V+s, A)\) (with \(s\notin V\)) with a designated root vertex s of in-degree zero. The arcs leaving s are called root arcs. An arborescence is said to be an s-arborescence if its root is s.

Let \(D=(V+s,A)\) be a rooted digraph. Recall that for \(X,Z\subseteq V+s\) and \(B\subseteq A\), \(\partial ^B_Z(X)\) denotes the set of arcs in B from \(Z-X\) to X. For simplicity, in the subsequent discussion, Z is often omitted from the subscript if \(Z=V+s\), and similarly B is omitted from the superscript if \(B=A\). By consequence, \(|\partial (X)|\) denotes the in-degree of the set X. Note also that \(\partial _s(V)\) denotes the set of the root arcs in D. The omission rule is also applied to \(\partial ^B_Z(\textsf {X})\) for a bi-set \(\textsf {X}\in {{\mathcal {P}}}_2(V)\).

3.2 Packing in rooted digraphs

Suppose that a digraph \(D'=(V,A')\) and a multiset \(S=\{s_1,\dots , s_k\}\) of vertices in V are given as in Theorem 1.1. We consider a rooted digraph \(D=(V+s, A)\) obtained from \(D'\) by adding a new vertex s and a root arc \(ss_i\) for each \(s_i\in S\). See Fig. 2.
Fig. 2

a A digraph \(D'\) with a multiset of roots and b the corresponding rooted digraph D

Through this construction, one can see that Theorem 1.1 is equivalent to the following.

Theorem 3.1

(Edmonds [7]). Let \(D=(V+s, A)\) be a rooted digraph. Then there exists a packing of k spanning s-arborescences in D if and only if \(|\partial (X)|\ge k\) for every X with \(\emptyset \ne X\subseteq V\).

Now we consider applying the same trick to the matroid-based packing or the reachability-based packing problem. Since each root in S corresponds to a root arc in D, we should consider a matroid \({\mathcal {M}}_1\) on the set \(\partial _s(V)\) of the root arcs in D. Then a packing \(T_1,\dots , T_k\) of s-arborescences is \({\mathcal {M}}_1\)-based if
  1. (M1)

    each \(T_i\) contains exactly one root arc, denoted by \(e_i\);

     
  2. (M2)

    \(\{e_i: v\in V(T_i)\}\) is a base of \({\mathcal {M}}_1\) for every \(v\in V\).

     
Theorem 1.3 is equivalent to the following.

Theorem 3.2

(Durand de Gevigney, Nguyen, and Szigeti [4]). Let \(D = (V + s, A)\) be a rooted digraph, and \({\mathcal {M}}_1 = (\partial _s(V), r_1)\) a matroid. Then there exists an \({\mathcal {M}}_1\)-based packing of s-arborescences in D if and only if
$$\begin{aligned} r_1(\partial _s(X))+|\partial _V(X)|\ge r_1({\mathcal {M}}_1) \end{aligned}$$
for every nonempty \(X\subseteq V\).

To see the counterpart of Theorem 1.4 we recall the following notation introduced in the introduction. Let \( {\varvec{P}}_{\varvec{D}}({\varvec{v}})\) denote the set of vertices in V from which v can be reached by a directed path in D, and let \(P_D(X)=\bigcup _{v\in X} P_D(v)\) for \(X\subseteq V\). Note that, by definition, \(P_D(X)\) contains X and does not contain the root s. We will omit the subscript D when it is clear from the context.

A packing \(T_1,\ldots , T_k\) of s-arborescences is \({\mathcal {M}}_1\)-reachability-based if
  1. (R1)

    each \(T_i\) contains exactly one root arc, denoted by \(e_i\);

     
  2. (R2)

    \(\{e_i: v\in V(T_i)\}\) is a base of \(\partial _s(P(v))\) in \({\mathcal {M}}_1\) for every \(v\in V\).

     
Theorem 1.4 is equivalent to the following.

Theorem 3.3

(Cs. Király [21]). Let \(D = (V + s, A)\) be a rooted digraph, and \({\mathcal {M}}_1 = (\partial _s(V), r_1)\) a matroid. Then there exists an \({\mathcal {M}}_1\)-reachability-based packing of s-arborescences in D if and only if
$$\begin{aligned} r_1(\partial _s(X))+|\partial _V(X)|\ge r_1(\partial _s(P(X))) \end{aligned}$$
for every \(X\subseteq V\).
See Fig. 3 for examples.
Fig. 3

Packings of s-arborescences in rooted digraphs corresponding to the examples in Fig. 1. The uniform matroid \(\mathcal{{M}}\) of rank two is given on the set \(\{e_1, e_2 ,e_3\}\) of root arcs

3.3 Main theorem

Recall that a packing \(T_1,\dots , T_k\) of arborescences is said to be \({\mathcal {M}}_2\)-restricted if \(\bigcup _{i=1}^k A(T_i)\) is independent in a matroid \({\mathcal {M}}_2\). One of the main results of this paper is the following extension of Theorem 3.3.

Theorem 3.4

Let \(D=(V+s,A)\) be a rooted digraph, and \(\mathcal{{M}}_1=(\partial (V),r_1)\) and \(\mathcal{{M}}_2=(A,r_2)\) two matroids such that \(\mathcal{{M}}_2\) is the direct sum of the matroids \(\mathcal{{M}}_v=(\partial (v),r_v)\) for \(v\in V\). Then there exists an \(\mathcal{{M}}_1\)-reachability-based \(\mathcal{{M}}_2\)-restricted packing of s-arborescences in D if and only if
$$\begin{aligned} r_{1}(F)+r_{2}(\partial (X)-F)\ge r_{1}(\partial _s({P(X)})) \text { for all } X\subseteq V \hbox { and } F\subseteq \partial _s(X). \end{aligned}$$
(8)

The proof is given in Sect. 5.4.

Note that, if D is a rooted digraph with two vertices, then D has an \({\mathcal {M}}_1\)-reachability-based \({\mathcal {M}}_2\)-restricted packing if and only if \({\mathcal {M}}_1\) and \({\mathcal {M}}_2\) have a common independent set of size equal to the rank of \({\mathcal {M}}_1\). Hence, for this special input, Theorem 3.4 is equivalent to the following matroid intersection theorem of Edmonds.

Theorem 3.5

(Edmonds [5]) Let \(\mathcal{{M}}_1 = (S, r_1)\) and \(\mathcal{{M}}_2 = (S, r_2 )\) be two matroids, and k a positive integer. Then there exists a common independent set of \(\mathcal{{M}}_1\) and \(\mathcal{{M}}_2\) of size k if and only if
$$\begin{aligned} r_1(X)+r_2(S-X)\ge k \text { for all } X\subseteq S. \end{aligned}$$
(9)

When we require \(\mathcal{{M}}_1\)-based packings, Theorem 3.4 can be simplified as follows.

Corollary 3.6

Let \(D=(V+s,A)\) be a rooted digraph, and \(\mathcal{{M}}_1=(\partial (V),r_1)\) and \(\mathcal{{M}}_2=(A,r_2)\) two matroids such that \(\mathcal{{M}}_2\) is the direct sum of the matroids \(\mathcal{{M}}_v=(\partial (v),r_v)\) for \(v\in V\). There exists an \(\mathcal{{M}}_1\)-based \(\mathcal{{M}}_2\)-restricted packing of s-arborescences in D if and only if
$$\begin{aligned} r_{1}(F)+r_{2}(\partial (X)-F)\ge r_{1}(\partial _s(V)) \text { for all } \emptyset \ne X\subseteq V \text { and }F\subseteq \partial _s(X). \end{aligned}$$
(10)

We also remark that by using the technique of [11], one can extend Theorem 3.4 to directed hypergraphs.

4 Matroid-based packing

As a warm-up for the next section, in this section we consider the minimum weight matroid-based packing problem, a special case of the reachability-based packing problem.

Let \(D=(V+s,A)\) be a rooted digraph, and let \(\mathcal{{M}}_1=(\partial _s(V),r_1)\) be a matroid of rank k. Our goal is to find a minimum weight arc set of an \(\mathcal{{M}}_1\)-based packing of s-arborescences. We show how to reduce the problem to the weighted matroid intersection problem.

As explained in Sect. 1.2, Edmonds showed that the minimum weight arc set of a packing of k spanning arborescences can be found by a matroid intersection algorithm, where one matroid is the sum of uniform matroids and the other is the union of k copies of the graphic matroid of the underlying graph G. It is well-known that the union of k copies of the graphic matroid can be obtained by applying Theorem 2.1 for the set function \(h(H):=k|V(H)|-k~(\emptyset \ne H\subseteq E(G))\). As a counterpart we consider the following set function \({\varvec{b'}}\) on \(2^{A- \{\emptyset \}}\):
$$\begin{aligned} {b'(H)}:=k|V(H)-s|-k +r_1(H\cap \partial _s(V)) \end{aligned}$$
for each nonempty \(H \subseteq A\). The function \(b'\) is derived from h by taking into account of the dependency among the root arcs in \({{\mathcal {M}}}_1\). It should be also remarked that this function has been already introduced in [20] for a completely different purpose.
Observe that \(b'\) is non-negative integer valued, monotone and intersecting submodular on \(2^A-\{\emptyset \}\), and hence by Theorem 2.1,
$$\begin{aligned} {{{\mathcal {I}}}_{b'}}=\{B\subseteq A: |H|\le b'(H) \text { for every nonempty } H\subseteq B\} \end{aligned}$$
forms the independent set family of a matroid \({\mathcal {M}}_{b'}\) on A. Section 4 of [20] provides a polynomial algorithm to decide whether a set B belongs to \({{\mathcal {I}}}_{b'}\) or not.

Theorem 4.1

Let \(D=(V+s,A)\) be a rooted digraph, and \(\mathcal{{M}}_1=(\partial _s(V),r_1)\) a matroid of rank k. Then \(B\subseteq A\) is the arc set of an \({\mathcal {M}}_1\)-based packing of s-arborescences if and only if B is a common independent set of \({\mathcal {M}}_0\) and \({\mathcal {M}}_{b'}\) of size k|V|, where \(\mathcal{{M}}_0\) denotes the direct sum of the uniform matroids on \(\partial (v)\) of rank k for \(v\in V\).

Proof

We first prove that, in both directions,
$$\begin{aligned} |\partial ^B(v)|=k \text { for each } v\in V. \end{aligned}$$
(11)
Indeed, if B is the arc set of a packing, then (11) follows from the definition of \({\mathcal {M}}_1\)-based packings. If B is a common independent set of size k|V|, then \(k|V|=\sum _{v\in V}k\ge \sum _{v\in V}r_0(\partial ^B(v))=\sum _{v\in V}|\partial ^B(v)|=|B|=k|V|\). Thus (11) follows.
By (11), the following holds in both directions: for any \(X\subseteq V,\)
$$\begin{aligned} k|X|=\sum _{v\in X}|\partial ^B(v)|=|B(X)\cup \partial ^B(X)|. \end{aligned}$$
(12)
Suppose first that \(B\subseteq A\) is the arc set of an \({\mathcal {M}}_1\)-based packing of s-arborescences. Then, by (11), B is independent in \({\mathcal {M}}_0\) of size k|V|. In this case, by Theorem 3.2,
$$\begin{aligned} r_1(\partial _s^B(X))+|\partial _V^B(X)|\ge k \qquad \text {for every nonempty} X\subseteq V. \end{aligned}$$
(13)
As \(r_1(\partial _s^B(X))\le r_1(F)+|\partial _s^B(X)-F|\) for every \(F\subseteq \partial _s^B(X)\), (13) is equivalent to
$$\begin{aligned} r_1(F)+|\partial ^B(X)|-|F|\ge k \qquad \text {for every } X\subseteq V \text { with }X\ne \emptyset \hbox { and } F\subseteq \partial _s^B(X). \end{aligned}$$
(14)
To show that \(B\in {{\mathcal {I}}}_{b'}\), we prove that \(|H|\le b'(H)\) for every nonempty \(H\subseteq B.\) Take any \(H\subseteq B\) with \(H\ne \emptyset \), and let \(X:=V(H)-s\) and \(F:=H\cap \partial _s(V).\) Then
$$\begin{aligned} |B(X)\cup \partial ^B(X)|\ge |H|+|\partial ^B(X)|-|F|. \end{aligned}$$
(15)
By adding (12), (14), and (15), we get the inequality \(|H|\le b'(H),\) implying that \(B\in {{\mathcal {I}}}_{b'}.\)
Suppose now that B is a common independent set of \({\mathcal {M}}_0\) and \({\mathcal {M}}_{b'}\) of size k|V|. To verify that B satisfies (14) [and hence (13)], take any \(X\subseteq V\) with \(X\ne \emptyset \) and \(F\subseteq \partial ^B_s(X)\) and let \(H:=B(X)\cup F.\) Then we have (15) with equality. Also since B is independent in \({\mathcal {M}}_{b'}\) and \(H\subseteq B,\)
$$\begin{aligned} |H|\le b'(H)=k|X|-k+r_1(F). \end{aligned}$$
(16)
By adding (12), (15) (with equality) and (16), we get (14) and hence (13). By Theorem 3.2, the digraph \((V+s,B)\) contains an \({\mathcal {M}}_1\)-based packing of s-arborescences and, since \(|B|=k|V|,\) the arc set of the packing coincides with B. \(\square \)

We now consider \({\mathcal {M}}_1\)-based \({\mathcal {M}}_2\)-restricted packing, i.e., the set of arcs in the packing is independent in \({\mathcal {M}}_2\).

Theorem 4.2

Let \(D=(V+s,A)\) be a rooted digraph, \(\mathcal{{M}}_1=(\partial (V),r_1)\) a matroid of rank k, and \(\mathcal{{M}}_2=(A,r_2)\) a matroid which is the direct sum of the matroids \(\mathcal{{M}}_v=(\partial (v),r_v)\) of rank k for \(v\in V\). Then \(B\subseteq A\) is the arc set of an \({\mathcal {M}}_1\)-based \({\mathcal {M}}_2\)-restricted packing of s-arborescences if and only if B is a common independent set of \({\mathcal {M}}_2\) and \({\mathcal {M}}_{b'}\) of size k|V|.

Proof

If B is the arc set of an \({\mathcal {M}}_1\)-based \({\mathcal {M}}_2\)-restricted packing of s-arborescences, then it is a base of \(\mathcal{{M}}_2\), that is an independent set in \(\mathcal{{M}}_2\) of size k|V|,  and is the arc set of an \({\mathcal {M}}_1\)-based packing of s-arborescences. Hence, by Theorem 4.1, B is independent in \({\mathcal {M}}_{b'}\).

If B is a common independent set of \({\mathcal {M}}_2\) and \({\mathcal {M}}_{b'}\) of size k|V|, then it is independent in \(\mathcal{{M}}_2\) and is also a common independent set of \({\mathcal {M}}_0\) and \({\mathcal {M}}_{b'}\) of size k|V|. Hence, by Theorem 4.1, it is the arc set of an \({\mathcal {M}}_1\)-based packing of s-arborescences. As B is independent in \({\mathcal {M}}_2\) it is also the arc set of an \({\mathcal {M}}_1\)-based \({\mathcal {M}}_2\)-restricted packing of s-arborescences. \(\square \)

Theorem 4.3

Let \(D=(V+s,A)\) be a rooted digraph, \(c:A\rightarrow {\mathbb {R}}\) a weight function, and \(\mathcal{{M}}_1=(\partial (V),r_1)\) and \(\mathcal{{M}}_2=(A,r_2)\) two matroids such that \(\mathcal{{M}}_2\) is the direct sum of matroids \(\mathcal{{M}}_v=(\partial (v),r_v)\) for \(v\in V\). There exists a polynomial algorithm to decide whether D has an \(\mathcal{{M}}_1\)-based \(\mathcal{{M}}_2\)-restricted packing of s-arborescences and to find one of minimum weight if D has at least one packing.

Proof

Let k be the rank of \(\mathcal{{M}}_1\). If \(\mathcal{{M}}_v\) has rank less than k for some \(v\in V\), then we can immediately conclude that there is no \(\mathcal{{M}}_1\)-based \(\mathcal{{M}}_2\)-restricted packing. If each \(\mathcal{{M}}_v\) has rank at least k, then we may suppose that each \(\mathcal{{M}}_v\) has rank exactly k by truncating it at k. Hence by Theorem 4.2, we can decide whether D has an \(\mathcal{{M}}_1\)-based \(\mathcal{{M}}_2\)-restricted packing of s-arborescences and find a minimum weight arc set by using any efficient algorithm for the weighted matroid intersection problem. A polynomial-time independence oracle for \({\mathcal {M}}_{b'}\) was already shown in [20], and thus one can implement the algorithm in polynomial time. Once we determined the arc set of a packing, the decomposition of it into s-arborescences that satisfy (M1) and (M2) can be done by the polynomial algorithm in [4]. \(\square \)

5 Reachability-based packing

Let \(D=(V+s,A)\) be a rooted digraph, \(\mathcal{{M}}_1=(\partial _s(V),r_1)\) and \(\mathcal{{M}}_2=(A,r_2)\) two matroids such that \(\mathcal{{M}}_2\) is the direct sum of the matroids \(\mathcal{{M}}_v=(\partial (v),r_v)\) for \(v\in V\). Suppose also that a weight function \(c:A\rightarrow {\mathbb {R}}\) is given. In this section we shall give a characterization of \(\mathcal{{M}}_1\)-reachability-based \(\mathcal{{M}}_2\)-restricted packings and derive several corollaries.

The high level idea is the same as that in Sect. 4. Our main theorem (Theorem 5.7) characterizes the arc sets of \(\mathcal{{M}}_1\)-reachability-based \(\mathcal{{M}}_2\)-restricted packings in terms of common bases of two matroids. However, deriving a matroid corresponding to \({\mathcal {M}}_{b'}\) will be much more involved in the reachability-based case.

The characterization is given assuming that the instance \((D, c, \mathcal{{M}}_1, \mathcal{{M}}_2)\) satisfies three conditions given below. In Sect. 5.1 we shall explain how to convert a general instance to that satisfying those conditions. In Sect. 5.2 we introduce a new matroid and prove the main theorem (Theorem 5.7). Based on Theorem 5.7, in Sect. 5.3 we give an efficient algorithm for the minimum weight packing problem. In Sect. 5.4 we also give a proof of Theorem 3.4 using lemmas in Sect. 5.2. In Sect. 5.5 we finally remark a polyhedral aspect of \(\mathcal{{M}}_1\)-reachability-based \(\mathcal{{M}}_2\)-restricted packings.

For simplicity of description, throughout this section we shall call an \(\mathcal{{M}}_1\)-reachability-based \(\mathcal{{M}}_2\)-restricted packing a feasible packing.

5.1 Preprocessing

Our result will be established assuming that a given instance \((D, c, \mathcal{{M}}_1, \mathcal{{M}}_2)\) satisfies the following three conditions:
(A1)

\(\partial _s(v)\) is independent in \({\mathcal {M}}_1\) for every \(v\in V\);

(A2)

each root arc belongs to every base of \({\mathcal {M}}_2\);

(A3)

\(r_2(\partial (v))\le r_1(\partial _s(P(v)))\) for each \(v \in V\).

(Recall that \(r_1(\partial _s(P(v)))\) denotes the number of arborescences that span v in a feasible packing.)

In this subsection we shall show how to convert a general instance to that satisfying those three conditions, (A1)–(A3).

Reduction 1: To achieve (A1) and (A2) we construct a new instance \((D',c',{\mathcal {M}}'_1,{\mathcal {M}}'_2)\) from a given \((D, c, {\mathcal {M}}_1, {\mathcal {M}}_2)\) as follows. We first remove from D and from \({\mathcal {M}}_i\) all the root arcs that are loops in \({\mathcal {M}}_1\). \(D'=(V'+s,A')\) is obtained from the remaining digraph by subdividing each root arc sv to \(sv'\) and \(v'v\) by inserting a new vertex \(v'\), and we set \(c'(v'v)=c(sv), c'(sv')=0\) and \(c'(a)=c(a)\) for all non-root arcs. \({\mathcal {M}}'_1\) is obtained from \({\mathcal {M}}_1\) by replacing its ground set by \(\partial ^{A'}_s(V').\) Each new vertex \(v'\) in \(D'\) has in-degree one, and we assign a free matroid \({{\mathcal {M}}'}_{v'}\) to each such \(v'\). For the original vertices u of D\(\mathcal{{M}}'_u\) is obtained from \(\mathcal{{M}}_u\) by replacing each root arc su by \(u'u.\) Then (A1) and (A2) are satisfied for the new instance. The two instances are equivalent in the sense that from a feasible packing for \((D',c',{\mathcal {M}}_1', {\mathcal {M}}_2')\) one can easily construct a feasible packing for \((D, c, {\mathcal {M}}_1, {\mathcal {M}}_2)\) of the same weight and vice versa.

Reduction 2: To achieve (A3) we construct a new instance \((D, c, {{\mathcal {M}}}_1, {{\mathcal {M}}}_2')\) from a given \((D, c, {\mathcal {M}}_1, {\mathcal {M}}_2)\) by truncating \({\mathcal {M}}_2\) as follows. Recall that \({\mathcal {M}}_2\) is the direct sum of \(\mathcal{{M}}_v\) over \(v\in V\). We truncate each matroid \(\mathcal{{M}}_v\) at \(r_1(\partial _s(P(v))\), and let \({\mathcal {M}}_2'\) be their direct sum. Since \(r_1(\partial _s(P(v))\) denotes the number of arborescences that span v in a feasible packing, a packing in \((D, c, {{\mathcal {M}}}_1, {{\mathcal {M}}}_2')\) is feasible if and only if so is in \((D, c, {{\mathcal {M}}}_1, {{\mathcal {M}}}_2)\).

Note that (A1) and (A2) are maintained during Reduction 2. Hence by using Reductions 1 and 2 at a preprocessing stage, we may always assume that the input satisfies (A1), (A2) and (A3). The following technical lemmas will be used later in the proof of Theorem 3.4.

Lemma 5.1

Let \((D, c, {\mathcal {M}}_1, {\mathcal {M}}_2)\) be an instance of the packing problem, and let \((D, c, {\mathcal {M}}_1, {\mathcal {M}}_2')\) be obtained from \((D, c, {\mathcal {M}}_1, {\mathcal {M}}_2)\) by Reduction 2. Then (8) holds in \((D, c, {\mathcal {M}}_1, {\mathcal {M}}_2)\) if and only if (8) holds in \((D, c, {\mathcal {M}}_1, {\mathcal {M}}_2')\).

Proof

Since \({\mathcal {M}}_2'\) is obtained from \({\mathcal {M}}_2\) by truncation, if (8) fails in \((D, c, {\mathcal {M}}_1, {\mathcal {M}}_2)\), then (8) fails in \((D, c, {\mathcal {M}}_1, {\mathcal {M}}_2')\).

To see the converse, suppose that (8) fails in \((D, c, {\mathcal {M}}_1, {\mathcal {M}}_2')\), i.e.,
$$\begin{aligned} r_1(F)+r_2'(\partial (X)-F)< r_1(\partial _s(P(X))) \end{aligned}$$
(17)
for some \(X\subseteq V\) and \(F\subseteq \partial _s(X)\). We claim that, if X is an inclusionwise minimal set satisfying (17) for some F, then
$$\begin{aligned} r_2'(\partial (X)-F)=r_2(\partial (X)-F). \end{aligned}$$
(18)
Suppose that this does not hold. Then X contains v such that \(r_2'(\partial _{V-X+s}(v)-\partial _s^F(v))<r_2(\partial _{V-X+s}(v)-\partial _s^F(v))\) as \({\mathcal {M}}_2\) (and, resp., \({\mathcal {M}}_2'\)) is the direct sum of matroids \({\mathcal {M}}_u\) (and, resp.,  \({\mathcal {M}}_u'\)) on \(\partial (u)\). This means that \({\mathcal {M}}_v\) is truncated at \(r_1(\partial _s(P(v)))\), and \(r_2'(\partial _{V-X+s}(v)-\partial _s^F(v))=r_1(\partial _s(P(v)))<r_2(\partial _{V-X+s}(v)-\partial _s^F(v))\). Hence if we remove v from X (and remove \(\partial _s^F(v)\) from F), then the left side of (17) decreases by at least \(r_1(\partial _s(P(v)))\). On the other hand, as \(\partial _s(P(X))-\partial _s(P(X-v))\subseteq \partial _s(P(v))\), the submodularity and the monotonicity of \(r_1\) implies
$$\begin{aligned} r_1(\partial _s(P(X)))-r_1(\partial _s(P(X-v)))\le r_1\left( \partial _s(P(X))-\partial _s(P(X-v)) \right) \le r_1(\partial _s(P(v))). \end{aligned}$$
Hence the right side of (17) decreases by at most \(r_1(\partial _s(P(v)))\) when we remove v from X. Consequently there is a smaller set than X satisfying (17), which is a contradiction to the minimality of X.

Take an inclusionwise minimal set X with (17) in \((D, c, {\mathcal {M}}_1, {\mathcal {M}}_2')\). Then by (18) X also violates (8) in \((D, c, {\mathcal {M}}_1, {\mathcal {M}}_2)\). \(\square \)

Consider the following weaker version of the cut condition (8):
$$\begin{aligned} r_1(\partial _s(X))+r_2(\partial _V(X))\ge r_1(\partial _s(P(X))) \quad \hbox { for all}\ X\subseteq V. \end{aligned}$$
(19)
The following lemma says that after Reduction 1 the cut condition (8) is simplified in the weaker form.

Lemma 5.2

Let \((D, c, {\mathcal {M}}_1, {\mathcal {M}}_2)\) be an instance of the packing problem, and let \((D', c', {\mathcal {M}}_1', {\mathcal {M}}_2')\) be obtained from \((D, c, {\mathcal {M}}_1, {\mathcal {M}}_2)\) by Reduction 1. Then (8) holds in \((D, c, {\mathcal {M}}_1, {\mathcal {M}}_2)\) if and only if (19) holds in \((D', c', {\mathcal {M}}_1', {\mathcal {M}}_2')\).

Proof

Recall the construction of \(D'\): \(D'\) is obtained from D by subdividing each root arc e by adding a new vertex \(v_e\).

Suppose that (8) is violated for \(X\subseteq V(D)\) and \(F\subseteq \partial _s^D(X)\). By the correspondence between the two instances, one can easily check that \(X':=X\cup \{v_e: e\in F\}\) violates (19).

Conversely, if \(X'\) violates (19) in \((D', c', {\mathcal {M}}_1', {\mathcal {M}}_2')\), then let \(X=X'\cap V(D)\) and F be the set of root arcs e in D with \(v_e\in X\). Then X and F violates (8) in \((D, c, {\mathcal {M}}_1, {\mathcal {M}}_2)\). \(\square \)

5.2 Reducing to the weighted matroid intersection problem

In this subsection we shall characterize the arc set of a feasible packing in terms of common independent sets of two matroids.

Let \((D, c, \mathcal{{M}}_1, \mathcal{{M}}_2)\) be as above. Let \( {\varvec{m}}\)\((v)=r_1(\partial _s(P(v)))\), that is, the number of arborescences that span v in a feasible packing. By Reductions 1 and 2, we may focus on instances satisfying (A1), (A2) and (A3). Moreover, if \(r_2(\partial (v))<m(v)\) for some \(v\in V\), then \((D, c, \mathcal{{M}}_1, \mathcal{{M}}_2)\) clearly has no feasible packing. So we may further assume the following stronger condition than (A3):
(A3\('\))

\(r_2(\partial (v))=m(v)\) for all \(v\in V\).

The characterization is based on the following clever setting of a bi-set family and a bi-set function introduced by Bérczi and Frank [1] to understand the theorem by Kamiyama et al [19], and further developed by Bérczi et al. [2].

Let us define \(\sim \) as follows: for \(u,v\in V,\)\(u\sim v\) if and only if \(\partial ^A_s(P(u))=\partial ^A_s(P(v)).\) Then \(\sim \) is an equivalence relation. We call the equivalence classes \( {\varvec{A}}_{\varvec{1}},\ldots , {\varvec{A}}_{{\varvec{\ell }}}\) as atoms of D. For every root arc \(e_i\), let \({\varvec{U}}_{\varvec{i}}\) be the set of vertices in V which can be reached from s via the arc \(e_i\) in D. Let
$$\begin{aligned} {\varvec{\mathcal{{F}}}}_j&:=\{\textsf {X}\in \mathcal{{P}}_2(V): \emptyset \ne \textsf {X}_I\subseteq A_j, (\textsf {X}_O- \textsf {X}_I)\cap A_j=\emptyset \}&(1\le j\le \ell ),\\ {{\varvec{\mathcal{{F}}}}}&:= \bigcup _{j=1}^\ell \mathcal{{F}}_j\\ {{\varvec{I}}}_{{{\mathbf {\mathsf{{X}}}}}}&:=\{e_i\in \partial ^A_s(V): \textsf {X}_{{\varvec{I}}}\subseteq U_i, e_i\notin \partial ^A_s(\textsf {X}_I), (\textsf {X}_O- \textsf {X}_{{\varvec{I}}})\cap U_i=\emptyset \}&(\textsf {X}\in {{\mathcal {F}}}),\\ {{\varvec{J}}}_{{{\mathbf {\mathsf{{X}}}}}}&:=\{e_i\in \partial ^A_s(V): \textsf {X}_I\subseteq U_i\}- I_{\textsf {X}} \\ {{\varvec{p}}}({{\mathbf {\mathsf{{X}}}}})&:=r_1(I_\textsf {X}\cup J_\textsf {X})-r_1(J_ \textsf {X})&(\textsf {X}\in \mathcal{{F}}). \end{aligned}$$
Note that for any \(\textsf {X}\in \mathcal{{F}}\),
$$\begin{aligned} I_{\textsf {X}}\cup J_{\textsf {X}} = \partial ^A_s(P(\textsf {X}_I)). \end{aligned}$$
(20)
Hence the first term in the definition of \(p(\textsf {X})\) is equal to the number of arborescences that reach to each vertex in \(\textsf {X}_I\), and from the definition of \(J_{\textsf {X}}\) one can easily see that \(|\partial _V^B(\textsf {X})|\ge p(\textsf {X})\) is a necessary condition for the existence of an \({{\mathcal {M}}}_1\)-reachability-based packing. The next lemma shows that this necessary condition is in fact equivalent to the cut condition given in Theorem 3.3. (Although the lemma follows implicitly from Bérczi et al. [2], we give a simpler (specialized) proof for completeness.)

Lemma 5.3

Let \(B\subseteq A\) for a given \(D=(V+s,A)\). The following two conditions are equivalent:

For the polyhedral description discussed in Sect. 5.5, we shall prove a slightly generalized statement:

Lemma 5.4

Let \(x:A\rightarrow {\mathbb {R}}_{\ge 0}\). The following two conditions are equivalent:

Proof

(23) \(\Rightarrow \) (24): This direction is discussed in [2] and the proof goes as follows. Suppose that (23) holds. For (24), consider any \(\textsf {X}=(X_O,X_I)\in \mathcal{{F}}\). Let \(Y:=X_I\cup (V- \bigcup _{e_j\notin J_\textsf {X}}U_j)\).

By definition, for every root arc \(e_j\), \(e_j\notin J_\textsf {X}\) implies \(e_j\notin \partial _s(Y)\). This in turn implies
$$\begin{aligned} \partial _s(Y)\subseteq J_\textsf {X}. \end{aligned}$$
(25)
We also claim
$$\begin{aligned} \partial _V(Y)\subseteq \partial _V(\textsf {X}). \end{aligned}$$
(26)
To see this, take any arc \(e=uv\) in \(\partial _V(Y)\). Since no arc leaves \(\bigcup _{e_j\notin J_{\textsf {X}}} U_j\), the definition of Y implies that there is some \(e_i\notin J_{\textsf {X}}\) such that \(u\in U_i\) and \(v\in X_I\). As \(U_j\cap X_I=\emptyset \) for \(e_j\notin I_{\textsf {X}}\cup J_{\textsf {X}}\), we have \(e_i\in I_{\textsf {X}}\). This in turn implies \((X_O-X_I)\cap U_i=\emptyset \), and \(u\notin X_O\). In other words, \(e\in \partial _V(\textsf {X})\) and (26) follows.
Therefore, by using the non-negativity of x and the monotonicity of \(r_1\), we get
$$\begin{aligned} {\widetilde{x}}(\partial _V(\textsf {X}))\ge {\widetilde{x}}(\partial _V(Y))&\ge r_1(\partial _s(P(Y)))-r_1(\partial _s(Y))&(\text {by } (26) \hbox { and } (23)) \\&\ge r_1(\partial _s(P(Y)))-r_1(J_\textsf {X})&(\text {by } (25)) \\&\ge r_1(\partial _s(P(\textsf {X}_I)))-r_1(J_\textsf {X})&(\text {by } \textsf {X}_I\subseteq Y) \\&=p(\textsf {X}).&(\text {by } (20)) \end{aligned}$$
(24)\(\Rightarrow \) (23): Suppose that (24) holds. To verify that (23) holds, take any \(X \subseteq V.\) We construct a directed graph \(D_{\mathrm{atom}}\) on the set of all atoms obtained from D by contracting the set of vertices of each atom to a vertex. For atoms \(A_i\ne A_j,\) there exists a set \(U_k\) that contains exactly one of them, say \(A_j.\) Since no arc leaves \(U_k\) in D, no arc leaves the corresponding set in \(D_{\mathrm{atom}}\). It follows that the two vertices corresponding to \(A_i\) and \(A_j\) in \(D_{\mathrm{atom}}\) can not belong to a circuit. Thus \(D_{\mathrm{atom}}\) is acyclic. Let \( {\varvec{v}}_{\varvec{0}}={\varvec{s}}, {\varvec{v}}_{\varvec{1}},\dots , {\varvec{v}}_{{\varvec{\ell }}}\) be a topological order of this graph. Since, by assumption, no arc enters s, s can be chosen as \(v_0.\) We denote the atoms so that atom \(A_i\) corresponds to vertex \(v_i.\) Suppose that the atoms that intersect X are \(A_{h_1},\dots A_{h_k}\), and let
$$\begin{aligned} {{\mathbf {\mathsf{{X}}}}}_{\varvec{j}}&:=(P(A_{h_j})\cap X, A_{h_j}\cap X) \text { for } 1\le j\le k,\\ {\varvec{K}}_{\varvec{j}}&:=\partial _s\left( \bigcup _{i=1}^jP(A_{h_i})\right) ,\\ {\varvec{L}}_{\varvec{j}}&:=\partial _s\left( X\cap \bigcup _{i=1}^jA_{h_i}\right) . \end{aligned}$$
With this setting of \(\textsf {X}_j\), we have \(\textsf {X}_j\in \mathcal{{F}}\) and
$$\begin{aligned} {\widetilde{x}}(\partial _V(X))=\sum _{j=1}^k {\widetilde{x}}(\partial _V(\textsf {X}_j)). \end{aligned}$$
(27)
We prove by induction on i for \(1\le i\le k\) that
$$\begin{aligned} \sum _{j=1}^ip(\textsf {X}_j)\ge r_1(K_i)-r_1(L_i). \end{aligned}$$
(28)
If \(i=1\), then s is the only vertex proceeding \(v_{h_i}\) in \(D_{\mathrm{atom}}\), and hence \(J_{\textsf {X}_1}=\partial _s^A((\textsf {X}_1)_I)=\partial _s^A(A_{h_1}\cap X)\). By (20), we also have \(I_{\textsf {X}_1}\cup J_{\textsf {X}_1}=\partial _s^A(P(A_{h_1}\cap X))=\partial _s^A(P(A_{h_1}))\). Therefore
$$\begin{aligned} p(\textsf {X}_1)=r_1(I_{\textsf {X}_1}\cup J_{\textsf {X}_1})-r_1(J_{\textsf {X}_1})= & {} r_1(\partial ^A_s(P(A_{h_1})))\\ -r_1(\partial ^A_s(X\cap A_{h_1}))= & {} r_1(K_1)-r_1(L_1). \end{aligned}$$
Suppose that (28) is satisfied for \(i'\) with \(1\le i'<i\). The submodularity and the monotonicity of \(r_1\) give
$$\begin{aligned} r_1(I_{\textsf {X}_i}\cup J_{\textsf {X}_i})+r_1(J_{\textsf {X}_i}\cup K_{i-1})&\ge r_1(J_{\textsf {X}_i})+r_1(I_{\textsf {X}_i}\cup J_{\textsf {X}_i}\cup K_{i-1}). \end{aligned}$$
(29)
Also, by \(L_{i-1}\subseteq K_{i-1}\), we have \(K_{i-1}\cup (L_{i-1}\cup (J_{\textsf {X}_i}- K_{i-1}))=J_{\textsf {X}_i}\cup K_{i-1}\) and \(K_{i-1}\cap (L_{i-1}\cup (J_{\textsf {X}_i}- K_{i-1}))=L_{i-1}\). Hence, by the submodularity of \(r_1,\) we have
$$\begin{aligned} r_1(K_{i-1})+r_1(L_{i-1}\cup (J_{\textsf {X}_i}- K_{i-1}))\ge r_1(L_{i-1})+r_1(J_{\textsf {X}_i}\cup K_{i-1}). \end{aligned}$$
(30)
Combining those inequalities we get
$$\begin{aligned} \sum _{j=1}^ip(\textsf {X}_j)&= r_1(I_{\textsf {X}_i}\cup J_{\textsf {X}_i})-r_1(J_{\textsf {X}_i}) +\sum _{j=1}^{i-1}p(\textsf {X}_j)\\&\ge r_1(I_{\textsf {X}_i}\cup J_{\textsf {X}_i})-r_1(J_{\textsf {X}_i}) +r_1(K_{i-1})-r_1(L_{i-1})&(\text {by induction})\\&\ge r_1(I_{\textsf {X}_i}\cup J_{\textsf {X}_i}\cup K_{i-1})-r_1(L_{i-1}\cup (J_{\textsf {X}_i}- K_{i-1}))&(\text {by } (29) \hbox { and } (30))\\&= r_1(K_i)-r_1(L_i)&(\text {by definition)}. \end{aligned}$$
Thus (28) holds. In particular, by setting \(i=k\), we get
$$\begin{aligned} {\widetilde{x}}(\partial _V(X))&= \sum _{j=1}^k {\widetilde{x}}(\partial _V(\textsf {X}_j))&(\text {by } (27)) \\&\ge \sum _{j=1}^k p(\textsf {X}_j)&(\text {by } (24)) \\&\ge r_1(K_k)-r_1(L_k)&(\text {by } (28)) \\&= r_1(\partial _s(P(X)))-r_1(\partial _s(X))&(\text {by definition)} \end{aligned}$$
as we stated. \(\square \)

We also remark one more technical lemma.

Lemma 5.5

Let \(B\subseteq A\) for a given \(D=(V+s,A)\) with \(\partial _s^A(V)\subseteq B\), and let \(D'=(V+s, B)\) be a subgraph of D. Suppose that (22) holds for B. Then \(r_1(\partial _s^B(P_{D'}(v)))=r_1(\partial _s^A(P_D(v)))\) for every \(v\in V\).

Proof

By Lemma 5.4, B also satisfies (21).

By \(\partial _s^B(P_{D'}(v)) \subseteq \partial _s^A(P_D(v))\), we have \(r_1(\partial _s^B(P_{D'}(v)))\le r_1(\partial _s^A(P_D(v)))\). To see the reverse inequality, let \(X:=P_{D'}(v)\) and consider (21) for X. We then get
$$\begin{aligned} |\partial _V^B(X)|\ge r_1(\partial _s^A(P_D(X)))-r_1(\partial _s^A(X)). \end{aligned}$$
By \(X=P_{D'}(v)\) we have \(\partial _V^B(X)=\emptyset \), implying
$$\begin{aligned} r_1(\partial _s^A(X))\ge r_1(\partial _s^A(P_D(X))). \end{aligned}$$
Moreover, the definition of X and \(\partial _s^A(V)\subseteq B\subseteq A\) imply \(P_D(v)= P_D(X)\) and \(\partial _s^A(X)=\partial _s^B(P_{D'}(v))\). Thus \(r_1(\partial _s^B(P_{D'}(v)))=r_1(\partial _s^A(X))\ge r_1(\partial _s^A(P_D(X)))= r_1(\partial _s^A(P_D(v)))\), and we obtain the equality. \(\square \)
In order to extend Edmonds’ idea, we need to define an appropriate variant of the union of k copies of the graphic matroid. Following the argument in Sect. 4 this will be done by giving a submodular function but in this case we would define it over the bi-set family \({{\mathcal {F}}}\) and use Theorem 2.2. The bi-set function \(b:{{\mathcal {F}}}\rightarrow {\mathbb {Z}}\) is defined as follows: for \(\textsf {X}\in \mathcal{{F}}\),
$$\begin{aligned} {\varvec{b}}({{\mathbf {\mathsf{{X}}}}}):={\widetilde{m}}(\textsf {X}_I)-|\partial _s^A(\textsf {X}_I)| - p(\textsf {X}). \end{aligned}$$
(31)
Here the first and second terms are derived from the fact that each vertex is spanned by m(v) arborescences in a feasible packing and each root arc is used by an arborescence of the packing by (A2). The last term is motivated by the fact that in a feasible packing there are at least \(p(\textsf {X})\) arcs from the outside of \(\textsf {X}_O\) to \(\textsf {X}_I\). (In the case of a packing of k spanning arborescences the corresponding number would be k.)

Lemma 5.6

For every \(j\in \{1,\dots \ell \}\), \(\mathcal{{F}}_j\) is an intersecting family. Furthermore, \(\mathcal{{F}}\) is also an intersecting family and b is a non-negative intersecting submodular bi-set function on \(\mathcal{{F}}\).

Proof

Let \(\textsf {X}=(X_O,X_I)\) and \(\textsf {Y}=(Y_O,Y_I)\) be two intersecting bi-sets in \(\mathcal{{F}}_j\) for a given \(j\in \{1,\dots \ell \}\). By the definition of \(\mathcal{{F}}_j\), \(X_I,Y_I\subseteq A_j\), and consequently \(\emptyset \ne X_I\cap Y_I\subseteq A_j\) and \(\emptyset \ne X_I\cup Y_I\subseteq A_j.\) Since \((X_O- X_I)\cap A_j=\emptyset =(Y_O- Y_I)\cap A_j,\) we have \(((X_O\cap Y_O)- (X_I\cap Y_I))\cap A_j=\emptyset =((X_O\cup Y_O)- (X_I\cup Y_I))\cap A_j,\) and hence \(\textsf {X}\cap \textsf {Y}, \textsf {X}\cup \textsf {Y}\in \mathcal{{F}}_j\), that is, \(\mathcal{{F}}_j\) is an intersecting family. Since the atoms are disjoint, two intersecting bi-sets in \(\mathcal{{F}}\) belong to the same \(\mathcal{{F}}_j\) for some \(j\in \{1,\dots \ell \}\) and hence \(\mathcal{{F}}\) is also an intersecting family.

To see the intersecting submodularity of b, it suffices to show, by the modularity of \({\widetilde{m}}(\textsf {X}_I)-|\partial _s^A(\textsf {X}_I)|,\) that p is intersecting supermodular. Take any intersecting \(\textsf {X}, \textsf {Y}\in {{\mathcal {F}}}\) and we may assume \(\textsf {X}_I\cap \textsf {Y}_I\subseteq A_j\). By the definition of an atom and (20), we have
$$\begin{aligned} \partial ^A_s(P(A_j))=I_{\textsf {X}}\cup J_{\textsf {X}}=I_{\textsf {Y}}\cup J_{\textsf {Y}}=I_{\textsf {X}\cap \textsf {Y}}\cup J_{\textsf {X}\cap \textsf {Y}}=I_{\textsf {X}\cup \textsf {Y}}\cup J_{\textsf {X}\cup \textsf {Y}}, \end{aligned}$$
(32)
Also by the definition of J,
$$\begin{aligned} J_{\textsf {X}}\cup J_{\textsf {Y}}=J_{\textsf {X}\cup \textsf {Y}}&\text { and }&J_{\textsf {X}}\cap J_{\textsf {Y}}\supseteq J_{\textsf {X}\cap \textsf {Y}}. \end{aligned}$$
(33)
Thus
$$\begin{aligned} p(\textsf {X})+p(\textsf {Y})&=r_1(I_\textsf {X}\cup J_\textsf {X})-r_1(J_\textsf {X})+r_1(I_\textsf {Y}\cup J_\textsf {Y})-r_1(J_\textsf {Y}) \\&\le r_1(I_\textsf {X}\cup J_\textsf {X})+r_1(I_\textsf {Y}\cup J_\textsf {Y})-r_1(J_\textsf {X}\cap J_\textsf {Y})-r_1(J_\textsf {X}\cup J_\textsf {Y})&\text {(by submodularity)}\\&\le r_1(I_{\textsf {X}\cap \textsf {Y}}\cup J_{\textsf {X}\cap \textsf {Y}})+r_1(I_{\textsf {X}\cup \textsf {Y}}\cup J_{\textsf {X}\cup \textsf {Y}})-r_1(J_{\textsf {X}\cap \textsf {Y}})-r_1(J_{\textsf {X}\cup \textsf {Y}})&(\text {by } (32) \text { and } (A1))\\&=p(\textsf {X}\cap \textsf {Y})+p(\textsf {X}\cup \textsf {Y}). \end{aligned}$$
Finally, to see that b is non-negative, take any \(\textsf {X}\in \mathcal{{F}}\). Let \(d=r_1(\partial _s^A(P(\textsf {X}_I)))\). By (20), \(r_1(I_{\textsf {X}}\cup J_{\textsf {X}})=d\). Also, since \(\textsf {X}_I\) is contained in an atom, the definition of atoms implies \(r_1(\partial _s^A(P(v)))=d\) for every \(v\in \textsf {X}_I\). Hence, picking any \(v\in \textsf {X}_I\), we have
$$\begin{aligned} b(\textsf {X})&=\sum _{u\in \textsf {X}_I} (r_1(\partial _s^A(P(u))-|\partial _s^A(u)|)-p(\textsf {X}) \\&\ge r_1(\partial _s^A(P(v)))-|\partial _s^A(v)|-r_1(I_{\textsf {X}}\cup J_{\textsf {X}})+r_1(J_{\textsf {X}})&(\text {by } |\partial _s^A(u)|\le r_1(\partial _s^A(P(u))) \text { from (A1)})\\&=r_1(J_{\textsf {X}})-|\partial _s^A(v)|&(\text {by } r_1(\partial _s^A(P(v))) =d=r_1(I_{\textsf {X}}\cup J_{\textsf {X}}) )\\&\ge r_1(\partial _s^A(v))-|\partial _s^A(v)|&(\text {by } \partial _s^A(v)\subseteq J_{\textsf {X}})\\&= 0&(\text {by (A1)}). \end{aligned}$$
Thus b is non-negative. \(\square \)
Let \({\varvec{\mathcal{{I}}}}^*\)\(:=\{B\subseteq A:i_B(\textsf {X})\le b(\textsf {X}) \text { for every } \textsf {X}\in \mathcal{{F}}\}.\) Then, by Lemma 5.6 and Theorem 2.2, \(\mathcal{{I}}^*\) forms the independent set family of a matroid on A. This matroid is denoted by \( {\varvec{\mathcal {M}}}^*\) and its rank function is denoted by \({{\varvec{r}}}^{*}\)\(:2^A\rightarrow {\mathbb {Z}}_+\), where, by Theorem 2.2,
$$\begin{aligned} r^*(F):=\min \left\{ \sum _{i=1}^t b(\textsf {X}^i)+\left| F-\bigcup _{i=1}^t A(\textsf {X}^i)\right| : \{\textsf {X}^1,\dots , \textsf {X}^t\} \subseteq \mathcal{{F}}, \textsf {X}^i_I\cap \textsf {X}^j_I=\emptyset \ (i\ne j)\right\} \end{aligned}$$
(34)
for \(F\subseteq A\).

We are ready to prove the main theorem of this section.

Theorem 5.7

Let \(D=(V+s,A)\) be a rooted digraph, and \(\mathcal{{M}}_1=(\partial ^A_s(V),r_1)\) and \(\mathcal{{M}}_2=(A,r_2)\) two matroids such that \(\mathcal{{M}}_2\) is the direct sum of the matroids \(\mathcal{{M}}_v=(\partial (v),r_v)\) for \(v\in V\). Suppose that (A1), (A2) and (A3\('\)) are satisfied. Then \(B\subseteq A\) is the arc set of an \({\mathcal {M}}_1\)-reachability-based \({\mathcal {M}}_2\)-restricted packing of s-arborescences if and only if B is a common independent set of \({\mathcal {M}}_2\) and \({\mathcal {M}}^*\) of size \({\widetilde{m}}(V).\)

Proof

First let us check that the rank of \({\mathcal {M}}_2\) is \({\widetilde{m}}(V).\) Indeed, by (A3\('\)),
$$\begin{aligned} r_2(A)=\sum _{v\in V}r_2(\partial ^A(v))=\sum _{v\in V}m(v)={\widetilde{m}}(V). \end{aligned}$$
(35)
Note that in both directions B is independent in \(\mathcal{{M}}_2\). We claim that
$$\begin{aligned}&|\partial ^{B}(v)|=m(v) \text { for each } v\in V, \end{aligned}$$
(36)
$$\begin{aligned}&\partial _s^A(V)\subseteq B,\text { and} \end{aligned}$$
(37)
$$\begin{aligned}&|B|={\widetilde{m}}(V) \end{aligned}$$
(38)
hold in both directions. Indeed, if a feasible packing exists, then (36) and (37) follow from the definition of reachability-based packing, (A2), and (A3\('\)). Thus, by (36), \(|B|=\sum _{v\in V}|\partial ^{B}(v)|=\sum _{v\in V}m(v)={\widetilde{m}}(V)\).
On the other hand, if B is a common independent set with \(|B|={\widetilde{m}}(V),\) then, by (A3\('\)) and the independence of B in \({\mathcal {M}}_2\),
$$\begin{aligned} {\widetilde{m}}(V)=\sum _{v\in V}m(v) =\sum _{v\in V}r_2(\partial ^A(v))\ge \sum _{v\in V}r_2(\partial ^{B}(v))= \sum _{v\in V}|\partial ^{B}(v)|=|B|={\widetilde{m}}(V), \end{aligned}$$
implying (36) and (38). It follows, by (35), that B is a base of \(\mathcal{{M}}_2\) and hence, by (A2), that \(\partial ^A_s(V)\subseteq B\), that is, (37) holds.
By (37), the independence condition for \({{\mathcal {M}}^*}\), that is, \(i_B(\textsf {X})\le b(\textsf {X})\) for every \(\textsf {X}\in \mathcal{{F}}\), is written as
$$\begin{aligned} i_B(\textsf {X})\le {\widetilde{m}}(\textsf {X}_I)-|\partial _s^B(\textsf {X}_I)|-p(\textsf {X})\quad \text {for every } \textsf {X}\in \mathcal{{F}}. \end{aligned}$$
(39)
On the other hand, since
$$\begin{aligned} {\widetilde{m}}(\textsf {X}_I)= & {} \sum _{v\in X_I}|\partial ^B(v)|=i_B(\textsf {X})+|\partial ^B(\textsf {X})| \end{aligned}$$
(40)
holds by (36), (39) is equivalent to
$$\begin{aligned} p(\textsf {X})\le |\partial ^B_V(\textsf {X})|\quad \text {for every } \textsf {X}\in \mathcal{{F}}. \end{aligned}$$
(41)
Lemma 5.3 implies that (41) is equivalent to
$$\begin{aligned} |\partial ^B_V(X)|\ge r_1(\partial _s^A(P_D(X)))-r_1(\partial _s^A(X)) \quad \text { for every } X\subseteq V. \end{aligned}$$
(42)
If B is the edge set of an \({\mathcal {M}}_1\)-reachability-based \({\mathcal {M}}_2\)-restricted packing, B must satisfy (42) (which is an easy direction of the statement and can be proved formally as discussed in Sect. 5.4.)
If B satisfies (42), let \(D'\) be the subgraph of D induced by B. Then by (42) and (37) we have
$$\begin{aligned} |\partial ^B_V(X)|\ge r_1(\partial _s^B(P_{D'}(X)))-r_1(\partial _s^B(X)) \quad \text {for every } X\subseteq V. \end{aligned}$$
(43)
Therefore, by Theorem 3.3, \(D'\) (and hence B) contains an \({\mathcal {M}}_1\)-reachability-based packing in \(D'\). Lemma 5.5 implies that such a packing is also an \({\mathcal {M}}_1\)-reachability-based in D as the condition of the lemma, that \(\partial _s^A(V)\subseteq B\), holds by (36). Moreover, as \(|B|={\widetilde{m}}(V)\), B is exactly the edge set of the packing. Finally by the independence of B in \({\mathcal {M}}_2\), we can conclude that B is the edge set of an \({\mathcal {M}}_1\)-reachability-based \({\mathcal {M}}_2\)-restricted packing in D. \(\square \)

5.3 Algorithmic aspects

5.3.1 Minimum weight packing

Based on Theorem 5.7 we can now solve our minimum weight packing problem, provided an efficient independence oracle for the matroid \({\mathcal {M}}^*\) induced by b. A simple polynomial time independence oracle for \({\mathcal {M}}^*\) will be developed in Sect. 5.3.2. We leave open the problem of developing a faster independence oracle for \({\mathcal {M}}^*\) which would imply a more acceptable running time for our algorithm.

Theorem 5.8

Let \(D=(V+s,A)\) be a rooted digraph, \(c:A\rightarrow {\mathbb {R}}\) a weight function, and \(\mathcal{{M}}_1=(\partial (V),r_1)\), and \(\mathcal{{M}}_2=(A,r_2)\) two matroids such that \(\mathcal{{M}}_2\) is the direct sum of the matroids \(\mathcal{{M}}_v=(\partial (v),r_v)\) for \(v\in V\). Then there exists a polynomial time algorithm to find an \(\mathcal{{M}}_1\)-reachability-based \(\mathcal{{M}}_2\)-restricted packing of s-arborescences in D of minimum weight if D has at least one such packing.

Proof

As explained in Sect. 5.1 we may always assume that \((D, c, {\mathcal {M}}_1, {\mathcal {M}}_2)\) satisfies (A1), (A2) and (A3). If (A3\('\)) does not hold, then there is no feasible packing. Hence we also assume (A3\('\)).

By a weighted matroid intersection algorithm we compute the minimum weight common base of \({\mathcal {M}}_2\) and \({\mathcal {M}}^*\). (Here, we need an independence oracle for \({\mathcal {M}}^*\), which will be developed in Sect. 5.3.2.) By Theorem 5.7, if there is no common base, we can conclude that \((D, c, {\mathcal {M}}_1, {\mathcal {M}}_2)\) has no feasible packing. Otherwise, the common base B is the arc set of a minimum weight feasible packing. Once the edge set B is determined, the required decomposition can be obtained by applying the algorithm of [21] to the subgraph induced by B by Lemma 5.5. \(\square \)

5.3.2 Checking independence in \({\mathcal {M}}^*\)

Let \({\mathcal {M}}^*=(A, {{\mathcal {I}}}^*)\) be the matroid induced by b as above. We show that the independence of each arc set B can be checked by solving matroid intersection problems repeatedly.

Theorem 5.9

There exists a polynomial time algorithm to decide whether a set B of arcs belongs to \({{\mathcal {I}}}^*\) or not.

Proof

We will use the definitions from Sect. 5.2. Using any searching algorithm, the sets \(U_i\), and hence the partition of V into atoms, \(I_{\textsf {X}}\) and \(J_{\textsf {X}}\) for any \(\textsf {X}\in \mathcal{{F}}\) can be computed in polynomial time. It can also be decided in polynomial time whether a bi-set \(\textsf {X}\) belongs to \(\mathcal{{F}}\) or not.

Recall that B is independent in \({{\mathcal {I}}}^*\) if and only if \(i_B(\textsf {X})\le b(\textsf {X})\) for every \(\textsf {X}\in \mathcal{{F}}\). Since there are O(n) atoms, we may focus on checking the inequality for every \(\textsf {X}\in \mathcal{{F}}_i\) for a fixed atom \(A_i\). In other words, our goal is to check
$$\begin{aligned}&i_B(\textsf {X})\le {\widetilde{m}}(\textsf {X}_I)-|\partial _s^A(\textsf {X}_I)|-r_1(I_{\textsf {X}}\cup J_{\textsf {X}})+r_1(J_{\textsf {X}}) \\&\quad \text { for every }\textsf {X}\in \mathcal{{F}}_i :=\{\textsf {Y}\in \mathcal{{F}}: \textsf {Y}_I\subseteq A_i\}. \end{aligned}$$
By (20), \(r_1(I_{\textsf {X}}\cup J_{\textsf {X}})\) is constant over \(\mathcal{{F}}_i\). Therefore, it suffices to design an algorithm for checking the following condition for a given \(k:A_i\rightarrow {\mathbb {Z}}_+\) and \(q\in {\mathbb {Z}}_+\):
$$\begin{aligned} i_B(\textsf {X})\le {\widetilde{k}}(\textsf {X}_I)-q+r_1(J_{\textsf {X}})\quad \text {for every } \textsf {X}\in \mathcal{{F}}_i. \end{aligned}$$
(44)
We first solve the case when \(q=0\), that is, checking
$$\begin{aligned} i_B(\textsf {X})\le {\widetilde{k}}(\textsf {X}_I)+r_1(J_{\textsf {X}})\quad \text {for every } \textsf {X}\in \mathcal{{F}}_i, \end{aligned}$$
(45)
and then show how to deal with the general case. The special case when \(q=0\) will be done by reducing the problem to the independent matching problem, which is known to be equivalent to the matroid intersection problem (see e.g., [25]). In the independent matching problem, we are given a bipartite graph \(G=(U, W; E)\) and a matroid \({\mathcal {M}}_W\) on W, and we have to decide whether G has an independent matching. A matching M in G is said to be independent if W(M) is independent in \({\mathcal {M}}_W\), where W(M) denotes the endvertices of M in W.
In order to define G and \({\mathcal {M}}_W\) appropriately we need the following definitions. For an arc a, let t(a) and h(a) be the tail and the head of a, respectively. Let \(B_1=B(A_i)\) and \(B_2=\partial ^B_{V-A_i}(A_i)\). For each vertex \(v\in A_i,\) we prepare k(v) copies \(v_1, \dots , v_{k(v)}\) of v, and let \({\widetilde{k}}A_i:=\{v_1,\dots , v_{k(v)}: v\in A_i\}\) be the set of all those copies. Then we define an auxiliary bipartite graph \(G=(U,W; E)\) as follows:
$$\begin{aligned} U&=B_1\cup B_2 \ (\subseteq B), \\ W&={\widetilde{k}}A_i\cup \partial _s^A(V), \\ E&=E_1\cup E_2\cup E_3\cup E_4, \end{aligned}$$
where
$$\begin{aligned} E_1&=\{av_j: a\in B_1, v\in A_i, j\in \{1,\dots ,k(v)\}, h(a)=v \text { or } t(a)=v\} \\ E_2&=\{av_j: a\in B_2, v\in A_i, j\in \{1,\dots ,k(v)\}, h(a)=v\} \\ E_3&=\{ae_j: a\in B_1\cup B_2, e_j\in \partial _s^A(A_i), h(a)=h(e_j)\} \\ E_4&=\{ae_j: a\in B_2, e_j\in \partial _s^A(V)- \partial _s^A(A_i), t(a)\in U_j\}. \end{aligned}$$
A matroid \({\mathcal {M}}_W\) is defined to be the sum of the free matroid on \({\widetilde{k}}A_i\) and \({\mathcal {M}}_1=(\partial _s^A(V), r_1)\). The rank function of \({\mathcal {M}}_W\) is denoted by \(r_W\).

Claim 5.10

(45) holds if and only if G has an independent matching that covers U.

Proof

The Rado–Perfect theorem [26, 27] (see [25, (2.75)]) says that G has an independent matching of size d if and only if \(|U- C|+r_W(\Gamma (C))\ge d\) for every \(C\subseteq U\), where \(\Gamma (C)\) denotes the set of neighbors of C in G. Hence G has an independent matching that covers U if and only if
$$\begin{aligned} |C|\le r_W(\Gamma (C)) \qquad (C\subseteq U). \end{aligned}$$
(46)
We show (45) is equivalent to (46).
Suppose that (45) holds. To see (46) take any \(C\subseteq U\). We may suppose \(C\ne \emptyset \). Take \(\textsf {X}=(X_O, X_I)\) such that \(X_I=H(C)\cup T(C\cap B_1)\) and \(X_O=V(C)\), where H and T denote the set of heads and tails of arcs of C in D, respectively. Then \(X_I\ne \emptyset \), and we have \(\textsf {X}\in \mathcal{{F}}_i\). Also from the construction we have
$$\begin{aligned} C&\subseteq B(\textsf {X}), \end{aligned}$$
(47)
$$\begin{aligned} J_{\textsf {X}}&=\Gamma (C)\cap \partial _s^A(V). \end{aligned}$$
(48)
Hence we have
$$\begin{aligned} |C|&\le i_B(\textsf {X})&(\text {by } (47)) \\&\le {\widetilde{k}}(X_I)+r_1(J_\textsf {X})&(\text {by } (45))\\&=|\Gamma (C)\cap {\widetilde{k}}A_i|+r_1(\Gamma (C)\cap \partial _s^A(V))&(\text {by } (48)) \\&=r_W(\Gamma (C)). \end{aligned}$$
Thus (46) holds.
Conversely, suppose (46) holds. Take any \(\textsf {X}\in {{\mathcal {F}}}_i\). Observe that \(B(\textsf {X})\subseteq U\) and each element in \(\Gamma (B(\textsf {X}))\cap {\widetilde{k}}A_i\) is a copy of a vertex in \(\textsf {X}_I\). Hence
$$\begin{aligned} |\Gamma (B(\textsf {X}))\cap {\widetilde{k}}A_i|\le {\widetilde{k}}({\mathsf {X}}_I). \end{aligned}$$
(49)
By the construction we also have
$$\begin{aligned} \Gamma (B(\textsf {X}))\cap \partial _s^A(V)=J_\textsf {X}. \end{aligned}$$
(50)
Hence we have
$$\begin{aligned} i_B(\textsf {X})=|B(\textsf {X})|&\le r_W(\Gamma (B(\textsf {X})))&(\text {by } (46)) \\&= |\Gamma (B(\textsf {X}))\cap {\widetilde{k}}A_i|+r_1(\Gamma (B(\textsf {X}))\cap \partial _s^A(V)) \\&\le {\widetilde{k}}({\mathsf {X}}_I)+r_1(J_\textsf {X})&(\text {by } (49) \hbox { and } (50)). \end{aligned}$$
Thus (45) holds. \(\square \)

By Claim 5.10, we can check whether B satisfies (45) in polynomial time by a matroid intersection algorithm. It remains to extend the approach to the case when \(q>0\). We do this by using a standard technique for checking the independence in a so-called count matroid observed by Imai [17].

Let us use the auxiliary graph \(G=(U, W; E)\) and \({\mathcal {M}}_W\) defined above, and assume that B satisfies (45). For a fixed \(a\in U\), let i be the index of the atom \(A_i\) which contains the head of a. We consider checking
$$\begin{aligned} i_B(\textsf {X})\le {\widetilde{k}}({\mathsf {X}}_I)-q+r_1(J_\textsf {X})\quad \text {for } \textsf {X}\in \mathcal{{F}}_i^a, \end{aligned}$$
(51)
where \(\mathcal{{F}}_i^a:=\{\textsf {X}\in \mathcal{{F}}_i: a\in B(\textsf {X})\}\). We prepare a new auxiliary bipartite graph \(G^a=(U^a, W; E^a)\) obtained from G by replacing a with \(q+1\) copies \(a_0,\dots , a_{q}\) (and then replacing each edge \(ax\in E\) in G incident to \(a\in U\) with \(q+1\) copies \(a_0x, \dots , a_{q}x\)). Applying the same proof as that in Claim 5.10 we have the following:

Claim 5.11

Suppose that B satisfies (45). Then (51) holds if and only if \(G^a\) has an independent matching that covers \(U^a\).

In view of this claim one can check (44) in polynomial time first by checking (45) by computing a maximum independent matching in G and then checking (51) by computing a maximum independent matching in \(G^a\) for every \(a\in U\). This completes the proof. \(\square \)

5.3.3 Computing a rank certificate

We have seen how to check the independence in polynomial time. We can also output a maximal independent set using the above independence oracle. In this section we show how to find a certificate of the rank of \({\mathcal {M}}^*\), i.e., a minimizer of the rank formula given in (34). As explained at the end of Sect. 5.4, such a certificate will be used to construct a certificate that D has no feasible packing.

Let B be a maximal \({\mathcal {M}}^*\)-independent subset of a set \(F\subseteq A\). We first observe that the above algorithm for the independence oracle can be modified to output a bi-set \(\textsf {X}^a\in \mathcal{{F}}\) for each \(a\in F-B\) such that
$$\begin{aligned} i_{B+a}(\textsf {X}^a)> b(\textsf {X}^a). \end{aligned}$$
(52)
Indeed, since B is a maximal \(\mathcal{{M}}^*\)-independent subset of F, there is no independent matching covering \(U^a\) in \(G^a\) (where \(U^a\) and \(G^a\) are as defined in the proof of Theorem 5.9 when we check the independence of \(B+a\)). Hence there exists a \(C^a\subseteq U^a\) for which (46) does not hold. Setting \(\textsf {X}^a=(X^a_O, X^a_I)\) with \(X^a_I=H(C^a)\cup T(C^a\cap (B+a)(A_i))\) and \(X^a_O=V(C^a)\) as in the proof of Claim 5.10, \(\textsf {X}^a\) satisfies (52).
Since B is independent and \(i_{B+a}(\textsf {X}^a)\le i_{B}(\textsf {X}^a)+1\), we have
$$\begin{aligned} i_{B}(\textsf {X}^a)= b(\textsf {X}^a) \end{aligned}$$
and
$$\begin{aligned} a\in A(\textsf {X}^a) \end{aligned}$$
for every \(a\in F-B\).
We say that \(\textsf {X}\in {{\mathcal {F}}}\) is tight if \(i_B(\textsf {X})=b(\textsf {X})\). By a standard argument using the intersecting submodularity of b and the supermodularity of \(i_B\), one can show that the union of two intersecting tight bi-sets is tight. Thus, by taking the union of the intersecting bi-sets in the collection \(\{\textsf {X}^a: a\in F-B\}\), we get a family \(\{\textsf {X}^1,\dots ,\textsf {X}^t\}\) of tight bi-sets with disjoint inner sets such that \(F-B\subseteq \bigcup _{i=1}^t A(\textsf {X}^i)\). As B is a maximal \(\mathcal{{M}}^*\)-independent subset of F,
$$\begin{aligned} r^*(F) = |B| = \sum _{i=1}^t i_B(\textsf {X}^i) + \left| F-\bigcup _{i=1}^t A(\textsf {X}^i) \right| =\sum _{i=1}^t b(\textsf {X}^i)+\left| F-\bigcup _{i=1}^t A(\textsf {X}^i) \right| , \end{aligned}$$
that is, \(\{\textsf {X}^1,\ldots ,\textsf {X}^t\}\) is a minimizer of the right side of (34).

5.4 Proof of theorem 3.4

Let \(D, \mathcal{{M}}_1\) and \(\mathcal{{M}}_2\) be as given in the statement of Theorem 3.4. Our goal is to prove that there is a feasible packing in D if and only if (8) holds, i.e.,
$$\begin{aligned} r_1(F)+r_2(\partial (X)-F)\ge r_1(\partial _s(P(X))) \hbox { for all } X\subseteq V \hbox { and } F\subseteq \partial _s(X). \end{aligned}$$
(8)
Necessity of Theorem 3.4: Let \(\{T_1,\ldots ,T_t\}\) be a feasible packing in D. We may assume that each \(T_i\) is an s-one-arborescence, i.e., \(T_i\) contains exactly one root arc, which is denoted by \(e_i\). For each \(v\in V\), let \(R_v\) be the set of root arcs \(e_i\) in \(T_i\ (1\le i\le t)\) with \(v\in V(T_i)\).
Consider any \(X\subseteq V\) and \(F\subseteq \partial _s(X)\), and let \(R_X=\bigcup _{v\in X} R_v.\) Since \(\hbox {Span}_{\mathcal{{M}}_1}\) is monotone and \(\partial _s(P(v))\subseteq \hbox {Span}_{\mathcal{{M}}_1}(R_v)\) for each \(v\in V\) by the definition of feasible packings, we have \(\hbox {Span}_{\mathcal{{M}}_1}(R_X)\supseteq \bigcup _{v\in X}\hbox {Span}_{\mathcal{{M}}_1}(R_v)\supseteq \bigcup _{v\in X} \partial _s(P(v))=\partial _s(P(X)).\) Thus we get
$$\begin{aligned} r_1(R_X)\ge r_1(\partial _s(P(X))). \end{aligned}$$
(53)
For each \(e_i\in R_X\), \(T_i\cap \partial (X)\ne \emptyset \); so let us choose one arc \(a_i\) from \(T_i\cap \partial (X)\). As \(\bigcup T_i\) is independent in \(\mathcal{{M}}_2\), \(\{a_i: e_i\in R_X-F\}\) is independent in \({\mathcal {M}}_2\). Hence we have
$$\begin{aligned} r_{2}(\partial (X)-F)&\ge r_{2}(\{a_i: e_i\in R_X-F\}) \\&=|\{a_i: e_i\in R_X-F\}|&(\text {since}\ \{a_i: e_i\in R_X-F\} \ \hbox {is independent}) \\&=|R_X-F| \\&\ge r_1(R_X-F) \\&\ge r_1(R_X\cup F)-r_1(F)&(\text {by submodularity})\\&\ge r_1(R_X)-r_1(F)&(\text {by monotonicity})\\&\ge r_1(\partial _s({P(X)}))-r_1(F)&(\text {by } (53)), \end{aligned}$$
that is, (8) is satisfied.

Sufficiency of Theorem 3.4: Suppose that \((D, {\mathcal {M}}_1, {\mathcal {M}}_2)\) satisfies (8). We have seen in Sect. 5.2 how to convert a given instance \((D, {\mathcal {M}}_1, {\mathcal {M}}_2)\) to that satisfying (A1)–(A3) keeping the existence or nonexistence of a feasible packing. For simplicity of notation we shall keep to use \((D, {\mathcal {M}}_1, {\mathcal {M}}_2)\) to denote the resulting instance. By Lemmas 5.1 and 5.2 the resulting instance satisfies (19).

We claim that (A3\('\)) is satisfied, i.e, \(r_2(\partial (v))\ge m(v)\). This can be proved as follows. (A2) says that \({\mathcal {M}}_v\) is the direct sum of the free matroid on \(\partial _s(v)\) and the restriction of \({\mathcal {M}}_v\) to \(\partial (v)-\partial _s(v)\). Hence \(r_2(\partial (v)-\partial _s(v))=r_2(\partial (v))-|\partial _s(v)|\). Also by (A1) we have \(r_1(\partial _s(v))=|\partial _s(v)|\). Combining those with (19) for \(X=\{v\}\), we get \(m(v)\le r_1(\partial _s(v))+r_2( \partial (v)-\partial _s(v))= r_2(\partial (v))\) as claimed.

Hence \((D,{\mathcal {M}}_1, {\mathcal {M}}_2)\) satisfies (A1), (A2) and (A3\('\)). Thus the proof is completed by showing the following lemma.

Lemma 5.12

Let \(D, \mathcal{{M}}_1\) and \(\mathcal{{M}}_2\) be as in the statement of Theorem 3.4, and suppose further that (A1), (A2) and (A3\('\)) hold. Then there exists a feasible packing in D if and only if (19) holds, i.e.,
$$\begin{aligned} r_1(\partial _s(X))+r_2(\partial _V(X))\ge r_1(\partial _s(P(X))) \text { for all } X\subseteq V. \end{aligned}$$
(19)

Proof

The necessity follows from that of Theorem 3.4. For the sufficiency, suppose that there is no feasible packing in D. Then by Theorem 5.7 a common independent set of \({\mathcal {M}}_2\) and \({\mathcal {M}}^*\) has size less than \({\widetilde{m}}(V)\). By Theorem 3.5, there exists \(F^*\subseteq A\) such that
$$\begin{aligned} r^*(F^*)+r_2(A-F^*)< {\widetilde{m}}(V). \end{aligned}$$
(54)
Using the formula of \(r^*\) given in (34), we obtain a family \(\{\textsf {X}^1,\dots , \textsf {X}^t\}\subseteq {{\mathcal {F}}}\) of bi-sets such that \(\textsf {X}^i_I\cap \textsf {X}^j_I=\emptyset \ (i\ne j)\) and
$$\begin{aligned} \sum _{i=1}^t b(\textsf {X}^i)+\left| F^*-\bigcup _{i=1}^t A(\textsf {X}^i)\right| +r_2(A-F^*)< {\widetilde{m}}(V). \end{aligned}$$
(55)
If we take such \(F^*\) and \(\{\textsf {X}_1,\dots , \textsf {X}_t\}\) so that the left side of (55) is as small as possible, then we can always suppose that \(F^*=\bigcup _{i=1}^t A(\textsf {X}^i)\). In other words, we have a family \(\{\textsf {X}^1,\dots , \textsf {X}^t\}\subseteq {{\mathcal {F}}}\) of bi-sets such that \(\textsf {X}^i_I\cap \textsf {X}^j_I=\emptyset \quad (i\ne j)\) and
$$\begin{aligned} \sum _{i=1}^t b(\textsf {X}^i)+r_2(A-\bigcup _{i=1}^t A(\textsf {X}^i))< {\widetilde{m}}(V). \end{aligned}$$
(56)
Let \(V'=V-\bigcup _{i=1}^t \textsf {X}_I^i\). Recall that \(\mathcal{{M}}_2\) is the direct sum of matroids on \(\partial (v)\). Hence, by \(\textsf {X}^i_I\cap \textsf {X}^j_I=\emptyset \ (i\ne j)\) and (A3\('\)),
$$\begin{aligned} r_2(A-\bigcup _{i=1}^t A(\textsf {X}^i))&=\sum _{v\in V'} r_2(\partial (v))+\sum _{i=1}^t \sum _{v\in \textsf {X}_I^i}r_2(\{uv\in A: u\notin \textsf {X}_O^i\}) \\&=\sum _{v\in V'} m(v)+\sum _{i=1}^t r_2(\partial (\textsf {X}^i)). \end{aligned}$$
Combining this with (56) and the definition of b, we get
$$\begin{aligned} \sum _{i=1}^t (r_2(\partial (\textsf {X}^i))-|\partial _s(\textsf {X}_I^i)|-p(\textsf {X}^i))< 0. \end{aligned}$$
Hence there is some i such that
$$\begin{aligned} r_2(\partial (\textsf {X}^i))-|\partial _s(\textsf {X}_I^i)|-p(\textsf {X}^i)< 0. \end{aligned}$$
(57)
Let B be a base of \(\mathcal{{M}}_2\). By (A2), \(\partial _s(V)\subseteq B\). (A2) further implies that \(B-\partial _s(V)\) is a base of the restriction of \(\mathcal{{M}}_2\) to \(A-\partial _s(V)\). Hence, for any \(X\subseteq V\),
$$\begin{aligned} |\partial _V^B(X)|=r_2(\partial ^A(X)-\partial _s(X))=r_2(\partial ^A_V(X)). \end{aligned}$$
(58)
Now by (57)
$$\begin{aligned} p(\textsf {X}^i)&>r_2(\partial (\textsf {X}^i))-|\partial _s(\textsf {X}_I^i)| \\&\ge r_2(\partial ^B(\textsf {X}^i))-|\partial _s(\textsf {X}_I^i)|&(\text {by monotonicity of } r_2)\\&=|\partial ^B(\textsf {X}^i)|-|\partial _s(\textsf {X}_I^i)| \\&=|\partial ^B_V(\textsf {X}^i)|&(\text {by } \partial _s(V)\subseteq B). \end{aligned}$$
Hence by Lemma 5.3 we have a set \(X\subseteq V\) with
$$\begin{aligned} |\partial _V^B(X)|<r_1(\partial _s^A(P(X)))-r_1(\partial _s^A(X)). \end{aligned}$$
Combining this with (58), we finally get
$$\begin{aligned} r_1(\partial _s^A(X))+r_2(\partial ^A_V(X))<r_1(\partial _s^A(P(X))), \end{aligned}$$
(59)
that is, X violates (19). This completes the proof of the lemma as well as that of Theorem 3.4. \(\square \)

As explained in the last subsection, one can check the existence of a feasible packing in polynomial-time by using a weighted matroid intersection algorithm. This implies by Theorem 3.4 that one can check in polynomial-time whether an instance satisfies the cut condition (8). One may however wonder how to compute \(X\subseteq V\) and \(F\subseteq \partial _s(X)\) violating the condition if the instance has no feasible packing.

The proofs of Lemmas 5.1 and 5.2 explains how to convert certificates violating the cut conditions in Reductions 1 and 2. Hence let us assume (A1), (A2) and (A3\('\)). Observe that the above proof of the sufficiency of Theorem 3.4 is algorithmic: a set X having the minimum of the left side of (9) can be computed by a matroid intersection algorithm; the minimizer of the rank formula in (34) can be found in polynomial time as explained in Sect. 5.3.3. In other words, one can compute a bi-set \(\textsf {X}^i\) with (57). From \(\textsf {X}^i\), the proof of Lemma 5.3 explains how to construct a set X violating the cut condition (19). (Take X to be Y as defined in the proof of Lemma 5.3.)

5.5 Polyhedral aspects

An immediate corollary of Lemma 5.7 is a polyhedral description of the characteristic vectors of the arc sets of the feasible packings as the intersection of two base polyhedra due to Edmonds [5]. In this subsection we provide a different polyhedral description which is more natural and fits better to Theorem 3.4.

We first deal with the case when (A1), (A2), and (A3\('\)) hold. Recall that \(m(v)=r_1(\partial _s(P(v)))\) for \(v\in V\).

Theorem 5.13

Let \(D=(V+s,A)\) be a rooted digraph, and \(\mathcal{{M}}_1=(\partial _s(V),r_1)\) and \(\mathcal{{M}}_2=(A,r_2)\) two matroids such that \(\mathcal{{M}}_2\) is the direct sum of the matroids \(\mathcal{{M}}_v=(\partial (v),r_v)\) for \(v\in V\). Suppose that (A1), (A2) and (A3\('\)) are satisfied. Let \({\varvec{P}}_{{\varvec{D}},{\varvec{{\mathcal {M}}}}_{\varvec{1}}, {\varvec{{\mathcal {M}}}}_{\varvec{2}}}'\) be defined by the following linear system
$$\begin{aligned} {\widetilde{x}}(\partial _V(X))&\ge r_1(\partial _s(P(X))) - r_1(\partial _s(X))&\quad&\text { for each nonempty } X \subseteq V, \end{aligned}$$
(60)
$$\begin{aligned} r_2(J)&\ge {\widetilde{x}}(J)&\text { for each } J\subseteq \partial (v) \text { and } v\in V, \end{aligned}$$
(61)
$$\begin{aligned} x(a)&\ge 0&\text { for each } a \in A, \end{aligned}$$
(62)
$$\begin{aligned} {\widetilde{x}}(A)&= {\widetilde{m}}(V). \end{aligned}$$
(63)
Then \(P_{D,\ {\mathcal {M}}_1,\ {\mathcal {M}}_2}\) is an integer polyhedron and its vertices are the characteristic vectors of the arc sets of the \({\mathcal {M}}_1\)-reachability-based \({\mathcal {M}}_2\)-restricted packings of s-arborescences in \((D,{\mathcal {M}}_1, {\mathcal {M}}_2)\).

Proof

We first remark an implication of (61)–(63):

Claim 5.14

If \(x\in {\mathbb {R}}^A\) satisfies (61)–(63), then the following hold:
$$\begin{aligned} 0&\le x(a) \le 1&\quad&\text {for each } a\in A, \end{aligned}$$
(64)
$$\begin{aligned} {\widetilde{x}}(\partial (v))&=m(v)&\text {for each } v\in V, \end{aligned}$$
(65)
$$\begin{aligned} x(a)&=1&\text {for each } a\in \partial _s(V). \end{aligned}$$
(66)

Proof

(64) follows from (61) and (62): \(0\le x(a)\le r_2(a)\le 1 \ \forall a\in A.\)

To see (65) recall that \(\mathcal{{M}}_2={\oplus _{v\in V}\mathcal{{M}}_v}\), and each matroid \({\mathcal {M}}_v\) is of rank m(v) by (A3\('\)). Hence (61) implies that
$$\begin{aligned} {\widetilde{m}}(V)=\sum _{v\in V}r_2(\partial (v))\ge \sum _{v\in V}{\widetilde{x}}(\partial (v))= {\widetilde{x}}(A). \end{aligned}$$
Then, by (63), we get \(m(v)=r_2(\partial (v))={\widetilde{x}}(\partial (v))\) for every \(v\in V.\)
To see (66) observe \(r_2(\partial (v))=|\partial _s(v)|+r_2(\partial _V(v))\), which follows from (A2). Hence by (61),
$$\begin{aligned} {\widetilde{x}}(\partial (v))=r_2(\partial (v))=|\partial _s(v)|+r_2(\partial _V(v))\ge |\partial _s(v)|+{\widetilde{x}}(\partial _V(v)), \end{aligned}$$
implying \(|\partial _s(v)|\le {\widetilde{x}}(\partial _s(v))\). Combining this with (64), we get (66). \(\square \)

Next we replace (60) by another inequality which is more convenient to apply the results of the previous subsections.

Claim 5.15

(60) is equivalent toprovided that (61)–(63) are satisfied.

Proof

By Claim 5.14, we have (65) and (66). By (65) and (66), we have
$$\begin{aligned} b(\textsf {X})-{\widetilde{x}}(A(\textsf {X}))&={\widetilde{m}}(\textsf {X}_I)-|\partial _s(\textsf {X}_I)|-p(\textsf {X})-{\widetilde{x}}(A(\textsf {X})) \\&=\left( \sum _{v\in \textsf {X}_I} {\widetilde{x}}(\partial (v)) -{\widetilde{x}}(\partial _s(\textsf {X}_I))-{\widetilde{x}}(A(\textsf {X}))\right) -p(\textsf {X}) \\&={\widetilde{x}}(\partial _V(\textsf {X}))-p(\textsf {X}). \end{aligned}$$
Hence the claim follows from Lemma 5.4. \(\square \)

By Theorem 2.2, the polyhedron \(P_{b}\), defined by the inequalities (62), (67), and \(x(a)\le 1\ \forall a\in A\), is the convex hull of the incidence vectors of the independent sets of the matroid \({\mathcal {M}}^*\) (induced by b). By Edmonds [6], the polyhedron \(P_2,\) which is the convex hull of the incidence vectors of the independent sets of the matroid \({\mathcal {M}}_2,\) is defined by the inequalities (61) and (62). Then, by Edmonds [5], \(P_{b}\cap P_2\) forms the common independent set polytope of \({\mathcal {M}}^*\) and \({\mathcal {M}}_2\), and the common base polytope of \({\mathcal {M}}^*\) and \({\mathcal {M}}_2\) is given by \(P'_{D, {\mathcal {M}}_1, {\mathcal {M}}_2}\) (see e.g., [28, Corollary 41.12d]). \(\square \)

Theorem 5.16

Let \(D=(V+s,A)\) be a rooted digraph, and \(\mathcal{{M}}_1=(\partial _s(V),r_1)\) and \(\mathcal{{M}}_2=(A,r_2)\) two matroids such that \(\mathcal{{M}}_2\) is the direct sum of the matroids \(\mathcal{{M}}_v=(\partial (v),r_v)\) for \(v\in V\) and suppose that each \(\mathcal{{M}}_v\) has rank m(v). Let \({\varvec{P}}_{{\varvec{D}},{\varvec{{\mathcal {M}}}}_{\varvec{1}}, {\varvec{{\mathcal {M}}}}_{\varvec{2}}}\) be defined by the following linear system
$$\begin{aligned} {\widetilde{x}}(\partial (X)-F)&\ge r_1(\partial _s(P(X))) - r_1(F)&\quad&\text {for each } X \subseteq V \text { with } X\ne \emptyset \text { and } F \subseteq \partial _s(X), \end{aligned}$$
(68)
$$\begin{aligned} r_2(J)&\ge {\widetilde{x}}(J)&\text {for each } J\subseteq \partial (v) \text { and } v\in V, \end{aligned}$$
(69)
$$\begin{aligned} x(a)&\ge 0&\text {for each } a \in A, \end{aligned}$$
(70)
$$\begin{aligned} {\widetilde{x}}(A)&= {\widetilde{m}}(V). \end{aligned}$$
(71)
Then \(P_{D,{\mathcal {M}}_1, {\mathcal {M}}_2}\) is an integer polyhedron and its vertices are the characteristic vectors of the arc sets of the \({\mathcal {M}}_1\)-reachability-based \({\mathcal {M}}_2\)-restricted packings of s-arborescences in \((D,{\mathcal {M}}_1, {\mathcal {M}}_2)\).

Proof

Let \((D'=(V',A'), {\mathcal {M}}_1', {\mathcal {M}}_2')\) be the instance obtained from \((D, {\mathcal {M}}_1, {\mathcal {M}}_2)\) by Reduction 1, where each root arc \(e=su\) is subdivided into \(sv_e\) and \(v_eu\) by inserting a new vertex \(v_e\). Given a feasible packing \({{\mathcal {P}}}=\{T_1, \dots , T_{\ell }\}\) in D, one can construct an s-arborescence \(T_i'\) in \(D'\) from \(T_i\) by subdividing the root arcs in \(T_i\). Let R be the set of root arcs in D that are not used in \({{\mathcal {P}}}\). Then \({{\mathcal {P}}'}=\{T_1', \dots , T_{\ell }'\}\cup \{\{sv_e\} : e\in R\}\) is a feasible packing in \(D'\). We can also reverse the construction to construct a feasible packing in D from that in \(D'\) as every feasible packing in \(D'\) contains all the root arcs in \(D'\) due to the definition of \((D', {\mathcal {M}}_1', {\mathcal {M}}_2')\). In other words there is a one-to one correspondence between the set of feasible packings in D and that in \(D'\).

To see the statement, we first observe that the characteristic vector \(\chi _{{\mathcal {P}}}\) of the arc set of a feasible packing \({{\mathcal {P}}}\) in D is contained in \(P_{D,{\mathcal {M}}_1, {\mathcal {M}}_2}\). This follows from Theorem 3.4.

Let \(x\in P_{D,{\mathcal {M}}_1, {\mathcal {M}}_2}\). Define \(x'\in {\mathbb {R}}^{A'}\) by
$$\begin{aligned} x'(a)={\left\{ \begin{array}{ll} 1 &{} (a=sv_e \text { for some } e=su\in \partial _s^A(V)) \\ x(e) &{} (a=v_eu \text { for some } e=su\in \partial _s^A(V)) \\ x(a) &{} (a\in A- \partial _s^A(V)) \end{array}\right. } \qquad (a\in A'). \end{aligned}$$
Then observe \(x'\in P_{D',{\mathcal {M}}_1', {\mathcal {M}}_2'}'\). By Theorem 5.13, \(x'\) can be described as a convex combination of the characteristic vectors of the arc sets of feasible packings in \(D'\), i.e., \(x'=\sum _{i=1}^t \lambda _i \chi _{{{\mathcal {P}}}_i'}\) for some feasible packings \({{\mathcal {P}}}'_i\) in \(D'\) and \(\lambda _i\ge 0\) with \(\sum _{i=1}^t \lambda _i=1\). By the definition of \(x'\), we have \(x=\sum _{i=1}^t \lambda _i \chi _{{{\mathcal {P}}}_i}\), where \({{\mathcal {P}}}_i\) is the feasible packing in D corresponding to \({{\mathcal {P}}}_i'\). This completes the proof. \(\square \)

Notes

Acknowledgements

Open access funding provided by Eötvös Loránd University (ELTE). Part of this research was done while the first author visited Laboratory G-SCOP in Grenoble supported by the Project RIME of the laboratory G-SCOP. The first author was also supported by the ÚNKP-17-4 New National Excellence Program of the Ministry of Human Capacities of Hungary, and by the Hungarian Scientific Research Fund—OTKA, K109240. Project No. NKFI-128673 has been implemented with the support provided from the National Research, Development and Innovation Fund of Hungary, financed under the FK_18 funding scheme. Other part of this research was done while the second author visited University of Tokyo. This work was supported by JST CREST Grant No. JPMJCR14D2, Japan. The third author was supported by JSPS KAKENHI Grant No. JP25280004.

References

  1. 1.
    Bérczi, K., Frank, A.: Packing arborescences. RIMS Kôkyûroku Bessatsu. B23, 1–31 (2010)MathSciNetzbMATHGoogle Scholar
  2. 2.
    Bérczi, K., Király, T., Kobayashi, Y.: Covering intersecting bi-set families under matroid constraints. SIAM J. Discrete Math. 30–3, 1758–1774 (2016)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Bernáth, A., Király, T.: Blocking optimal \(k\)-arborescences. In: Proceedings of the Twenty-Seventh Annual ACM–SIAM Symposium on Discrete Algorithms, SODA ’16, SIAM, Philadelphia, PA, USA, pp. 1682–1694 (2016)Google Scholar
  4. 4.
    Durand de Gevigney, O., Nguyen, V.H., Szigeti, Z.: Matroid-based packing of arborescences. SIAM J. Discrete Math. 27, 567–574 (2013)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Edmonds, J.: Submodular functions, matroids, and certain polyhedra. In: Guy, R., Hanani, H., Sauer, N., Schönheim, J. (eds.) Combinatorial Structures and Their Applications, pp. 69–87. Gordon and Breach, New York (1970)Google Scholar
  6. 6.
    Edmonds, J.: Matroids and the greedy algorithm. Math. Prog. 1, 127–36 (1971)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Edmonds, J.: Edge-disjoint branchings. In: Rustin, B. (ed.) Combinatorial Algorithms, pp. 91–96. Academic Press, New York (1973)Google Scholar
  8. 8.
    Edmonds, J.: Some well-solved problems in combinatorial optimization. In: Roy, B. (ed.) Combinatorial Programming: Methods and Applications (Proceedings NATO Advanced Study Institute, Versailles, 1974), pp. 285–301. Reidel, Dordrecht (1975)CrossRefGoogle Scholar
  9. 9.
    Edmonds, J.: Matroid intersection. Ann. Discrete Math. 4, 29–49 (1979)MathSciNetzbMATHGoogle Scholar
  10. 10.
    Edmonds, J., Rota, G.-C.: Submodular set functions, abstract, Waterloo conference on combinatorics, Waterloo, Ontario (1966)Google Scholar
  11. 11.
    Fortier, Q., Király, Cs., Léonard, M., Szigeti, Z., Talon, A.: Old and new results on packing arborescences in directed hypergraphs. Discrete Appl. Math. 242, 26–33 (2018)Google Scholar
  12. 12.
    Fortier, Q., Király, Cs., Szigeti, Z., Tanigawa, S.: On packing spanning arborescences with matroid constraint, EGRES Technical Report No. TR-2016-18. www.cs.elte.hu/egres (2016)
  13. 13.
    Frank, A.: Rooted \(k\)-connections in digraphs. Discrete Appl. Math. 157, 1242–1254 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  14. 14.
    Frank, A.: Connections in Combinatorial Optimization. Oxford University Press, Oxford (2011)zbMATHGoogle Scholar
  15. 15.
    Fujishige, S.: Submodular Functions and Optimization, 2nd edn. Ann. Discrete Math., Elsevier, New York (2005)Google Scholar
  16. 16.
    Huang, C., Kakimura, N., Kamiyama, N.: Exact and approximation algorithms for weighted matroid intersection. In: Proceedings of the Twenty-Seventh Annual ACM–SIAM Symposium on Discrete Algorithms, pp. 430–444. SIAM, Philadelphia, PA, USA, (2016)Google Scholar
  17. 17.
    Imai, H.: Network flow algorithms for lower truncated transversal polymatroids. J. Oper. Res. Soc. Japan 26, 186–210 (1983)MathSciNetzbMATHGoogle Scholar
  18. 18.
    Iri, M., Tomizawa, N.: An algorithm for finding an optimal independent assignment. J. Oper. Res. Soc. Japan 19, 32–57 (1976)MathSciNetzbMATHGoogle Scholar
  19. 19.
    Kamiyama, N., Katoh, N., Takizawa, A.: Arc-disjoint in-trees in directed graphs. Combinatorica 29, 197–214 (2009)MathSciNetzbMATHGoogle Scholar
  20. 20.
    Katoh, N., Tanigawa, S.: Rooted-tree decomposition with matroid constrains and the infinitesimal rigidity of frameworks with boundaries. SIAM J. Discrete Math. 27, 155–185 (2013)MathSciNetCrossRefzbMATHGoogle Scholar
  21. 21.
    Király, Cs.: On maximal independent arborescence packing. SIAM J. Discrete Math. 30(4), 2107–2114 (2016)Google Scholar
  22. 22.
    Király, Cs., Szigeti, Z.: Reachability-based matroid-restricted packing of arborescences, EGRES Technical Report No. TR-2016-19. www.cs.elte.hu/egres (2016)
  23. 23.
    Lawler, E.L.: Matroid intersection algorithms. Math. Program 9, 31–56 (1975)MathSciNetCrossRefzbMATHGoogle Scholar
  24. 24.
    Lee, Y. T., Sidford, A., and Wong, S.C.-W.: A faster cutting plane method and its implications for combinatorial and convex optimization. In: Proceedings of the 56th Annual Symposium on Foundations of Computer Science, 230–249, (2015)Google Scholar
  25. 25.
    Murota, K.: Matrices and Matroids for Systems Analysis. Springer, New York (2009)zbMATHGoogle Scholar
  26. 26.
    Perfect, H.: A generalization of Rado’s theorem on independent transversals. Proc. Camb. Philos. Soc. 66, 513–515 (1969)MathSciNetCrossRefzbMATHGoogle Scholar
  27. 27.
    Rado, R.: A theorem on independence relations. Q. J. Math. Oxf. Ser. 13, 83–89 (1942)MathSciNetCrossRefzbMATHGoogle Scholar
  28. 28.
    Schrijver, A.: Combinatorial Optimization: Polyhedra and Efficiency. Springer, New York (2003)zbMATHGoogle Scholar
  29. 29.
    Szigeti, Z., and Tanigawa, S.: An algorithm for the problem of minimum weight packing of arborescences with matroid constraints. Technical Report of University of Tokyo No. METR 2017-14. http://www.keisu.t.u-tokyo.ac.jp/research/techrep/2017.html (2017)

Copyright information

© The Author(s) 2019

Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

Authors and Affiliations

  1. 1.Department of Operations ResearchELTE Eötvös Loránd University and the MTA-ELTE Egerváry Research Group on Combinatorial OptimizationBudapestHungary
  2. 2.Univ. Grenoble Alpes, CNRS, G-SCOPGrenobleFrance
  3. 3.Department of Mathematical Informatics, Graduate School of Information Science and TechnologyUniversity of TokyoTokyoJapan

Personalised recommendations