Volume 84, Issue 2 pp. 161-180
RESEARCH ARTICLE
Open Access

A flow-based ascending auction to compute buyer-optimal Walrasian prices

Katharina Eickhoff

Corresponding Author

Katharina Eickhoff

School of Business and Economics, RWTH Aachen University, Aachen, Germany

Correspondence

Katharina Eickhoff, School of Business and Economics, RWTH Aachen University, Aachen, Germany.

Email: [email protected]

Search for more papers by this author
S. Thomas McCormick

S. Thomas McCormick

Sauder School of Business, University of British Columbia, Vancouver, Canada

Search for more papers by this author
Britta Peis

Britta Peis

School of Business and Economics, RWTH Aachen University, Aachen, Germany

Search for more papers by this author
Niklas Rieken

Niklas Rieken

School of Business and Economics, RWTH Aachen University, Aachen, Germany

Search for more papers by this author
Laura Vargas Koch

Laura Vargas Koch

Department of Mathematics, ETH Zurich, Zurich, Switzerland

Search for more papers by this author
First published: 16 April 2024
Citations: 2

Abstract

We consider a market where a set of objects is sold to a set of buyers, each equipped with a valuation function for the objects. The goal of the auctioneer is to determine reasonable prices together with a stable allocation. One definition of “reasonable” and “stable” is a Walrasian equilibrium, which is a tuple consisting of a price vector together with an allocation satisfying the following desirable properties: (i) the allocation is market-clearing in the sense that as much as possible is sold, and (ii) the allocation is stable in the sense that every buyer ends up with an optimal set with respect to the given prices. Moreover, “buyer-optimal” means that the prices are smallest possible among all Walrasian prices. In this paper, we present a combinatorial network flow algorithm to compute buyer-optimal Walrasian prices in a multi-unit matching market with truncated additive valuation functions. The algorithm can be seen as a generalization of the classical housing market auction and mimics the very natural procedure of an ascending auction. We use our structural insights to prove monotonicity of the buyer-optimal Walrasian prices with respect to changes in supply or demand.

1 INTRODUCTION

We consider a market where m $$ m $$ different indivisible types of objects Ω = { i 1 , , i m } $$ \Omega =\left\{{i}_1,\dots, {i}_m\right\} $$ are sold to n $$ n $$ buyers N = { j 1 , , j n } $$ N=\left\{{j}_1,\dots, {j}_n\right\} $$ . Every object i Ω $$ i\in \Omega $$ has a supply of b i + $$ {b}_i\in {\mathbb{Z}}_{+} $$ identical copies of that object. All buyers j N $$ j\in N $$ have a demand d j + $$ {d}_j\in {\mathbb{Z}}_{+} $$ , which is the maximum number of items they want to purchase. The goal of the auctioneer is to find a per-unit price p ( i ) $$ p(i) $$ for each object i Ω $$ i\in \Omega $$ together with an allocation x + Ω × N $$ \boldsymbol{x}\in {\mathbb{Z}}_{+}^{\Omega \times N} $$ of items to buyers such that the prices p $$ \boldsymbol{p} $$ and the allocation x $$ \boldsymbol{x} $$ satisfy certain desirable properties. Certainly, the allocation x $$ \boldsymbol{x} $$ should be feasible in the sense that at most b i $$ {b}_i $$ units of each object i Ω $$ i\in \Omega $$ are sold, and each buyer j N $$ j\in N $$ gets awarded at most d j + $$ {d}_j\in {\mathbb{Z}}_{+} $$ items. We consider truncated additive valuations v j : + Ω + $$ {v}_j:{\mathbb{Z}}_{+}^{\Omega}\to {\mathbb{R}}_{+} $$ , based on a value v i j + $$ {v}_{ij}\in {\mathbb{Z}}_{+} $$ that a buyer j N $$ j\in N $$ has per unit of object i Ω $$ i\in \Omega $$ , and demand d j + $$ {d}_j\in {\mathbb{Z}}_{+} $$ ,
v j ( y ) max y y i Ω v i j y i | i Ω y i d j for all j N , y + Ω . $$ {v}_j\left(\boldsymbol{y}\right):= \underset{{\boldsymbol{y}}^{\prime}\le \boldsymbol{y}}{\max}\left\{\sum \limits_{i\in \Omega}{v}_{ij}{y}_i^{\prime}\kern0.15em |\kern0.15em \sum \limits_{i\in \Omega}{y}_i^{\prime}\le {d}_j\right\}\kern2em \mathrm{for}\ \mathrm{all}\kern0.3em j\in N,\boldsymbol{y}\in {\mathbb{Z}}_{+}^{\Omega}. $$
The utility of one unit of object i Ω $$ i\in \Omega $$ to buyer j N $$ j\in N $$ is then given by v i j p ( i ) $$ {v}_{ij}-p(i) $$ .
A standard and natural equilibrium concept for markets are Walrasian equilibria, named after Léon Walras [22]. To properly define those equilibria we first need some more notation. We call a feasible allocation stable, when each buyer j N $$ j\in N $$ gets a best possible allocation x j $$ {\boldsymbol{x}}_{\bullet j} $$ given prices p $$ \boldsymbol{p} $$ , in other words, every buyer is assigned to one of her preferred bundles, that is, a vector from the set
D j ( p ) = arg max x j i Ω ( v i j p ( i ) ) x i j | i Ω x i j d j , 0 x i j b i , i Ω . $$ {D}_j\left(\boldsymbol{p}\right)=\arg \underset{{\boldsymbol{x}}_{\bullet j}}{\max}\left\{\sum \limits_{i\in \Omega}\left({v}_{ij}-p(i)\right){x}_{ij}\kern0.15em |\kern0.15em \sum \limits_{i\in \Omega}{x}_{ij}\le {d}_j,0\le {x}_{ij}\le {b}_i,i\in \Omega \right\}. $$ (1)
If a price vector p $$ \boldsymbol{p} $$ admits a stable allocation, then p $$ \boldsymbol{p} $$ is called competitive. Note that competitive prices always exist as p ( i ) = 1 + max j N v i j $$ p(i)=1+{\max}_{j\in N}{v}_{ij} $$ for all i Ω $$ i\in \Omega $$ is competitive with stable allocation x = 0 $$ \boldsymbol{x}=\mathbf{0} $$ . However, these prices are not interesting. We want to find prices that are not only competitive but also market-clearing, that is, as much as possible should be sold, which is min { b i , d j } $$ \min \left\{\sum {b}_i,\sum {d}_j\right\} $$ in our model. Prices that are competitive and market-clearing are called Walrasian and a pair ( p , x ) $$ \left(\boldsymbol{p},\boldsymbol{x}\right) $$ of Walrasian prices and supporting stable allocation is called Walrasian equilibrium. Walrasian prices where the prices are as low as possible, that is, where p ( i ) $$ \sum p(i) $$ is minimum among all Walrasian prices, are called buyer-optimal Walrasian prices or minimum Walrasian prices.

The definitions above assume that the minimum selling price for an item is 0. If there are positive minimum selling prices, the notion of market-clearing changes. An allocation is market-clearing if everything with a price above the minimum selling price is sold. We can easily adapt our results for this more general case, but for simplicity we assume minimum selling prices to be 0 in the following.

Recall that in our model the buyers' valuations v j : + Ω $$ {v}_j:{\mathbb{Z}}_{+}^{\Omega}\to \mathbb{R} $$ belong to the class of truncated additive valuations. This is an important special case of gross substitutes [13], which form the biggest class of valuation functions that are in some sense well-behaved, which will be covered in Section 1.2. A fundamental property is that Walrasian prices are guaranteed to exist if all buyers have gross substitute valuations (see [1] for multi-supply and [13] for unit-supply settings) and that the (unique) buyer-optimal Walrasian price vector can be found using an ascending auction ([1, 11]).

Truncated additive valuations are a natural class of valuation functions. It will turn out that they allow for a simple flow-based algorithm to execute the auction. Moreover, truncated additive valuations generalize the special case of single-unit matching markets.

Single-unit matching markets. The model we consider generalizes the classical matching market model, in the literature also commonly referred to as housing market (see e.g., [6]). In those markets buyers have only unit-demand, that is, d j = 1 $$ {d}_j=1 $$ for all j N $$ j\in N $$ , or more formally, v j ( x j ) = max { v j ( χ i ) | i Ω and x i j > 0 } $$ {v}_j\left({\boldsymbol{x}}_{\bullet j}\right)=\max \left\{{v}_j\left({\boldsymbol{\chi}}_i\right)\kern0.15em |\kern0.15em i\in \Omega \kern0.3em \mathrm{and}\kern0.3em {x}_{ij}>0\right\} $$ , and also each object is only available in one copy, that is, b i = 1 $$ {b}_i=1 $$ for all i Ω $$ i\in \Omega $$ . Here, we use χ X { 0 , 1 } Ω $$ {\boldsymbol{\chi}}_X\in {\left\{0,1\right\}}^{\Omega} $$ to denote the characteristic vector of X $$ X $$ , that is, the zero-one vector in { 0 , 1 } Ω $$ {\left\{0,1\right\}}^{\Omega} $$ with a 1 precisely in the entries corresponding to objects in X $$ X $$ .

For this setting, a seminal paper by Demange et al. [5] describes an ascending auction which starts at the minimum possible selling price, that is, p ( i ) = 0 $$ p(i)=0 $$ for all i Ω $$ i\in \Omega $$ , and then iteratively raises the prices on a set of items that are overdemanded (which is a set of neighbors of a Hall set, that is, a subset of buyers that are jointly interested in a set of items without enough supply for the demand in the subset) until the prices are market-clearing. If one only raises prices on an inclusion-wise minimal overdemanded set, they show that this process yields component-wise minimum (in fact unique) competitive prices, and that these prices are market-clearing, and hence, Walrasian. It is also well known that one can determine a socially optimal allocation together with buyer-optimal market-clearing prices with an adaption of the Hungarian algorithm, a primal-dual algorithm (see [19]). For a good overview on these topics, we refer to the book [6] or the short but self-contained paper by Kern et al. [14].

The duplication method. A naïve approach to reduce our more general multi-unit auction to a single-unit auction is via the following duplication method: we replace the b i $$ {b}_i $$ copies of object i Ω $$ i\in \Omega $$ by b i $$ {b}_i $$ individual objects with unit-supply, and we replace a buyer j $$ j $$ demanding d j $$ {d}_j $$ items by d j $$ {d}_j $$ unit-demand buyers, with the same valuations. Certainly, an ascending auction of the single-unit instance will return Walrasian prices, but these prices are in general not buyer-optimal:

Example 1.Consider one buyer N = { 1 } $$ N=\left\{1\right\} $$ with a demand of d 1 = 2 $$ {d}_1=2 $$ , and two different items Ω = { α , β } $$ \Omega =\left\{\alpha, \beta \right\} $$ with a supply of b α = b β = 1 $$ {b}_{\alpha }={b}_{\beta }=1 $$ which are valued differently by the sole buyer, say v 1 = ( 5 , 1 ) $$ {v}_{\bullet 1}=\left(5,1\right) $$ . If we copy the buyer, there is no stable allocation if p ( α ) < 4 $$ p\left(\alpha \right)<4 $$ as both copies compete for object α $$ \alpha $$ . If p ( α ) = 4 $$ p\left(\alpha \right)=4 $$ , both copies of the sole buyer are indifferent between the objects and thus, p = ( 4 , 0 ) $$ \boldsymbol{p}=\left(4,0\right) $$ and x = ( ( 1 , 0 ) , ( 0 , 1 ) ) $$ \boldsymbol{x}=\left(\left(1,0\right),\left(0,1\right)\right) $$ is a Walrasian equilibrium. However, considering the original situation, since the buyer is alone p = ( 0 , 0 ) $$ \boldsymbol{p}=\left(0,0\right) $$ and x = ( 1 , 1 ) $$ \boldsymbol{x}=\left(1,1\right) $$ is the buyer-optimal Walrasian equilibrium. That is, intuitively, the duplication method is oblivious to the fact that the two copies represent the same buyer and hence, the computed Hall sets are wrongly interpreted as competition between two buyers. Thus, the prices computed by the duplication method are not buyer-optimal.

As we just saw in the example above, an algorithm to compute buyer-optimal prices in single-unit matching markets does not trivially give an algorithm for buyer-optimal prices when buyers have truncated additive valuations. The good news is that these valuation functions still allow for a nice flow-based algorithm to compute overdemanded sets. This generalizes the method to use a Hall set which works in the single-unit case and is more intuitive than the submodular function minimization methods used for strong gross substitute valuations.

1.1 Our contribution

In this article, we provide a flow-based ascending auction for multi-unit markets where all buyers have truncated additive valuations. This auction enables us to compute buyer-optimal Walrasian prices and a stable allocation. It generalizes the matching-based ascending auction introduced by [5].

Although there already exist ascending auctions that compute the minimum Walrasian prices by for example, Ausubel [1] and Murota et al. [15], these algorithms strongly rely on the theory of submodular function minimization and discrete convexity to compute the set of objects on which prices should be increased in the ascending auction. In contrast, we can compute this set with a simple and fast algorithm based on a single max flow min cut computation. This enables us to prove all our results independent from the literature on the more general case of auctions where the buyers have gross substitute valuation functions. Moreover, it allows us to show that minimum Walrasian prices react to changes in supply and demand in a natural way, that is, they can only increase when supply decreases or demand increases. This is a very natural monotonicity property, but it was not addressed in the literature yet.

More concretely, in Section 2, we present an ascending auction which iteratively raises prices on the objects in the left-most (i.e., inclusion-wise minimal) min s $$ s $$ - t $$ t $$ cut in an associated auxiliary flow network. In Section 3, we prove that the auction indeed terminates with minimum Walrasian prices and a stable allocation. Section 4 shows how one can obtain price monotonicity results purely from structural insights of the flow-based auction. Section 5 compares our work to previous work.

1.2 Known results and related work

In this subsection, we give a short summary on what is known about ascending auctions (single- and multi-unit), in particular with valuation functions that are less restrictive. We also refer the reader to the excellent survey paper by Paes Leme [17]. The basic setup remains the same as above, that is, an auctioneer wants do determine prices p + Ω $$ \boldsymbol{p}\in {\mathbb{Z}}_{+}^{\Omega} $$ and an allocation x + Ω × N $$ \boldsymbol{x}\in {\mathbb{Z}}_{+}^{\Omega \times N} $$ satisfying j N x i j b i $$ {\sum}_{j\in N}{x}_{ij}\le {b}_i $$ for all i Ω $$ i\in \Omega $$ . However, each buyer j N $$ j\in N $$ might not have a constant v i j $$ {v}_{ij} $$ for each object i Ω $$ i\in \Omega $$ but instead a valuation function v j ( x j ) $$ {v}_j\left({\boldsymbol{x}}_{\bullet j}\right) $$ . The net utility buyer j $$ j $$ gets given a price vector p $$ \boldsymbol{p} $$ and allocation x $$ \boldsymbol{x} $$ is then v j ( x j ) p T x j $$ {v}_j\left({\boldsymbol{x}}_{\bullet j}\right)-{\boldsymbol{p}}^T{\boldsymbol{x}}_{\bullet j} $$ and hence, a buyer's preferred bundle under prices p $$ \boldsymbol{p} $$ is given by
D j ( p ) arg max { v j ( x j ) p T x j | 0 x j b , x j Ω } . $$ {D}_j\left(\boldsymbol{p}\right):= \mathrm{argmax}\left\{{v}_j\left({\boldsymbol{x}}_{\bullet j}\right)-{\boldsymbol{p}}^T{\boldsymbol{x}}_{\bullet j}\kern0.15em |\kern0.15em \mathbf{0}\le {\boldsymbol{x}}_{\bullet j}\le b,{\boldsymbol{x}}_{\bullet j}\in {\mathbb{Z}}^{\Omega}\right\}. $$
In the sequel, it is also convenient to define a buyer's indirect utility function, the maximum utility a buyer can get under a given price vector:
V j ( p ) max { v j ( x j ) p T x j | 0 x j b , x j Ω } . $$ {V}_j\left(\boldsymbol{p}\right):= \max \left\{{v}_j\left({\boldsymbol{x}}_{\bullet j}\right)-{\boldsymbol{p}}^T{\boldsymbol{x}}_{\bullet j}\kern0.15em |\kern0.15em \mathbf{0}\le {\boldsymbol{x}}_{\bullet j}\le b,{\boldsymbol{x}}_{\bullet j}\in {\mathbb{Z}}^{\Omega}\right\}. $$
A valuation function v j : + Ω $$ {v}_j:{\mathbb{Z}}_{+}^{\Omega}\to \mathbb{Z} $$ is gross substitute if for all price vectors p , q Ω $$ \boldsymbol{p},\boldsymbol{q}\in {\mathbb{R}}^{\Omega} $$ with p q $$ \boldsymbol{p}\le \boldsymbol{q} $$ it holds that for all x j D j ( p ) $$ {\boldsymbol{x}}_{\bullet j}\in {D}_j\left(\boldsymbol{p}\right) $$ there exists y j D j ( q ) $$ {\boldsymbol{y}}_{\bullet j}\in {D}_j\left(\boldsymbol{q}\right) $$ such that x i j y i j $$ {x}_{ij}\le {y}_{ij} $$ for all i Ω $$ i\in \Omega $$ with p ( i ) = q ( i ) $$ p(i)=q(i) $$ . If additionally i Ω x i j i Ω y i j $$ {\sum}_{i\in \Omega}{x}_{ij}\ge {\sum}_{i\in \Omega}{y}_{ij} $$ holds for these allocations x , y $$ \boldsymbol{x},\boldsymbol{y} $$ , then v j $$ {v}_j $$ is strong gross substitute. Intuitively, this condition expresses that if one increases the price on one object, the demand on other objects (whose prices did not increase) does not diminish. What makes this class of functions (introduced by Kelso and Crawford [13]) particularly interesting is that Walrasian prices are guaranteed to exist if all buyers have gross substitute valuation functions (see also [1]). This is not true for more general valuation functions, which makes gross substitutes essentially the widest class of valuation functions that can be handled.Gul and Stacchetti [10] proved some equivalent characterizations of gross substitutes (such as the single improvement or no complementarities condition) which are insightful on their own, but which also make gross substitute more convenient to consider from an algorithmic point of view. Fujishige and Yang [8] also showed that there is a very fundamental connection of gross substitutes to discrete convex analysis, namely, a valuation function is gross substitute if and only if it is M $$ {\mathrm{M}}^{\natural } $$ -concave. A few more characterizations of gross substitutes can be found in the more recent work of Ben-Zwi [2], which also provides more fundamental insights to ascending auctions and overdemanded sets. However, the aforementioned publications only handle the single-unit case, that is, each object is only available in one copy. Murota et al. [15] showed that these results all transfer when going to the multi-unit setting if the valuation functions are strong gross substitutes (going to the multi-unit setting in mathematical terms is to go from the Boolean lattice to the integer lattice as the domain of the valuation functions).
The connection to discrete convex analysis is helpful to define an ascending auction that can find Walrasian prices. For the single-unit case, Gul and Stacchetti [11] laid out the framework for an ascending auction which naturally increases prices on subsets of objects that are overdemanded. However, they only showed that overdemanded sets must exist if the current price vector is not Walrasian using matroid theory (and giving a Hall-type condition), they did not show how to efficiently find those sets. Ausubel [1] and Murota et al. [15, 16] also considered auctions for the multi-unit setting. Their auctions follow essentially the same idea, that is, increasing prices on overdemanded sets but also allow different start prices and price reduction steps (on underdemanded sets, which do not occur if the starting prices are low enough and the price increment step is implemented correctly). The key contribution of their work is the algorithm to find overdemanded sets efficiently. All of those auctions rely on a potential function (the Lyapunov function)
L ( p ) = j N V j ( p ) + p T b . $$ L\left(\boldsymbol{p}\right)=\sum \limits_{j\in N}{V}_j\left(\boldsymbol{p}\right)+{\boldsymbol{p}}^T\boldsymbol{b}. $$
The main features of the Lyapunov function are that it is minimized exactly at Walrasian prices, and that it is L $$ {\mathrm{L}}^{\natural } $$ -convex (and in particular, submodular) if all valuation functions are M $$ {\mathrm{M}}^{\natural } $$ -concave (or equivalently, strong gross substitute). A buyer-optimal Walrasian price vector can be found if one selects an (inclusion-wise) minimal minimizer of X L ( p + χ X ) $$ X\mapsto L\left(\boldsymbol{p}+{\boldsymbol{\chi}}_X\right) $$ . Hence, a Walrasian price vector can be found efficiently by using submodular function minimization but also a steepest descent direction of L $$ L $$ (which corresponds to a maximumoverdemanded set) can be computed in strongly polynomial time [15].

In [7], a follow-up paper of the paper at hand, it is described how to find the overdemanded sets for general strong gross substitute valuation functions using polymatroid sum. This leads to the so far best known running time 𝒪 ( | N | · DO + | N | | Ω | 3 · ExO ) for one iteration where buyers have gross substitute valuations, and where DO $$ \mathsf{DO} $$ is the running time of an demand oracle and ExO $$ \mathsf{ExO} $$ is the running time of an exchange oracle. For a detailed description of the oracle models see Section 2.1.

Murota et al. [15] also showed that the ascending auction needs p p 0 $$ \left\Vert \kern0.1em \boldsymbol{p}-{\boldsymbol{p}}_0\right\Vert $$ iterations to terminate, where p 0 $$ {\boldsymbol{p}}_0 $$ is the initial price vector and p p 0 $$ \boldsymbol{p}\ge {\boldsymbol{p}}_0 $$ a Walrasian price vector.

2 A FLOW-BASED ASCENDING AUCTION

We first sketch our flow-based ascending auction, called Algorithm 2. The auction starts with the all-zero vector p 0 ( i ) = 0 $$ {p}_0(i)=0 $$ for all i Ω $$ i\in \Omega $$ (or with any initial price vector p 0 $$ {\boldsymbol{p}}_0 $$ known to be a lower bound on the minimum Walrasian price vector p $$ {\boldsymbol{p}}^{\ast } $$ ). In each iteration, given the current price vector p + Ω $$ \boldsymbol{p}\in {\mathbb{R}}_{+}^{\Omega} $$ , the algorithm computes an integral s $$ s $$ - t $$ t $$ -flow f $$ f $$ of maximum value in an auxiliary flow network G ( p ) $$ G\left(\boldsymbol{p}\right) $$ (described below). If the value val ( f ) $$ \mathrm{val}(f) $$ of flow f $$ f $$ equals the sum of capacities on the s $$ s $$ -leaving arcs in G ( p ) $$ G\left(\boldsymbol{p}\right) $$ , denoted as D p $$ {D}_{\boldsymbol{p}} $$ , the algorithm stops. Otherwise ( val ( f ) < D p $$ \mathrm{val}(f)<{D}_{\boldsymbol{p}} $$ ), the prices on all objects in the left-most min cut are raised by one unit, and the algorithm iterates with the updated price vector. Note that the notation left-most is motivated from the natural way of drawing a layered s $$ s $$ - t $$ t $$ -network with the source on the left, the sink on the right and all remaining vertices layer-by-layer in between. However, we can also define the left-most min cut without using any kind of topology on the vertices by defining it as the (unique) inclusion-wise minimal set S $$ S $$ , with s S $$ s\in S $$ that minimizes the sum of capacities on the outgoing arcs, cap ( S ) $$ \mathrm{cap}(S) $$ . We can compute this set via a breadth-first-search (BFS) from s $$ s $$ in the residual network which corresponds to a max flow. Then Theorem 2 shows that the final price vector p $$ {\boldsymbol{p}}^{\ast } $$ returned by the algorithm is the minimum (and thus buyer-optimal) competitive price vector.

For computing a corresponding stable and market-clearing allocation  x $$ {\boldsymbol{x}}^{\ast } $$ such that ( p , x ) $$ \left({\boldsymbol{p}}^{\ast },{\boldsymbol{x}}^{\ast}\right) $$ is a buyer-optimal Walrasian equilibrium, we modify G ( p ) $$ G\left({\boldsymbol{p}}^{\ast}\right) $$ slightly to network H ( p ) $$ H\left({\boldsymbol{p}}^{\ast}\right) $$ , which allows us to find a stable allocation where min { i Ω b i , j N d j } $$ \min \left\{{\sum}_{i\in \Omega}{b}_i,{\sum}_{j\in N}{d}_j\right\} $$ items are sold. Furthermore, we show that each object i Ω $$ i\in \Omega $$ with p ( i ) > 0 $$ {p}^{\ast }(i)>0 $$ is completely sold.

2.1 Structure of preferred bundles and oracle models

For a fixed price vector p $$ \boldsymbol{p} $$ and a fixed buyer j $$ j $$ , a minimal preferred bundle of buyer j $$ j $$ can be computed with the following greedy approach. Let j $$ {\prec}_j $$ be a total ordering of the items by nondecreasing payoffs, that is, satisfying
v i j p ( i ) v k j p ( k ) whenever i j k . $$ {v}_{ij}-p(i)\ge {v}_{kj}-p(k)\kern1em \mathrm{whenever}\kern1em i{\prec}_jk. $$ (2)
For ease of notation, assume that j = ( 1 , , m ) $$ {\prec}_j=\left(1,\dots, m\right) $$ . Note that the ordering j $$ {\prec}_j $$ might not be unique due to ties in the payoffs. However, each ordering j $$ {\prec}_j $$ satisfying (2) uniquely defines a minimum preferred bundle of buyer j $$ j $$ which can be constructed as follows:

Algorithm 1. Algorithm to construct a minimum preferred bundle for buyer j $$ j $$

We observe that the greedy algorithm selects exactly b i $$ {b}_i $$ copies of all items in { 1 , , k j 1 } $$ \left\{1,\dots, {k}_j-1\right\} $$ and d j = 1 k j 1 b $$ {d}_j-{\sum}_{\ell =1}^{k_j-1}{b}_{\ell } $$ copies from item k j $$ {k}_j $$ , and that the set of all minimal preferred bundles obeys the following structure. Consider the two item sets Ω j $$ {\Omega}_j^{\prime } $$ and Ω j $$ {\Omega}_j^{\prime \prime } $$ consisting of all items of larger or equal payoff than the payoff of item k j $$ {k}_j $$ , which was selected last by the greedy algorithm, that is,
Ω j ( p ) { i Ω | v i j p ( i ) > v k j j p ( k j ) } , and Ω j ( p ) { i Ω | v i j p ( i ) = v k j j p ( k j ) } . $$ {\displaystyle \begin{array}{cc}\hfill {\Omega}_j^{\prime}\left(\boldsymbol{p}\right)& := \left\{i\in \Omega \kern0.15em |\kern0.15em {v}_{ij}-p(i)>{v}_{k_jj}-p\left({k}_j\right)\right\},\kern0.3em \mathrm{and}\\ {}\hfill {\Omega}_j^{\prime \prime}\left(\boldsymbol{p}\right)& := \left\{i\in \Omega \kern0.15em |\kern0.15em {v}_{ij}-p(i)={v}_{k_jj}-p\left({k}_j\right)\right\}.\end{array}} $$
Note that Ω j ( p ) $$ {\Omega}_j^{\prime}\left(\boldsymbol{p}\right) $$ can be empty. This happens when all elements in the preferred bundle have the same payoff.
If i Ω j ( p ) Ω j ( p ) b i < d j $$ {\sum}_{i\in {\Omega}_j^{\prime}\left(\boldsymbol{p}\right)\cup {\Omega}_j^{{\prime\prime}}\left(\boldsymbol{p}\right)}{b}_i<{d}_j $$ , a minimal preferred bundle contains less than d j $$ {d}_j $$ items. In such a case, and if there are objects i Ω $$ i\in \Omega $$ of payoff v i j p ( i ) = 0 $$ {v}_{ij}-p(i)=0 $$ , we assume what is called “free disposal” in the literature. Namely, that buyer j $$ j $$ is indifferent between choosing a preferred bundle as described, or filling the demand up with items in
Ω j ( p ) { i Ω | v i j p ( i ) = 0 } . $$ {\Omega}_j^{{\prime\prime} \prime}\left(\boldsymbol{p}\right):= \left\{i\in \Omega \kern0.15em |\kern0.15em {v}_{ij}-p(i)=0\right\}. $$
Thus, in every preferred bundle, buyer j $$ j $$ buys exactly d j ( p ) i Ω j ( p ) b i $$ {d}_{j^{\prime }}\left(\boldsymbol{p}\right):= {\sum}_{i\in {\Omega}_j^{\prime}\left(\boldsymbol{p}\right)}{b}_i $$ items from objects in Ω j ( p ) $$ {\Omega}_j^{\prime}\left(\boldsymbol{p}\right) $$ and d j ( p ) min { i Ω j ( p ) b i , d j d j ( p ) } $$ {d}_{j^{\prime \prime }}\left(\boldsymbol{p}\right):= \min \left\{{\sum}_{i\in {\Omega}_j^{\prime \prime}\left(\boldsymbol{p}\right)}{b}_i,\kern0.3em {d}_j-{d}_{j^{\prime }}\left(\boldsymbol{p}\right)\right\} $$ items from objects in Ω j ( p ) $$ {\Omega}_j^{\prime \prime}\left(\boldsymbol{p}\right) $$ . In addition, there might be up to d j ( p ) min i Ω j ( p ) b i , $$ {d}_{j^{\prime \prime \prime }}\left(\boldsymbol{p}\right):= \min \left\{\kern-0.15em {\sum}_{i\in {\Omega}_j^{\prime \prime \prime}\left(\boldsymbol{p}\right)}{b}_i,\right. $$ d j d j ( p ) d j ( p ) $$ \left.{d}_j-{d}_{j^{\prime }}\left(\boldsymbol{p}\right)-{d}_{j^{\prime \prime }}\left(\boldsymbol{p}\right)\right\} $$ items of objects with zero payoff in a preferred bundle.

To shorten notation, we omit the price when p $$ \boldsymbol{p} $$ is clear from the context, for example, we write Ω j $$ {\Omega}_j^{\prime } $$ instead of Ω j ( p ) $$ {\Omega}_j^{\prime}\left(\boldsymbol{p}\right) $$ , or d j $$ {d}_{j^{\prime }} $$ instead of d j ( p ) $$ {d}_{j^{\prime }}\left(\boldsymbol{p}\right) $$ .

Oracles. Since we consider this market in an auction setting, it is natural (or even necessary) to assume that the auctioneer has some sort of communication protocol with the buyers. Ascending auctions, such as those by [1, 11], require the buyers to reveal their demand correspondence D j ( p ) $$ {D}_j\left(\boldsymbol{p}\right) $$ in every iteration for some price vector p $$ \boldsymbol{p} $$ (which can have size exponential in | Ω | $$ \mid \Omega \mid $$ ). In the model with truncated additive valuations, we can ask a buyer to provide her demand d j $$ {d}_j $$ and her demand sets Ω j ( p ) $$ {\Omega}_j^{\prime}\left(\boldsymbol{p}\right) $$ , Ω j ( p ) $$ {\Omega}_j^{\prime \prime}\left(\boldsymbol{p}\right) $$ , and Ω j ( p ) $$ {\Omega}_j^{\prime \prime \prime}\left(\boldsymbol{p}\right) $$ (the latter one is not required for computing overdemanded sets, however). Asking the buyers for those sets is quite intuitive as Ω $$ {\Omega}^{\prime } $$ denotes the objects which she wants strongly, Ω $$ {\Omega}^{\prime \prime } $$ denotes the objects of which she wants to get as many as she can to fill up the demand, and Ω $$ {\Omega}^{\prime \prime \prime } $$ denotes the objects she is indifferent to buy (as buying them results in payoff zero). Hence, it is natural in our setting that the auctioneer only asks the buyers for those three sets and her total demand to get a much more compact representation of the demand sets. We denote such an oracle call, in other words a question from the auctioneer to one buyer for Ω , Ω , Ω $$ {\Omega}^{\prime },{\Omega}^{\prime \prime },{\Omega}^{\prime \prime \prime } $$ , and d $$ d $$ , as tier oracle and use TO $$ \mathsf{TO} $$ for short. In sequel, in our runtime analysis we include TO $$ \mathsf{TO} $$ for these oracle calls. Note that a buyer, who knows her valuations can answer the oracle call in O ( | Ω | log ( | Ω | ) ) $$ O\left(|\Omega |\log \left(|\Omega |\right)\right) $$ (see Algorithm 1).

In the literature often a demand oracle DO $$ \mathsf{DO} $$ is used (i.e., asking for an minimal preferred bundle) or an exchange oracle ExO $$ \mathsf{ExO} $$ (i.e., asking how many items of one object the buyer is willing to exchange against the same amount of items of a different object). Each of these oracles can be used in turn, and it depends on the objective which one is most efficient to use. In our case the tier oracle is the most suitable.

2.2 Construction of auxiliary flow networks

In each iteration of our flow-based ascending auction with current price p $$ \boldsymbol{p} $$ , buyer j $$ j $$ reveals to the auctioneer the following information: the two sets Ω j $$ {\Omega}_j^{\prime } $$ and Ω j $$ {\Omega}_j^{\prime \prime } $$ , together with the amounts d j $$ {d}_{j^{\prime }} $$ and d j $$ {d}_{j^{\prime \prime }} $$ they want to buy from these sets, respectively, and the set Ω j = Ω j ( p ) $$ {\Omega}_j^{\prime \prime \prime }={\Omega}_j^{\prime \prime \prime}\left(\boldsymbol{p}\right) $$ of items of payoff 0 with the amount d j $$ {d}_{j^{\prime \prime \prime }} $$ .

Given this information, our algorithm constructs a network G ( p ) $$ G\left(\boldsymbol{p}\right) $$ and uses a max-flow computation to compute the set of objects on which the price has to be increased. In the following we describe the construction of this network. An example with two buyers and three objects is given in Figure 1.

Details are in the caption following the image
The network G ( p ) $$ G\left(\boldsymbol{p}\right) $$ with two buyers j 1 , j 2 $$ {j}_1,{j}_2 $$ and three objects α , β , γ $$ \alpha, \beta, \gamma $$ . We have valuations v j 1 = ( 3 , 2 , 1 ) $$ {v}_{j_1}=\left(3,2,1\right) $$ and v j 2 = ( 0 , 2 , 0 ) $$ {v}_{j_2}=\left(0,2,0\right) $$ , demands d j 1 = 4 , d j 2 = 2 $$ {d}_{j_1}=4,{d}_{j_2}=2 $$ , supply b α = b β = 1 , b γ = 4 $$ {b}_{\alpha }={b}_{\beta }=1,{b}_{\gamma }=4 $$ , and current prices p ( α ) = p ( β ) = p ( γ ) = 0 $$ p\left(\alpha \right)=p\left(\beta \right)=p\left(\gamma \right)=0 $$ . In this example, the item sets at prices p = ( 0 , 0 , 0 ) $$ \boldsymbol{p}=\left(0,0,0\right) $$ are given by Ω 1 = { α , β } $$ {\Omega}_1^{\prime }=\left\{\alpha, \beta \right\} $$ , Ω 1 = { γ } $$ {\Omega}_1^{\prime \prime }=\left\{\gamma \right\} $$ , Ω 1 = $$ {\Omega}_1^{\prime \prime \prime }=\varnothing $$ and Ω 2 = $$ {\Omega}_2^{\prime }=\varnothing $$ , Ω 2 = { β } $$ {\Omega}_2^{\prime \prime }=\left\{\beta \right\} $$ , Ω 1 = { α , γ } $$ {\Omega}_1^{\prime \prime \prime }=\left\{\alpha, \gamma \right\} $$ .

The vertex set of G ( p ) $$ G\left(\boldsymbol{p}\right) $$ consists of a source s $$ s $$ , a sink t $$ t $$ , one vertex for each object i Ω $$ i\in \Omega $$ , and two vertices j $$ {j}^{\prime } $$ and j $$ {j}^{\prime \prime } $$ for each buyer j N $$ j\in N $$ . We denote the collection of the j $$ {j}^{\prime } $$ vertices as N $$ {N}^{\prime } $$ and the one of j $$ {j}^{\prime \prime } $$ as N $$ {N}^{\prime \prime } $$ . Vertices j $$ {j}^{\prime } $$ and j $$ {j}^{\prime \prime } $$ correspond to the sets Ω j ( p ) $$ {\Omega}_j^{\prime}\left(\boldsymbol{p}\right) $$ and Ω j ( p ) $$ {\Omega}_j^{\prime \prime}\left(\boldsymbol{p}\right) $$ , respectively.

The arcs (with positive capacity) are defined as follows:
( s , j ) with capacity d j for all j N , ( s , j ) with capacity d j for each j N , ( j , i ) with capacity c j i b i for all j N , i Ω j ( j , i ) with capacity c j i min { b i , d j } for all j N , i Ω j , and ( i , t ) with capacity b i for all i Ω . $$ {\displaystyle \begin{array}{cc}\hfill \left(s,{j}^{\prime}\right)& \kern1em \mathrm{with}\ \mathrm{capacity}\kern0.3em {d}_{j^{\prime }}\kern0.3em \mathrm{for}\ \mathrm{all}\kern0.3em j\in N,\\ {}\hfill \left(s,{j}^{\prime \prime}\right)& \kern1em \mathrm{with}\ \mathrm{capacity}\kern0.3em {d}_{j^{\prime \prime }}\kern0.3em \mathrm{for}\ \mathrm{each}\kern0.3em j\in N,\\ {}\hfill \left({j}^{\prime },i\right)& \kern1em \mathrm{with}\ \mathrm{capacity}\kern0.3em {c}_{j^{\prime }i}:= {b}_i\kern0.3em \mathrm{for}\ \mathrm{all}\kern0.3em j\in N,\kern0.3em i\in {\Omega}_j^{\prime}\\ {}\hfill \left({j}^{\prime \prime },i\right)& \kern1em \mathrm{with}\ \mathrm{capacity}\kern0.3em {c}_{j^{\prime \prime }i}:= \min \left\{{b}_i,{d}_{j^{\prime \prime }}\right\}\kern0.3em \mathrm{for}\ \mathrm{all}\kern0.3em j\in N,\kern0.3em i\in {\Omega}_j^{\prime \prime },\kern0.3em \mathrm{and}\\ {}\hfill \left(i,t\right)& \kern1em \mathrm{with}\ \mathrm{capacity}\kern0.3em {b}_i\kern0.3em \mathrm{for}\ \mathrm{all}\kern0.3em i\in \Omega .\end{array}} $$

We denote the total capacity on the s $$ s $$ -leaving arcs by cap ( s ) $$ \mathrm{cap}(s) $$ , and observe that cap ( s ) = j N ( d j + d j ) $$ \mathrm{cap}(s)={\sum}_{j\in N}\left({d}_{j^{\prime }}+{d}_{j^{\prime \prime }}\right) $$ . That is, cap ( s ) $$ \mathrm{cap}(s) $$ is equal to the sum of sizes of the buyers' minimal preferred bundles. The following lemma states that prices p $$ \boldsymbol{p} $$ are competitive if and only if the value of a max flow in G ( p ) $$ G\left(\boldsymbol{p}\right) $$ is equal to cap ( s ) $$ \mathrm{cap}(s) $$ .

Lemma 1.The prices p $$ \boldsymbol{p} $$ are competitive if and only if there is a flow f $$ f $$ in G ( p ) $$ G\left(\boldsymbol{p}\right) $$ of value val ( f ) = cap ( s ) $$ \mathrm{val}(f)=\mathrm{cap}(s) $$ . Moreover, given a competitive price vector p $$ \boldsymbol{p} $$ , an associated stable allocation x $$ \boldsymbol{x} $$ can be computed via a single max flow computation in G ( p ) $$ G\left(\boldsymbol{p}\right) $$ .

Proof.There is a clear one-to-one correspondence between an integral s $$ s $$ - t $$ t $$ -flow and a feasible assignment of objects. Since all capacities in G ( p ) $$ G\left(\boldsymbol{p}\right) $$ are integral, there exists a max flow with integral values. By assigning f j i + f j i $$ {f}_{j^{\prime }i}+{f}_{j^{\prime \prime }i} $$ items of object i $$ i $$ to buyer j $$ j $$ we obtain a feasible assignment. Note that at least one of the summands is zero since at most one of the arcs has positive capacity ( Ω j Ω j = $$ {\Omega}_j^{\prime}\cap {\Omega}_j^{\prime \prime }=\varnothing $$ ). This assignment is competitive if and only if the demand of every buyer at prices p $$ \boldsymbol{p} $$ is satisfied. This is equivalent to the requirement that the flow satisfies all s $$ s $$ -leaving arcs, that is, val ( f ) = j N ( d j + d j ) = cap ( s ) $$ \mathrm{val}(f)={\sum}_{j\in N}\left({d}_{j^{\prime }}+{d}_{j^{\prime \prime }}\right)=\mathrm{cap}(s) $$ .

However, in this allocation x $$ \boldsymbol{x} $$ , no item with payoff zero is included. Since we aim for an allocation where as much as possible is sold, we have to allocate the other items as well. This is easy for those items which have price zero, since then every buyer with unsatisfied demand is willing to buy them. We show in Theorem 3 that there are enough buyers who are willing to buy the items with a positive price as well.

We extend G ( p ) $$ G\left({\boldsymbol{p}}^{\ast}\right) $$ to a flow network H ( p ) $$ H\left({\boldsymbol{p}}^{\ast}\right) $$ such that the assignment of buyers to objects of payoff zero is possible. To do so, we first balance the supply and the demand. If i Ω b i < j N d j $$ {\sum}_{i\in \Omega}{b}_i<{\sum}_{j\in N}{d}_j $$ , we add a dummy object i 0 $$ {i}_0 $$ with supply b i 0 = j N d j i Ω b i $$ {b}_{i_0}={\sum}_{j\in N}{d}_j-{\sum}_{i\in \Omega}{b}_i $$ and valuations v i 0 j = 0 $$ {v}_{i_0j}=0 $$ for all j N $$ j\in N $$ . If i Ω b i > j N d j $$ {\sum}_{i\in \Omega}{b}_i>{\sum}_{j\in N}{d}_j $$ , we add a dummy buyer j 0 $$ {j}_0 $$ with demand d j 0 = i Ω b i j N d j $$ {d}_{j_0}={\sum}_{i\in \Omega}{b}_i-{\sum}_{j\in N}{d}_j $$ and valuations v i j 0 = 0 $$ {v}_{i{j}_0}=0 $$ for all i Ω $$ i\in \Omega $$ . Now we can assume that i Ω b i = j N d j $$ {\sum}_{i\in \Omega}{b}_i={\sum}_{j\in N}{d}_j $$ . Note that Algorithm 2 computes the same prices with the dummy object or buyer as without. To construct H ( p ) $$ H\left({\boldsymbol{p}}^{\ast}\right) $$ from G ( p ) $$ G\left({\boldsymbol{p}}^{\ast}\right) $$ , additionally we add a vertex j $$ {j}^{\prime \prime \prime } $$ for each buyer j N $$ j\in N $$ and an arc ( s , j ) $$ \left(s,{j}^{\prime \prime \prime}\right) $$ with capacity d j $$ {d}_{j^{\prime \prime \prime }} $$ . Furthermore, we add for each j N $$ j\in N $$ the arc ( j , i ) $$ \left({j}^{\prime \prime \prime },i\right) $$ with capacity b i $$ {b}_i $$ for i Ω j $$ i\in {\Omega}_j^{\prime \prime \prime } $$ .

Proposition 1.A max flow in network H ( p ) $$ H\left(\boldsymbol{p}\right) $$ and its corresponding allocation satisfy:

  • 1.

    A feasible flow in G ( p ) $$ G\left(\boldsymbol{p}\right) $$ is a feasible flow in H ( p ) $$ H\left(\boldsymbol{p}\right) $$ .

  • 2.

    If for buyer j N $$ j\in N $$ the flow on the arcs ( s , j ) $$ \left(s,{j}^{\prime}\right) $$ and ( s , j ) $$ \left(s,{j}^{\prime \prime}\right) $$ is saturated, j $$ j $$ is assigned to one of her preferred bundles at prices p $$ \boldsymbol{p} $$ .

  • 3.

    If p $$ \boldsymbol{p} $$ is a Walrasian price vector, the allocation induced by a max flow is stable, that is, every buyer obtains a preferred bundle.

Note that part 3 of the proposition is due to the fact that there exists an allocation where everything is sold (including dummy items), so the max flow saturates all s $$ s $$ -leaving arcs, since demand and supply are balanced. Hence in the corresponding allocation every buyer gets a preferred bundle.

2.3 Computation of the buyer-optimal Walrasian equilibrium

Here we formally describe Algorithm 2. Each of its iterations can be done in polynomial time since the network can be constructed in polynomial time and only one max flow computation is needed.

The intuition of Algorithm 2 is to increase the price of a set of objects whenever the demand on this set exceeds the supply. It is natural to increase the prices of the objects of an overdemanded subset until the buyers that were interested in these objects get interested in other objects as well. This is exactly what happens in the following algorithm.

Algorithm 2. Price-raising algorithm

In Section 3.1 we show that the prices computed by Algorithm 2 are the component-wise minimum competitive prices.

Given component-wise minimum competitive prices p $$ {\boldsymbol{p}}^{\ast } $$ , Algorithm 3 constructs the auxiliary network H ( p ) $$ H\left({\boldsymbol{p}}^{\ast}\right) $$ and its max flow, leading to allocation x $$ {\boldsymbol{x}}^{\ast } $$ . Hence x $$ {\boldsymbol{x}}^{\ast } $$ can be found in polynomial time. Section 3.2 shows that the value of the maximum flow is max { i Ω b i , j N d j } $$ \max \left\{{\sum}_{i\in \Omega}{b}_i,{\sum}_{j\in N}{d}_j\right\} $$ , since we include a dummy buyer resp. a dummy object. With Proposition 1 this implies that each buyer is assigned to one of her preferred bundles.

Algorithm 3. Allocation algorithm

If the supply does not exceed the demand, everything is sold. Otherwise, only the items which are allocated to the dummy buyer j 0 $$ {j}_0 $$ are not sold. Since v i j 0 = 0 $$ {v}_{i{j}_0}=0 $$ for all i Ω $$ i\in \Omega $$ , the price of an object allocated to j 0 $$ {j}_0 $$ has to be zero. Thus, all objects with positive price are completely sold.

Theorem 1.The prices p $$ {\boldsymbol{p}}^{\ast } $$ computed by Algorithm 2 are the component-wise minimum competitive prices. Moreover, under the stable allocation x $$ {\boldsymbol{x}}^{\ast } $$ returned by Algorithm 3 as much as possible is sold, and every item with positive price is sold. Thus, the prices p $$ {\boldsymbol{p}}^{\ast } $$ coincide with the buyer-optimal Walrasian price vector.

We prove Theorem 1 in Section 3. Note that the fact that the flow-based ascending auction returns the buyer-optimal Walrasian prices can also be shown directly by combining results of the literature on strong substitute valuation functions [1] with some observation (see Section 5). Ausubel [1] showed that the buyer-optimal prices are computed by an ascending auction, where prices are always raised on the inclusion-wise minimal set corresponding to the steepest descent direction of the Lyapunov function. We observe that these sets correspond to minimal maximum overdemanded sets which are exactly the sets we compute with a left-most min cut computation. However, the proof given in the subsequent sections has two advantages. First, we show that the minimum Walrasian prices p $$ {\boldsymbol{p}}^{\ast } $$ coincide with the minimum competitive prices, which will turn out to be crucial when proving our monotonicity results in Section 4. Second, our proof is independent from the literature on strong substitute and L $$ {\mathrm{L}}^{\natural } $$ -convex functions and uses only network flow arguments.

Regarding the running time, our considerations above yield the following lemma.

Lemma 2.One iteration of Algorithm 2 requires at most | N | $$ \mid N\mid $$ tier oracle calls, 𝒪 ( | N | | Ω | ) time to construct the network and one max flow min cut computation.

For the max flow min cut computation, one can use, for example, the algorithm of Chen et al. [3] to find a max flow in 𝒪 ( ( | N | | Ω | ) 1 + o ( 1 ) ) , and to find the left most min cut, one can use a breadth first search (BFS) from s $$ s $$ in the residual network in 𝒪 ( | N | | Ω | ) ) time. This results in total running time of 𝒪 ( | N | TO + ( | N | | Ω | ) 1 + o ( 1 ) ) .

Thus, our Algorithm 2 is faster than the running time of the algorithm for the general strong gross substitute case by Murota et al. [15], which is 𝒪 ( | N | DO + | N | | Ω | 4 log ( | N | | Ω | B ) ExO ) , where B $$ B $$ is the maximum number of copies of an object. Note that different oracle models are used in the two algorithms, but since the running time of the tier oracle can be bounded by O ( | Ω | log ( | Ω | ) ) $$ O\left(|\Omega |\log \left(|\Omega |\right)\right) $$ for a value oracle see Algorithm 1, we consider this a fair statement. In a follow up paper of this work [7] we improved the running time for the general case to 𝒪 ( | N | DO + | N | | Ω | 3 ExO ) . Again different oracle models are used and thus the running times are not directly comparable. As before, we can afford a running time of O ( | Ω | log ( | Ω | ) ) $$ O\left(|\Omega |\log \left(|\Omega |\right)\right) $$ for the tier oracle without exceeding the running time of the general mechanism. If we assume in favor of the general mechanism that the exchange and demand oracle queries takes 𝒪 ( 1 ) time, our algorithm for the special case is still faster in all instances where | N | o ( 1 ) < | Ω | 2 o ( 1 ) $$ {\left|N\right|}^{o(1)}<{\left|\Omega \right|}^{2-o(1)} $$ , that is, in all instances where the number of buyers is not drastically larger than the number of items.

As shown in [15], the number of iterations of Algorithm 2 is at most p p 0 $$ {\left\Vert \kern0.1em {\boldsymbol{p}}^{\ast }-{\boldsymbol{p}}_0\right\Vert}_{\infty } $$ , where p $$ {\boldsymbol{p}}^{\ast } $$ is the minimum Walrasian price vector. Since p ( i ) max j Ω v i j $$ {p}^{\ast }(i)\le {\max}_{j\in \Omega}{v}_{ij} $$ this is pseudo-polynomial. Note, however, that we may as well start with any alternative start vector p 0 $$ {\boldsymbol{p}}_0 $$ , as long as p 0 $$ {\boldsymbol{p}}_0 $$ is known to be component-wise smaller or equal to the unique minimum competitive price vector.

In Section 5.2, we present a variation of the auction where the price is raised as far as possible for the same inclusion-wise minimal maximum overdemanded set.

2.4 Auctioneer with memory: Warm start with flow updates

A very natural idea is to not compute the flow completely from scratch in every iteration but instead to update the flow, when updating the price vector. We will describe this procedure and analyze the resulting running time. Interestingly, in one iteration this may not speed up the algorithm, but when combining this with the adapted step length algorithm described in Section 5.2, then the running time of the complete auction improves.

To update the flow from one iteration to the next, assume we are given a maximum flow f $$ {f}^{\ell } $$ in the network induced by price vector p $$ {\boldsymbol{p}}_{\ell } $$ . Moreover, let C $$ C $$ be the left most min cut in the network G ( p ) $$ G\left({\boldsymbol{p}}_{\ell}\right) $$ and assume C { s } $$ C\ne \left\{s\right\} $$ (because in this case the computed prices are already competitive and the auction terminates). Then Algorithm 4 shows how to update the flow to obtain a new feasible flow in G ( p + 1 ) $$ G\left({\boldsymbol{p}}_{\ell +1}\right) $$ . The idea is to keep as much flow as possible from the previous assignment. We use that items might change their set, that is, go from Ω j ( p ) $$ {\Omega}_j^{\prime}\left({\boldsymbol{p}}_{\ell}\right) $$ to Ω j ( p + 1 ) $$ {\Omega}_j^{\prime \prime}\left({\boldsymbol{p}}_{\ell +1}\right) $$ or vice versa, that is, from Ω j ( p ) $$ {\Omega}_j^{\prime \prime}\left({\boldsymbol{p}}_{\ell}\right) $$ to Ω j ( p + 1 ) $$ {\Omega}_j^{\prime}\left({\boldsymbol{p}}_{\ell +1}\right) $$ but that for a fixed buyer this is possible in at most one direction. A third possibility is that a buyer might lose interest in an item, but in this case this item is not in Ω j ( p + 1 ) Ω j ( p + 1 ) $$ {\Omega}_j^{\prime}\left({\boldsymbol{p}}_{\ell +1}\right)\cup {\Omega}_j^{\prime \prime}\left({\boldsymbol{p}}_{\ell +1}\right) $$ and thus no flow is assigned.

Algorithm 4. Flow update algorithm

This flow update is well defined, since feasibility is shown in the following lemma.

Lemma 3.The flow f $$ f $$ computed in Algorithm 4 is a feasible flow in G ( p + 1 ) $$ G\left({\boldsymbol{p}}_{\ell +1}\right) $$ .

Proof.Note that flow conservation is fulfilled in every node by construction. It remains to show that the capacities in G ( p + 1 ) $$ G\left({\boldsymbol{p}}_{\ell +1}\right) $$ are obeyed. Let C $$ C $$ be the left-most min cut in iteration $$ \ell $$ and I = C Ω $$ I=C\cap \Omega $$ the set of items on which the prices are increased.

  • For ( s , j ) $$ \left(s,{j}^{\prime}\right) $$ this is given: we assign i Ω j ( p + 1 ) f j i + f j i $$ {\sum}_{i\in {\Omega}_j^{\prime}\left({\boldsymbol{p}}_{\ell +1}\right)}\left({f}_{j^{\prime }i}^{\ell }+{f}_{j^{\prime \prime }i}^{\ell}\right) $$ units of flow and the capacity is given by i Ω j ( p + 1 ) b i $$ {\sum}_{i\in {\Omega}_j^{\prime}\left({\boldsymbol{p}}_{\ell +1}\right)}{b}_i $$ . Note that f j i + f j i b i $$ \left({f}_{j^{\prime }i}^{\ell }+{f}_{j^{\prime \prime }i}^{\ell}\right)\le {b}_i $$ since the only i $$ i $$ leaving arc has capacity b i $$ {b}_i $$ .

  • For ( s , j ) $$ \left(s,{j}^{\prime \prime}\right) $$ we consider how d j ( p ) $$ {d}_{j^{\prime \prime }}\left({\boldsymbol{p}}_{\ell}\right) $$ changes if we increase the prices on objects in I $$ I $$ .

    • If there are objects in Ω j ( p ) Ω j ( p + 1 ) $$ {\Omega}_j^{\prime \prime}\left({\boldsymbol{p}}_{\ell}\right)\cap {\Omega}_j^{\prime}\left({\boldsymbol{p}}_{\ell +1}\right) $$ , let M Ω j ( p ) Ω j ( p + 1 ) $$ M:= {\Omega}_j^{\prime \prime}\left({\boldsymbol{p}}_{\ell}\right)\cap {\Omega}_j^{\prime}\left({\boldsymbol{p}}_{\ell +1}\right) $$ be the objects which move from Ω j $$ {\Omega}_j^{\prime \prime } $$ to Ω j $$ {\Omega}_j^{\prime } $$ and S Ω j ( p ) Ω j ( p + 1 ) $$ S:= {\Omega}_j^{\prime \prime}\left({\boldsymbol{p}}_{\ell}\right)\cap {\Omega}_j^{\prime \prime}\left({\boldsymbol{p}}_{\ell +1}\right) $$ be the items that stay in Ω j $$ {\Omega}_j^{\prime \prime } $$ .

      We know that the objects in Ω j ( p ) I Ω j ( p + 1 ) $$ {\Omega}_j^{\prime \prime}\left({\boldsymbol{p}}_{\ell}\right)\cap I\subseteq {\Omega}_j^{\prime \prime}\left({\boldsymbol{p}}_{\ell +1}\right) $$ . Moreover, the objects in Ω j ( p ) $$ {\Omega}_j^{\prime}\left({\boldsymbol{p}}_{\ell}\right) $$ stay in Ω j ( p + 1 ) $$ {\Omega}_j^{\prime}\left({\boldsymbol{p}}_{\ell +1}\right) $$ , that is, Ω j ( p ) Ω j ( p + 1 ) $$ {\Omega}_j^{\prime}\left({\boldsymbol{p}}_{\ell}\right)\subseteq {\Omega}_j^{\prime}\left({\boldsymbol{p}}_{\ell +1}\right) $$ . Hence, the demand d j $$ {d}_{j^{\prime }} $$ increases and the demand d j $$ {d}_{j^{\prime \prime }} $$ decreases by the number of items in M $$ M $$ , that is, i M b i $$ {\sum}_{i\in M}{b}_i $$ .

      Recall that left-most min cut C $$ C $$ is defined by the vertices reachable from s $$ s $$ in the residual network corresponding to f $$ {f}^{\ell } $$ . By definition M I = $$ M\cap I=\varnothing $$ and S I $$ S\subseteq I $$ .

      If j $$ {j}^{\prime \prime } $$ is in the left-most min cut, the arcs in the cut which are leaving this node are fully used in any maximum flow. Thus, f j i = c j i = b i $$ {f}_{j^{\prime \prime }i}^{\ell }={c}_{j^{\prime \prime }i}={b}_i $$ for i M $$ i\in M $$ . That c j i = min { b i , d j } = b i $$ {c}_{j^{\prime \prime }i}=\min \left\{{b}_i,{d}_{j^{\prime \prime }}\right\}={b}_i $$ follows since otherwise with this item the complete demand could be satisfied. But this is a contradiction since buyer j $$ j $$ wants to buy items with less payoff at prices p + 1 $$ {\boldsymbol{p}}_{\ell +1} $$ , in other words i Ω j ( p + 1 ) $$ i\in {\Omega}_j^{\prime}\left({\boldsymbol{p}}_{\ell +1}\right) $$ and not i Ω j ( p + 1 ) $$ i\in {\Omega}_j^{\prime \prime}\left({\boldsymbol{p}}_{\ell +1}\right) $$ .

      Since this flow is shifted to j $$ {j}^{\prime } $$ after the price update, the flow is reduced by the number of items in M $$ M $$ as well, thus the capacities are still obeyed.

      If j $$ {j}^{\prime \prime } $$ is not in the left-most min cut, we cannot reach j $$ {j}^{\prime \prime } $$ from items in S I $$ S\subseteq I $$ . Hence, the flow on the edges ( j i ) $$ \left({j}^{\prime \prime }i\right) $$ with i S $$ i\in S $$ is zero (otherwise the backwards arc exists in the residual network and j $$ {j}^{\prime \prime } $$ is reachable). Hence, in Algorithm 4 we do not assign any flow to an edge through the vertex j $$ {j}^{\prime \prime } $$ . Thus, the capacity of ( s , j ) $$ \left(s,{j}^{\prime \prime}\right) $$ is still not exceeded.

    • Consider the case where Ω j ( p ) Ω j ( p + 1 ) = $$ {\Omega}_j^{\prime \prime}\left({\boldsymbol{p}}_{\ell}\right)\cap {\Omega}_j^{\prime}\left({\boldsymbol{p}}_{\ell +1}\right)=\varnothing $$ .

      If Ω j $$ {\Omega}_j^{\prime \prime } $$ does not lose any objects by the price update, we know that

      d j ( p + 1 ) = d j ( p ) + i Ω j ( p ) Ω j ( p + 1 ) b i . $$ {d}_j^{\prime \prime}\left({\boldsymbol{p}}_{\ell +1}\right)={d}_j^{\prime \prime}\left({\boldsymbol{p}}_{\ell}\right)+\sum \limits_{i\in {\Omega}_j^{\prime}\left({\boldsymbol{p}}_{\ell}\right)\cap {\Omega}_j^{\prime \prime}\left({\boldsymbol{p}}_{\ell +1}\right)}{b}_i. $$
      Hence, the capacity is not exceeded on ( s , j ) $$ \left(s,{j}^{\prime \prime}\right) $$ .

      It remains to show that the capacity is not exceeded if Ω j $$ {\Omega}_j^{\prime \prime } $$ loses some objects (it might get new ones from Ω j $$ {\Omega}_j^{\prime } $$ as well). The only situation which can cause problems is if the demand of objects in Ω $$ {\Omega}^{\prime \prime } $$ decreases. The demand d j $$ {d}_j^{\prime \prime } $$ only decreases if there are objects moving from Ω j $$ {\Omega}_j^{\prime \prime } $$ to Ω j $$ {\Omega}_j^{\prime } $$ (which does not happen by assumption) or if there are not enough objects with a positive payoff. The latter case implies that all items available in Ω j ( p + 1 ) $$ {\Omega}_j^{\prime \prime}\left({\boldsymbol{p}}_{\ell +1}\right) $$ are demanded and thus, the capacity constraint on ( s , j ) $$ \left(s,{j}^{\prime \prime}\right) $$ is fulfilled.

  • For ( i , t ) $$ \left(i,t\right) $$ the capacity does not change, so the capacity constraints are fulfilled.

  • For ( j , i ) $$ \left({j}^{\prime },i\right) $$ and ( j , i ) $$ \left({j}^{\prime \prime },i\right) $$ it follows directly by the definition of the capacity and since the capacity on the s $$ s $$ -leaving and t $$ t $$ -entering arcs is not exceeded.

Lemma 4.The adaption of the network and the check whether the set of objects I $$ I $$ in the left-most min cut changes runs in time 𝒪 ( | N | TO + | N | | Ω | ) .

Proof.After asking every buyer to report their preferences for the new prices, every arc is checked and then in constant time the flow is adapted (see Algorithm 4). Afterwards, the left-most min cut can be computed by a breadth first search (BFS) in the residual network. As there are 𝒪 ( | N | | Ω | ) many arcs, the statement follows.

We can use the structure of the left-most min cut to show that if the flow decreases in an update step, than the demand decreases by at least the same amount. This will help us to show that the prices returned by the auction are market-clearing (see Section 3.2). Moreover, this enables us to give an upper bound on the overall running time of the ascending auction with adapted step length (see Section 5.2).

Lemma 5.Given a max flow in G ( p ) $$ G\left({\boldsymbol{p}}_{\ell}\right) $$ with corresponding left-most min cut C $$ C $$ . Let I = C Ω $$ I=C\cap \Omega $$ be the overdemanded set and p + 1 $$ {\boldsymbol{p}}_{\ell +1} $$ be the price vector after the price update. Then, the demand d j + d j $$ {d}_{j^{\prime }}+{d}_{j^{\prime \prime }} $$ of buyer j $$ j $$ will decrease at least by

i Ω j ( p ) : i Ω j ( p + 1 ) Ω j ( p + 1 ) f j i . $$ \sum \limits_{\begin{array}{l}i\in {\Omega}_j\left({\boldsymbol{p}}_{\ell}\right):\\ {}i\notin {\Omega}_j^{\prime}\left({\boldsymbol{p}}_{\ell +1}\right)\cup {\Omega}_j^{\prime \prime}\left({\boldsymbol{p}}_{\ell +1}\right)\end{array}}{f}_{j^{\prime \prime }i}^{\ell }. $$ (3)

Proof.If (3) is zero, the statement is directly fulfilled. Thus, from now on, we consider the cases when flow is removed. This can only occur if some objects get a payoff of zero after the price update, that is, if

S Ω j ( p ) ( Ω j ( p + 1 ) Ω j ( p + 1 ) ) . $$ S:= {\Omega}_j^{\prime \prime}\left({\boldsymbol{p}}_{\ell}\right)\setminus \left({\Omega}_j^{\prime}\left({\boldsymbol{p}}_{\ell +1}\right)\cup {\Omega}_j^{\prime \prime}\left({\boldsymbol{p}}_{\ell +1}\right)\right)\ne \varnothing . $$
Note that S $$ S $$ describes the set of objects which move from Ω j $$ {\Omega}_j^{\prime \prime } $$ to Ω j $$ {\Omega}_j^{\prime \prime \prime } $$ . Since Ω j $$ {\Omega}_j^{\prime \prime \prime } $$ just contains objects with utility zero and Ω j $$ {\Omega}_j^{\prime \prime } $$ only those with a positive payoff, all objects in S $$ S $$ are contained in I $$ I $$ .

By definition, the demand d j + d j $$ {d}_{j^{\prime }}+{d}_{j^{\prime \prime }} $$ will decrease by

max { 0 , d j ( p ) i Ω j ( p ) I b i } . $$ \max \left\{0,{d}_{j^{\prime \prime }}\left({\boldsymbol{p}}_{\ell}\right)-\sum \limits_{i\in {\Omega}_j^{\prime \prime}\left({\boldsymbol{p}}_{\ell}\right)\setminus I}{b}_i\right\}. $$
If j $$ {j}^{\prime \prime } $$ is contained in the left-most min cut, all arcs from j $$ {j}^{\prime \prime } $$ to Ω j ( p ) I $$ {\Omega}_j^{\prime \prime}\left({\boldsymbol{p}}_{\ell}\right)\setminus I $$ are fully satisfied (since they are not reachable from j $$ {j}^{\prime \prime } $$ ). Hence, there can be at most d j ( p ) i Ω j ( p ) I b i 0 $$ {d}_{j^{\prime \prime }}\left({\boldsymbol{p}}_{\ell}\right)-{\sum}_{i\in {\Omega}_j^{\prime \prime}\left({\boldsymbol{p}}_{\ell}\right)\setminus I}{b}_i\ge 0 $$ units of flow going through j $$ {j}^{\prime \prime } $$ to vertices in S $$ S $$ . Thus, for buyer j $$ j $$ we reduce the demand at least by the removed flow units traveling through a vertex of j $$ j $$ .

If j $$ {j}^{\prime } $$ is not contained in the left-most min cut, there is no flow on the arcs from j $$ {j}^{\prime \prime } $$ to I $$ I $$ . Thus, no flow through buyer j $$ j $$ is removed and we are done in this case as well.

Corollary 1.The flow f $$ f $$ computed in Algorithm 4 satisfies

D p val ( f ) D p + 1 val ( f ) . $$ {D}_{{\boldsymbol{p}}_{\ell }}-\mathrm{val}\left({f}^{\ell}\right)\ge {D}_{{\boldsymbol{p}}_{\ell +1}}-\mathrm{val}(f). $$

3 THE ASCENDING AUCTION RETURNS THE BUYER-OPTIMAL WALRASIAN PRICES

We will show that Algorithm 2 returns buyer-optimal Walrasian prices by showing separately that the prices are the component-wise minimum competitive ones and that the prices are market clearing.

3.1 The ascending auction returns component-wise minimum competitive prices

We now analyze Algorithm 2 by considering the behavior of the buyers at given prices p $$ \boldsymbol{p} $$ using the structure of G ( p ) $$ G\left(\boldsymbol{p}\right) $$ . As usual, for a given digraph ( V , A ) $$ \left(V,A\right) $$ , we use Γ ( v ) $$ {\Gamma}^{-}(v) $$ to refer to all nodes that are the starting node of an incoming arc into v $$ v $$ , that is, Γ ( v ) { u V | ( u , v ) A } $$ {\Gamma}^{-}(v):= \left\{u\in V\kern0.15em |\kern0.15em \left(u,v\right)\in A\right\} $$ , analogously for Γ + ( v ) $$ {\Gamma}^{+}(v) $$ . We extend this definition also to sets, so that Γ ( I ) { u V | there exists v I with ( u , v ) A } $$ {\Gamma}^{-}(I):= \left\{u\in V\kern0.15em |\mathrm{there}\ \mathrm{exists}\kern0.3em v\in I\kern0.3em \mathrm{with}\kern0.3em \left(u,v\right)\in A\right\} $$ .

For a given set of items I Ω $$ I\subseteq \Omega $$ , we denote the sum of demands of all buyers which cannot be fulfilled by items which are not in I $$ I $$ by
d p ( I ) j Γ ( I ) max 0 , d j i Γ + ( j ) I c i j . $$ {d}_{\boldsymbol{p}}(I):= \sum \limits_{j^{\bullet}\in {\Gamma}^{-}(I)}\max \left\{0,{d}_{j^{\bullet }}-\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus I}{c}_{ij}\right\}. $$
Note that d p ( I ) $$ {d}_{\boldsymbol{p}}(I) $$ is a natural lower bound on the number of copies from I $$ I $$ that are needed in every stable allocation. We call an item set I $$ I $$ overdemanded if i I b i < d p ( I ) $$ {\sum}_{i\in I}{b}_i<{d}_{\boldsymbol{p}}(I) $$ . The following condition (4) is a consequence of Hall's Theorem for b $$ b $$ -matching (cf. [12]).

Lemma 6.Prices p $$ \boldsymbol{p} $$ are competitive if and only if

i I b i d p ( I ) for all I Ω . $$ \sum \limits_{i\in I}{b}_i\ge {d}_{\boldsymbol{p}}(I)\kern1em \mathrm{for}\ \mathrm{all}\kern0.3em I\subseteq \Omega . $$ (4)
Moreover, if prices p $$ \boldsymbol{p} $$ are not competitive, and C $$ C $$ is the left-most min cut in G ( p ) $$ G\left(\boldsymbol{p}\right) $$ , then C Ω $$ C\cap \Omega $$ is an overdemanded set.

Proof.Recall from Lemma 1 that prices p $$ \boldsymbol{p} $$ are competitive if and only if there exists a flow f $$ f $$ in G ( p ) $$ G\left(\boldsymbol{p}\right) $$ of value val ( f ) = cap ( { s } ) = j N d j + d j $$ \mathrm{val}(f)=\mathrm{cap}\left(\left\{s\right\}\right)={\sum}_{j\in N}{d}_{j^{\prime }}+{d}_{j^{\prime \prime }} $$ . Thus, by the Max Flow Min Cut Theorem, prices p $$ \boldsymbol{p} $$ are competitive if and only if { s } $$ \left\{s\right\} $$ is a min cut in G ( p ) $$ G\left(\boldsymbol{p}\right) $$ .

First, we show that (4) is necessary, that is, that it holds if p $$ \boldsymbol{p} $$ is competitive. Consider a flow f $$ f $$ in G ( p ) $$ G\left(\boldsymbol{p}\right) $$ of value val ( f ) = j N d j + d j $$ \mathrm{val}(f)={\sum}_{j\in N}{d}_{j^{\prime }}+{d}_{j^{\prime \prime }} $$ and some arbitrary set I Ω $$ I\subseteq \Omega $$ . According to the flow conservation, for each vertex j $$ {j}^{\bullet } $$ corresponding to a buyer j N $$ j\in N $$ (i.e., either j $$ {j}^{\prime } $$ or j $$ {j}^{\prime \prime } $$ ) we have

i Γ + ( j ) I f j i = f s j = d j resp. d j i Γ + ( j ) I f j i c j i max 0 , d j i Γ + ( j ) I c j i . $$ \sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\cap I}{f}_{j^{\bullet }i}=\overset{={d}_{j^{\prime }}\kern0.3em \mathrm{resp}.\kern0.3em {d}_{j^{\prime \prime }}}{\overbrace{f_{s{j}^{\bullet }}}}-\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus I}\overset{\le {c}_{j^{\bullet }i}}{\overbrace{f_{j^{\bullet }i}}}\ge \max \left\{0,\kern0.3em {d}_{j^{\bullet }}-\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus I}{c}_{j^{\bullet }i}\right\}. $$
If we sum over all j Γ ( I ) $$ {j}^{\bullet}\in {\Gamma}^{-}(I) $$ we get
d p ( I ) = j Γ ( I ) max 0 , d j i Γ + ( j ) I c j i j Γ ( I ) i Γ + ( j ) I f j i = i I j Γ ( I ) f j i = i I f i t i I b i . $$ {d}_{\boldsymbol{p}}(I)=\sum \limits_{j^{\bullet}\in {\Gamma}^{-}(I)}\max \left\{0,\kern0.3em {d}_{j^{\bullet }}-\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus I}{c}_{j^{\bullet }i}\right\}\le \sum \limits_{j^{\bullet}\in {\Gamma}^{-}(I)}\kern0.3em \sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\cap I}{f}_{j^{\bullet }i}=\sum \limits_{i\in I}\kern0.3em \sum \limits_{j^{\bullet}\in {\Gamma}^{-}(I)}{f}_{j^{\bullet }i}=\sum \limits_{i\in I}{f}_{it}\le \sum \limits_{i\in I}{b}_i. $$

Thus, I $$ I $$ is not an overdemanded set. Since we chose I $$ I $$ arbitrary, we have that (4) is fulfilled.

Now, we show that condition (4) implies that prices p $$ \boldsymbol{p} $$ are competitive. To see this, suppose that p $$ \boldsymbol{p} $$ is not competitive, and let C $$ C $$ be the left-most min cut of G ( p ) $$ G\left(\boldsymbol{p}\right) $$ . Since p $$ \boldsymbol{p} $$ is not competitive, we know that

cap ( C ) < cap ( { s } ) = j N N d j . $$ \mathrm{cap}(C)<\mathrm{cap}\left(\left\{s\right\}\right)=\sum \limits_{j^{\bullet}\in {N}^{\prime}\cup {N}^{\prime \prime }}{d}_{j^{\bullet }}. $$ (5)
Define I C Ω $$ I:= C\cap \Omega $$ and T C ( N N ) $$ T:= C\cap \left({N}^{\prime}\cup {N}^{\prime \prime}\right) $$ . The capacity of C $$ C $$ is given by
cap ( C ) = i I b i + j T i Γ + ( j ) I c j i + j ( N N ) T d j . $$ \mathrm{cap}(C)=\sum \limits_{i\in I}{b}_i+\sum \limits_{j^{\bullet}\in T}\kern0.3em \sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus I}{c}_{j^{\bullet }i}+\sum \limits_{j^{\bullet}\in \left({N}^{\prime}\cup {N}^{\prime \prime}\right)\setminus T}{d}_{j^{\bullet }}. $$ (6)
By combining and rearranging (6) and (5) we get the following chain of inequalities:
i I b i < j T d j j T i Γ + ( j ) I c j i = j T d j i Γ + ( j ) I c j i j T max 0 , d j i Γ + ( j ) I c j i = d p ( I ) . $$ \sum \limits_{i\in I}{b}_i<\sum \limits_{j^{\bullet}\in T}{d}_{j^{\bullet }}-\sum \limits_{j^{\bullet}\in T}\kern0.3em \sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus I}{c}_{j^{\bullet }i}=\sum \limits_{j^{\bullet}\in T}\left({d}_{j^{\bullet }}-\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus I}{c}_{j^{\bullet }i}\right)\le \sum \limits_{j^{\bullet}\in T}\max \left\{0,{d}_{j^{\bullet }}-\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus I}{c}_{j^{\bullet }i}\right\}={d}_{\boldsymbol{p}}(I). $$
Hence, I = C Ω $$ I=C\cap \Omega $$ is an overdemanded set and (4) does not hold in this case.

Theorem 2.The prices p $$ {\boldsymbol{p}}^{\ast } $$ returned by our Algorithm 2 are the (unique) component-wise minimum competitive prices, that is, if q $$ \boldsymbol{q} $$ is a competitive price vector then p ( i ) q ( i ) $$ {p}^{\ast }(i)\le q(i) $$ for all i Ω $$ i\in \Omega $$ .

Proof.Assume toward a contradiction that for a competitive price vector q $$ \boldsymbol{q} $$ , there is an object i Ω $$ i\in \Omega $$ such that p ( i ) > q ( i ) $$ {p}^{\ast }(i)>q(i) $$ . Let p τ $$ {\boldsymbol{p}}_{\tau } $$ denote the price vector in iteration τ $$ \tau $$ . Then, for the start vector p 0 $$ {\boldsymbol{p}}_0 $$ we have p 0 q $$ {\boldsymbol{p}}_0\le \boldsymbol{q} $$ . Let t $$ t $$ be the last iteration where p t q $$ {\boldsymbol{p}}_t\le \boldsymbol{q} $$ , that is, there is an object i Ω $$ i\in \Omega $$ such that p t + 1 ( i ) > q ( i ) $$ {p}_{t+1}(i)>q(i) $$ . Let I $$ I $$ be the overdemanded set chosen by the algorithm in iteration t $$ t $$ and split it into two parts I = I < $$ {I}^{=}\cup {I}^{<} $$ as follows:

I = { i Ω | p t ( i ) < p t + 1 ( i ) } , I = = { i I | p t ( i ) = q ( i ) } , I < = { i I | p t ( i ) < q ( i ) } . $$ I\kern0.5em =\left\{i\in \Omega \kern0.15em |\kern0.15em {p}_t(i)<{p}_{t+1}(i)\right\},\kern2em {I}^{=}=\left\{i\in I\kern0.15em |\kern0.15em {p}_t(i)=q(i)\right\},\kern2em {I}^{<}=\left\{i\in I\kern0.15em |\kern0.15em {p}_t(i)<q(i)\right\}. $$
We will derive a contradiction by showing that I < $$ {I}^{<} $$ induces a min cut C ˜ $$ \tilde{C} $$ which is a strict subset of C $$ C $$ , since I = $$ {I}^{=} $$ is non-empty by choice of t $$ t $$ . To do so, we start with analyzing the behavior of buyer j N $$ j\in N $$ at prices q $$ \boldsymbol{q} $$ by comparing it with the behavior at prices p t $$ {\boldsymbol{p}}_t $$ . For this purpose, we fix the network properties, that is, we talk about everything w.r.t prices p t $$ {\boldsymbol{p}}_t $$ if not stated otherwise. In the following lemma, we will show that
C ˜ = { s } { j N N | d j > i Γ + ( j ) I < c j i } I < $$ \tilde{C}=\left\{s\right\}\cup \left\{{j}^{\bullet}\in {N}^{\prime}\cup {N}^{\prime \prime}\kern0.15em |\kern0.15em {d}_{j^{\bullet }}>\sum \limits_{\genfrac{}{}{0ex}{}{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus {I}^{<}}{}}{c}_{j^{\bullet }i}\right\}\cup {I}^{<} $$
is also a min cut with C ˜ C $$ \tilde{C}\subsetneq C $$ (see Lemma 7 below). This, however, is a contradiction to C $$ C $$ being a left-most min cut, implying that the assumption that there is an object i $$ i $$ with price p ( i ) > q ( i ) $$ {p}^{\ast }(i)>q(i) $$ cannot be true. Therefore, Algorithm 2 finds the component-wise minimum competitive price vector.

The following lemma is needed in the proof of Theorem 2 and uses the notation which is described there.

Lemma 7.The cut C ˜ = { s } j N N | d j > i Γ + ( j ) I < c j i I < $$ \tilde{C}=\left\{s\right\}\cup \left\{{j}^{\bullet}\in {N}^{\prime}\cup {N}^{\prime \prime}\kern0.15em |\kern0.15em {d}_{j^{\bullet }}>{\sum}_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus {I}^{<}}{c}_{j^{\bullet }i}\right\}\cup {I}^{<} $$ is a min cut and C ˜ C $$ \tilde{C}\subsetneq C $$ .

Proof.A sketch of the left-most min cut is given in Figure 2. Consider the buyers who need to buy items of I $$ I $$ such that I $$ I $$ becomes overdemanded. Let T = C ( N N ) $$ T=C\cap \left({N}^{\prime}\cup {N}^{\prime \prime}\right) $$ , T 1 $$ {T}_1 $$ be the subset of buyers ( N N $$ {N}^{\prime}\cup {N}^{\prime \prime } $$ ) demanding some objects in I = $$ {I}^{=} $$ , and T 2 $$ {T}_2 $$ are those who do not, that is,

T = j N N | d j > i Γ + ( j ) I c j i , T 1 = j T | c j i > 0 for an i I = , T 2 = T T 1 . $$ T\kern0.5em =\left\{{j}^{\bullet}\in {N}^{\prime}\cup {N}^{\prime \prime}\kern0.15em |\kern0.15em {d}_{j^{\bullet }}>\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus I}{c}_{j^{\bullet }i}\right\},\kern2em {T}_1=\left\{{j}^{\bullet}\in T\kern0.15em |\kern0.15em {c}_{j^{\bullet }i}>0\kern0.3em \mathrm{for}\ \mathrm{an}\kern0.3em i\in {I}^{=}\right\},\kern2em {T}_2=T\setminus {T}_1. $$
To see that this fits to the definition of T $$ T $$ , we only need to check which vertices in N N $$ {N}^{\prime}\cup {N}^{\prime \prime } $$ are contained in the cut C $$ C $$ . Recall that the capacity cap ( C ) $$ \mathrm{cap}(C) $$ of cut C $$ C $$ is defined as the sum of capacities on all outgoing arcs of C $$ C $$ . If a vertex j $$ {j}^{\bullet } $$ is in the cut, cap ( C ) $$ \mathrm{cap}(C) $$ includes the sum over all capacities of arcs ( j , i ) $$ \left({j}^{\bullet },i\right) $$ where i I $$ i\notin I $$ . If vertex j $$ {j}^{\bullet } $$ is not in the cut, cap ( C ) $$ \mathrm{cap}(C) $$ includes the capacity of the arc ( s , j ) $$ \left(s,{j}^{\bullet}\right) $$ which is d j $$ {d}_{j^{\bullet }} $$ (Figure 2). Because C $$ C $$ is a left-most min cut, C $$ C $$ contains j $$ {j}^{\bullet } $$ if and only if
d j > i Γ + ( j ) I c j i . $$ {d}_{j^{\bullet }}>\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus I}{c}_{j^{\bullet }i}. $$

Claim.It holds that

i I = b i j T 1 min d j i Γ + ( j ) I c j i , i Γ + ( j ) I = c j i . $$ \sum \limits_{i\in {I}^{=}}{b}_i\ge \sum \limits_{j^{\bullet}\in {T}_1}\min \left\{{d}_{j^{\bullet }}-\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus I}{c}_{j^{\bullet }i},\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\cap {I}^{=}}{c}_{j^{\bullet }i}\right\}. $$ (7)

Proof.First, consider the demand that j $$ {j}^{\prime } $$ has on objects in I = $$ {I}^{=} $$ at price p t $$ {\boldsymbol{p}}_t $$ , that is,

i Γ + ( j ) I = c j i . $$ \sum \limits_{i\in {\Gamma}^{+}\left({j}^{\prime}\right)\cap {I}^{=}}{c}_{j^{\prime }i}. $$
Comparing q $$ \boldsymbol{q} $$ and p t $$ {\boldsymbol{p}}_t $$ , remember that the price of any item only increases, that is, p t ( i ) q ( i ) $$ {p}_t(i)\le q(i) $$ , while the prices in I = $$ {I}^{=} $$ remain the same. That is why the buyer j $$ j $$ likes to buy at prices q $$ \boldsymbol{q} $$ at least the same amount of items from objects in I = $$ {I}^{=} $$ as at prices p t $$ {\boldsymbol{p}}_t $$ .

Next, we consider the demand j $$ {j}^{\prime \prime } $$ has on objects in I $$ I $$ at prices p t $$ {\boldsymbol{p}}_t $$ . Recall that j $$ {j}^{\prime \prime } $$ gets the same utility from every item in Ω j $$ {\Omega}_j^{\prime \prime } $$ . Comparing p $$ \boldsymbol{p} $$ and q $$ \boldsymbol{q} $$ we have that the prices on I = $$ {I}^{=} $$ remain constant while the prices on I < $$ {I}^{<} $$ strictly increase. Thus, j $$ j $$ likes to fill up the preferred bundle with items in I = $$ {I}^{=} $$ and maybe with items outside of I $$ I $$ before buying the items in I < $$ {I}^{<} $$ . Note however, that for prices q $$ \boldsymbol{q} $$ it is not clear to which copy of buyer j $$ j $$ this demand is assigned. Since furthermore, we have that buyer j $$ j $$ cannot buy more objects than available in I = $$ {I}^{=} $$ we get the following lower bound on the demand reassigned from a buyer j $$ {j}^{\prime \prime } $$ for prices p t $$ {\boldsymbol{p}}_t $$ to buyer j $$ {j}^{\prime } $$ or j $$ {j}^{\prime \prime } $$ for prices q $$ \boldsymbol{q} $$ :

min d j i Γ + ( j ) I c j i , i Γ + ( j ) I = c j i . $$ \min \left\{{d}_{j^{\prime \prime }}-\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\prime \prime}\right)\setminus I}{c}_{j^{\prime \prime }i},\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\prime \prime}\right)\cap {I}^{=}}{c}_{j^{\prime \prime }i}\right\}. $$
Finally, if we sum up the demands of all j N $$ {j}^{\prime}\in {N}^{\prime } $$ and j N $$ {j}^{\prime \prime}\in {N}^{\prime \prime } $$ at prices q $$ q $$ we obtain the following lower bound of the total demand of all buyers j T 1 $$ j\in {T}_1 $$
j T 1 N i Γ + ( j ) i I = c j i + j T 1 N min { d j i Γ + ( j ) i I c j i , i Γ + ( j ) i I = c j i } j T 1 min { d j i Γ + ( j ) i I c j i , i Γ + ( j ) i I = c j i } . $$ {\displaystyle \begin{array}{ll}\hfill & \kern-2em \sum \limits_{j^{\prime}\in {T}_1\cap {N}^{\prime }}\kern0.3em \sum \limits_{\genfrac{}{}{0ex}{}{i\in {\Gamma}^{+}\left({j}^{\prime}\right)}{i\in {I}^{=}}}{c}_{j^{\prime }i}+\sum \limits_{j^{\prime \prime}\in {T}_1\cap {N}^{\prime \prime }}\min \left\{{d}_{j^{\prime \prime }}-\sum \limits_{\genfrac{}{}{0ex}{}{i\in {\Gamma}^{+}\left({j}^{\prime \prime}\right)}{i\notin I}}{c}_{j^{\prime \prime }i},\sum \limits_{\genfrac{}{}{0ex}{}{i\in {\Gamma}^{+}\left({j}^{\prime \prime}\right)}{i\in {I}^{=}}}{c}_{j^{\prime \prime }i}\right\}\\ {}\hfill \ge & \sum \limits_{j^{\bullet}\in {T}_1}\min \left\{{d}_{j^{\bullet }}-\sum \limits_{\genfrac{}{}{0ex}{}{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)}{i\notin I}}{c}_{j^{\bullet }i},\sum \limits_{\genfrac{}{}{0ex}{}{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)}{i\in {I}^{=}}}{c}_{j^{\bullet }i}\right\}.\end{array}} $$
The set I = $$ {I}^{=} $$ is not overdemanded at price q $$ \boldsymbol{q} $$ . Thus, the demand of items in I = $$ {I}^{=} $$ at price q $$ \boldsymbol{q} $$ is smaller or equal than the total supply of all objects in I = $$ {I}^{=} $$ . Using the bound of the total demand of all buyers in T 1 $$ {T}_1 $$ , we obtain the inequality of the claim.

Next, we show that C ˜ $$ \tilde{C} $$ is a min cut by comparing the capacities of C ˜ $$ \tilde{C} $$ and of the left-most min cut C $$ C $$ .

cap ( C ) cap ( C ˜ ) = i I b i + j N N min d j , i Γ + ( j ) I c j i i I < b i + j N N min d j , i Γ + ( j ) I < c j i = i I = b i + j N N ( min { d j , i Γ + ( j ) I c j i = : α } min { d j , i Γ + ( j ) I 2 c j i = : β } ) = 0 for j T , since d j α (by definition) and α β = i I = b i + j T i Γ + ( j ) I c j i min d j , i Γ + ( j ) I < c j i = i I = b i j T min d j i Γ + ( j ) I c j i , i Γ + ( j ) I = c j i ( 7 ) 0 . $$ {\displaystyle \begin{array}{ll}\hfill & \mathrm{cap}(C)-\mathrm{cap}\left(\tilde{C}\right)\\ {}\hfill & \kern1em =\left(\sum \limits_{i\in I}{b}_i+\sum \limits_{j^{\bullet}\in {N}^{\prime}\cup {N}^{\prime \prime }}\min \left\{{d}_{j^{\bullet }},\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus I}{c}_{j^{\bullet }i}\right\}\right)-\left(\sum \limits_{i\in {I}^{<}}{b}_i+\sum \limits_{j^{\bullet}\in {N}^{\prime}\cup {N}^{\prime \prime }}\min \left\{{d}_{j^{\bullet }},\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus {I}^{<}}{c}_{j^{\bullet }i}\right\}\right)\\ {}\hfill & \kern1em =\sum \limits_{i\in {I}^{=}}{b}_i+\sum \limits_{j^{\bullet}\in {N}^{\prime}\cup {N}^{\prime \prime }}\kern0.3em \underset{=0\kern0.3em \mathrm{for}\kern0.3em {j}^{\bullet}\notin T,\kern0.3em \mathrm{since}\kern0.3em {d}_{j^{\bullet }}\le \alpha \kern0.3em \left(\mathrm{by}\ \mathrm{definition}\right)\ \mathrm{and}\kern0.3em \alpha \le \beta }{\underbrace{\left(\min \left\{{d}_{j^{\bullet }},\underset{=: \alpha }{\underbrace{\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus I}{c}_{j^{\bullet }i}}}\right\}-\min \left\{{d}_{j^{\bullet }},\underset{=: \beta }{\underbrace{\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus {I}_2}{c}_{j^{\bullet }i}}}\right\}\right)}}\\ {}\hfill & \kern1em =\sum \limits_{i\in {I}^{=}}{b}_i+\sum \limits_{j^{\bullet}\in T}\left(\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus I}{c}_{j^{\bullet }i}-\min \left\{{d}_{j^{\bullet }},\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus {I}^{<}}{c}_{j^{\bullet }i}\right\}\right)\\ {}\hfill & \kern1em =\sum \limits_{i\in {I}^{=}}{b}_i-\sum \limits_{j^{\bullet}\in T}\min \left\{{d}_{j^{\bullet }}-\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus I}{c}_{j^{\bullet }i},\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\cap {I}^{=}}{c}_{j^{\bullet }i}\right\}\overset{(7)}{\ge }0.\end{array}} $$
Therefore C ˜ $$ \tilde{C} $$ is a min cut too.

It remains to show that C ˜ C $$ \tilde{C}\subsetneq C $$ . This follows directly by the definitions: C ˜ ( N N ) T = C ( N N ) $$ \tilde{C}\cap \left({N}^{\prime}\cup {N}^{\prime \prime}\right)\subseteq T=C\cap \left({N}^{\prime}\cup {N}^{\prime \prime}\right) $$ and C ˜ Ω = I < I = C Ω $$ \tilde{C}\cap \Omega ={I}^{<}\subsetneq I=C\cap \Omega $$ , since I = $$ {I}^{=} $$ is not empty.

Observation 1.The proof of Theorem 2 does not use that Algorithm 2 starts at prices zero. As long as p 0 ( i ) p ( i ) $$ {p}_0(i)\le {p}^{\ast }(i) $$ for all i Ω $$ i\in \Omega $$ , the proof works. Thus, the algorithm finds the minimum competitive price vector p $$ {\boldsymbol{p}}^{\ast } $$ if it starts at prices p 0 p $$ {\boldsymbol{p}}_0\le {\boldsymbol{p}}^{\ast } $$ .

Details are in the caption following the image
Proof sketch. Illustration of a minimum s $$ s $$ - t $$ t $$ -cut C $$ C $$ and the induced sets I $$ I $$ (light blue) and T $$ T $$ (light green). The set I = $$ {I}^{=} $$ is red, I < $$ {I}^{<} $$ is orange, T 1 $$ {T}_1 $$ is yellow and T 2 $$ {T}_2 $$ is petrol.

3.2 The auction returns market-clearing prices

To complete the proof of Theorem 1 it remains to show that the prices computed by Algorithm 2 are market-clearing, that is, that an allocation exists where D = min { i Ω b i , j N d j } $$ D=\min \left\{{\sum}_{i\in \Omega}{b}_i,{\sum}_{j\in N}{d}_j\right\} $$ is sold.

Theorem 3.Given prices p $$ {\boldsymbol{p}}^{\ast } $$ computed by Algorithm 2, there exists an allocation x + Ω × N $$ {\boldsymbol{x}}^{\ast}\in {\mathbb{Z}}_{+}^{\Omega \times N} $$ such that:

  • 1.

    Any buyer j N $$ j\in N $$ gets a preferred bundle, that is, x j D j ( p ) $$ {\boldsymbol{x}}_{\bullet j}^{\ast}\in {D}_j\left({\boldsymbol{p}}^{\ast}\right) $$ .

  • 2.

    If there is an item which is not sold, it has price zero, that is, j N x i j = b i $$ {\sum}_{j\in N}{x}_{ij}^{\ast }={b}_i $$ for all i Ω $$ i\in \Omega $$ with p ( i ) > 0 $$ {p}^{\ast }(i)>0 $$ .

  • 3.

    As much as possible is sold, that is, i Ω j N x i j = D $$ {\sum}_{i\in \Omega}{\sum}_{j\in N}{x}_{ij}^{\ast }=D $$ .

To show this theorem, we will use the following notation. An allocation x $$ \overline{\boldsymbol{x}} $$ is an extension of x $$ \boldsymbol{x} $$ if x i j x i j $$ {\overline{x}}_{ij}\ge {x}_{ij} $$ for all j N $$ j\in N $$ and i Ω $$ i\in \Omega $$ . A flow f $$ f $$ in G ( p ) $$ G\left(\boldsymbol{p}\right) $$ induces an allocation x f $$ {\boldsymbol{x}}^f $$ by defining x i j = f i j + f i j $$ {x}_{ij}={f}_{i{j}^{\prime }}+{f}_{i{j}^{\prime }} $$ . Note that an allocation induced by a flow in G ( p ) $$ G\left(\boldsymbol{p}\right) $$ always distributes subsets of a preferred bundle w.r.t. prices p $$ \boldsymbol{p} $$ .

Proof.We construct an allocation with the desired properties by using the flow obtained during Algorithm 2 which uses Algorithm 4 as described in Section 2.4. The constructed allocation x $$ {\boldsymbol{x}}^{\ast } $$ will be induced by the max flow in G ( p ) $$ G\left({\boldsymbol{p}}^{\ast}\right) $$ , thus property 1 is fulfilled by definition.

We extend x $$ {\boldsymbol{x}}^{\ast } $$ to an allocation where every item with a positive price is sold. For i Ω $$ i\in \Omega $$ with j N x i j < b i $$ {\sum}_{j\in N}{x}_{ij}^{\ast }<{b}_i $$ we assign the remaining items to buyers j $$ j $$ who demanded items of this objects in the last iteration where the price on i $$ i $$ was increased, that is, in the last iteration with i I $$ i\in I $$ . More precisely, we assign it to those buyers for which the flow was removed. Since the price is not increased in later iterations, the object is still in Ω j ( p ) $$ {\Omega}_j^{\prime \prime \prime}\left({\boldsymbol{p}}^{\ast}\right) $$ . By Lemma 5 we know that the removed flow did not exceed d j d j ( p ) d j ( p ) $$ {d}_j-{d}_{j^{\prime }}\left({\boldsymbol{p}}^{\ast}\right)-{d}_{j^{\prime \prime }}\left({\boldsymbol{p}}^{\ast}\right) $$ , since d j + d j $$ {d}_{j^{\prime }}+{d}_{j^{\prime \prime }} $$ just decreases during the algorithm. Hence, the demand is not exceeded if we assign items according to the removed flow.

This means all items with a positive price are assigned. This is due to the fact that objects in I $$ I $$ are fully assigned, since I $$ I $$ is given by a left-most min cut. The flow on ( b i , t ) $$ \left({b}_i,t\right) $$ remains if we do not remove flow through i $$ i $$ which can only happen if i I $$ i\in I $$ . Thus, all items i $$ i $$ with a positive price are assigned, either induced by the max flow or by the removed-flow in the last iteration with i I $$ i\in I $$ .

It remains to extend this assignment to an allocation where as much as possible is sold. All unsold items have price 0 and all players with left over demand have payoff 0 on all these items. This means we get a complete bipartite graph in which every maximum flow assigns either all remaining objects or satisfies all demands. Since all prices and payoffs are 0, any such induced allocation can just be added to the computed assignment.

Note that the allocation can also be computed by Algorithm 3. We mainly use the described procedure to prove that there is an allocation with the desired properties. This answers the question why the algorithm returns market-clearing prices.

Proof of Theorem 1.The prices are the minimum competitive prices by Theorem 2. By Theorem 3 there is an associated stable allocation where D $$ D $$ is sold and where each item with positive price is sold. This existence together with the construction of the network H ( p ) $$ H\left({\boldsymbol{p}}^{\ast}\right) $$ gives us that Algorithm 3 computes such an allocation. The existence of an allocation where as much as possible is sold also implies that the minimum competitive prices computed by Algorithm 2 are buyer-optimal Walrasian prices.

4 MONOTONICITY

Algorithm 2 determines for each instance the unique component-wise minimum Walrasian price vector p $$ {\boldsymbol{p}}^{\ast } $$ . In this section, we analyze the monotonicity of the auction with respect to changes of the demand and supply. This research question belongs to the field of comparative statics, which is commonly used in economics to analyze markets. In particular, we show that, as intuitively expected, the auction is monotone in the sense that the returned prices can only increase if the demand increases or the supply decreases.

Theorem 4.Given an instance with valuations v $$ v $$ , demands d $$ \boldsymbol{d} $$ , supplies b $$ \boldsymbol{b} $$ and the corresponding buyer-optimal Walrasian prices p $$ \boldsymbol{p} $$ , consider a second instance with the same valuation functions but increased demands and decreased supplies, that is, demands d new $$ {\boldsymbol{d}}^{\mathbf{new}} $$ with 0 d j d j new $$ 0\le {d}_j\le {d}_j^{\mathrm{new}} $$ for all j N $$ j\in N $$ and supplies  b new $$ {\boldsymbol{b}}^{\mathbf{new}} $$ with 0 b i new b i $$ 0\le {b}_i^{\mathrm{new}}\le {b}_i $$ for all i Ω $$ i\in \Omega $$ with buyer-optimal Walrasian prices p new $$ {\boldsymbol{p}}^{\mathbf{new}} $$ . Then we have p ( i ) p new ( i ) $$ p(i)\le {p}^{\mathrm{new}}(i) $$ for all i Ω $$ i\in \Omega $$ with b i new > 0 $$ {b}_i^{\mathrm{new}}>0 $$ .

The proof idea is that prices remain competitive when the supply increases or the demand decreases. Since for truncated additive valuation functions minimum competitive prices are unique and market-clearing, the buyer-optimal Walrasian prices are smaller or equal to any competitive prices.

To prove the theorem we show two lemmas, analyzing the change of the demand and the supply separately.

Lemma 8.Let d $$ \boldsymbol{d} $$ and d new $$ {\boldsymbol{d}}^{\mathbf{new}} $$ be two demand vectors with d j d j new $$ {d}_j\le {d}_j^{\mathrm{new}} $$ for all j N $$ j\in N $$ (here it is possible that d j = 0 $$ {d}_j=0 $$ for some j N $$ j\in N $$ ). Then the buyer-optimal Walrasian prices p $$ \boldsymbol{p} $$ at demand d $$ \boldsymbol{d} $$ are not greater than the buyer-optimal Walrasian prices p new $$ {\boldsymbol{p}}^{\mathbf{new}} $$ at demand d new $$ {\boldsymbol{d}}^{\mathbf{new}} $$ , that is, p ( i ) p new ( i ) $$ p(i)\le {p}^{\mathrm{new}}(i) $$ for all i Ω $$ i\in \Omega $$ .

Proof.Consider an integral max flow f $$ {f}^{\prime } $$ at prices p new $$ {\boldsymbol{p}}^{\mathbf{new}} $$ in the auxiliary flow network G ( p new ) $$ G\left({\boldsymbol{p}}^{\mathbf{new}}\right) $$ . Recall that flow f $$ {f}^{\prime } $$ corresponds to a feasible allocation from buyers to their preferred bundles. Now adapt this flow as follows. For each buyer j $$ j $$ with d j < d j new $$ {d}_j<{d}_j^{\mathrm{new}} $$ , among the paths going through j $$ {j}^{\prime } $$ or j $$ {j}^{\prime \prime } $$ , select one with a currently lowest payoff and reduce flow on that path, until flow through j $$ {j}^{\prime } $$ and j $$ {j}^{\prime \prime } $$ gets reduced to d j $$ {d}_j $$ . This procedure terminates with a flow meeting demands d j $$ {d}_j $$ . Furthermore, since we still allocate the items with the highest payoff to a buyer, each buyer is allocated to a preferred bundle at prices p new $$ {\boldsymbol{p}}^{\mathbf{new}} $$ at demand d $$ \boldsymbol{d} $$ . Thus, p new $$ {\boldsymbol{p}}^{\mathbf{new}} $$ is a competitive price vector for demand d $$ \boldsymbol{d} $$ . By Theorem 2 it follows that p $$ \boldsymbol{p} $$ is not only the minimum Walrasian price vector but also the component-wise minimum competitive one. Thus, we get p ( i ) p new ( i ) $$ p(i)\le {p}^{\mathrm{new}}(i) $$ for all i Ω $$ i\in \Omega $$ .

Next we show that the minimum competitive prices are bigger if the supply is smaller.

Lemma 9.Let b $$ \boldsymbol{b} $$ and b new $$ {\boldsymbol{b}}^{\mathbf{new}} $$ be two supply vectors with b i new b i $$ {b}_i^{\mathrm{new}}\le {b}_i $$ for all i Ω $$ i\in \Omega $$ (here it is possible that b i new = 0 $$ {b}_i^{\mathrm{new}}=0 $$ for some i Ω $$ i\in \Omega $$ ). Then for the corresponding buyer-optimal Walrasian prices p $$ \boldsymbol{p} $$ and p new $$ {\boldsymbol{p}}^{\mathbf{new}} $$ , it holds that p ( i ) p new ( i ) $$ p(i)\le {p}^{\mathrm{new}}(i) $$ for all i $$ i $$ with b i new > 0 $$ {b}_i^{\mathrm{new}}>0 $$ .

Proof.Assume without loss of generality that b $$ \boldsymbol{b} $$ and b new $$ {\boldsymbol{b}}^{\mathbf{new}} $$ only differ in the supply of object $$ \ell $$ by one item. We fix the allocation computed by the minimum competitive prices at supply b new $$ {\boldsymbol{b}}^{\mathbf{new}} $$ and we consider two cases.

First, we consider the case b new > 0 $$ {b}_{\ell}^{\mathrm{new}}>0 $$ . Given the assigned bundles, we analyze the behavior of the buyers when the additional item of object $$ \ell $$ arrives. If there is a buyer j $$ j $$ who is not assigned to one of her preferred bundles at supply b $$ \boldsymbol{b} $$ , we knew that she is the only one who is assigned to items of object $$ \ell $$ since otherwise the prices p new $$ {\boldsymbol{p}}^{\mathbf{new}} $$ are not competitive. Thus, all other buyers are assigned to one of their preferred bundles at supply b $$ \boldsymbol{b} $$ . Hence we can change the preferred bundle of buyer j $$ j $$ by assigning one more item of $$ \ell $$ to her, if necessary by omitting the least profitable item. This change does not harm the other buyers, thus in the new allocation everyone is assigned to a preferred bundle at prices p new $$ {\boldsymbol{p}}^{\mathbf{new}} $$ . Thus, prices p new $$ {\boldsymbol{p}}^{\mathbf{new}} $$ are competitive for the instance with supply b $$ \boldsymbol{b} $$ . The prices p $$ \boldsymbol{p} $$ are the minimum competitive prices by Theorem 2, which yields p ( i ) p new ( i ) $$ p(i)\le {p}^{\mathrm{new}}(i) $$ .

Next, we consider the case b new = 0 $$ {b}_{\ell}^{\mathrm{new}}=0 $$ . We adapt the prices p new $$ {\boldsymbol{p}}^{\mathbf{new}} $$ to prices p $$ \overline{\boldsymbol{p}} $$ by setting p ( i ) = p new ( i ) $$ \overline{p}(i)={p}^{\mathrm{new}}(i) $$ for i Ω { } $$ i\in \Omega \setminus \left\{\ell \right\} $$ and p ( ) = max j B v j + 1 $$ \overline{p}\left(\ell \right)={\max}_{j\in B}{v}_{\mathit{\ell j}}+1 $$ . Thus, no buyer wants to buy an item of object $$ \ell $$ . Therefore, the given allocation is an assignment of buyers to one of their preferred bundles at prices p $$ \overline{\boldsymbol{p}} $$ for supply b $$ \boldsymbol{b} $$ . Using again that p $$ \boldsymbol{p} $$ is the minimum competitive price vector at supply b $$ \boldsymbol{b} $$ , we get p ( i ) p ( i ) = p new ( i ) $$ p(i)\le \overline{p}(i)={p}^{\mathrm{new}}(i) $$ for all i Ω { } $$ i\in \Omega \setminus \left\{\ell \right\} $$ .

Proof of Theorem 4.For a given modified instance we can construct an intermediate instance where only the demand is changed and the supply remains as in the original instance. With Lemma 8 this implies that prices only increase compared to the original instance. Now applying Lemma 9 to the intermediate instance gives the statement of the theorem.

The monotonicity allows for faster reoptimization by starting with the old Walrasian price vector.

Corollary 2.Given prices p $$ \boldsymbol{p} $$ we can compute p new $$ {\boldsymbol{p}}^{\mathbf{new}} $$ by applying at most p p new $$ {\left\Vert \boldsymbol{p}-{\boldsymbol{p}}^{\mathbf{new}}\right\Vert}_{\infty } $$ iterations of Algorithm 2 with start prices p ( i ) $$ p(i) $$ for all i Ω $$ i\in \Omega $$ with b i new > 0 $$ {b}_i^{\mathrm{new}}>0 $$ .

Theorem 1 allows starting with any initial price vector which is in every component at most as large as the minimum competitive price vector. Thus, Theorem 4 allows us to start Algorithm 2 at the price p ( i ) $$ p(i) $$ for all i Ω $$ i\in \Omega $$ with b i new > 0 $$ {b}_i^{\mathrm{new}}>0 $$ . Murota et al. [15] show that the number of iterations is then bounded by max { p ( i ) p new ( i ) | i Ω , b i new > 0 } $$ \max \left\{p(i)-{p}^{\mathrm{new}}(i)\kern0.15em |\kern0.15em i\in \Omega, \kern0.3em {b}_i^{\mathrm{new}}>0\right\} $$ . However, the following example shows that we cannot bound p p new $$ {\left\Vert \boldsymbol{p}-{\boldsymbol{p}}^{\mathbf{new}}\right\Vert}_{\infty } $$ even if the demand or supply is only slightly changed:

Example 2.Consider an instance with two buyers and two objects. The valuation of both buyers are ( M , M ) $$ \left(M,M\right) $$ , the demand for both is two and the supply of both objects is two. In this instance p = ( 0 , 0 ) $$ \boldsymbol{p}=\left(0,0\right) $$ are buyer-optimal competitive prices. Now assume the demand of one buyer is increased by one. In this case, the unique buyer-optimal prices are p new = ( M , M ) $$ {\boldsymbol{p}}^{\mathbf{new}}=\left(M,M\right) $$ and thus p p new = M $$ {\left\Vert \boldsymbol{p}-{\boldsymbol{p}}^{\mathbf{new}}\right\Vert}_{\infty }=M $$ . The same happens if the supply of one item is decreased by one.

It is worth pointing out that monotonicity is not guaranteed if the valuation functions are not gross substitute.

Example 3.Consider an instance with two buyers N = { 1 , 2 } $$ N=\left\{1,2\right\} $$ and two objects Ω = { α , β } $$ \Omega =\left\{\alpha, \beta \right\} $$ . The supply of each object is 1, the demand of both buyers is unbounded. The valuations are not given element-wise but as a set function by

v i ( ) = v i ( { α } ) = v i ( { β } ) = 0 , v i ( Ω ) = 1 $$ {v}_i\left(\varnothing \right)={v}_i\left(\left\{\alpha \right\}\right)={v}_i\left(\left\{\beta \right\}\right)=0,\kern1em {v}_i\left(\Omega \right)=1 $$
for i N $$ i\in N $$ . The valuations are complementarities, that is, here buyers want to buy items only in a bundle with the other object otherwise they have no value to the buyers (think of left-hand gloves and right-hand gloves). Gross substitutes always have the no-complementarities condition (see [10]). Any price vector that yields a total price of 1, together with an allocation that gives both objects to the same buyer is at equilibrium. However, if we reduce the supply of either object to 0, the unique Walrasian price vector is ( 0 , 0 ) $$ \left(0,0\right) $$ as each object on its own is worthless to both buyers.

5 EMBEDDING INTO EXISTING LITERATURE

The goal of this section is to show the connection between our algorithm and the existing work. In the first part we consider the connection to ascending auctions for strong gross substitute valuations. It turns out that computing a left-most min cut in our network directly corresponds to finding the inclusion-wise minimal set defining a steepest descent direction of the Lyapunov function in case of truncated additive valuation functions. In the second part we address the question whether the computed prices can be considered as VCG prices (see below for definition). While this does not hold for gross substitute valuations it is shown for single-unit demands. Unfortunately, for truncated additive valuations no mechanism based on prices per item can determine VCG prices as we show later on.

5.1 Comparison to ascending auction

Note that in our model the Lyapunov function can be rewritten to
L ( p ) = max j N i Ω ( v i j p ( i ) ) x i j + i Ω b i · p ( i ) $$ L\left(\boldsymbol{p}\right)=\max \sum \limits_{j\in N}\kern0.3em \sum \limits_{i\in \Omega}\left({v}_{ij}-p(i)\right){x}_{ij}+\sum \limits_{i\in \Omega}{b}_i\cdotp p(i) $$
subject to i Ω x i j d j $$ {\sum}_{i\in \Omega}{x}_{ij}\le {d}_j $$ and x i j [ 0 , b i ] $$ {x}_{ij}\in \left[0,{b}_i\right] $$ for all j N $$ j\in N $$ and all i Ω $$ i\in \Omega $$ .

Proposition 2.In our model with truncated additive valuation functions the difference of the Lyapunov function in an augmentation step equals the difference between the capacity of the s $$ s $$ -leaving arcs and the min cut value. More formally

L ( p ) L ( p + χ X ) = j Γ ( X ) max 0 , d j i Γ + ( j ) X c j i i X b i . $$ L\left(\boldsymbol{p}\right)-L\left(\boldsymbol{p}+{\boldsymbol{\chi}}_X\right)=\sum \limits_{j^{\bullet}\in {\Gamma}^{-}(X)}\max \left\{0,{d}_{j^{\bullet }}-\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus X}{c}_{j^{\bullet }i}\right\}-\sum \limits_{i\in X}{b}_i. $$

The first sum is the sum over the differences V j ( p ) V j ( p + χ X ) $$ {V}_j\left(\boldsymbol{p}\right)-{V}_j\left(\boldsymbol{p}+{\boldsymbol{\chi}}_X\right) $$ for each buyer. The difference corresponds to the total amount of items that j $$ j $$ wants to buy from X $$ X $$ under prices p $$ \boldsymbol{p} $$ without any alternative outside of X $$ X $$ . This yields the equation by definition of the Lyapunov function.

Lemma 10.Given prices p $$ \boldsymbol{p} $$ , the overdemanded set I $$ I $$ determined by the left-most min cut in G ( p ) $$ G\left(\boldsymbol{p}\right) $$ minimizes L ( p + χ X ) $$ L\left(\boldsymbol{p}+{\boldsymbol{\chi}}_X\right) $$ among all X Ω $$ X\subseteq \Omega $$ .

Proof.A set X Ω $$ X\subseteq \Omega $$ minimizes L ( p + χ X ) $$ L\left(\boldsymbol{p}+{\boldsymbol{\chi}}_X\right) $$ if and only if it maximizes

L ( p ) L ( p + χ X ) = j N ( V j ( p ) V j ( p + χ X ) ) i X b i . $$ L\left(\boldsymbol{p}\right)-L\left(\boldsymbol{p}+{\boldsymbol{\chi}}_X\right)=\sum \limits_{j\in N}\left({V}_j\left(\boldsymbol{p}\right)-{V}_j\left(\boldsymbol{p}+{\boldsymbol{\chi}}_X\right)\right)-\sum \limits_{i\in X}{b}_i. $$
Now we consider again the constructed auxiliary networks G ( p ) $$ G\left(\boldsymbol{p}\right) $$ and G ( p + χ X ) $$ G\left(\boldsymbol{p}+{\boldsymbol{\chi}}_X\right) $$ and the induced changes in capacities. With Proposition 2, we obtain that X Ω $$ X\subseteq \Omega $$ maximizes
j Γ ( X ) max { 0 , d j i Γ + ( j ) X c j i } i X b i $$ \sum \limits_{j^{\bullet}\in {\Gamma}^{-}(X)}\max \left\{0,{d}_{j^{\bullet }}-\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus X}{c}_{j^{\bullet }i}\right\}-\sum \limits_{i\in X}{b}_i $$ (8)
Given an X $$ X $$ that minimizes L ( p + χ X ) $$ L\left(\boldsymbol{p}+{\boldsymbol{\chi}}_X\right) $$ , we construct the cut
C X = { s } { j N N | d j > i Γ + ( j ) X c j i } X . $$ {C}_X=\left\{s\right\}\cup \left\{{j}^{\bullet}\in {N}^{\prime}\cup {N}^{\prime \prime}\kern0.15em |\kern0.15em {d}_{j^{\bullet }}>\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus X}{c}_{j^{\bullet }i}\right\}\cup X. $$
The structure of the cut, determined by our algorithm from set I $$ I $$ , is given by
C = { s } { j N N | d j > i Γ + ( j ) I c j i } I . $$ C=\left\{s\right\}\cup \left\{{j}^{\bullet}\in {N}^{\prime}\cup {N}^{\prime \prime}\kern0.15em |\kern0.15em {d}_{j^{\bullet }}>\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus I}{c}_{j^{\bullet }i}\right\}\cup I. $$
We can show that C X $$ {C}_X $$ is also a min cut:
0 cap ( C ) cap ( C X ) = i I b i + j N N min { d j , i Γ + ( j ) I c j i } i X b i j N N min { d j , i Γ + ( j ) X c j i } = i I b i + j N N d j max { 0 , d j i Γ + ( j ) I c j i } i X b i j N N d j max { 0 , d j i Γ + ( j ) X c j i } = j N N max { 0 , d j i Γ + ( j ) X c j i } i X b i j N N max { 0 , d j i Γ + ( j ) I c j i } i I b i 0 , $$ {\displaystyle \begin{array}{ll}\hfill 0& \ge \mathrm{cap}(C)-\mathrm{cap}\left({C}_X\right)\\ {}\hfill & =\sum \limits_{i\in I}{b}_i+\sum \limits_{j^{\bullet}\in {N}^{\prime}\cup {N}^{\prime \prime }}\min \left\{{d}_{j^{\bullet }},\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus I}{c}_{j^{\bullet }i}\right\}-\sum \limits_{i\in X}{b}_i-\sum \limits_{j^{\bullet}\in {N}^{\prime}\cup {N}^{\prime \prime }}\min \left\{{d}_{j^{\bullet }},\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus X}{c}_{j^{\bullet }i}\right\}\\ {}\hfill & =\sum \limits_{i\in I}{b}_i+\sum \limits_{j^{\bullet}\in {N}^{\prime}\cup {N}^{\prime \prime }}\left({d}_{j^{\bullet }}-\max \left\{0,{d}_{j^{\bullet }}-\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus I}{c}_{j^{\bullet }i}\right\}\right)\\ {}\hfill & -\sum \limits_{i\in X}{b}_i-\sum \limits_{j^{\bullet}\in {N}^{\prime}\cup {N}^{\prime \prime }}\left({d}_{j^{\bullet }}-\max \left\{0,{d}_{j^{\bullet }}-\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus X}{c}_{j^{\bullet }i}\right\}\right)\\ {}\hfill & =\left(\sum \limits_{j^{\bullet}\in {N}^{\prime}\cup {N}^{\prime \prime }}\max \left\{0,{d}_{j^{\bullet }}-\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus X}{c}_{j^{\bullet }i}\right\}-\sum \limits_{i\in X}{b}_i\right)-\left(\sum \limits_{j^{\bullet}\in {N}^{\prime}\cup {N}^{\prime \prime }}\max \left\{0,{d}_{j^{\bullet }}-\sum \limits_{i\in {\Gamma}^{+}\left({j}^{\bullet}\right)\setminus I}{c}_{j^{\bullet }i}\right\}-\sum \limits_{i\in I}{b}_i\right)\\ {}\hfill & \ge 0,\end{array}} $$
where the first inequality follows from the fact that C $$ C $$ is a min cut and the last inequality follows from (8), that is, that X $$ X $$ maximizes the term. Hence, C X $$ {C}_X $$ is a min cut. Moreover the choice X = C Ω $$ X=C\cap \Omega $$ minimizes L ( p + χ X ) $$ L\left(\boldsymbol{p}+{\boldsymbol{\chi}}_X\right) $$ , since equality holds in the chain of inequalities.

5.2 Adapted step length

One natural approach to speed up the computation of buyer-optimal prices is to increase the length of the augmentation steps. In Algorithm 2 this means given a left-most min cut, increase the prices of the corresponding objects until the min cut changes. In the more general case of strong substitute valuation functions, this means a steepest descent direction of the Lyapunov function is used as long as it remains the steepest descent direction (see [20] section 3, Theorem 4.17). The fact that increasing the prices on the objects in a left-most min cut as long as possible is indeed a special case of the algorithm of Shioura follows by Lemma 10.

How to find this step length is not immediate. It is not enough to ask all buyers for the information when the preferred sets Ω $$ {\Omega}^{\prime } $$ , Ω $$ {\Omega}^{\prime \prime } $$ and Ω $$ {\Omega}^{\prime \prime \prime } $$ change. It is well possible that these sets change but the items on which the prices should be increased may not. One possibility to find the correct step length is using a binary search. This comes with the drawback that it destroys the natural process of increasing prices but with the advantage that it allows us to use the same oracle model as before.

That a binary search can be used for determining the step length is possible by the following proposition of Shioura [20].

Proposition 3. ([[20], Proposition 4.16])In an ascending auction, whenever a steepest descent direction of the Lyapunov function becomes infeasible one of the following two things happens: either the support of the direction increases, or the slope with which the Lyapunov function changes decreases.

For us, this means whenever the set determined by a cut is not the inclusion-wise minimal maximum overdemanded set any longer, then either the number of objects in the left-most min cut increases or the overdemandedness decreases. Due to the resulting monotonicity we can apply binary search to determine the step length.

This observation allows to bound the number of price raising steps as done by [20] in a similar way for the general setting.

Algorithm 5. Adapted step length algorithm

Lemma 11.The running time of an ascending flow auction with adapted step length as described in Algorithm 5 is given by 𝒪 ( log ( v max ) | Ω | D 0 | N | ( | Ω | + TO ) ) , where v max = max j N , i Ω v i j $$ {v}_{\mathrm{max}}={\max}_{j\in N,i\in \Omega}{v}_{ij} $$ and D 0 = j N d j $$ {D}_{\mathbf{0}}={\sum}_{j\in N}{d}_j $$ .

Proof.To prove the statement we will show two claims from which it follows directly. We start by bounding the time of an update step. As an update step, we summarize a flow augmentation (by a value of one), a min cut computation, and an update of the network and the flow from one iteration to the next. In the next step we will bound the total number of update steps needed. Note that the number of update steps does not correspond to the iterations of the while-loop in Algorithm 5.

Claim.Every update step takes time at most 𝒪 ( | N | TO + | N | | Ω | ) .

Proof.To increase the flow by one unit (or more), we use a breadth first search (BFS) in the residual network. The same is true for the computation of a min cut. The BFS runs in time 𝒪 ( | N | | Ω | ) .

By Lemma 4 the adaption of the network runs in time 𝒪 ( | N | TO + | N | | Ω | ) .

Now, we bound the number of update steps.

Claim.The number of update steps is bounded by 𝒪 ( log ( v max ) | Ω | D 0 ) .

Proof.In total the auction finds some prices p $$ {p}^{\ast } $$ and some flow f $$ {f}^{\ast } $$ such that val ( f ) = D p $$ \mathrm{val}\left({f}^{\ast}\right)={D}_{{\boldsymbol{p}}^{\ast}} $$ or in other words val ( f ) D p = 0 $$ \mathrm{val}\left({f}^{\ast}\right)-{D}_{{\boldsymbol{p}}^{\ast}}=0 $$ . It starts with the all 0-flow and D 0 $$ {D}_{\mathbf{0}} $$ . During the algorithm val ( f ) D p $$ \mathrm{val}(f)-{D}_{\boldsymbol{p}} $$ is nonincreasing (see Corollary 1). If it decreases in an update step it decreases by at least by one.

Using Proposition 3 we can show that this value decreases all 𝒪 ( log ( v max ) | Ω | ) update steps.

Given some network and some flow, if we can augment the flow, clearly the value val ( f ) D p $$ \mathrm{val}(f)-{D}_{\boldsymbol{p}} $$ decreases. So assume it is not possible to augment the flow. With one update step we can recognize this situation and compute a min cut giving an inclusion-wise minimal maximum overdemanded set. It is possible that we adapt the network in the next update step, but in the resulting graph, the adapted flow is already maximum, that is, the min cut does not change. Using a binary search, we can find in 𝒪 ( log ( v max ) ) time a point where the min cut changes.

It is still possible that the left-most min cut changes, but the value of the min cut and thus of the flow remains the same. Using Proposition 3, we know that the left-most min-cut changes monotonically. By the structure of the network, the left-most min cut is determined by the objects in the cut. Thus, a left-most min cut with the same value can be seen at most | Ω | $$ \mid \Omega \mid $$ times. Thus, after 𝒪 ( log ( v max ) | Ω | ) update steps, the flow needs to be augmentable.

This finishes the proof since the algorithm does at most 𝒪 ( log ( v max ) | Ω | D 0 ) update steps of cost 𝒪 ( | N | TO + | N | | Ω | ) each.

5.3 VCG prices

When assuming that every object is owned by a seller and the revenue of the seller is the sum of prices he collects from buyers, then every Walrasian equilibrium is socially optimal (see e.g., [17]). “Socially optimal” means that the utility of the buyers plus the utility of the seller is maximum among all allocation and price combinations ( p , x ) $$ \left(\boldsymbol{p},\boldsymbol{x}\right) $$ . This observation follows since in a Walrasian equilibrium ( p , x ) $$ \left({\boldsymbol{p}}^{\ast },{\boldsymbol{x}}^{\ast}\right) $$ every buyer maximizes her payoff given prices p $$ {\boldsymbol{p}}^{\ast } $$ . The sum of the prices cancels out since the sellers get what the buyers pay. Therefore, the Walrasian equilibrium is socially optimal.

A famous mechanism in auction theory is the VCG mechanism (see for an introduction [18] and [4, 9, 21] for the original papers). It takes bids or valuation functions of the buyers and computes an allocation and prices. The VCG mechanism is essential for auction theory, since it has two nice properties. First, the computed allocation, is socially optimal and second, the mechanism is truthful. This means, for a buyer it never pays off to lie, that is, when reporting the true valuations a buyer j $$ j $$ is never worse off than with reporting a fake valuation. Moreover, there exist some reported valuations of the other buyers where it is strictly better for buyer j $$ j $$ to report her true valuations than to lie.

Single-unit matching markets. As introduced in Section 1, a famous special case of our model is the classical matching market (in the literature also commonly referred to as housing market) model, where buyers have unit demand. Interestingly, in this restricted model, the buyer-optimal Walrasian prices coincide with prices that are computed with the VCG mechanism ([4, 9, 21]) using Clarke's pivot rule (see [14]). We call these prices VCG prices. The VCG mechanism is known for the fact that it is a dominant strategy for all buyers to announce their valuations truthfully. However, note that this is only true for a sealed-bid auction and not necessarily an ascending auction, in which buyers might learn about other buyers' valuations as the auction progresses and are hence able to react and adjust their bidding strategy. Note that the ascending auction could be seen as a proxy auction to determine VCG prices when buyers submit their valuation for each item to a proxy bidder who answers all queries of the auctioneer truthfully.

The property that minimal Walrasian prices coincide with VCG prices does not hold for markets where buyers have non-unit demand. In Proposition 4, we show that VCG prices in such markets might require that different buyers get charged different prices for the same object. Moreover, it has already been observed in [11] that an auctioneer cannot get enough information in an ascending auction about buyers' valuation functions to determine VCG prices in those markets.

We show that for truncated additive valuations, no prices that are based on a per-object price can coincide with the VCG prices. But before, we show that the very natural approach to copy buyers and give them unit demand does not lead to VCG prices.

Let us revisit Example 1 from Section 1 and observe that the duplication method is not truthful, that is, it pays off to lie, and thus does not lead to VCG prices. For the buyer it would be strictly better to report the sets according to the valuation v 1 = ( 1 , 1 ) $$ {v}_{\bullet 1}=\left(1,1\right) $$ .

Proposition 4.There is an example with buyers having truncated additive valuations where there exists no mechanism to determine prices per object that coincide with the VCG prices.

The following example shows that we need prices per bundle to obtain VCG prices, so the proposition holds.

Example 4.Let N = { 1 , 2 , 3 } $$ N=\left\{1,2,3\right\} $$ and Ω = { α , β } $$ \Omega =\left\{\alpha, \beta \right\} $$ with demands d 1 = d 2 = 2 , d 3 = 1 $$ {d}_1={d}_2=2,{d}_3=1 $$ , supplies b α = 3 , b β = 2 $$ {b}_{\alpha }=3,{b}_{\beta }=2 $$ , and valuations v 1 = ( 3 , 1 ) $$ {v}_1=\left(3,1\right) $$ , v 2 = ( 2 , 0 ) $$ {v}_2=\left(2,0\right) $$ , and v 3 = ( 0 , 1 ) $$ {v}_3=\left(0,1\right) $$ . It is easy to see that both feasible allocations (buyer 1 or 2 gets two items of object α $$ \alpha $$ , the other one gets one item of each object, buyer 3 gets one item of object β $$ \beta $$ in both allocations) are socially optimal. Say buyer 1 gets two items of α $$ \alpha $$ , buyer 2 gets α $$ \alpha $$ only once. Then the net effect of buyer 1 on buyer 2 (i.e., the cost that buyer 1 imposes on buyer 2 by her presence) is 2, so the only possible price for object α $$ \alpha $$ is 1. Since buyer 2 also has to purchase an item of α $$ \alpha $$ once, object β $$ \beta $$ needs to be subsidized (i.e., assigned a price of 1 $$ -1 $$ ) to give her a total cost of 0. However, this would give buyer 3 total cost of 1 $$ -1 $$ , which is not VCG.

As an immediate observation from the last example, we can also see that it would have been better for buyer 2 to submit her preferred bundles according to a false valuation function v ˜ 2 = ( 0 , 0 ) $$ {\tilde{v}}_2=\left(0,0\right) $$ , which would have resulted in prices p = ( 0 , 0 ) $$ \boldsymbol{p}=\left(0,0\right) $$ and the same allocation. Hence, she would have gotten a payoff of 2. The prices we would have obtained by the auction with truthful reporting would have been ( 2 , 0 ) $$ \left(2,0\right) $$ which yields a payoff of 0 for buyer 2. Thus, the ascending auction does not incentivize truthful reporting of demand sets.

6 CONCLUSION AND OUTLOOK

We present a network interpretation of an ascending auction for a multi-unit market where buyers have truncated additive valuations. We show that by iteratively raising the prices on a left-most min cut we can compute buyer-optimal Walrasian prices via an ascending auction. The new part here is the simple and efficient flow-based algorithm to determine the sets on which prices should be raised in the ascending auction, namely the minimal maximum overdemanded sets. For the special case of unit demand a nice matching based algorithm was known to compute these sets. For the general case of strong gross substitute valuations, in prior literature, this question was either not addressed or the computation was done by using tools from convex analysis. We currently work on a more natural and direct approach to compute the minimal maximum overdemanded sets also in the general setting.

With our approach we are, moreover, able to reuse computations from previous iterations to speed up the computation. Combining this with the algorithm using adapted step length allows for an improved running time analysis for the complete auction. Still the resulting running time is not polynomial but only pseudo-polynomial. While buyer-optimal Walrasian prices can be computed directly by using an LP, it remains open whether there is an iterative ascending auction that runs in polynomial time. Note that when using an LP approach, the buyers need to reveal their whole valuation function, while they only reveal their preferred bundles in the more natural iterative auction.

Our approach enabled us to show that the minimum Walrasian prices coincide with the minimum competitive prices for truncated additive valuations. This connection seems very natural but was never discussed before. It is the main part of our proof to show monotonicity properties, that is, that buyer-optimal Walrasian prices can only increase when the supply decreases or the demand increases. We are working on achieving a similar result for the general case of strong gross substitute valuations. Also in this case the connection between minimum Walrasian prices and minimum competitive prices seems intuitive and would imply monotonicity results.

Lastly, the number of iterations necessary to reach buyer-optimal Walrasian prices for a slightly perturbed instance is not polynomial bounded for the perturbations we considered. It is an interesting question whether there are perturbations where the algorithm reaches buyer-optimal Walrasian prices again with only constantly many, or only polynomial many update steps.

ACKNOWLEDGMENTS

We would like to thank two anonymous reviewers who raised interesting questions and provided further insights, helping us to improve multiple sections of the article. Open Access funding enabled and organized by Projekt DEAL.

    DATA AVAILABILITY STATEMENT

    Data sharing not applicable to this article as no datasets were generated or analyzed during the current study.

    • 1 However, we should point out that there are other classes that are in some sense orthogonal to gross substitutes that have different interesting applications. In particular, complementarities form one such interesting class.
    • 2 Here maximum does not refer to the size of the set but to the overdemandedness, that is, the difference between demand and supply of that set.
    • 3 Note that this also holds even if there is no item that is dropped (i.e., the supply for these objects does not exceed the demand). This way, the formal definition is straightforward and we do not have to deal with case distinctions in the analysis.

    The full text of this article hosted at iucr.org is unavailable due to technical difficulties.