Combinatorial optimization: algorithms and complexity
Combinatorial optimization: algorithms and complexity
The stable marriage problem: structure and algorithms
The stable marriage problem: structure and algorithms
Faster scaling algorithms for network problems
SIAM Journal on Computing
New scaling algorithms for the assignment and minimum mean cycle problems
Mathematical Programming: Series A and B
Handbook of combinatorics (vol. 1)
Handbook of combinatorics (vol. 1)
LEDA: a platform for combinatorial and geometric computing
LEDA: a platform for combinatorial and geometric computing
Strong Stability in the Hospitals/Residents Problem
STACS '03 Proceedings of the 20th Annual Symposium on Theoretical Aspects of Computer Science
SODA '05 Proceedings of the sixteenth annual ACM-SIAM symposium on Discrete algorithms
Popular matchings in the capacitated house allocation problem
ESA'06 Proceedings of the 14th conference on Annual European Symposium - Volume 14
A 1.875: approximation algorithm for the stable marriage problem
SODA '07 Proceedings of the eighteenth annual ACM-SIAM symposium on Discrete algorithms
Reducing rank-maximal to maximum weight matching
Theoretical Computer Science
Bounded Unpopularity Matchings
SWAT '08 Proceedings of the 11th Scandinavian workshop on Algorithm Theory
Matchings in graphs variations of the problem
COCOA'07 Proceedings of the 1st international conference on Combinatorial optimization and applications
LATIN'08 Proceedings of the 8th Latin American conference on Theoretical informatics
SIAM Journal on Discrete Mathematics
Popular matchings: structure and algorithms
Journal of Combinatorial Optimization
Assignment problems in rental markets
WINE'06 Proceedings of the Second international conference on Internet and Network Economics
Dynamic matching markets and voting paths
SWAT'06 Proceedings of the 10th Scandinavian conference on Algorithm Theory
A (2 - c1/√N)-approximation algorithm for the stable marriage problem
ISAAC'05 Proceedings of the 16th international conference on Algorithms and Computation
Pareto optimality in house allocation problems
ISAAC'05 Proceedings of the 16th international conference on Algorithms and Computation
ICALP'06 Proceedings of the 33rd international conference on Automata, Languages and Programming - Volume Part I
Pareto optimality in house allocation problems
ISAAC'04 Proceedings of the 15th international conference on Algorithms and Computation
Efficient algorithms for weighted rank-maximal matchings and related problems
ISAAC'06 Proceedings of the 17th international conference on Algorithms and Computation
Hi-index | 0.00 |
Suppose that each member of a set A of applicants ranks a subset of a set P of posts in an order of preference, possibly involving ties. A matching is a set of (applicant, post) pairs such that each applicant and each post appears in at most one pair. A greedy matching is one in which the maximum possible number of applicants are matched to their first choice post, and subject to that condition, the maximum possible number are matched to their second choice post, and so on. This is a relevant concept in any practical matching situation and it was first studied by Irving [8].We define the bipartite graph G = (A U P,ε), where ε consists of all pairs (a, p) such that post p appears in the preference list of applicant a. Each edge (a, p) has a rank i, which means that post p is an ith choice for applicant a. The traditional solution of computing a greedy matching in G would be to use the Hungarian algorithm to compute a maximum weight matching by assigning a suitably steeply decreasing sequence of weights to the edges. This would result in an algorithm with worst case running time rn(m + n log n) and the space requirement Θ(rm), where n is the number of vertices, m is the number of edges and r is the largest rank of an edge.Here, we describe two algorithms to compute a greedy matching that improve upon this algorithm. We give a combinatorial algorithm with running time O(min(n + C,C√n)m), where C ≤ r is the maximal rank of an edge used in a greedy matching. This algorithm works in phases and uses the maximum cardinality matching algorithm. We also give an O(Cnm) algorithm that tackles the problem of large edge weights introduced by the Hungarian algorithm. This algorithm uses scaling and works in phases. The space requirement of both these algorithms is O(m).