Rank-Maximal Matchings - Structure and Algorithms

Let \(G = (\mathcal {A}\cup \mathcal {P}, E)\) be a bipartite graph where \(\mathcal {A}\) denotes a set of agents, \(\mathcal {P}\) denotes a set of posts and ranks on the edges denote preferences of the agents over posts. A matching \(M\) in \(G\) is rank-maximal if it matches the maximum number of applicants to their top-rank post, subject to this, the maximum number of applicants to their second rank post and so on.