# Auction algorithm

Wikipedia open wikipedia design.The term "**auction algorithm**"^{[1]} applies to several variations of a combinatorial optimization algorithm which solves assignment problems, and network optimization problems with linear and convex/nonlinear cost. An *auction algorithm* has been used in a business setting to determine the best prices on a set of products offered to multiple buyers. It is an iterative procedure, so the name "auction algorithm" is related to a sales auction, where multiple bids are compared to determine the best offer, with the final sales going to the highest bidders.

The original form of the auction algorithm is an iterative method to find the optimal prices and an assignment that maximizes the net benefit in a bipartite graph, the *maximum weight matching problem* (MWM).^{[2]}^{[3]} This algorithm was first proposed by Dimitri Bertsekas in 1979. Detailed analysis and extensions to more general network optimization problems (ε-relaxation in 1986, and network auction in 1992) are provided in his network optimization books Linear Network Optimization 1991, and Network Optimization: Continuous and Discrete Models 1998. The auction algorithm has excellent computational complexity, as given in these books, and is reputed to be among the fastest for solving single commodity network optimization problems. In addition, the original version of this algorithm is known to possess a distributed nature particularly suitable for distributed systems, since its basic computational primitives (bidding and auctioning) are localized rather than relying on queries of global information.^{[1]} However, the original version that is intrinsically distributable has a pseudo-polynomial time complexity, which means that the running time depends on the input data pattern. Later versions have improved the time complexity to the state-of-the-art level by using techniques such as *ε-scaling* (also discussed in the original 1979 paper)^{[4]} but at the sacrifice of undermining its distributed characteristics. In order to retain the distributed nature and also attain a polynomial time complexity, recently some researchers from the multi-agent community have been trying to improve the earlier version of the auction algorithm by switching to a different economic model, namely, from the selfish bidders' perspective to a merchant’s point of view, where the merchant of a market adjusts the article prices in order to quickly clear the inventory.^{[5]}

The ideas of the auction algorithm and ε-scaling^{[1]} are also central in preflow-push algorithms for single commodity linear network flow problems. In fact the preflow-push algorithm for max-flow can be derived by applying the original 1979 auction algorithm to the max flow problem after reformulation as an assignment problem; see the 1998 Network Optimization book, by Bertsekas, Section 7.3.3. Moreover, the preflow-push algorithm for the linear minimum cost flow problem is mathematically equivalent to the ε-relaxation method, which is obtained by applying the original auction algorithm after the problem is reformulated as an equivalent assignment problem.^{[6]}

A later variation of the auction algorithm that solves shortest path problems was introduced by Bertsekas in 1991.^{[7]} It is a simple algorithm for finding shortest paths in a directed graph. In the single origin/single destination case, the auction algorithm maintains a single path starting at the origin, which is then extended or contracted by a single node at each iteration. Simultaneously, at most one dual variable will be adjusted at each iteration, in order to either improve or maintain the value of a dual function. In the case of multiple origins, the auction algorithm is well-suited for parallel computation.^{[7]} The algorithm is closely related to auction algorithms for other network flow problems.^{[7]} According to computational experiments, the auction algorithm is generally inferior to other state-of-the-art algorithms for the all destinations shortest path problem, but is very fast for problems with few destinations (substantially more than one and substantially less than the total number of nodes); see the article by Bertsekas, Pallottino, and Scutella, Polynomial Auction Algorithms for Shortest Paths.

Auction algorithms for shortest hyperpath problems have been defined by De Leone and Pretolani in 1998. This is also a parallel auction algorithm for weighted bipartite matching, described by E. Jason Riedy in 2004.^{[8]}

## Comparisons[edit]

The (sequential) auction algorithms for the shortest path problem have been the subject of experiments which have been reported in technical papers.^{[9]} Experiments clearly show that the auction algorithm is inferior to the state-of-the-art shortest-path algorithms for finding the optimal solution of single-origin to all-destinations problems.^{[9]}

Although with the auction algorithm the total benefit is monotonically increasing with each iteration, in the *Hungarian algorithm* (from Kuhn, 1955; Munkres, 1957) the total benefit strictly increases with each iteration.

The auction algorithm of Bertsekas for finding shortest paths within a directed graph is reputed to perform very well on random graphs and on problems with few destinations.^{[7]}

## See also[edit]

## References[edit]

- ^
^{a}^{b}^{c}Dimitri P. Bertsekas. "A distributed algorithm for the assignment problem", original paper, 1979. **^**M.G. Resende, P.M. Pardalos. "Handbook of optimization in telecommunications", 2006**^**M. Bayati, D. Shah, M. Sharma. "A Simpler Max-Product Maximum Weight Matching Algorithm and the Auction Algorithm", 2006, webpage PDF: MIT-bpmwm-PDF.**^**Dimitri P. Bertsekas. "The auction algorithm for assignment and other network flow problems: A tutorial".*Interfaces*, 1990**^**L. Liu, D. Shell. "Optimal Market-based Multi-Robot Task Allocation via Strategic Pricing", 2013. online PDF**^**Dimitri P. Bertsekas. "Distributed Relaxation Algorithms for Linear Network Flow Problems," Proc. of 25th IEEE CDC, Athens, Greece, 1986, pp. 2101-2106, online from IEEEXplore [1]- ^
^{a}^{b}^{c}^{d}Dimitri P. Bertsekas. "An auction algorithm for shortest paths",*SIAM Journal on Optimization*, 1:425—447, 1991,PSU-bertsekas91auction **^**"The Parallel Auction Algorithm for Weighted Bipartite Matching", E. Jason Riedy, UC Berkeley, February 2004, Berkeley-para4-PDF^{[permanent dead link]}.- ^
^{a}^{b}Larsen, Jesper; Pedersen, Ib (1999). "Experiments with the auction algorithm for the shortest path problem".*Nordic Journal of Computing*.**6**(4): 403–42. ISSN 1236-6064., see also A note on the practical performance of the auction algorithm for the shortest path Archived 2011-06-05 at the Wayback Machine (1997) by the first author.

## External links[edit]

- Dimitri P. Bertsekas. "Linear Network Optimization", MIT Press, 1991, on-line.
- Dimitri P. Bertsekas. "Network Optimization: Continuous and Discrete Models", Athena Scientific, 1998.
- Dimitri P. Bertsekas. "An auction algorithm for shortest paths",
*SIAM Journal on Optimization*, 1:425—447, 1991, webpage: PSU-bertsekas91auction. - D.P. Bertsekas, S. Pallottino, M. G. Scutella. "Polynomial Auction Algorithms for Shortest Paths," , Computational Optimization and Applications, Vol. 4, 1995, pp. 99-125.
- Implementation of Bertsekas' Auction algorithm in Matlab by Florian Bernard, webpage: Matlab File Exchange.

This page is based on a Wikipedia article written by contributors (read/edit).

Text is available under the CC BY-SA 4.0 license; additional terms may apply.

Images, videos and audio are available under their respective licenses.