Bidder optimal assignments for general utilities

Theoretical Computer Science 478 (2013) 22–32
Contents lists available at SciVerse ScienceDirect
Theoretical Computer Science
journal homepage: www.elsevier.com/locate/tcs
Bidder optimal assignments for general utilities✩
Paul Dütting a,∗ , Monika Henzinger b , Ingmar Weber c
a
École Polytechnique Fédérale de Lausanne (EPFL), Station 14, CH-1015 Lausanne, Switzerland
b
University of Vienna, Faculty of Computer Science, Währinger Straße 29/6.32, A-1090 Vienna, Austria
c
Qatar Computing Research Institute, P.O. Box 5825, Doha, Qatar
article
info
Article history:
Received 6 October 2011
Received in revised form 8 January 2013
Accepted 22 January 2013
Communicated by A. Fiat
Keywords:
Mechanism design
Matching markets
Discontinuous utilities
Envy freeness
Lattice
abstract
We study the problem of matching bidders to items where each bidder i has general, strictly
monotonic utility functions ui,j (pj ) expressing his utility of being matched to item j at price
pj . For this setting we prove that a bidder optimal outcome always exists, even when the
utility functions are non-linear and non-continuous. We give sufficient conditions under
which every mechanism that finds a bidder optimal outcome is incentive compatible. We
also give a mechanism that finds a bidder optimal outcome if the conditions for incentive
compatibility are satisfied. The running time of this mechanism is exponential in the
number of items, but polynomial in the number of bidders.
© 2013 Elsevier B.V. All rights reserved.
1. Introduction
In matching markets bidders are to be matched to items and the auctioneer receives a monetary compensation from the
bidders. Such markets have been studied for several decades (see, e.g., [2]). A practically relevant aspect of such markets is
that bidders typically have limited funds. As a concrete example consider the housing market. Here a bidder may be willing
to buy a certain house, but he may not be able to pay for it from his own pocket. To buy the house the bidder may decide
to take out a loan. The conditions of the loan will depend on its volume and a higher loan will typically incur higher costs.
Hence the utility of the bidder will drop faster as the price of the house increases. This leads to a non-linear utility function.
In addition, the bank may have a strict limit on the amount of money she is willing to lend the bidder. This strict limit causes
an abrupt drop in the bidder’s utility at this point and leads to a discontinuous utility function. Matching markets like the
housing market in which the bidders have both non-linear and discontinuous utility functions are the intended application
of the model studied here.
In our model n bidders are to be matched to k items. Each bidder i has general utility functions ui,j (pj ) expressing his
utility of being matched to item j at price pj . We allow every bidder i to have an outside option oi , i.e., a lower bound on the
utility ui that bidder i is guaranteed to get even if he is not matched to any item. We also allow every bidder–item pair (i, j)
to have a reserve price ri,j , i.e., a lower bound on the price pj that is required if bidder i is matched to item j. We make three
assumptions regarding the utility functions: (i) They are strictly monotonically decreasing in the price. (ii) They drop below
the outside options for high enough prices. (iii) They are locally right-continuous. To be specific, the utility functions that
we consider here need not be linear and they also need not be continuous.
We are interested in outcomes (µ, p) consisting of a matching µ between bidders and items and prices p. An outcome
is feasible if the price pj of every matched item j is at least ri,j , where i is the bidder that this item is matched to, and if the
✩ A preliminary version of this paper appeared in [1].
∗
Corresponding author. Tel.: +41 216931311; fax: +41 216931310.
E-mail address: [email protected] (P. Dütting).
0304-3975/$ – see front matter © 2013 Elsevier B.V. All rights reserved.
doi:10.1016/j.tcs.2013.01.030
P. Dütting et al. / Theoretical Computer Science 478 (2013) 22–32
23
utility ui of every bidder i is at least oi . An outcome is envy free if it is feasible and for each bidder i the utility that he gets,
i.e., either his outside option or the utility that he gets from being matched to item j at price pj , is larger than or equal to the
utility that he would get if he was matched to any other item k at price pk . An outcome is bidder optimal if it is envy free and
if it gives each bidder the highest possible utility among all envy free outcomes. Following earlier work (see, e.g., [3]) we
also consider strategic manipulations and analyze incentive compatible mechanisms, i.e., mechanisms that ensure that each
bidder maximizes his utility by submitting his true utility functions.
Our main result is that a bidder optimal outcome always exists if the utility functions satisfy conditions (i)–(iii) and
that such an outcome may not exist if any of these conditions is violated. We establish the existence of a bidder optimal
outcome through a lattice-theoretic argument: (1) We show that there exists at least one envy free outcome (µ, p). (2) We
show that any two envy free outcomes (µ, p) and (µ′ , p′ ) can be combined into an envy free outcome (µ̂, p̂) with utilities
ûi = max(ui , u′i ) and prices p̂j = min(pj , p′j ). This shows that there are infimum envy free prices p∗ . (3) We show that there
must be a matching µ∗ that together with the infimum envy free prices p∗ is envy free. This shows that there are minimum
envy free prices p∗ . (4) Finally, we show that an envy free outcome (µ∗ , p∗ ) is bidder optimal if no envy free outcome (µ, p)
can have lower prices. This proves the existence of a bidder optimal outcome. The main technical challenge in applying this
line of reasoning here is to show that the infimum envy free prices are minimum envy free prices. Our proof of this step
is based on a novel argument that consists of lower bounding the price increases that are required to turn a non-envy free
outcome into an envy free outcome.
We give sufficient conditions under which every mechanism that computes a bidder optimal outcome for utility functions
satisfying conditions (i)–(iii) is incentive compatible, and show that bidder optimality need not imply incentive compatibility
if any of the sufficient conditions is violated. This in stark contrast to the continuous case where bidder optimality always
implies incentive compatibility (see, e.g., [4]). We also present two settings with non-linear and discontinuous utility
functions in which the conditions for incentive compatibility are satisfied for inputs in general position (see, e.g., [3]).1 In
the first setting, the bidders seek to maximize their return on investment (ROI), i.e., valuation divided by price, subject to
maximum prices. In the second setting, the bidders are risk averse, i.e., the utility for a given item is concave in the price
of that item. The utility is concave in the price as higher prices associated with a higher risk of not being able to pay for
unforeseen events after the purchase. In both cases an input is said to be in general position if in a certain weighted multigraph defined on the basis of the utility functions, outside options, and reserve prices no two walks have exactly the same
weight. As this is rather unlikely for randomly chosen weights inputs that are not in general position can be regarded as
degenerate.
Finally, we give a mechanism that computes a bidder optimal outcome for inputs that satisfy the conditions for incentive
compatibility. The mechanism is conceptually simple as it takes a brute force approach, but finding a bidder optimal outcome
is still not trivial. The reason for this is that while there are only finitely many possible matchings, there are infinitely
many prices. Hence we cannot simply check all possible combinations of matchings and prices. The key insight here is that
for inputs that satisfy the conditions for incentive compatibility every bidder optimal outcome (µ∗ , p∗ ) satisfies a certain
structural property. This structural property ensures that the bidder optimal prices p∗ can be recovered by (1) removing the
matched bidder–item pairs in µ∗ in a specific order and by (2) setting the price of the remaining items to the lowest price
that ensures envy freeness for the removed bidder. Hence a bidder optimal outcome can be found by checking all possible
matchings, all possible orderings of the matched bidder–item pairs in the current matching, and the corresponding prices.
We thus obtain a mechanism that runs in time exponential in the number of items, but polynomial in the number of bidders.
For applications in which the number of items is constant the running time of this mechanism is polynomial in the input
size.
To summarize: (1) We show that a bidder optimal outcome always exists, even if the utility functions are non-linear
and non-continuous. (2) We give sufficient conditions under which every mechanism that finds a bidder optimal outcome
is incentive compatible. (3) We give a mechanism that finds a bidder optimal outcome if the conditions for incentive
compatibility are satisfied. The running time of this mechanism is exponential in the number of items, but polynomial in
the number of bidders.
2. Related work
Continuous utility functions. The existence of a bidder optimal outcome for linear utility functions with identical slopes was
established in [5], which formulated the problem as a linear program. Later [6] proved that every mechanism that computes
a bidder optimal outcome is incentive compatible by showing that the solution to this linear program coincides with the VCG
outcome [7–9]. The classic mechanism for this setting—the Multi-Item Auction of [10]—is based on the Hungarian Method
[11]. The basic idea of this mechanism is to start with prices all zero and to iteratively raise the prices of overdemanded items
by the same amount. All of these results are for linear and continuous utility functions and are therefore not applicable to
the non-linear and discontinuous utility functions studied here.
1 The usage of the expression ‘‘general position’’ is not consistent in the literature. Sometimes general position is defined as algebraic independence with
no non-tautological equation relating the input values being satisfied. As we only require certain equations (related to walks in a weighted multi-graph)
to be violated this alternate definition of general position is sufficient but not necessary for us.
24
P. Dütting et al. / Theoretical Computer Science 478 (2013) 22–32
An incentive compatible, polynomial-time mechanism for piece-wise linear utility functions with non-identical slopes
was given in [12,13]. Just like the Multi-Item Auction this mechanism iteratively raises the prices of overdemanded items,
but unlike the Multi-Item Auction it raises the prices by different amounts. Despite the extra generality that piece-wise
linear utility functions with non-identical slopes offer, this mechanism is still not applicable to general non-linear and
discontinuous utility functions.
The existence of a bidder optimal outcome for general non-linear (but continuous) utility functions was established in
[14,15,4] and more recently in [16]. While every mechanism that computes a bidder optimal outcome for this setting is
incentive compatible (see, e.g, [4]), no mechanism was given that computes an exact bidder optimal outcome. A mechanism
that computes an arbitrarily good approximation to the bidder optimal outcome via piece-wise linear approximation of the
utility functions was given in [17]. Just like the mechanism presented here this mechanism runs in time polynomial in the
number of bidders and exponential in the number of items, but unlike the mechanism presented here this mechanism is
only guaranteed to find an approximately bidder optimal outcome for continuous utility functions.
Discontinuous utility functions. Linear utility functions with identical slopes and a single discontinuity were first studied
in [3], which gave a polynomial-time, incentive compatible mechanism for inputs in general position. Because an input
is not in general position only if two walks in a certain weighted multi-graph have exactly the same weight, which is an
unlikely event for randomly chosen weights, such inputs can be considered degenerate. Similar results were subsequently
obtained in [18,19] and [20]. All of these results are only applicable to linear utility functions with identical slopes and a single
discontinuity and are therefore not applicable to the non-linear utility functions with multiple discontinuities studied here.
A mechanism that always finds a bidder optimal outcome for piece-wise linear utility functions with non-identical slopes
and multiple discontinuities was given in [17]. This mechanism runs in polynomial time and—just like the mechanism of
[3]—is incentive compatible for inputs in general position. This mechanism cannot be used to find an exact bidder optimal
outcome for general non-linear and discontinuous utility functions and it is not clear whether it can be used to find approximately bidder optimal outcomes for such general, discontinuous utility functions via piece-wise linear approximation.
For a restricted class of discontinuous utility functions, referred to as consistent, there exists a polynomial-time mechanism that decides whether a competitive equilibrium exists and, if at least one exists, returns a competitive equilibrium with
minimum prices [21]. Neither the piece-wise linear utility functions with non-identical slopes and multiple discontinuities
studied in [17] nor the general non-linear and discontinuous utility functions studied here are necessarily consistent.
3. Problem statement
We are given a set I of n bidders and a set J of k items. We use i to denote a bidder and j to denote an item. For each
bidder i and item j we are given a utility function ui,j (pj ) expressing bidder i’s utility for being matched to item j at price pj .
For each bidder i we are given an outside option oi expressing bidder i’s utility for being unmatched. For each bidder i and
item j we are given a reserve price ri,j , i.e., a lower bound on the price pj that bidder i has to pay if he is matched to item j. We
make three assumptions concerning the input (ui,j (·), oi , ri,j ) consisting of the utility functions ui,j (·), the outside options oi ,
and the reserve prices ri,j : (i) The utility functions ui,j (·) are strictly monotonically decreasing. (ii) For the outside options oi
there exist threshold values p̄i,j such that ui,j (p̄i,j ) ≤ oi . (iii) The utility functions ui,j (·) need not be globally continuous, but
they are locally right-continuous, i.e., ∀x : limϵ→0+ ui,j (x + ϵ) = ui,j (x).
We are interested in outcomes (µ, p) consisting of a matching µ ⊆ I × J and prices p. We require that pj ≥ 0 for all j ∈ J.
We also require that every bidder is matched to at most one item and that every item is matched to at most one bidder. We
do not require that all bidders and all items are matched. We use µ(i) to denote the item that bidder i is matched to and
µ(j) to denote the bidder that item j is matched to. Similarly, we use µ(I ′ ) to denote the set of items matched to bidders in
I ′ ⊆ I and µ(J ′ ) to denote the set of bidders matched to items in J ′ ⊆ J . We use ui to denote bidder i’s utility for outcome
(µ, p). The utility of bidder i is ui = ui,µ(i) (pµ(i) ) if he is matched under µ and it is ui = oi if he is not matched under µ.
We say that an outcome (µ, p) is feasible if (i) pj ≥ ri,j for all bidder–item pairs (i, j) ∈ µ and if (ii) ui ≥ oi for all
bidders i ∈ I. The first condition can be interpreted as individual rationality of the auctioneer and the second as individual
rationality of the bidders. We say that an outcome (µ, p) is envy free if it is feasible and if ui ≥ ui,j (pj ) for all bidder–item
pairs (i, j) ∈ I × J . In other words, an outcome is envy free if no bidder would get a higher utility if he was matched to
a different item. We say that an outcome (µ, p) is bidder optimal if it is envy free and if ui ≥ u′i for all bidders i ∈ I and
every envy free outcome (µ′ , p′ ), where ui denotes bidder i’s utility for (µ, p) and u′i denotes his utility for (µ′ , p′ ). A bidder
optimal outcome thus gives every bidder the highest possible utility among all envy free outcomes.
Even if a mechanism computes a bidder optimal outcome (µ, p) for all inputs (ui,j (·), ri,j , oi ), this does not necessarily
mean that a bidder cannot benefit from misreporting his utility functions. A mechanism where this is impossible is said to
be incentive compatible. More specifically, consider an arbitrary bidder i with outside option oi and utility functions ui,j (·).
Then for every two matrices of utility functions u′ and u′′ with u′i,j (·) = ui,j (·) for i and all j and u′i′ ,j (·) = u′′i′ ,j (·) for all i′ ̸= i
and all j and corresponding outcomes (µ′ , p′ ) and (µ′′ , p′′ ) of the mechanism we must have u′i ≥ u′′i , where u′i and u′′i denote
bidder i’s true utility for (µ′ , p′ ) and (µ′′ , p′′ ). Note that this definition does not involve the ri,j and the oi . We assume that
the ri,j are a property of the seller and cannot be falsified by the bidders. It is also easy to see that misreporting the oi is never
beneficial to i. Overreporting can only lead to a missed chance of being assigned an item and underreporting can lead to a
utility below the true outside option.
P. Dütting et al. / Theoretical Computer Science 478 (2013) 22–32
25
4. Existence
We begin by proving the existence of a bidder optimal outcome for discontinuous utility functions. The existence of a
bidder optimal outcome for continuous utility functions was established in [14,15,4] and more recently in [16]. Our proof is
similar to the proof in [4] as it establishes the existence of a bidder optimal outcome through a lattice-theoretic argument. It
differs from the proof in [4] in that it does not require continuity of the utility functions. At the end of this section we show
that all three conditions (i)–(iii) on the utility functions are required for the existence of a bidder optimal outcome.
Theorem 1. For all inputs (ui,j (·), oi , ri,j ) there exists a bidder optimal outcome (µ∗ , p∗ ).
The proof strategy is as follows: The first lemma shows that lowest envy free prices are sufficient for bidder optimality. The
second lemma shows that any two envy free outcomes (µ, p) and (µ′ , p′ ) can be combined to give a new envy free outcome
(µ̂, p̂) with utilities ûi = max(ui , u′i ) for all bidders i and prices p̂j = min(pj , p′j ) for all items j. Thus the set of envy free
prices {p : ∃ µ s.t. (µ, p) is envy free} has a unique infimum p∗ . Lemma 3 shows that the infimum p∗ of this set is in fact a
minimum, i.e., there exists a matching µ∗ that together with the infimum prices p∗ is envy free. Lemma 4 finishes the proof
as it shows the existence of at least one envy free outcome.
Lemma 1. If the outcome (µ∗ , p∗ ) is envy free and if p∗j ≤ pj for all items j and every envy free outcome (µ, p), then the outcome
(µ∗ , p∗ ) is bidder optimal.
Proof. For a contradiction suppose there exists an envy free outcome (µ′ , p′ ) with u′i > u∗i for at least one bidder i. Since
(µ∗ , p∗ ) is feasible this implies that u′i > u∗i ≥ oi , i.e., bidder i must be matched under µ′ . Since (µ∗ , p∗ ) is envy free it
follows that u′i = ui,µ′ (i) (p′µ′ (i) ) > u∗i ≥ ui,µ′ (i) (p∗µ′ (i) ) and, thus, p′µ′ (i) < p∗µ′ (i) . This contradicts our assumption that p∗j ≤ p′j
for all items j. Lemma 2 (Lattice Lemma). Any two envy free outcomes (µ, p) and (µ′ , p′ ) can be combined into an envy free outcome (µ̂, p̂)
which has ûi = max(ui , u′i ) for all bidders i and p̂j = min(pj , p′j ) for all items j.
Proof. Define I − = {i : ui > u′i } and J + = {j : pj < p′j }.
First we show that µ(I − ) ⊆ J + and that µ′ (I \ I − ) ⊆ J \ J + . Consider any (i, j) ∈ µ with i ∈ I − . Since ui = ui,j (pj ) >
ui ≥ ui,j (p′j ) it follows that pj < p′j and, thus, j ∈ J + . We conclude that µ(I − ) ⊆ J + . Consider any (i, j) ∈ µ′ with j ∈ J + .
Since u′i = ui,j (p′j ) < ui,j (pj ) ≤ ui it follows that u′i < ui and, thus, i ∈ I − . We conclude that µ′ (J + ) ⊆ I − or, equivalently,
µ′ (I \ I − ) ⊆ J \ J + .
The matching µ̂ is identical to µ on I − × J + and identical to µ′ on I \ I − × J \ J + . This is a valid matching because – as
we have just shown – µ(I − ) ⊆ J + and µ′ (I \ I − ) ⊆ J \ J + , i.e., µ(I − ) ∩ µ′ (I \ I − ) = ∅. The prices p̂j are identical to pj for all
items j ∈ J + and identical to p′j for all items j ∈ J \ J + . Since pj < p′j for all items j ∈ J + and p′j ≤ pj for all items j ∈ J \ J + we
have that p̂j = min(pj , p′j ) for all items j.
′
Next we show that ûi = max(ui , u′i ) for all bidders i. If i ∈ I − then ui > u′i ≥ oi shows that i is matched to some item j
under µ. Since µ(I − ) ⊆ J + we know that j ∈ J + , i.e., p̂j = min(pj , p′j ) = pj . It follows that ûi = ui,j (p̂j ) = ui,j (pj ) = ui > u′i .
If i ∈ I \ I − , then i is either unmatched or matched to some item j under µ′ . In the former case, i ∈ I \ I − implies that
ûi = oi = u′i ≥ ui . In the latter case, µ′ (I \ I − ) ⊆ J \ J + implies that j ∈ J \ J + and, thus, p′j ≤ pj . It follows that
ûi = ui,j (p̂j ) = ui,j (p′j ) = u′i ≥ ui .
The outcome (µ̂, p̂) is feasible because (i) p̂j = min(pj , p′j ) = pj ≥ ri,j for all bidder–item pairs (i, j) ∈ µ̂ ∩ (I − × J + ) and
p̂j = min(pj , p′j ) = p′j ≥ ri,j for all bidder–item pairs (i, j) ∈ µ̂ ∩ ((I \ I − ) × (J \ J + )) and (ii) ûi = max(ui , u′i ) ≥ oi for all
bidders i. It is envy free because (1) ûi = max(ui , u′i ) ≥ ui ≥ ui,j (pj ) = ui,j (p̂j ) for all bidders i ∈ I and items j ∈ J + and (2)
ûi = max(ui , u′i ) ≥ u′i ≥ ui,j (p′j ) = ui,j (p̂j ) for all bidders i ∈ I and items j ∈ J \ J + . Lemma 3. If the set of envy free prices {p : ∃ µ s.t. (µ, p) is envy free} has a unique infimum p∗ , then there must be a matching
µ∗ that together with p∗ is envy free.
The proof of this lemma in [4] (their Property 2) requires continuity of the functions ui,j (·) to deduce that the set of envy
free prices is a closed set. Closure then implies that the infimum itself is also contained in the set. As we drop the continuity
requirement, this line of argument can no longer be used.
Our proof uses the following definitions: Let I> = {i ∈ I : maxj ui,j (pj ) > oi } denote the set of bidders that get a strictly
higher utility from being matched to one of their first choice items than from their outside option. The first choice graph
Gp = (I> ∪ J , Fp ) at prices p has a node for every bidder i ∈ I> , a node for every item j ∈ J, and there is an edge between
i ∈ I> and j ∈ J if j ∈ argmaxj′ ui,j′ (pj′ ). The feasible first choice graph G̃p = (I> ∪ J , F̃p ) at prices p has a node for every bidder
i ∈ I> , and a node for every item j ∈ J, and there is an edge between i ∈ I> and j ∈ J if j ∈ argmaxj′ ui,j′ (pj′ ) and pj ≥ ri,j . For
bidder i ∈ I> and item j ∈ J we define Fp (i) = {j : ∃(i, j) ∈ Fp } and Fp (j) = {i : ∃(i, j) ∈ Fp }. For sets of bidders T ⊆ I> and
sets of items S ⊆ J we define Fp (T ) = ∪i∈T Fp (i) and Fp (S ) = ∪j∈S Fp (j). We define F̃p (i), F̃p (j), F̃p (T ), and F̃p (S ) analogously.
We call a (possibly empty) set of items S ⊆ J strictly overdemanded at prices p with respect to a (non-empty) set of bidders
26
P. Dütting et al. / Theoretical Computer Science 478 (2013) 22–32
T ⊆ I> if (i) F̃p (T ) ⊆ S and (ii) ∀ R ⊆ S , R ̸= ∅ : |F̃p (R) ∩ T | > |R|. We say that the set S is strictly overdemanded at prices p
if there exists a set of bidders T such that S is strictly overdemanded at prices p with respect to T .
Using Hall’s Theorem [22] we show in Appendix A that (1) there exists an envy free outcome (µ, p) if and only if no set
of items S is strictly overdemanded at prices p, and (2) if at prices p there exists no matching µ such that the outcome (µ, p)
is envy free then there exists a set of bidders T such that the set of items F̃p (T ) is strictly overdemanded at prices p with
respect to T .
Proof of Lemma 3. For a contradiction suppose that for the infimum prices p∗ there exists no matching µ∗ such that (µ∗ , p∗ )
is envy free. Then, as we show in Appendix A, there must be a set of bidders T such that the set of items F̃p∗ (T ) is strictly
overdemanded at prices p∗ with respect to T .
In any envy free outcome (µ̂, p̂) we have p̂j ≥ p∗j for all items j ∈ J and, thus, the strict overdemand for the items in
F̃p∗ (T ) can only be resolved if (i) at least one of the bidders i ∈ T is happy with his outside option oi or has a first choice
item j′ ∈ J \ Fp∗ (T ) under p̂ or (ii) for some item j ∈ Fp∗ (T ) \ F̃p∗ (T ) we have that p̂j ≥ ri,j . Case (i) corresponds, for each
pair (i, j) ∈ T × F̃p∗ (T ), to a price increase relative to p∗ of at least sij = inf{x ≥ 0 : ui,j (p∗j + x) ≤ oi or ui,j (p∗j + x) ≤
maxj′ ∈J \Fp∗ (T ) ui,j′ (p∗j′ )}, which is strictly larger than zero and contained in the set itself as ui,j (·) is right-continuous.2 Case (ii)
corresponds, for each pair (i, j) ∈ T × Fp∗ (T ) \ F̃p∗ (T ), to a price increase relative to p∗ of fji = ri,j − p∗j , which is also strictly
larger than zero. Let δji = sij if j ∈ F̃p∗ (T ) and let δji = fji if j ∈ Fp∗ (i) \ F̃p∗ (i). Then δ = mini∈T ,j∈Fp∗ (T ) δji > 0 is a lower bound
on the sum of the price increases for any envy free outcome (µ̂, p̂).
Lemma 2, however, shows that for any ϵ > 0 there exist envy free prices p′ such that |p′j − p∗j | < ϵ for all items j.
For ϵ = δ/|J | this gives a contradiction to the fact that the price increases corresponding to δ were required by any envy
free outcome. We conclude that for the infimum prices p∗ there exists at least one matching µ∗ such that (µ∗ , p∗ ) is envy
free. Lemma 4. For all inputs (ui,j (·), oi , ri,j ) there exists at least one envy free outcome (µ, p).
Proof. Let µ = ∅ and let pj = maxi (p̄i,j ) for all items j ∈ J, where the p̄i,j ’s are the threshold values defined above. This
outcome is feasible since no item is matched and ui = oi for all bidders i ∈ I. It is envy free because ui = oi ≥ ui,j (p̄j ) ≥ ui,j (pj )
for all bidders i ∈ I and items j ∈ J. Proof of Theorem 2. From Lemma 4 we know that there exists at least one envy free outcome (µ, p). By Lemmas 2 and 3
this implies the existence of an envy free outcome (µ∗ , p∗ ) such that p∗j ≤ pj for all items j and every envy free outcome
(µ, p). By Lemma 1 this outcome (µ∗ , p∗ ) is bidder optimal. We conclude this section by showing that all three conditions (i)–(iii) on the utility functions (see Section 3) are required to
guarantee the existence of a bidder optimal outcome.
Condition (i): There are three bidders and two items. The reserve prices are ri,j = 0 for all i and all j and the outside options
are oi = 0 for all i. The utility functions are: u1,1 (x) = u3,2 (x) = 1 − x, u1,2 (x) = u3,1 (x) = −x and u2,1 (x) = u2,2 (x) = 2
if x ≤ 1 and u2,1 (x) = u2,2 (x) = 3 − x otherwise. Then one envy free outcome is µ = {(1, 1), (2, 2)} and p = (0, 1)
whereas another envy free outcome is µ = {(2, 1), (3, 2)} and p = (1, 0). In neither of the two outcomes can the price for
the item with price 1 be lowered any further without upsetting envy freeness. The first outcome is strictly preferred by the
first bidder, whereas the second outcome is strictly preferred by the second bidder.
Condition (ii): There are two bidders and one item. Again, the reserve prices are ri,j = 0 for all i and all j and the outside
options are oi = 0 for all i. The utility functions are ui,1 (x) = 1/(1 + x) for all i. Then no matter how large p1 is, both bidders
will still strictly prefer the item over being unmatched.
Condition (iii): There are two bidders and one item. As before, the reserve prices are ri,j = 0 for all i and all j and the
outside options are oi = 0 for all i. The utility functions are ui,1 (x) = 2 − x if x ≤ 1 and ui,1 (x) = −x otherwise for all i. Then
a price of p1 ≤ 1 will not be envy free, as both bidders strictly prefer the item over being unmatched. So any envy free price
needs to satisfy p1 > 1 and this set no longer contains its infimum. If we change the first condition of the utility function to
x < 1, ensuring right-continuity, then the price p1 = 1 is envy free, even though the item cannot be assigned to either of
the two bidders.
5. Incentive compatibility
Next we give sufficient conditions under which every mechanism that computes a bidder optimal outcome is incentive
compatible. For this consider input (ui,j (·), oi , ri,j ) and denote the bidder optimal utilities for this input by u∗ . The conditions
are: (a) For every item j there exists a per-item reserve price rj such that ri,j = rj for all i. (b) For every restricted problem with
1
∗
bidders I ′ ⊆ I, items J ′ ⊆ J, and reserve prices rj′ = max(rj , maxi̸∈I ′ u−
i,j (ui )) there exists a bidder optimal outcome (µ, p)
′
′
such that (b1) pj = rj for all unmatched items j and (b2) pj = rj for at least one matched item j if all bidders are matched.
2 This no longer holds if the requirement of right-continuity is dropped.
P. Dütting et al. / Theoretical Computer Science 478 (2013) 22–32
27
At the end of this section we show that each of the conditions is required for incentive compatibility. In Appendices B and C
we present two settings with non-linear and discontinuous utility functions in which the conditions are satisfied for inputs
in general position.
Theorem 2. For all inputs (ui,j (·), oi , ri,j ) that satisfy conditions (a) and (b) every mechanism that computes a bidder optimal
outcome is incentive compatible.
We prove this theorem as follows: Consider a set of utility functions ui,j (·). Suppose that for the bidders i ∈ I + the ui,j (·)
are the true utility functions and that these bidders strictly benefit from reporting utility functions u′i,j (·). Let u′i,j (·) = ui,j (·)
for all other bidders i ∈ I \ I + . Then—as we show below—the bidder optimal outcome for u′i,j (·) must be feasible for ui,j (·).
If I + = I, then we get a contradiction from Lemma 5 which shows that no outcome that is feasible for ui,j (·) can give all
bidders a strictly higher utility. Otherwise, if I + ⊂ I, then we get a contradiction from Lemma 6 which shows that there
must be a bidder i ∈ I \ I + which is not envy free with respect to ui,j (·) and, thus, with respect to u′i,j (·).
Lemma 5. For all inputs (ui,j (·), oi , ri,j ) that satisfy conditions (a) and (b) we have that if the outcome (µ∗ , p∗ ) is bidder optimal,
then for no feasible outcome (µ′ , p′ ) we can have u′i > u∗i for all i.
Proof. Since the input satisfies condition (a) there exist per-item reserve prices rj for all items j such that ri,j = rj for all
bidders i. Since the input satisfies condition (b) there must be a bidder optimal outcome (µ, p) for the original problem such
that pj = rj for all unmatched items j and pj = rj for at least one matched item j if all bidders are matched under µ.
For a contradiction assume that there exists a feasible outcome (µ′ , p′ ) with u′i > u∗i for all bidders i. Since ui = u∗i for
all bidders i, it follows that u′i > u∗i = ui for all bidders i. Since (µ, p) is feasible this implies that u′i > ui ≥ oi for all bidders
i and, thus, that (i) all bidders i must be matched under µ′ .
Consider an arbitrary bidder–item pair (i, j) ∈ µ′ . Since (µ, p) is envy free, it follows that ui,j (p′j ) = u′i > ui ≥ ui,j (pj )
and, thus, pj > p′j ≥ rj . Since pj = rj for all items j that are unmatched under µ, this shows that item j must be matched
under µ. We conclude that (ii) all items that are matched under µ′ are matched under µ and (iii) p′j < pj for all of these
items j.
From (i) and (ii) we deduce that all bidders are matched under µ. Thus, pj = rj for at least one of the items matched
under µ. Since the same set of items is matched under µ and under µ′ this item j must be matched under µ′ and, thus, (iii)
shows that p′j < pj = rj . We get a contradiction to our assumption that the outcome (µ′ , p′ ) is feasible. Lemma 6. For all inputs (ui,j (·), ri,j , oi ) that satisfy conditions (a) and (b) we have that if the outcome (µ∗ , p∗ ) is bidder optimal,
the outcome (µ′ , p′ ) is feasible, and I + = {i ∈ I | u′i > u∗i } ̸= ∅, then there exists a bidder–item pair (i, j) ∈ I \ I + × J such that
u′i < ui,j (p′j ).
Proof. Since the input satisfies condition (a) there exist per-item reserve prices rj for all items j such that ri,j = rj for all
bidders i. Since the input satisfies condition (b) there must be a bidder optimal outcome (µ, p) for the original problem such
that pj = rj for all unmatched items j and pj = rj for at least one matched item j if all bidders are matched under µ.
Since ui = u∗i for all bidders i, we have I + = {i ∈ I | u′i > ui } ̸= ∅. Let µ(I + ) respectively µ′ (I + ) denote the set of items
matched to bidders in I + under µ respectively µ′ . From Lemma 5 we know that I + ̸= I .
Case 1: µ(I + ) ̸= µ′ (I + ). There must be an item j ∈ µ′ (I + ) such that j ̸∈ µ(I + ). Let i′ ∈ I + be the bidder that is matched
to item j under µ′ . Since i′ ∈ I + and the outcome (µ, p) is envy free we have that ui′ ,j (p′j ) = u′i′ > ui′ ≥ ui′ ,j (pj ) and, thus,
pj > p′j ≥ rj . Since pj = rj for all items j that are unmatched under µ, this shows that item j must be matched under µ.
Let i ∈ I \ I + be the bidder that is matched to item j under µ. Since i ̸∈ I + and pj > p′j we must have that u′i ≤ ui =
ui,j (pj ) < ui,j (p′j ).
Case 2: µ(I + ) = µ′ (I + ). Let J + = µ(I + ) = µ′ (I + ). Consider the following restricted problem: The set of bidders is I + ,
+
the set of items is J + , the utility functions are u+
× J + , the reserve prices are rj+ = max(rj ,
i,j (·) = ui,j (·) for all (i, j) ∈ I
1
+
+
+
maxi̸∈I + (u−
i,j (ui )) for all j ∈ J , and the outside options are oi = oi for all i ∈ I . Since the outcome (µ, p) is envy free
for the original problem it is also envy free for the restricted problem. It is even bidder optimal because the existence of an
envy free outcome (µ′′ , p′′ ) for the restricted problem in which at least one bidder i ∈ I + has a strictly higher utility would
imply the existence of an envy free outcome (µ′′′ , p′′′ ) for the original problem with this property and therefore contradict
the bidder optimality of (µ, p).
Case 2.1: The outcome (µ′ , p′ ) is feasible for the restricted problem. From Lemma 5 we know that there must be a bidder
i ∈ I + such that u′i ≤ ui . We get a contradiction to the definition of I + .
Case 2.2: The outcome (µ′ , p′ ) is not feasible for the restricted problem. Since the outcome (µ′ , p′ ) is feasible for the
1
original problem this can only happen if for some item j ∈ J + we have that rj+ > p′j ≥ rj and, thus, rj+ = maxi̸∈I + (u−
i,j (ui ), 0).
1
+
+
Since rj+ = 0 would imply p′j < rj+ = 0 this can only happen if rj+ = u−
i,j (ui ) for some bidder i ∈ I \ I . Since i ∈ I \ I it
1
−1 ′
′
′
follows that p′j < rj+ = u−
i,j (ui ) ≤ ui,j (ui ) and, thus, ui < ui,j (pj ). Proof of Theorem 2. For a contradiction suppose that some subset of bidders I + ⊆ I strictly benefits from misreporting
their utility functions. Denote the original input by (ui,j (·), rj , oi ) and the falsified one by (u′i,j (·), rj , oi ). Note that u′i,j (·) =
ui,j (·) for all (i, j) ∈ I \ I + × J .
28
P. Dütting et al. / Theoretical Computer Science 478 (2013) 22–32
Let (µ∗ , p∗ ) and (µ′ , p′ ) denote the bidder optimal outcome for the original and falsified input. Denote the utility of
bidder i for (µ∗ , p∗ ) and (µ′ , p′ ) with respect to the original input by u∗i and u′i . Denote the utility of bidder i for (µ′ , p′ ) with
respect to the falsified input by u′′i . Note that I + = {i ∈ I | u′i > u∗i }.
The outcome (µ′ , p′ ) is feasible for the original input because (i) p′j ≥ rj for all items j that are matched under µ′ and (ii)
′
ui > u∗i ≥ oi for the bidders i ∈ I + and u′i = u′′i ≥ oi for the bidders i ∈ I \ I + .
Case 1: I + = I . Lemma 5 shows that no feasible outcome (µ′ , p′ ) can give all bidders a strictly higher utility than the
bidder optimal outcome (µ∗ , p∗ ). This gives a contradiction.
Case 2: I + ̸= I . Lemma 6 shows that if some feasible outcome (µ′ , p′ ) gives only some of the bidders a strictly higher
utility than the bidder optimal outcome (µ∗ , p∗ ), then there must be a bidder i ∈ I \ I + and an item j ∈ J for which
u′i < ui,j (p′j ). Since i ̸∈ I + we have u′′i = u′i and u′i,j (·) = ui,j (·). It thus follows that u′′i = u′i < ui,j (p′j ) = u′i,j (p′j ). This
contradicts our assumption that the outcome (µ′ , p′ ) is bidder optimal and therefore envy free for the falsified input. We conclude this section with three examples that show that for inputs that violate any of the conditions (a), (b1), or
(b2) bidder optimality need not imply incentive compatibility.
Condition (a): There are two bidders and two items. The utility functions are u1,1 (x) = 6−x, u1,2 (x) = 5−x, u2,1 (x) = 6−x,
and u2,2 (x) = 6 − x. The reserve prices are r1,1 = 2, r1,2 = 0, r2,1 = 1, and r2,2 = 2. The outside options are o1 = o2 = 0.
The bidder optimal outcome is µ = {(1, 1), (2, 2)} and p = (2, 2). If the second bidder reports u2,2 (x) = 0 − x, then the
bidder optimal outcome is µ = {(1, 2), (2, 1)} and p = (1, 0). The utility of the second bidder improves from 4 to 5.
Condition (b1): There are two bidders and two items. The utility functions for i ∈ {1, 2} are ui,1 (x) = 10 − x for x < 5,
ui,1 (x) = −∞ for x ≥ 5, ui,2 (x) = 1 − x for x < 1, and ui,2 (x) = −∞ for x ≥ 1. The reserve prices are r1 = r2 = 0 and
the outside options are o1 = o2 = 0. The bidder optimal outcome is µ = ∅ with p = (5, 1). If the second bidder reports
u2,1 (x) = −∞ for x ≥ 0, then the bidder optimal outcome is µ = {(1, 1), (2, 2)} and p = (0, 0). The utility of the second
bidder improves from 0 to 1.
Condition (b2): There are three bidders and three items. The utility functions are: u1,1 (x) = 6 − x and u1,2 (x) = 5 − x
for x < 6 and u1,1 (x) = u1,2 (x) = −∞ otherwise, u2,1 (x) = 11 − x and u2,2 (x) = 5 − x and u2,3 (x) = 4 − x for x < 4 and
u2,1 (x) = u2,2 (x) = u2,3 (x) = −∞ otherwise, u3,2 (x) = 10 − x and u3,3 (x) = 4 − x for x < 3 and u3,2 (x) = u3,3 (x) = −∞
otherwise. The reserve prices are r1 = r2 = r3 = 0. The outside options are o1 = o2 = 0. The bidder optimal outcome is
µ = {(1, 1), (2, 2), (3, 3)} and p = (4, 3, 2). If the second bidder reports u2,1 (x) = −∞ for x ≥ 0, then the bidder optimal
outcome is µ = {(1, 1), (2, 3), (3, 2)} and p = (0, 1, 0). The utility of the second bidder improves from 2 to 4.
6. Mechanism
We conclude with a mechanism that computes a bidder optimal outcome for inputs that satisfy conditions (a) and (b)
from the previous section. The mechanism is conceptually simple as it takes a brute force approach by trying all possible
matchings µ and all possible orderings ω of matched bidder–item pairs (i, j) ∈ µ. For each matching–ordering pair (µ, ω)
it keeps lower bounds bj on the prices pj that it initializes with rj . It sets the price pj of all unmatched items j to bj = rj .
For all unmatched bidders it checks (and aborts) if they envy an unmatched item and it makes sure that they do not envy
a matched item by updating the lower bounds bj of all matched items j. It then considers all matched bidder–item pairs
(i, j) ∈ µ in the order of ω and sets pj = bj , checks (and aborts) if bidder i envies an unmatched item or a previously
considered matched item, and updates the bounds of all matched items still to come so that bidder i does not experience
any envy. For all matching–ordering pairs (µ, ω) for which it does not abort it thus computes a candidate outcome (µ, p).
After all matching–ordering pairs (µ, ω) have been considered it outputs the candidate outcome that gives each bidder the
highest possible utility among all candidate outcomes.
Bidder Optimal Outcome
input: utility functions ui,j (·), reserve prices rj , outside options oi
output: bidder optimal outcome (µ∗ , p∗ )
1 set µ∗ = ∅ and p∗j = ∞ for all j
2 for all matchings µ do
3
for all possible orderings ω of µ do
4
set bj = rj for all j
5
set pj = bj for all unmatched j
6
for all unmatched bidders i do
/* check whether bidder i envies an unmatched item j */
7
if oi < ui,j (pj ) for some unmatched j, then try next ω
/* make sure bidder i does not envy a matched item j */
1
8
set bj = max(bj , u−
i,j (oi )) for all matched j
9
end for
10
for all bidder–item pairs (i, j) ∈ µ in the order of ω do
11
set pj = bj
/* check whether it is feasible to match bidder i to item j */
P. Dütting et al. / Theoretical Computer Science 478 (2013) 22–32
12
13
14
15
16
17
18
19
20
29
if ui,j (pj ) < oi , then try next ω
/* check whether bidder i envies an unmatched item t */
if ui,j (pj ) < ui,t (pt ) for some unmatched t, then try next ω
/* check whether bidder i envies a previously considered matched item t */
if ui,j (pj ) < ui,t (pt ) for some (s, t ) <ω (i, j), then try next ω
/* make sure bidder i does not envy a not yet considered matched item t */
1
set bt = max(bt , u−
i,t (ui,j (pj ))) for all (s, t ) >ω (i, j)
end for
if ui ≥ u∗i for all i, then set µ∗ = µ and p∗j = pj for all j
end for
end for
output (µ∗ , p∗ )
Theorem 3. For all inputs (ui,j (·), oi , ri,j ) that satisfy conditions (a) and (b) the mechanism finds a bidder optimal outcome
(µ∗ , p∗ ) in time O((n + k)k · k2k+1 · n).
We proceed as follows: We first show that for all inputs that satisfy conditions (a) and (b) all bidder optimal outcomes
(µ∗ , p∗ ) satisfy a certain structural property and that this structural property induces an ordering ω∗ on the matched bidder–
item pairs (i, j) ∈ µ∗ . We then use this to show that for all inputs that satisfy conditions (a) and (b) the mechanism computes
at least one candidate outcome (µ, p) that is bidder optimal. Afterwards we show that for all inputs that satisfy conditions
(a) and (b) all candidate outcomes (µ, p) computed by the mechanism are envy free.
Lemma 7. For all inputs (ui,j (·), oi , ri,j ) that satisfy conditions (a) and (b), every bidder optimal outcome (µ∗ , p∗ ), and every
1
∗
subset I ∗ × J ∗ ⊆ µ∗ there exists an item j ∈ J ∗ for which p∗j = max(rj , maxi̸∈I ∗ u−
i,j (ui )).
Proof. Consider the restricted problem with bidders I ∗ , items J ∗ , utility functions u∗i,j (·) = ui,j (·), outside options o∗i = oi , and
1
∗
∗ ∗
reserve prices rj∗ = max(rj , maxi̸∈I ∗ (u−
i,j (ui )). Since the outcome (µ , p ) is envy free for the original problem its restriction
∗
∗
to I × J is envy free for the restricted problem. It is even bidder optimal because every envy free outcome (µ′ , p′ ) for the
restricted problem induces an envy free outcome (µ′′ , p′′ ) for the original problem with u′′i = u∗i for all i ̸∈ I ∗ and u′′i = u′i
for all i ∈ I ∗ . Hence for every outcome (µ′ , p′ ) that is envy free for the restricted problem we must have u′i ≤ u∗i for all
bidders i ∈ I ∗ .
Since the input (ui,j (·), oi , ri,j ) satisfies conditions (a) and (b) there exists a bidder optimal outcome (µ′ , p′ ) for the
1
∗
∗
∗
restricted problem that has p′j = rj∗ = max(rj , maxi̸∈I ∗ u−
i,j (ui )) for some item j ∈ J . We claim that this item j ∈ J is
∗
′
∗
matched under µ and has pj = pj .
Item j is matched under µ∗ because j ∈ J ∗ and all items in J ∗ are matched under µ∗ . To see that p∗j = p′j assume by
1
∗
∗
contradiction that p∗j =
̸ p′j . If p∗j < p′j then p∗j < p′j = rj∗ = max(rj , maxi̸∈I ∗ u−
i,j (ui )) and we either have pj < rj or
1
∗
∗
∗
∗
∗ ∗
p∗j < u−
i,j (ui ) and, thus, ui < ui,j (pj ) for some bidder i ̸∈ I . We either get a contradiction to the fact that (µ , p ) is
∗
′
∗ ∗
∗
feasible or to the fact that (µ , p ) is envy free. If pj > pj then for the bidder i that is matched to item j under µ we have
u∗i = ui,j (p∗j ) < ui,j (p′j ) ≤ u′i because p∗j > p′j and (µ′ , p′ ) is envy free. This contradicts the fact that since (µ∗ , p∗ ) is bidder
optimal and (µ′ , p′ ) is envy free for the restricted problem we must have u∗i ≥ u′i . By the previous lemma for all inputs (ui,j (·), oi , ri,j ) that satisfy conditions (a) and (b) every bidder optimal outcome
(µ∗ , p∗ ) induces an ordering ω∗ on the bidder–item pairs (i, j) ∈ µ∗ as follows:
Induced Ordering
input: bidder optimal outcome (µ∗ , p∗ )
output: ordering ω∗
1 I ∗ × J ∗ = µ∗ , ω ∗ = ∅
2 while I ∗ × J ∗ ̸= ∅ do
1
∗
∗
3
add (i, j) ∈ I ∗ × J ∗ for which p∗j = max(rj , maxs̸∈I ∗ u−
s,j (us )) to ω
∗
∗
4
remove (i, j) from I × J
5 end while
6 output ω∗
Lemma 8. For all inputs (ui,j (·), oi , ri,j ) that satisfy conditions (a) and (b) the mechanism computes at least one candidate
outcome (µ, p) that is bidder optimal.
Proof. Since the input (ui,j (·), oi , ri,j ) satisfies conditions (a) and (b) there exists a bidder optimal outcome (µ∗ , p∗ ) such
that p∗j = rj for all items j unmatched under µ∗ . Let I̸∈∗µ∗ and J̸∈∗µ∗ denote the bidders and items that are unmatched under
µ∗ . For every ordering ω∗ and all m with 0 ≤ m ≤ |µ∗ | let Im∗ and Jm∗ denote the first m bidders and items that are matched
under µ∗ . By Lemma 7 the bidder optimal outcome (µ∗ , p∗ ) induces an ordering ω∗ such that for all m with 0 ≤ m ≤ |µ∗ |
1
∗
∗
we have p∗j = max(rj , maxs∈I ∗ ∗ ∪I ∗ u−
s,j (us )), where j is the m-th item matched under µ .
̸∈µ
m−1
30
P. Dütting et al. / Theoretical Computer Science 478 (2013) 22–32
We claim that when the mechanism considers µ∗ and ω∗ , then it computes a candidate outcome (µ, p) with µ = µ∗
∗
and p = p∗ . It suffices to show that for all m with 0 ≤ m ≤ |µ∗ | we have (1) pj = p∗j for all items j ∈ J̸∈∗µ∗ ∪ Jm
and (2)
∗
∗
∗
ui = ui for all bidders i ∈ I̸∈µ∗ ∪ Im .
For m = 0 we have J0∗ = ∅ and I0∗ = ∅. Hence the items in J̸∈∗µ∗ ∪ J0∗ and the bidders in I̸∈∗µ∗ ∪ I0∗ are precisely the
unmatched items J̸∈∗µ∗ and bidders I̸∈∗µ∗ . For every unmatched item j ∈ J̸∈∗µ∗ we have pj = bj = rj = p∗j (lines 4–5) and for
every unmatched bidder i ∈ I̸∈∗µ∗ we have ui = oi = u∗i .
For m > 0 assume that for all s with 0 ≤ s ≤ m − 1 we have (1) pj = p∗j for all items j ∈ J̸∈∗µ∗ ∪ Js∗ and (2) ui = u∗i for
−1
∗
∗
∗
∗
all bidders i ∈ I∈
̸ µ∗ ∪ Is . For the m-th matched item j we have pj = bj = max(rj , maxs∈I̸∈µ∗ ∪Im−1 us,j (us )) (lines 4, 8, and 15).
−1 ∗
∗
∗
∗
∗
Since by induction us = u∗s for all s ∈ I̸∈∗µ∗ ∪ Im
−1 this shows that pj = max(rj , maxs∈I̸∈µ∗ ∪Im−1 us,j (us )) = pj . For the m-th
∗
∗
matched bidder i we thus have ui = ui,j (pj ) = ui,j (pj ) = ui . Lemma 9. For all inputs (ui,j (·), oi , ri,j ) that satisfy conditions (a) and (b) all candidate outcomes (µ, p) computed by the
mechanism are envy free.
Proof. Feasibility follows from the fact that pj ≥ rj for all items j (lines 4–6), that the utility ui of all unmatched bidders i is
oi by definition, and that for all matched bidders i with (i, j) ∈ µ we have ui = ui,j (pj ) ≥ oi (line 12). Envy freeness follows
from the fact that for all unmatched bidders i we have ui = oi ≥ ui,j (pj ) for all items j (lines 7–8) and that for all matched
bidders i with (i, j) ∈ µ we have ui = ui,j (pj ) ≥ ui,t (pt ) for all items t (lines 13–15). Proof of Theorem 3. For all inputs (ui,j (·), oi , ri,j ) that satisfy conditions (a) and (b) the mechanism outputs a bidder optimal
outcome (µ∗ , p∗ ) because it computes at least one candidate outcome (µ, p) that is bidder optimal by Lemma 8 and all
candidate outcomes (µ, p) are envy free by Lemma 9.
time observe that there are O((n + k)k · kk ) different matchings of k items to n bidders as there are
n+For
 the running
k
k
= O((n + k) ) ways to choose the sets of items and bidders. Observe further that there are up to k! = O(kk ) matchings
k
for a particular choice and up to k! = O(kk ) possible ways of ordering the up to k matched bidder–item pairs. Finally, observe
that checking a particular matching–ordering pair takes time O(nk). Hence the total running time is O((n + k)k · k2k+1 · n). Acknowledgments
This work was funded by the Vienna Science and Technology Fund (WWTF) through project ICT10-002 and an EURYI
Award.
Appendix A. Strict overdemand
Proposition 1. There exists an envy free outcome (µ, p) if and only if no set of items S is strictly overdemanded at prices p. In
particular, if at prices p there exists no matching µ such that the outcome (µ, p) is envy free then there exists a set of bidders T
such that the set of items F̃p (T ) is strictly overdemanded at prices p with respect to T .
Proof. There exists an envy free outcome (µ, p) if and only if in the feasible first choice graph G̃p = (I> ∪ J , F̃p ) at prices
p all bidders can be matched. By Hall’s Theorem [22] this is the case if and only if for every set of bidders T ⊆ I> we have
|F̃p (T )| ≥ |T |. We show below that this condition is satisfied if and only if no set of items S ⊆ J is strictly overdemanded
with respect to some set of bidders T ⊆ I> .
First suppose that there exists a set of items S that is strictly overdemanded at prices p with respect to some set of bidders
T . That is, there exist S ⊆ J and T ⊆ I> such that (i) F̃p (T ) ⊆ S, and (ii) ∀ R ⊆ S , R ̸= ∅ : |F̃p (R) ∩ T | > |R|. We claim that
|T | > |F̃p (T )|. If F̃p (T ) = ∅ then |T | > 0 and |F̃p (T )| = 0 show that |T | > |F̃p (T )|. Otherwise, if F̃p (T ) ̸= ∅, condition (ii)
implies that for R = F̃p (T ) we have that |F̃p (R) ∩ T | > |R|. Since F̃p (R) ∩ T = T and R = F̃p (T ) this shows that |T | > |F̃p (T )|.
Next suppose that there exists a subset of bidders for which the condition from Hall’s Theorem is violated. Then there
exists T ⊆ I> such that (a) |F̃p (T )| < |T | and (b) ∀ T ′ ⊂ T : |F̃p (T ′ )| ≥ |T ′ |. We claim that S = F̃p (T ) is strictly overdemanded
at prices p with respect to T . Condition (i) is satisfied because F̃p (T ) = S. To see that condition (ii) is satisfied assume by
contradiction that there exists R ⊆ S , R ̸= ∅ such that |F̃p (R) ∩ T | ≤ |R|. This implies that for T ′ = T \ F̃p (R) ⊂ T we have
that |F̃p (T ′ )| > |T ′ |. This gives a contradiction. Appendix B. Return on investment
Consider a setting in which the bidders seek to maximize return on investment (ROI), i.e., valuation divided by price,
subject to maximum prices: The utility functions for valuations vi,j ≥ 1 and maximum prices mi,j ≥ 1 are ui,j (pj ) = vi,j /pj
if pj < mi,j and ui,j (pj ) = −∞ otherwise, the outside options are o1 ≥ 1, and the reserve prices are rj ≥ 1. Any such input
(ui,j (·), oi , rj ) can be transformed into an input (ūi,j (·), ōi , r̄j ) with utility functions ūi,j (p̄j ) = v̄i,j − p̄j = log(vi,j ) − p̄j if
p̄j < m̄i,j = log(mi,j ) and ūi,j (p̄j ) = −∞ otherwise, outside options ōi = log(oi ), and reserve prices r̄j = log(rj ).
P. Dütting et al. / Theoretical Computer Science 478 (2013) 22–32
31
Proposition 2. Outcome (µ, p) with pj = exp(p̄j ) and pj ≥ rj is bidder optimal for input (ui,j (·), oi , rj ) if and only if outcome
(µ, p̄) with p̄j = log(pj ) and p̄j ≥ r̄j is bidder optimal for input (ūi,j (·), ōi , r̄j ).
Proof. For feasibility observe that pj ≥ rj if and only if p̄j ≥ r̄j and ui ≥ oi if and only if ūi ≥ ōi . For envy freeness observe that
ui,j (pj ) ≥ ui,k (pk ) if and only if ūi,j (p̄j ) ≥ ūi,k (p̄k ). Finally, for bidder optimality observe that ui ≥ u′i if and only if ūi ≥ ū′i . For input (ui,j (·), oi , rj ) define the input graph as follows: There is one node per bidder i ∈ I, one node per item j ∈ J, and
one dummy item j0 . For every bidder i add a forward edge (i, j0 ) with weight − log(oi ). For every restricted problem with
bidders I ′ ⊆ I, items J ′ ⊆ J, and reserve prices rj′ add forward edges (i, j) with weight − log(vi,j ) + log(rj′ ), backward edges
(j, i) with weight log(vi,j ) − log(rj′ ), and discontinuity edges (i, j) with weight log(mi,j ) − log(vi,j ) + log(rj′ ). The input is in
general position if in this input graph no two walks that start with the same bidder, alternate between forward and backward
edges, and end with a distinct discontinuity edge have the same weight.
Proposition 3. If an input (ui,j (·), oi , rj ) is in general position, then it satisfies conditions (a) and (b).
Proof. The input satisfies condition (a) because the reserve prices are per item. To see that it satisfies condition (b) consider
an arbitrary restricted problem. Since the input is in general position the transformed input associated with the restricted
problem is in general position as defined in [17]. Thus, by Lemma 9 in [17], there exist a bidder optimal solution (µ, p̄) for
the restricted problem and the transformed input in which (1) p̄j = r̄j for all unmatched items j and (2) p̄j = r̄j for at least
one matched item j. Hence Proposition 2 shows that condition (b) is satisfied for this restricted problem. Appendix C. Risk aversion
Consider a setting with risk averse bidders, whose utility gets discounted in a super-linear manner at higher prices.
For concreteness suppose that the utility functions for given valuations vi,j ≥ 0 and maximum prices mi,j ≥ 0 are
ui,j (pj ) = log(1 + (vi,j − pj )) if pj < mi,j and ui,j (pj ) = −∞ otherwise, that the outside options are oi ≥ 0, and that
the reserve prices are rj ≥ 0. Any such input (ui,j , oi , rj ) can be transformed into an input (ûi,j (·), ûi , r̂j ) with utility functions
ûi,j (pj ) = v̂i,j − pj = 1 + vi,j − pj if pj < m̂i,j = mi,j and ûi,j (pj ) = −∞ otherwise, outside options ôi = exp(oi ), and reserve
prices r̂j = rj .
Proposition 4. Outcome (µ, p) with pj = p̂j and pj ≥ rj is bidder optimal for input (ui,j (·), oi , rj ) if and only if outcome (µ, p̂)
with p̂j = pj and p̂j ≥ r̂j is bidder optimal for input (ûi,j (·), ôi , r̂j ).
Proof. For feasibility observe that pj ≥ rj if and only if p̂j ≥ r̂j and ui ≥ oi if and only if ûi ≥ ôi . For envy freeness observe that
ui,j (pj ) ≥ ui,k (pk ) if and only if ûi,j (p̂j ) ≥ ûi,k (p̂k ). Finally, for bidder optimality observe that ui ≥ u′i if and only if ûi ≥ û′i . For input (ui,j (·), oi , rj ) define the input graph as follows: There is one node per bidder i ∈ I, one node per item j ∈ J, and
one dummy item j0 . For every bidder i add a forward edge (i, j0 ) with weight − exp(oi ). For every restricted problem with
bidders I ′ ⊆ I, items J ′ ⊆ J, and reserve prices rj′ add forward edges (i, j) with weight −1 − vi,j + rj′ , backward edges (j, i)
with weight 1 + vi,j − rj′ , and discontinuity edges (i, j) with weight mi,j − 1 − vi,j + rj′ . The input is in general position if in this
input graph no two walks that start with the same bidder, alternate between forward and backward edges, and end with a
distinct discontinuity edge have the same weight.
Proposition 5. If an input (ui,j (·), oi , rj ) is in general position, then it satisfies conditions (a) and (b).
Proof. The argument is the same as in the proof of Proposition 3: Condition (a) is satisfied because the reserve prices are
per item. Condition (b) is satisfied for an arbitrary restricted problem because the transformed input associated with the
restricted problem is in general position as defined in [17] and, thus, Lemma 9 in [17] and Proposition 4 show that the
condition is satisfied. References
[1] P. Dütting, M. Henzinger, I. Weber, Bidder optimal assignments for general utilities, in: Proceedings of the 5th Workshop on Internet and Network
Economics, 2009, pp. 575–582.
[2] A.E. Roth, M.A.O. Sotomayor, Two-sided Matching: A Study in Game-theoretic Modeling and Analyis, Cambridge University Press, 1990.
[3] G. Aggarwal, S. Muthukrishnan, D. Pál, M. Pál, General auction mechanism for search advertising, in: Proceedings of the 18th International World
Wide Web Conference, 2009, pp. 241–250.
[4] G. Demange, D. Gale, The strategy structure of two-sided matching markets, Econometrica 53 (4) (1985) 873–888.
[5] L.S. Shapley, M. Shubik, The assignment game: The core I, Journal of Game Theory 29 (1972) 111–130.
[6] H.B. Leonard, Elicitation of honest preferences for the assignment of individuals to positions, Journal of Political Economy 91 (1983) 461–479.
[7] W. Vickrey, Counterspeculation, auctions, and competitive sealed tenders, Finance 16 (1961) 8–27.
[8] E.H. Clarke, Multipart pricing of public goods, Public Choice 11 (1) (1971) 17–33.
[9] T. Groves, Incentives in teams, Econometrica 41 (1973) 617–631.
[10] G. Demange, D. Gale, M. Sotomayor, Multi-item auctions, Journal of Political Economy 94 (4) (1986) 863–872.
[11] H.W. Kuhn, The hungarian method for the assignment problem, Naval Research Logistics 2 (1955) 83–97.
[12] A. Alkan, Existence and computation of matching equilibria, European Journal of Political Economy 5 (1989) 285–296.
[13] M. Alkan, Equilibrium in a matching market with general preferences, Equilibrium and Dynamics. Essays in Honour of David Gale, 1992, pp. 1–16.
[14] K. Crawford Knoer, Job matching with heterogenuos firms and workers, Econometrica 49 (1981) 437–450.
[15] M. Quinzii, Core and competitive equilibria with indivisibilities, International Journal of Game Theory 13 (1) (1984) 41–60.
32
P. Dütting et al. / Theoretical Computer Science 478 (2013) 22–32
[16] S. Alaei, K. Jain, A. Malekian, Walrasian equilibrium for unit demand buyers with non-quasi-linear utilities, Working paper:
http://arxiv.org/abs/1006.4696.
[17] P. Dütting, M. Henzinger, I. Weber, An expressive mechanism for auctions on the web, in: Proceedings of the 20th International World Wide Web
Conference, 2010, pp. 127–136.
[18] I. Ashlagi, M. Braverman, A. Hassidim, Ascending unit demand auctions with budget limits, Working paper:
http://web.mit.edu/iashlagi/www/papers/ud3.pdf.
[19] I. Ashlagi, M. Braverman, A. Hassidim, R. Lavi, M. Tennenholtz, Position auctions with budgets: Existence and uniqueness, The B.E. Journal of Theoretical
Economics 10 (1) (2010) (Advances). Article 20.
[20] P. Dütting, M. Henzinger, I. Weber, Sponsored search, market equilibria, and the Hungarian Method, in: Proceedings of the 27th International
Symposium on Theoretical Aspects of Computer Science, 2010, pp. 287–298.
[21] N. Chen, X. Deng, A. Ghosh, Competitive equilibria in matching markets with budgets, SIGEcom Exchanges 9 (1) (2010). Article 5.
[22] P. Hall, On representatives of subsets, Journal of the London Mathematical Society 10 (1935) 26–30.