Exact and approximation algorithms for weighted matroid intersection
Paper in proceeding, 2016
In this paper, we propose new exact and approximation algorithms for the weighted matroid intersection problem. Our exact algorithm is faster than previous algorithms when the largest weight is relatively small. Our approximation algorithm delivers a (1 - ?)-approximate solution with a running time significantly faster than known exact algorithms. The core of our algorithms is a decomposition technique: we decompose an instance of the weighted matroid intersection problem into a set of instances of the unweighted matroid intersection problem. The computational advantage of this approach is that we can make use of fast unweighted matroid intersection algorithms as a black box for designing algorithms. Precisely speaking, we prove that we can solve the weighted matroid intersection problem via solving W instances of the unweighted matroid intersection problem, where W is the largest given weight. Furthermore, we can find a (1 - ?)-approximate solution via solving O(?-1 log r) instances of the unweighted matroid intersection problem, where r is the smallest rank of the given two matroids. Our algorithms are simple and flexible: they can be adapted to special cases of the weighted matroid intersection problem, using specialized unweighted matroid intersection algorithms. In this paper, we will show the following results. 1. Given two general matroids, using Cunningham's algorithm, we can solve the weighted matroid intersection problem exactly in O(?Wnr1.5) time and (1 - ?)-approximately in O(??-1nr1.5 logr) time, where n is the size of the ground set and r is the time complexity of an independence oracle call. 2. Given two graphic matroids, using the algorithm of Gabow and Xu, we can solve the weighted matroid intersection problem exactly in O(W?rn log r) time and (1 - ?)-approximately in O(?-1 ?rn log2r) time. 3. Given two linear matroids (in the form of two r-by-n matrices), using the algorithm of Cheung, Kwok, and Lau, we can solve the weighted matroid intersection problem exactly in O(nr log r? + Wnr??-1) time and (1 - ?)-approximately in O(nr logr? + ?-1nr??-1 logr?) time, where ? is the exponent of the matrix multiplication time and r? is the maximum size of a common independent set. Finally, we give a further application of our decomposition technique. We use our technique to solve efficiently the rankmaximal matroid intersection problem, a problem motivated by matching problems under preferences.