There are few text books in combinatorial optimization discussing topics in matroid base packing, while matroid base covering(matroid partition problem) is everywhere. Packing and covering of trees in graphs is discussed in chapter 51 of [1].
1 Base packing & base covering
Given a matroid and its bases , find
- (minimum base covering) the min number of bases whose union is , and
- (maximum base packing) the max number of pairwise disjoint bases.
These problems can be formulated with the following integer programs, base packing:
base covering:
Integer programs are hard and these IPs have exponential number of variables. We consider the linear relaxations.
For any LP with bounded solutions, there must exist an optimal solution with support at most For similar problem on integer programming, one might think that there is also a small support based on the knowledge that the optimal solution for the integer program is simply a integer point inside the feasible region. However, the size of support for integer programs is not that small. Currently the best known upperbound is roughly , see this paper.
Actually these two problems are not hard on general matroids. Both of them can be solved in polynomial number of independence oracle calls.
- matroid base covering = matroid partitioning ≈ matroid union. Let be the matroid. The minimum number of bases that cover the groundset is , where is the rank function of .
- matroid base packing ≈ matroid union. Maximum integral base packing number is .
Thus the integral version of these two problem is polynomial solvable (in terms of the number of oracle calls) since matroid union is tractable. We will discuss computing the fractional version later.
The base covering number may be much larger than the base packing number, since may not be independent for . ( is the union of bases in the optimal packing)
2 Matroid strength and density
We will talk about matroid strength and density and their relation with base packing and covering in this section. I think none of the results is new. You can find some of them in [2] and [3].
The fractional base covering number for graphic matroids are called fractional arboricity. It is known that the fractional arboricity equals to . Define the density for a matroid as . The name “density” comes from [2]. I use symbol since density is a generalization of arboricity.
For the packing part consider the fractional version of Nash-Williams theorem,
The fractional spanning tree packing number of a connected graph equals to , where the maximum is taken among all partitions of .
The fraction in above theorem can be rewrite as , which only uses elements in the groundset and the rank function and thus can be generalized to non-graphic matroids. The maximum of this fraction, is called matroid strength.(The name also comes from [2].)
For the connections between density and strength, we have the following inequality,
Maximum fractional base packing number is .
The proof is similar to the graph strength proof for tree packing in [1]. Let be the base polytope of and be the powerset of . Consider the following linear programs,
and the dual of ,
We first prove that the polyhedron in , is the base polytope of . One can see that . Now suppose is larger than , there must exists such that for some . Thus . However, for the optimal solution to and any feasible solution to we have Hence .
Recall that . Note that . can be interpreted as the largest such that holds for all . Hence since . For fixed , if and only if there exists for all bases of such that and . Hence this shows is exactly the base packing LP .
Note that this proof is a straightforward generalization of the tree packing theorem in [1], which is similar to the blocking polyhedra method described in [4].
In [5] there is a constructive proof that recovers the optimal in from any optimal solution of hitting set LP(dual to base packing).
The idea is to show that any fraction solution to base hitting set can be converted to another solution such that for some global constant and .
Define two sets ,
is contained in and every element is in a minimum base with respect to weights .
Let . There exists s.t. for all .
The proof is contrustive. Let be a minimum weight base with . Assume that . For each element , let be the fundamental circuit in . Then we define as follows.
One can easily verify that for all and is still the minimum weight base under weights . Now it remains to show that .
- Every element is in a minimum base. For this is automatically satisfied. We consider . Let be the element in the fundamental circuit of with smallest weight . is a base and we have .
- For all base , holds since .
Proposition 4 shows that we can easily convert any solution to base hitting set () to a more well-behaved solution (). Note that our final goal is to find some special optimal solution . Thus we want to analyse the optimal further.
We are solving . Notice that the minimum weight base under weight should always have weight 1. We want to prove that for any weight there is an optimal with only one non-zero value. Thus we consider expressing the solution with values in . Suppose we have computed the optimal and let be the set of distinct values in . Let be the number of edges with . One immediate observation is that the objective can be written as . Let be the rank increment when involving elements with . Another immediate observation is that the weight of minimum base is . Based on these observations we write the following LP for .
Suppose the optimal is given, we can compute the optimal in the above LP and recover another solution to base hitting set. One can see that is still in . This LP has linearly independent constraints and variables. Thus only of the constraints are tight. We have already known that must be tight. Then there is always an optimal solution such that . Let be the set of elements with . Note that the minimum weight base contains elements of . Thus we known that . The objective is .
Minimum fractional base covering is .
The proof is similar to and easier than the previous one. The corresponding polyhedron in becomes which is exactly the independence polytope. Similarly, constructive proof for base covering exists [5].
Note that these two theorems can be generalized to weighted packing and covering of matroid bases.
2.1 Integral gap
It is known that the integral base packing number is and the integral base covering number is . Thus the integral gap for both base packing and covering are quite small.
In [3] there are stronger theorems describing the relations between integral packing/covering number and or .
Let be the fractional part of or , then there exists a packing(covering) of size (), one of the independnet sets in the packing(covering) is of size at most .
2.2 Duality
Applying the rank function of matroid dual derives the following (Theorem 1 in [2]),
For matroid without any loop or coloop,
Another relation worth noting is hitting set and set covering. The hitting set problem for matroid bases is known as computing the cogirth of the matroid. However, base covering is not a dual problem for cogirth. Sets in the corresponding hitting set problem of set covering is for all .
3 Computing the strength and density
For graphic matroids, the strength and fractional arboricity are known to be computable in strongly polynomial time. See chapter 51.4 in [1] and this notes.
The idea is to consider the dual problem which has only variables. If there is a separation oracle for testing whether a dual solution is feasible, then ellipsoid method can be used for a polynomial time algorithm.
For spanning tree packing the dual is graph min-cut problem, which is easy for graphic matroids but NP-Hard for general matroids (to find the cogirth). The separation oracle = find minimum weight base. Chekuri and Quanrud [6] discovered near-linear time approximation scheme for some implicit fraction packing problems. For fractional base packing, their algorithm outputs a -approximation with independence oracle calls. For the capacitated version, the number of oracle calls becomes .
Almost at the same time, Jérôme Galtier published similar results for graphs [7] and for matroids [5].
For spanning tree covering the dual is finding a maximum edge set whose intersection with each spanning tree is at most 1. This problem can be thought as a set cover, in which the sets are for each edge . The separation oracle solves the following problem: given edge weight , is there a spanning tree with weight greater than 1? We can simply find a matroid base with the largest weight. Thus for general matroid we can find the fractional arboricity through ellipsoid method.