, Volume 74, Issue 3, pp 1184–1203 | Cite as

Fair Matchings and Related Problems

  • Chien-Chung HuangEmail author
  • Telikepalli Kavitha
  • Kurt Mehlhorn
  • Dimitrios Michail


Let \(G = (A \cup B, E)\) be a bipartite graph, where every vertex ranks its neighbors in an order of preference (with ties allowed) and let \(r\) be the worst rank used. A matching \(M\) is fair in \(G\) if it has maximum cardinality, subject to this, \(M\) matches the minimum number of vertices to rank \(r\) neighbors, subject to that, \(M\) matches the minimum number of vertices to rank \((r-1)\) neighbors, and so on. We show an efficient combinatorial algorithm based on LP duality to compute a fair matching in \(G\). We also show a scaling based algorithm for the fair b-matching problem. Our two algorithms can be extended to solve other profile-based matching problems. In designing our combinatorial algorithm, we show how to solve a generalized version of the minimum weighted vertex cover problem in bipartite graphs, using a single-source shortest paths computation—this can be of independent interest.


Matching under preferences Profile-based matching  Bipartite graphs 


  1. 1.
    Huang, C.-C., Kavitha, T.: Weight-maximal matchings. In: Proceedings of the the 2nd International Workshop on Matching under Preferences, July (2012)Google Scholar
  2. 2.
    Mehlhorn, K., Michail, D.: Network Problems with Non-Polynomial Weights and Applications.
  3. 3.
    Gale, D., Shapley, L.S.: College admissions and the stability of marriage. Am. Math. Mon. 69, 9–15 (1962)CrossRefMathSciNetzbMATHGoogle Scholar
  4. 4.
    Orlin, J.B., Ahuja, R.K.: New scaling algorithms for the assignment and minimum mean cycle problems. Math. Program. 54(1), 41–56 (1992)CrossRefMathSciNetzbMATHGoogle Scholar
  5. 5.
    Duan, R., Su, H.-H.: A scaling algorithm for maximum weight matchings in bipartite graphs. In: Proccedings of the 23rd SODA, pp. 1413–1424 (2012)Google Scholar
  6. 6.
    Fredman, M.L., Tarjan, R.E.: Fibonacci heaps and their uses in improved network optimization algorithms. J. ACM 34(3), 596–615 (1987)CrossRefMathSciNetGoogle Scholar
  7. 7.
    Gabow, H., Tarjan, R.: Faster scaling algorithms for network problems. SIAM J. Comput. 18, 1013–1036 (1989)CrossRefMathSciNetzbMATHGoogle Scholar
  8. 8.
    Iri, M.: A new method of solving transportation-network problems. J. Oper. Res. Soc. Jpn. 3, 27–87 (1960)Google Scholar
  9. 9.
    Goldberg, A.V., Tarjan, R.E.: Finding minimum-cost circulations by successive approximation. Math. Oper. Res. 15, 430–466 (1990)CrossRefMathSciNetzbMATHGoogle Scholar
  10. 10.
    Sng, C.: Efficient Algorithms for bipartite matching problems with preferences Ph.D. thesis, University of Glasgow, (2008)Google Scholar
  11. 11.
    Irving, R.W.: Greedy Matchings. University of Glasgow, Computing Science Department Research Report, TR-2003-136, (2003)Google Scholar
  12. 12.
    Irving, R.W., Kavitha, T., Mehlhorn, K., Michail, D., Paluch, K.E.: Rank-maximal matchings. ACM Trans. Algorithms 2(4), 602–610 (2006)CrossRefMathSciNetGoogle Scholar
  13. 13.
    Kavitha, T., Shah, C.D.: Efficient algorithms for weighted rank-maximal matchings and related problems. In: Proceedings of the 17th ISAAC, pp. 153–162 (2006)Google Scholar
  14. 14.
    Michail, D.: Reducing rank-maximal to maximum weight matching. Theor. Comput. Sci. 389(1–2), 125–132 (2007)CrossRefMathSciNetzbMATHGoogle Scholar
  15. 15.
    Paluch, K.: Capacitated rank-maximal matchings. In Proceedings of the 8th CIAC, pp. 324–335 (2013)Google Scholar
  16. 16.
    Goldberg, A.V.: Scaling algorithms for the shortest paths problem. SIAM J. Comput. 24(3), 494–504 (1995)CrossRefMathSciNetzbMATHGoogle Scholar
  17. 17.
    Sankowski, P.: Shortest paths in matrix multiplication time. In: Proceedings of the 13th ESA, pp. 770–778 (2005)Google Scholar
  18. 18.
    Sankowski, P.: Maximum weight bipartite matching in matrix multiplication time. Theor. Comput. Sci. 410, 4480–4488 (2009)CrossRefMathSciNetzbMATHGoogle Scholar
  19. 19.
    Yuster, R., Zwick, U.: Answering distance queries in directed graphs using fast matrix multiplication. In: Proceedings of the 46th FOCS, pp. 90–100 (2005)Google Scholar
  20. 20.
    Hopcroft, J., Karp, R.: An \(n^{5/2}\) algorithm for maximum matchings in bipartite graphs. SIAM J. Comput. 2, 225–231 (1973)CrossRefMathSciNetzbMATHGoogle Scholar
  21. 21.
    Harvey, N.J.A.: Algebraic structures and algorithms for matching and matroid problems. SIAM J. Comput. 39(2), 679–702 (2009)CrossRefMathSciNetzbMATHGoogle Scholar
  22. 22.
    Mucha, M., Sankowski, P.: Maximum matchings via gaussian elimination. In: Proceedings of the 45th FOCS, pp. 248–255 (2004)Google Scholar
  23. 23.
    Ahuja, R.K., Magnanti, T.L., Orlin, J.B.: Network Flows: Theory, Algorithms, and Applications. Prentice Hall, USA (1993)zbMATHGoogle Scholar
  24. 24.
    Goldberg, A.V., Tardos, E., Tarjan, R.E.: Network flow algorithms. In: Paths, Flows and VLSI-Design, pp. 101–164. Springer, Berlin (1990)Google Scholar

Copyright information

© Springer Science+Business Media New York 2015

Authors and Affiliations

  • Chien-Chung Huang
    • 1
    Email author
  • Telikepalli Kavitha
    • 2
  • Kurt Mehlhorn
    • 3
  • Dimitrios Michail
    • 4
  1. 1.Chalmers University of TechnologyGothenburgSweden
  2. 2.Tata Institute of Fundamental ResearchMumbaiIndia
  3. 3.Max-Planck Institut für InformatikSaarbrückenGermany
  4. 4.Harokopio UniversityAthensGreece

Personalised recommendations