Matroid intersection

In combinatorial optimization, the matroid intersection problem is to find a largest common independent set in two matroids over the same ground set.

These problems generalize many problems in combinatorial optimization including finding maximum matchings and maximum weight matchings in bipartite graphs and finding arborescences in directed graphs.

The matroid intersection theorem, due to Jack Edmonds,[1] says that there is always a simple upper bound certificate, consisting of a partitioning of the ground set amongst the two matroids, whose value (sum of respective ranks) equals the size of a maximum common independent set.

One may define a partition matroid MU on the ground set E, in which a set of edges is independent if no two of the edges have the same endpoint in U.

Thus, the largest common independent set of MU and MV is a maximum matching in G. Similarly, if each edge has a weight, then the maximum-weight independent set of MU and MV is a Maximum weight matching in G. There are several polynomial-time algorithms for weighted matroid intersection, with different run-times.

- the number of operations required for a circuit-finding oracle, and

In a variant of weighted matroid intersection, called "(Pk)", the goal is to find a common independent set with the maximum possible weight among all such sets with cardinality k, if such a set exists.

This variant, too, can be solved in polynomial time.

One proof of this hardness result uses a reduction from the Hamiltonian path problem in directed graphs.

Given a directed graph G with n vertices, and specified nodes s and t, the Hamiltonian path problem is the problem of determining whether there exists a simple path of length n − 1 that starts at s and ends at t. It may be assumed without loss of generality that s has no incoming edges and t has no outgoing edges.

Then, a Hamiltonian path exists if and only if there is a set of n − 1 elements in the intersection of three matroids on the edge set of the graph: two partition matroids ensuring that the in-degree and out-degree of the selected edge set are both at most one, and the graphic matroid of the undirected graph formed by forgetting the edge orientations in G, ensuring that the selected edge set has no cycles.

[13] A valuated matroid is a matroid equipped with a value function v on the set of its bases, with the following exchange property: for any two distinct bases

Given a weighted bipartite graph G = (X+Y, E) and two valuated matroids, one on X with bases set BX and valuation vX, and one on Y with bases BY and valuation vY, the valuated independent assignment problem is the problem of finding a matching M in G, such that MX (the subset of X matched by M) is a base in BX , MY is a base in BY , and subject to this, the sum

The weighted matroid intersection problem is a special case in which the matroid valuations are constant, so we only seek to maximize

[14] Murota presents a polynomial-time algorithm for this problem.