Auction Algorithm: Difference between revisions

From Optimal Transport Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 21: Line 21:
*First, find a particular buyer. We will call this buyer <math> i^* </math>. We will only choose a buyer such that <math> (*) </math> does not hold. The buyer then finds the good maximizing the difference their personal utility and the price, i.e. <math> \max_{j = 1,...,N} { a_{i^* j} - p_j } </math>. This buyer exchanges their good with this other buyer that originally held this good. Denote this new good <math> j^* </math>.
*First, find a particular buyer. We will call this buyer <math> i^* </math>. We will only choose a buyer such that <math> (*) </math> does not hold. The buyer then finds the good maximizing the difference their personal utility and the price, i.e. <math> \max_{j = 1,...,N} { a_{i^* j} - p_j } </math>. This buyer exchanges their good with this other buyer that originally held this good. Denote this new good <math> j^* </math>.


*This buyer that just purchased the good maximizing their utility is going to increase the price of this new good until this buyer is indifferent between object <math> j^* </math> and the second best option. Mathematically, we say <math> a_{i^* j^*} - p_{j^*} = \max_{j \neq j^*} {a_{i^* j} - p_j } </math>
*This buyer that just purchased the good maximizing their utility is going to increase the price of this new good until this buyer is indifferent between object <math> j^* </math> and the second best option. Mathematically, we say <math> a_{i^* j^*} - p_{j^*} = \max_{j \neq j^*} \{a_{i^* j} - p_j \} </math>





Revision as of 21:17, 14 May 2020

The auction algorithm[1] is an algorithm in optimal transport in which a set of buyers exchange goods for varied prices until an eventual equilibrium is reached. It is an iterative approach. The algorithm pertains to the discrete formulation of optimal transport, as well as provides a connection to the dual problem. The algorithm is useful in the field of economics because of its ability to find an equilibrium. The algorithm was invented by Bertsekas[2], but it was eventually updated.


The Assignment Problem

It is necessary to introduce the assignment problem because it applies a context in which we may apply our algorithm to find such an optimal equilibrium. Suppose we have both buyers as well as goods. We introduce to quantify the notion of some sort of utility, benefit, or happiness the buyer receives from their corresponding good. The assignment problem therefore seeks a way to maximize , i.e., we hope to maximize the total utility. Note this is different from maximizing the utility of a particular buyer, because we seek to benefit the whole group the most. We use the index to denote a particular buyer we use the second index to denote the good, where is some permutation of the goods among all of the buyers. A final thing to note is that the assignment of people to goods is one-to-one, i.e. there is one distinct good for every distinct buyer.


We've established what the aim of the assignment problem is, but we have yet to establish a sense of equilibrium that the auction algorithm hopes to achieve. First, we must define a price system. Use a function to denote a variable price of a good, where represents the goods that are available. We will reduce this function to say more simply that a good has price , which can be rewritten . Next, we define the equilibrium condition. The equilibrium is that all buyers are content with their purchases if

is satisfied. Another common way that means the system is in equilibrium is the statement that all of the buyers are "happy." Notationally, we say is an equilibrium. If this is an equilibrium, then is an optimal assignment, and is optimal in the dual problem.


The Algorithm

The algorithm starts from an arbitrary arrangement of buyers and goods. It does not matter to the algorithm who begins with what good. Denote this arbitrary arrangement with the prices and good permutation as . The algorithm acts with iterations, and once all buyers satisfy the "happy" condition, our algorithm is done. The algorithm is as follows:


  • First, find a particular buyer. We will call this buyer . We will only choose a buyer such that does not hold. The buyer then finds the good maximizing the difference their personal utility and the price, i.e. . This buyer exchanges their good with this other buyer that originally held this good. Denote this new good .
  • This buyer that just purchased the good maximizing their utility is going to increase the price of this new good until this buyer is indifferent between object and the second best option. Mathematically, we say


References

Cite error: <ref> tag with name "Santambrogio" defined in <references> is not used in prior text.