Packing of arborescences with matroid constraints via matroid intersection
 135 Downloads
Abstract
Edmonds’ arborescence packing theorem characterizes directed graphs that have arcdisjoint 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 reachabilitybased packing of arborescences. The reachabilitybased 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 reachabilitybased packing in terms of matroid intersection gives an efficient algorithm for the minimum weight reachabilitybased 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 biset functions based on an idea of Frank.
Mathematics Subject Classification
05C05 05C20 05C70 05B35 05C221 Introduction
1.1 Edmonds’ arborescence packing theorem and its extensions
An arborescence is a rooted directed tree in which each vertex has indegree 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 arcdisjoint 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 arcdisjoint spanning arborescences (see Fig. 1a).
Theorem 1.1
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
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
Cs. Király [21] further considered a common generalization: a packing \(T_1,\ldots , T_k\) of arborescences is said to be \({\mathcal {M}}\)reachabilitybased 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
The proofs of all of the above results are algorithmic, i.e., one can find a packing of arborescences satisfying the specified property in polynomialtime. In [21], Cs. Király also posed a question whether one can efficiently find a minimum weight arc set of a reachabilitybased 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 polynomialtime algorithm.
1.2 Contributions
For the original setting of packing spanning arborescences, there is another wellknown 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 \(kVk\); 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 reachabilitybased packing of arborescences. We show that the arc set of a reachabilitybased 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 biset function.
The application of bisets 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 biset 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 kconnection problem to the matroid intersection problem.
Our new characterization of reachabilitybased packing not only implies a faster algorithm for the minimum weight version of the problem but also unifies the reachabilitybased 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 \(kVk\) of the union of k copies of the graphic matroid and \({\mathcal {M}}'\). Following Frank’s idea, we can also consider the reachabilitybased matroidrestricted 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 reachabilitybased matroidrestricted 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 reachabilitybased 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 IriTomozawa [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.

A good characterization of \({\mathcal {M}}\)reachabilitybased \({\mathcal {M}}'\)restricted packings of arborescences in the form of connectivity (Theorem 3.4).

A characterization of the arc sets of \({\mathcal {M}}\)reachabilitybased \({\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}}\)reachabilitybased \({\mathcal {M}}'\)restricted packing of arborescences (Theorem 5.8).

A polyhedral description of the characteristic vectors of the arc sets of \({\mathcal {M}}\)reachabilitybased \({\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 biset 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}}\)reachabilitybased \({\mathcal {M}}'\)restricted packing. In Sect. 4 we consider the matroidbased 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 reachabilitybased 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 \(ZX\) 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 bisets. A biset 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 biset, \({{\mathbf {\mathsf{{X}}}}}_{\varvec{O}}\) and \({{\mathbf {\mathsf{{X}}}}}_{\varvec{I}}\) denote the outerset\(X_O\) and the innerset\(X_I\) of \(\textsf {X}\), respectively. The set of all bisets \(\{\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)).\)
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 biset 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 nondecreasing 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
2.2 Matroids from biset functions
Let \(D=(V,A)\) be a digraph. For bisets \(\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 bisets \(\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)\). Bisets \(\textsf {X}\) and \(\textsf {Y}\) are said to be intersecting if \(\textsf {X}_I\cap \textsf {Y}_I\ne \emptyset \).
Frank [13, Theorem 3.3] proved the following statement for modular biset functions. The same argument works for intersecting submodular biset functions.
Theorem 2.2
Proof
Thus \(\mathcal{{I}}\) forms the independent set family of a matroid by Theorem 2.1, which completes the proof of the first statement.
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 indegree zero. The arcs leaving s are called root arcs. An arborescence is said to be an sarborescence 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 \(ZX\) 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 indegree 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 biset \(\textsf {X}\in {{\mathcal {P}}}_2(V)\).
3.2 Packing in rooted digraphs
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 sarborescences in D if and only if \(\partial (X)\ge k\) for every X with \(\emptyset \ne X\subseteq V\).
 (M1)
each \(T_i\) contains exactly one root arc, denoted by \(e_i\);
 (M2)
\(\{e_i: v\in V(T_i)\}\) is a base of \({\mathcal {M}}_1\) for every \(v\in V\).
Theorem 3.2
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.
 (R1)
each \(T_i\) contains exactly one root arc, denoted by \(e_i\);
 (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 3.3
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
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\)reachabilitybased \({\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
When we require \(\mathcal{{M}}_1\)based packings, Theorem 3.4 can be simplified as follows.
Corollary 3.6
We also remark that by using the technique of [11], one can extend Theorem 3.4 to directed hypergraphs.
4 Matroidbased packing
As a warmup for the next section, in this section we consider the minimum weight matroidbased packing problem, a special case of the reachabilitybased 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 sarborescences. We show how to reduce the problem to the weighted matroid intersection problem.
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 sarborescences if and only if B is a common independent set of \({\mathcal {M}}_0\) and \({\mathcal {M}}_{b'}\) of size kV, where \(\mathcal{{M}}_0\) denotes the direct sum of the uniform matroids on \(\partial (v)\) of rank k for \(v\in V\).
Proof
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 sarborescences if and only if B is a common independent set of \({\mathcal {M}}_2\) and \({\mathcal {M}}_{b'}\) of size kV.
Proof
If B is the arc set of an \({\mathcal {M}}_1\)based \({\mathcal {M}}_2\)restricted packing of sarborescences, then it is a base of \(\mathcal{{M}}_2\), that is an independent set in \(\mathcal{{M}}_2\) of size kV, and is the arc set of an \({\mathcal {M}}_1\)based packing of sarborescences. 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 kV, 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 kV. Hence, by Theorem 4.1, it is the arc set of an \({\mathcal {M}}_1\)based packing of sarborescences. 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 sarborescences. \(\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 sarborescences 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 sarborescences and find a minimum weight arc set by using any efficient algorithm for the weighted matroid intersection problem. A polynomialtime 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 sarborescences that satisfy (M1) and (M2) can be done by the polynomial algorithm in [4]. \(\square \)
5 Reachabilitybased 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\)reachabilitybased \(\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\)reachabilitybased \(\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 reachabilitybased 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\)reachabilitybased \(\mathcal{{M}}_2\)restricted packings.
For simplicity of description, throughout this section we shall call an \(\mathcal{{M}}_1\)reachabilitybased \(\mathcal{{M}}_2\)restricted packing a feasible packing.
5.1 Preprocessing
 (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\).
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 nonroot 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 indegree 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')\).
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 \)
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.
 (A3\('\))

\(r_2(\partial (v))=m(v)\) for all \(v\in V\).
The characterization is based on the following clever setting of a biset family and a biset 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].
Lemma 5.3
For the polyhedral description discussed in Sect. 5.5, we shall prove a slightly generalized statement:
Lemma 5.4
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)\).
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).
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 nonnegative intersecting submodular biset function on \(\mathcal{{F}}\).
Proof
Let \(\textsf {X}=(X_O,X_I)\) and \(\textsf {Y}=(Y_O,Y_I)\) be two intersecting bisets 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 bisets 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.
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\)reachabilitybased \({\mathcal {M}}_2\)restricted packing of sarborescences if and only if B is a common independent set of \({\mathcal {M}}_2\) and \({\mathcal {M}}^*\) of size \({\widetilde{m}}(V).\)
Proof
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\)reachabilitybased \(\mathcal{{M}}_2\)restricted packing of sarborescences 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 biset \(\textsf {X}\) belongs to \(\mathcal{{F}}\) or not.
Claim 5.10
(45) holds if and only if G has an independent matching that covers U.
Proof
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 socalled count matroid observed by Imai [17].
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.
5.4 Proof of theorem 3.4
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
Proof
As explained in the last subsection, one can check the existence of a feasible packing in polynomialtime by using a weighted matroid intersection algorithm. This implies by Theorem 3.4 that one can check in polynomialtime 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 biset \(\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
Claim 5.14
Proof
(64) follows from (61) and (62): \(0\le x(a)\le r_2(a)\le 1 \ \forall a\in A.\)
Next we replace (60) by another inequality which is more convenient to apply the results of the previous subsections.
Claim 5.15
Proof
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
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 sarborescence \(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 oneto 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.
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 GSCOP in Grenoble supported by the Project RIME of the laboratory GSCOP. The first author was also supported by the ÚNKP174 New National Excellence Program of the Ministry of Human Capacities of Hungary, and by the Hungarian Scientific Research Fund—OTKA, K109240. Project No. NKFI128673 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.Bérczi, K., Frank, A.: Packing arborescences. RIMS Kôkyûroku Bessatsu. B23, 1–31 (2010)MathSciNetzbMATHGoogle Scholar
 2.Bérczi, K., Király, T., Kobayashi, Y.: Covering intersecting biset families under matroid constraints. SIAM J. Discrete Math. 30–3, 1758–1774 (2016)MathSciNetCrossRefzbMATHGoogle Scholar
 3.Bernáth, A., Király, T.: Blocking optimal \(k\)arborescences. In: Proceedings of the TwentySeventh Annual ACM–SIAM Symposium on Discrete Algorithms, SODA ’16, SIAM, Philadelphia, PA, USA, pp. 1682–1694 (2016)Google Scholar
 4.Durand de Gevigney, O., Nguyen, V.H., Szigeti, Z.: Matroidbased packing of arborescences. SIAM J. Discrete Math. 27, 567–574 (2013)MathSciNetCrossRefzbMATHGoogle Scholar
 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.Edmonds, J.: Matroids and the greedy algorithm. Math. Prog. 1, 127–36 (1971)MathSciNetCrossRefzbMATHGoogle Scholar
 7.Edmonds, J.: Edgedisjoint branchings. In: Rustin, B. (ed.) Combinatorial Algorithms, pp. 91–96. Academic Press, New York (1973)Google Scholar
 8.Edmonds, J.: Some wellsolved 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.Edmonds, J.: Matroid intersection. Ann. Discrete Math. 4, 29–49 (1979)MathSciNetzbMATHGoogle Scholar
 10.Edmonds, J., Rota, G.C.: Submodular set functions, abstract, Waterloo conference on combinatorics, Waterloo, Ontario (1966)Google Scholar
 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.Fortier, Q., Király, Cs., Szigeti, Z., Tanigawa, S.: On packing spanning arborescences with matroid constraint, EGRES Technical Report No. TR201618. www.cs.elte.hu/egres (2016)
 13.Frank, A.: Rooted \(k\)connections in digraphs. Discrete Appl. Math. 157, 1242–1254 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
 14.Frank, A.: Connections in Combinatorial Optimization. Oxford University Press, Oxford (2011)zbMATHGoogle Scholar
 15.Fujishige, S.: Submodular Functions and Optimization, 2nd edn. Ann. Discrete Math., Elsevier, New York (2005)Google Scholar
 16.Huang, C., Kakimura, N., Kamiyama, N.: Exact and approximation algorithms for weighted matroid intersection. In: Proceedings of the TwentySeventh Annual ACM–SIAM Symposium on Discrete Algorithms, pp. 430–444. SIAM, Philadelphia, PA, USA, (2016)Google Scholar
 17.Imai, H.: Network flow algorithms for lower truncated transversal polymatroids. J. Oper. Res. Soc. Japan 26, 186–210 (1983)MathSciNetzbMATHGoogle Scholar
 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.Kamiyama, N., Katoh, N., Takizawa, A.: Arcdisjoint intrees in directed graphs. Combinatorica 29, 197–214 (2009)MathSciNetzbMATHGoogle Scholar
 20.Katoh, N., Tanigawa, S.: Rootedtree decomposition with matroid constrains and the infinitesimal rigidity of frameworks with boundaries. SIAM J. Discrete Math. 27, 155–185 (2013)MathSciNetCrossRefzbMATHGoogle Scholar
 21.Király, Cs.: On maximal independent arborescence packing. SIAM J. Discrete Math. 30(4), 2107–2114 (2016)Google Scholar
 22.Király, Cs., Szigeti, Z.: Reachabilitybased matroidrestricted packing of arborescences, EGRES Technical Report No. TR201619. www.cs.elte.hu/egres (2016)
 23.Lawler, E.L.: Matroid intersection algorithms. Math. Program 9, 31–56 (1975)MathSciNetCrossRefzbMATHGoogle Scholar
 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.Murota, K.: Matrices and Matroids for Systems Analysis. Springer, New York (2009)zbMATHGoogle Scholar
 26.Perfect, H.: A generalization of Rado’s theorem on independent transversals. Proc. Camb. Philos. Soc. 66, 513–515 (1969)MathSciNetCrossRefzbMATHGoogle Scholar
 27.Rado, R.: A theorem on independence relations. Q. J. Math. Oxf. Ser. 13, 83–89 (1942)MathSciNetCrossRefzbMATHGoogle Scholar
 28.Schrijver, A.: Combinatorial Optimization: Polyhedra and Efficiency. Springer, New York (2003)zbMATHGoogle Scholar
 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 201714. http://www.keisu.t.utokyo.ac.jp/research/techrep/2017.html (2017)
Copyright information
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.