Popular Matchings in the
Weighted Capacitated
House Allocation Problem
Colin Sng
David Manlove
Department of Computing Science
University of Glasgow
1
House Allocation problem (HA)
A set of agents and a set of houses
agents have preferences over houses
each agent has a (strictly) ranked preference list of
acceptable houses
houses have no preferences over agents
A matching is a set of (agent, house) pairs such that
each agent is paired with at most one house
each house is paired with at most one agent
an agent can be paired only with an acceptable house
2
Popular matchings
If (a, h) ∈ M then we denote h by M(a)
Agent a prefers matching M' to matching M if
a is matched in M' but not in M, or
a prefers M'(a) to M(a)
A matching M' is more popular than a matching M if more
agents prefer M' to M than prefer M to M'
A matching M is popular if there is no matching M' that is
more popular than M
3
Popular matchings may not exist
Consider the instance shown - 3 agents and 3 houses
a1 : h1 h2 h3
a2 : h1 h2 h3
a3 : h1 h2 h3
4
Popular matchings may not exist
Consider the instance shown - 3 agents and 3 houses
a1 : h1 h2 h3
a2 : h1 h2 h3
a3 : h1 h2 h3
The blue matching M shown is unique up to symmetry
5
Popular matchings may not exist
Consider the instance shown - 3 agents and 3 houses
a1 : h1 h2 h3
a2 : h1 h2 h3
a3 : h1 h2 h3
The blue matching M shown is unique up to symmetry
The green matching M' is more popular than M
6
Popular matchings can
have different sizes
a1 : h1 h4
a2 : h2 h5
a3 : h3 h4 h6
a4 : h1
a5 : h2
a6 : h3
7
Popular matchings can
have different sizes
a1 : h1 h4
a2 : h2 h5
a3 : h3 h4 h6
a4 : h1
a5 : h2
a6 : h3
The blue matching M is the unique maximum matching
8
Popular matchings can
have different sizes
a1 : h1 h4
a2 : h2 h5
a3 : h3 h4 h6
a4 : h1
a5 : h2
a6 : h3
The blue matching M is the unique maximum matching
The green matching M' is more popular than M
9
Popular matchings can
have different sizes
a1 : h1 h4
a2 : h2 h5
a3 : h3 h4 h6
a4 : h1
a5 : h2
a6 : h3
The green matching M' is in fact popular
But so is the black matching
M' is a maximum cardinality popular matching
10
Motivation
Bipartite matching problems with one-sided preferences:
US campus housing allocation
Amazon’s DVD rental service
Scottish Executive Teacher Induction Scheme
Popular matchings:
Administrator may try to impose a matching M on a set
of agents
Group may try to propose an alternative matching M'
Administrator agrees to let the agents vote to determine
whether M' is more popular than M
11
Related work (1)
Gärdenfors (Behavioural Science, 1975)
defined popular matchings (“majority assignments”) in
the context of voting theory
Irving, Kavitha, Mehlorn, Michail, Paluch (SODA 2004)
O(min(n+R, R√n)m) algorithm to find a rank maximal
matching, where n is no. agents and houses, m is total
length of preference lists and R is maximum rank that
appears in an optimal solution
Abraham, Cechlarova, Manlove, Mehlhorn (ISAAC 2004)
O(n + m) algorithm to find a maximum Pareto optimal
matching
Rank maximal and Pareto optimal matchings need not be
popular
12
Related work (2)
Abraham, Irving, Kavitha, Mehlhorn (SODA 2005)
O(n + m) algorithm to find a maximum popular
matching or report that none exists
O(√nm) counterpart for preference lists with ties
Mahdian (ACM EC 2006)
probabilistic results for the existence of a popular
matching in a random HA instance
Abraham and Kavitha (SWAT 2006)
dynamic matching market considered
there exists a 2-step “voting path” from a given
matching to a popular matching, if one exists
13
Related work (3)
Mestre (ICALP 2006)
Weighted House Allocation problem (WHA)
Agents have weights indicating their priority level
O(n + m) algorithm to find a maximum popular matching
or report that none exists
O(min(k√n, n)m) counterpart for preference lists with ties,
where k is the number of distinct weights
Manlove and Sng (ESA 2006)
Capacitated House Allocation problem (CHA)
O(√Cn + m) algorithm to find a maximum popular
1
matching or report that none exists, where n1 is no.
agents and C is total capacity of the houses
14
O((√C + n )m) counterpart for preference lists with ties
Weighted House
Allocation problem (WHA)
Each agent ai has a weight wi > 0 indicating his priority
A matching M' is more popular than a matching M if the total
weight of the agents who prefer M' to M is greater than the
total weight of the agents who prefer M to M'
Example instance
Agent Weight
a1:
7
Pref list
h1 h2 h3
a2:
4
h1 h3 h4
a3:
2
h3 h1 h4 h5
a4:
2
h1 h4 h5
15
Weighted House
Allocation problem (WHA)
Each agent ai has a weight wi > 0 indicating his priority
A matching M' is more popular than a matching M if the total
weight of the agents who prefer M' to M is greater than the
total weight of the agents who prefer M to M'
Example instance
Agent Weight
a1:
7
Pref list
h1 h2 h3
a2:
4
h1 h3 h4
a3:
2
h3 h1 h4 h5
a4:
2
h1 h4 h5
Weight of agents who
prefer M' to M
= 4+2+2=8
Weight of agents who
prefer M to M' = 7
Green matching M is not popular since blue matching M' is
more popular than M
16
Capacitated House
Allocation problem (CHA)
Each house hj has a capacity cj > 0
Agents do not have weights (yet)
A matching is a set of (agent, house) pairs such that
each agent is paired with at most one house
each house hj is paired with at most cj agents
an agent can be paired only with an acceptable house
A matching M' is more popular than a matching M if more
agents prefer M' to M than prefer M to M'
17
Weighted Capacitated House
Allocation problem (WCHA)
Combination of both of the extensions WHA and CHA
Agents have weights
Houses have capacities
Weights could give priority in the competition for houses if C < n1
Example instance
Agent
Weight
Pref list
House
capacity
a1
7
h1 h2 h3
h1
1
a2
4
h1 h3 h4
h2
2
a3
4
h3 h5
a4
2
h3 h1 h4 h5
h4
2
a5
2
h1 h4 h5
h5
1
h3
2
18
Our results
Characterisation of popular matchings in WCHA
Show how to remove certain (agent,house) pairs that
cannot belong to a popular matching
Show how this leads to an O(√Cn1 + m) algorithm for
finding a popular matching or reporting that none exists,
given an instance of WCHA
Extend the algorithm to the case where we require a
maximum popular matching
19
The underlying graph
a1
7
a2
4
a3
4
a4
2
a5
2
h1
1
a1: h1 h2 h3
a2: h1 h3 h4
h2
2
h3
2
a4: h3 h1 h4 h5
h4
2
a6: h4 h1 h2
h5
1
a3: h3 h5
a5: h1 h4 h5
a6
2
20
The underlying graph
l(a1)
a1
7
l(a2)
a2
4
l(a3)
a3
4
l(a4)
a4
2
l(a5)
a5
2
l(a6)
h1
1
a1: h1 h2 h3 l(a1)
a2: h1 h3 h4 l(a2)
h2
2
h3
2
a4: h3 h1 h4 h5 l(a4)
h4
2
a6: h4 h1 h2 l(a6)
h5
1
a3: h3 h5 l(a3)
a5: h1 h4 h5 l(a5)
a6
2
21
f-houses and s-houses
Partition agents into P1 , P2 ,…, Pk such that ai ∈ Pj implies that
ai has weight wj and w1 > w2 > …> wk
If ai ∈ Pj then ai has priority j
For each agent a, define a’s f-house f(a) and a’s s-house s(a)
If a ∈ P1 then f(a) is the first house on a’s list
Otherwise consider agents in P2 ,…, Pk in turn
Given a ∈ Pz (2 ≤ z ≤ k), f(a) is the most-preferred house hj on
a’s list such that the number of agents with priority <z whose fhouse is hj is <cj
Given a ∈ Pz (1 ≤ z ≤ k), s(a) is the most-preferred house
hj
22
≠ f(a) on a’s list such that the number of agents with priority ≤z
Identification of f-houses
l(a1)
a1
7
l(a2)
a2
4
l(a3)
a3
4
l(a4)
a4
2
l(a5)
a5
2
l(a6)
h1
1
h2
2
h3
2
h4
2
h5
1
a1: h1 h2 h3
1
a2: h1 h3 h4
2
a3: h3 h5
2
a4: h3 h1 h4 h5
3
a5: h1 h4 h5
3
a6: h4 h1 h2
3
a6
2
23
Identification of s-houses
l(a1)
a1
7
l(a2)
a2
4
l(a3)
a3
4
l(a4)
a4
2
l(a5)
a5
2
l(a6)
h1
1
h2
2
h3
2
h4
2
h5
1
a1: h1 h2 h3
1
a2: h1 h3 h4
2
a3: h3 h5
2
a4: h3 h1 h4 h5
3
a5: h1 h4 h5
3
a6: h4 h1 h2
3
a6
2
24
Key result (1)
a1
If M is a popular matching,
then for each agent a, either M
(a)=f(a) or M(a)=s(a)
7
a2
4
a3
An agent-complete matching
satisfying the above property
(and two additional properties) is
well-formed
4
a4
2
a5
2
Every popular matching is wellformed, however the converse is
not true in general
h1
1
h2
2
h3
2
h4
2
h5
1
a6
2
25
Potential improvement paths
M1 = {(a1, h1), (a2, h3), (a3, h3),
(a4, h4), (a5, h5), (a6, h4)}
is a well-formed matching
a1
7
a2
4
a3
4
a4
2
a5
2
h1
1
h2
2
h3
2
h4
2
h5
1
a6
2
26
Potential improvement paths
M1 = {(a1, h1), (a2, h3), (a3, h3),
(a4, h4), (a5, h5), (a6, h4)}
a1
7
h1
1
h3
2
h4
2
h5
1
a2
4
Agent
a1
Weight
7
Pref list
h1 h2 h3
a3
a2
4
h1 h3 h4
a3
4
h3 h5
a4
a4
2
h3 h1 h4 h5
a5
2
h1 h4 h5
a6
2
h4 h1 h2
4
2
a5
2
a6
2
27
Potential improvement paths
M1 = {(a1, h1), (a2, h3), (a3, h3),
(a4, h4), (a5, h5), (a6, h4)}
a1
7
h1
1
h3
2
h4
2
h5
1
a2
4
Agent
a1
Weight
7
Pref list
h1 h2 h3
a3
a2
4
h1 h3 h4
a3
4
h3 h5
a4
a4
2
h3 h1 h4 h5
a5
2
h1 h4 h5
a6
2
h4 h1 h2
4
2
a5
2
a6
2
〈h4, a4, h3, a2, h1, a1〉 is a potential improvement path
28
Potential improvement paths
M1 = {(a1, h1), (a2, h3), (a3, h3),
(a4, h4), (a5, h5), (a6, h4)}
M2 = {(a2, h1), (a3, h3), (a4, h3),
(a5, h4), (a6, h4)}
Weight of agents who improve
= w2 + w4 + w5 = 4 + 2 + 2 = 8
Weight of agents who get worse
= w1 = 7
∴ M1 is not popular
a1
7
h1
1
h3
2
h4
2
h5
1
a2
4
a3
4
a4
2
a5
2
a6
2
29
Pruning
O(m) algorithm removes certain
edges from the underlying graph
that cannot belong to a popular
matching
In this case the edges that would
be removed are:
a1
7
a2
4
a3
4
a4
2
• (a1, h2)
• (a2, h4)
• (a3, h5)
• (a4, h4)
a5
2
h1
1
h2
2
h3
2
h4
2
h5
1
a6
2
30
Key result (2)
Any well-formed matching in the pruned graph is popular
a1
a2
a3
a4
a5
a6
h1
h2
1
2
h3
2
h4
2
h5
1
a1
a2
a3
a4
a5
h1
1
h2
2
h3
2
h4
2
h5
1
a6
31
Conclusions
Overall O(√Cn1+m) approach for finding a popular matching
(or reporting that none exists)
O(m) to identify f- and s-houses
O(m) for pruning algorithm
O(√Cn1+m) for finding a well-formed matching in pruned graph
Extends to O(√Cn1+m) algorithm for finding a maximum
popular matching
Extend to preference lists with ties?
32
© Copyright 2026 Paperzz