Abstract
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-\epsilon )\)-approximate solution with a running time significantly faster than most 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. More precisely, we show 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, assuming that all given weights are integral. Furthermore, we can find a \((1-\epsilon )\)-approximate solution via solving \(O(\epsilon ^{-1} \log r)\) instances of the unweighted matroid intersection problem, where r is the smaller rank of the two given matroids. Our algorithms make use of the weight-splitting approach of Frank (J Algorithms 2(4):328–336, 1981) and the geometric scaling scheme of Duan and Pettie (J ACM 61(1):1, 2014). 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 addition, we give a further application of our decomposition technique: we solve efficiently the rank-maximal matroid intersection problem, a problem motivated by matching problems under preferences.
Similar content being viewed by others
Notes
This complexity is superior to the previous one only when the given weights are very “unbalanced.”
We use the shorthand \(I+e\) and \(I-e\) to stand for \(I \cup \{e\}\) and \(I \setminus \{e \}\), respectively.
References
Aigner, M., Dowling, T.A.: Matching theory for combinatorial geometries. Trans. Am. Math. Soc. 158(1), 231–245 (1971)
Brezovec, C., Cornuéjols, G., Glover, F.: Two algorithms for weighted matroid intersection. Math. Program. 36(1), 39–53 (1986)
Chekuri, C., Quanrud, K.: Fast approximations for matroid intersection. In: Proceedings of the 27th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA (2016)
Cheung, H.Y., Kwok, T.C., Lau, L.C.: Fast matrix rank algorithms and applications. J. ACM 60(5), 31 (2013)
Cheung, H.Y., Lau, L.C., Leung, K.M.: Algebraic algorithms for linear matroid parity problems. ACM Trans. Algorithms 10(3), 10 (2014)
Christiano, P., Kelner, J.A., Madry, A., Spielman, D.A., Teng, S.: Electrical flows, Laplacian systems, and faster approximation of maximum flow in undirected graphs. In: Proceedings of the 43rd ACM Symposium on Theory of Computing, STOC, pp. 273–282 (2011)
Cook, W.J., Cunningham, W.H., Pulleyblank, W.R., Schrijver, A.: Combinatorial Optimization. Wiley, Hoboken (1997)
Coppersmith, D., Winograd, S.: Matrix multiplication via arithmetic progressions. J. Symb. Comput. 9(3), 251–280 (1990)
Cunningham, W.H.: Improved bounds for matroid partition and intersection algorithms. SIAM J. Comput. 15(4), 948–957 (1986)
Dougherty, R., Freiling, C., Zeger, K.: Network coding and matroid theory. Proc. IEEE 99(3), 388–405 (2011)
Duan, R., Pettie, S.: Linear-time approximation for maximum weight matching. J. ACM 61(1), 1 (2014)
Duan, R., Pettie, S., Su, H.-H.: Scaling algorithms for weighted matching in general graphs. In: Proceedings of the Twenty-Eighth Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pp. 781–800 (2017)
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. Springer, London (1970)
Edmonds, J.: Matroids and the greedy algorithm. Math. Program. 1(1), 127–136 (1971)
Edmonds, J.: Matroid intersection. Ann. Discret. Math. 4, 39–49 (1979)
Frank, A.: A weighted matroid intersection algorithm. J. Algorithms 2(4), 328–336 (1981)
Frank, A.: A quick proof for the matroid intersection weight-splitting theorem. Technical Report QP-2008-03, Egerváry Research Group on Combinatorial Optimization (2008)
Fujishige, S.: Submodular Functions and Optimization, 2nd edn. Elsevier, Amsterdam (2005)
Fujishige, S., Zhang, X.: An efficient cost scaling algorithm for the independent assignment problem. J. Oper. Res. Soc. Jpn. 38(1), 124–136 (1995)
Gabow, H., Tarjan, R.: Faster scaling algorithms for network problems. SIAM J. Comput. 18(5), 1013–1036 (1989)
Gabow, H., Tarjan, R.: Faster scaling algorithms for general graph-matching problems. J. ACM 38(4), 815–853 (1991)
Gabow, H.N., Stallmann, M.F.M.: Efficient algorithms for graphic matroid intersection and parity (extended abstract). In: Proceedings of the 12th Colloquium on Automata, Languages and Programming, ICALP, pp. 210–220 (1985)
Gabow, H.N., Xu, Y.: Efficient algorithms for independent assignments on graphic and linear matroids. In: Proceedings of the 30th Annual Symposium on Foundations of Computer Science, FOCS, pp. 106–111 (1989)
Gabow, H.N., Xu, Y.: Efficient theoretic and practical algorithms for linear matroid intersection problems. J. Comput. Syst. Sci. 53(1), 129–147 (1996)
Gall, F.L.: Powers of tensors and fast matrix multiplication. In: Proceedings of the International Symposium on Symbolic and Algebraic Computation, ISSAC, pp. 296–303 (2014)
Harvey, N.J.A.: An algebraic algorithm for weighted linear matroid intersection. In: Proceedings of the 18th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA, pp. 444–453 (2007)
Harvey, N.J.A.: Algebraic algorithms for matching and matroid problems. SIAM J. Comput. 39(2), 679–702 (2009)
Huang, C.-C., Kavitha, T.: New algorithms for maximum weight matching and a decomposition theorem. Math. Oper. Res. 42(2), 411–426 (2017)
Iri, M.: Applications of matroid theory. In: Mathematical Programming—The State of the Art, pp. 158–201 (1983)
Iri, M., Tomizawa, N.: An algorithm for finding an optimal “independent assignment”. J. Oper. Res. Soc. Jpn. 19(1), 32–57 (1976)
Irving, R.W., Kavitha, T., Mehlhorn, K., Michail, D., Paluch, K.E.: Rank-maximal matchings. ACM Trans. Algorithms 2(4), 602–610 (2006)
Jenkyns, T.A.: The efficacy of the “greedy” algorithm. In: Proceedings of the 7th Southeastern International Conference on Combinatorics, Graph Theory, and Computing, pp. 341–350 (1976)
Kao, M.-Y., Lam, T.W., Sung, W.-K., Ting, H.-F.: A decomposition theorem for maximum weight bipartite matchings. SIAM J. Comput. 31(1), 18–26 (2001)
Kelner, J.A., Lee, Y.T., Orecchia, L., Sidford, A.: An almost-linear-time algorithm for approximate max flow in undirected graphs, and its multicommodity generalizations. In: Proceedings of the 25th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA, pp. 217–226 (2014)
Korte, B., Hausmann, D.: An analysis of the greedy heuristic for independence systems. In: Alspach, P.H.B., Miller, D. (eds.) Algorithmic Aspects of Combinatorics, Volume 2 of Annals of Discrete Mathematics, pp. 65–74. Elsevier, Amsterdam (1978)
Lawler, E.L.: Optimal matroid intersections. In: Guy, R., Hanani, H., Sauer, N., Schönheim, J. (eds.) Combinatorial Structures and Their Applications, pp. 233–234. Gordon and Breach, London (1970)
Lawler, E.L.: Matroid intersection algorithms. Math. Program. 9(1), 31–56 (1975)
Lee, Y., Sidford, A., 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, FOCS (2015)
Lee, Y.T., Rao, S., Srivastava, N.: A new approach to computing maximum flows using electrical flows. In: Proceedings of the 45th Symposium on Theory of Computing Conference, STOC, pp. 755–764 (2013)
Murota, K.: Matrices and Matroids for Systems Analysis, 2nd edn. Springer, Berlin (2000)
Murota, K., Iri, M., Nakamura, M.: Combinatorial canonical form of layered mixed matrices and its applications to block-triangularization of systems of linear/nonlinear equations. SIAM J. Algebraic Discret. Methods 8, 123–149 (1987)
Pap, G.: A matroid intersection algorithm. Technical Report TR-2008-10, Egerváry Research Group on Combinatorial Optimization (2008)
Pettie, S.: A simple reduction from maximum weight matching to maximum cardinality matching. Inf. Process. Lett. 112(23), 893–898 (2012)
Recski, A.: Terminal solvability and n-port interconnection problem. In: IEEE International Symposium on Circuits and Systems, pp. 988–991 (1979)
Recski, A.: Matroid Theory and its Applications in Electric Network Theory and in Statics. Springer, Berlin (1989)
Sankowski, P.: Maximum weight bipartite matching in matrix multiplication time. Theor. Comput. Sci. 410(44), 4480–4488 (2009)
Schrijver, A.: Combinatorial Optimization: Polyhedra and Efficiency. Springer, Berlin (2003)
Sherman, J.: Nearly maximum flows in nearly linear time. In: Proceedings of the 54th Annual Symposium on Foundations of Computer Science, FOCS (2013)
Shigeno, M., Iwata, S.: A dual approximation approach to weighted matroid intersection. Oper. Res. Lett. 18(3), 153–156 (1995)
Storjohann, A.: High-order lifting and integrality certification. J. Symb. Comput. 36, 613–648 (2003)
Thorup, M., Zwick, U.: Approximate distance oracles. J. ACM 52(1), 1–24 (2005)
Williams, V.V.: Multiplying matrices faster than Coppersmith–Winograd. In: Proceedings of the 44th Annual ACM Symposium on Theory of Computing, STOC, pp. 887–898 (2012)
Author information
Authors and Affiliations
Corresponding author
Additional information
A preliminary version of this paper appears in the proceeding of ACM-SIAM Symposium on Discrete Algorithms (SODA), 2016.
Rights and permissions
About this article
Cite this article
Huang, CC., Kakimura, N. & Kamiyama, N. Exact and approximation algorithms for weighted matroid intersection. Math. Program. 177, 85–112 (2019). https://doi.org/10.1007/s10107-018-1260-x
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10107-018-1260-x