Auction Algorithm

From Optimal Transport Wiki
Jump to navigation Jump to search

The auction algorithm[1] is an algorithm connected to the dual problem, but it is not based on a sequence of improvements of the dual objective function. Instead, it attempts to seek an equilibrium. Because of such, the algorithm has applications in economics.

The Assignment Problem

We begin by discussing the assignment problem. Consider the specialized case when weights and are equal. Suppose we have buyers, denoting the index with , and goods to be bought, denoted by . We look for an assignment which maximizes . The values are the utilities of buyer when he/she buys item . Now, we look at a price system . Given a price system and as assignment , we say that it is an equilibrium if for every , we have . The buyers satisfying this condition are said to be "happy." This only corresponds to writing the equilibrium condition in terms of a coupling induced by a permutation. It is well known that if is an equilibrium, then is an optimal assignment (and is optimal in the dual problem).

The Algorithm

Start from an arbitrary pair .

At every step, we have a pair . If it is an equilibrium, stop the algorithm. Otherwise, pick any among those such that . The selected buyer implements two actions:

1) he/she chooses one good realizing the maximum in and exchanges his/her own good with the buyer who was originally assigned to .

2) he/she increases the price of to a new value which is such that he/she is indifferent between and his/her second best object in .

Thus, the new price of is .

The new price system is defined by setting for and . The new permutation is obtained by composing with the transposition which exchanges and .


References

[1]