A FORMULATION OF COMBINATORIAL AUCTION VIA REVERSE CONVEX PROGRAMMING

In combinatorial auctions, buyers and sellers bid not only for single items but also for combinations (or “bundles,” or “baskets”) of items. Clearing the auction is in general an NP-hard problem; it is usually solved with integer linear programming. We proposed in an earlier paper a continuous approximation of this problem, where orders are aggregated and integrality constraints are relaxed. It was proved that this problem could be solved efficiently in two steps by calculating two fixed points, first the fixed point of a contraction mapping, and then of a set-valued function. In this paper, we generalize the problem to incorporate constraints on maximum price changes between two auction rounds. This generalized problem cannot be solved by the aforementioned methods and necessitates reverse convex programming techniques.


Introduction
Trading combinations are becoming more and more popular, not only on securities and commodities exchanges, where they were born, but also on business-to-business (B2B) auctions for other types of items.Both types of exchanges need fast algorithms to clear the combinatorial auction, or the combination trading (CT) problem.In some particular cases, an auction can be designed to be computationally manageable [8], that is, network optimization can be used.In the most general case, auctions are integer linear programs.Even when the integrality constraint is relaxed, computing times increase dramatically with the size of the problem [10].This paper explores different formulations of the combinatorial auction problem, which are computationally more efficient on large problems.
When markets are deep, that is, there is a large number of orders in each commodity or baskets of commodities, it becomes advantageous to aggregate orders; furthermore, we can greatly reduce the size of the problem by adopting a different formulation of CT, the market balance problem (MB).In [10], we constructed an approximation of MB, called the continuous MB model, in which staircase demand/supply functions are approximated by continuous functions.The continuous MB problem can be solved efficiently by calculating the fixed point of a contraction mapping.This solution can be used as a starting point for a homotopy algorithm which calculates the solution of the original MB problem.
In this paper, we examine the effect of additional price constraints on the combination trading problem.These constraints often arise in a continuous trading environment: exchanges close when prices change too wildly.In a batch trading environment, a similar mechanism is to match only a subset of the orders; in case of a market crash, sell orders for instance would be matched only if their limit price is less than a fixed percentage (e.g., 90%) of the previous round clearing price.Like CT, the combination trading with price constraints (CTPC) problem can be transformed into a much smaller model, the market balance model with price constraints (MBPC).The approximation of MBPC, that is, the continuous MBPC model, cannot however be transformed into a fixed point problem, so we developed areverse convex approximation (RCP1), which can be solved by reverse convex programming algorithms (see, e.g., [3,4,5,6,7,12]).The solution of the continuous MBPC problem can then be used as an initial solution of a homotopy algorithm to find the solution of the original MBPC problem.Each step of the homotopy requires solving a different instance of another reverse convex program, which we call RCP2 hereafter.

The combination trading with price constraints problem
Notation.In the special case when each ith component of the value of a function f mapping an m-dimensional space to an m-dimensional space depends only on the ith component x i of the argument x i , we use the notation f (x) for the vector value, and f i (x i ) for the component value.When applied to one term, the square parenthesis means "the integer part of ": [x i ] is the largest integer smaller than the real number x i , whereas a[b + c] is the product of a by the sum of b and c, as usual.
In our model, traders place limit orders on an exchange, with a limit price, and a limit quantity.The exchange sets a clearing price for each commodity, and allocates realized quantities to buyers and sellers against cash.However, only the buyers with limit price superior or equal to the buy clearing price are matched, where the buy clearing price is constrained by the exchange.Reciprocally, only sellers with limit price inferior or equal to the sell clearing price are matched.Partial matching is allowed, meaning that buyers/sellers can trade any quantity up to the limit quantity, provided that the rules mentioned above are respected.
There are two kinds of commodities: primitive commodities, and combinations.Combinations are defined in terms of the quantity of each primitive commodity a combination buyer receives or delivers after his combination order is executed.We have m primitive commodities and n − m combinations.Each commodity i = 1•••n is therefore defined by a real-valued vector a i , which stores the coefficients of each primitive commodity.The column vectors a i are collected in a matrix A. For convenience, we place the primitive commodities to the left of the matrix A, therefore we write (2.1)

Henry Schellhorn 21
Throughout the text, we will use the superscripts B and N to denote primitive "basic" commodities, and combinations, respectively.The superscript B should not be confused with the superscript b which is applied to "buy orders" as opposed to the superscript s which is applied to "sell orders." We analyze the particular case of an auction where only sellers are allowed to place combination orders.Note that we could have analyzed the symmetric problem, where only buyers are allowed to place combination orders.This restriction is of interest because many B2B exchanges are currently either buyer auctions or seller auctions.If both buyers and sellers were allowed to trade combinations, our first reverse convex program (but not the second one) would have multiple reverse convex constraints.
We assume without loss of generality that each trader places only one order.As mentioned in [8], we can analyze traded quantities at three levels of trade aggregation.At the lowest level of trade aggregation, we keep track of each deal between the traders.At the middle, we aggregate each deal a trader participated in his allocation.At the highest level, we group all traders with the same limit price.

Middle level of trade aggregation.
On each commodity i, we have N b (i) buyers and N s (i) sellers.Each buyer b = 1•••N b (i) of commodity i places a limit order with integer-valued limit price β(i,b) and positive quantity q b (i,b).Each seller s = 1•••N s (i) of commodity i places a limit order with limit price σ(i,s) and limit quantity q s (i,s).The exchange institution then selects three n-dimensional real-valued vectors, the clearing price p, the buy clearing price p b , and the sell clearing price (with p s ≤ p ≤ p b ); and an allocation z b (i,b) ≥ 0 for each buyer and z s (i,s) ≤ 0 for each seller.Again, without price constraints, the model would simplify to CT, that is, p = p b = p s .The exchange can set the clearing price according to various rules, without changing the results of this article; a good choice would be Given the transaction price π from the previous round of trading, the auctioneer decides upon a percentage α between 0 and 1 (such as 90%), in order to bound the variation of the clearing price.The exchange could place constraints on either one of the three clearing prices.Without loss of generality, we choose the sell clearing price.The price constraint is As we will see later, optimal prices are consistent, that is, Therefore, the price constraints have a particular structure.Note that the exchange could also impose sectorial price constraints, that is, limit price variations on sectorial indices.They would translate into more general inequalities relating weighted sums of primitive commodity prices.For simplicity of exposition, we do not consider these constraints in this paper, but our results still apply.
The value of the utility functions of the buyers and sellers after trading are (2.5) The limit price constraints are, for all buyers and sellers, (2.6) The limit quantity constraints are, for all buyers and sellers, The market clearing equations express the fact that combination orders can be matched against orders for primitive commodities (2.8)

Highest level of trade aggregation.
We aggregate demand and supply into two R n → N n functions: the aggregate demand F b and the aggregate supply F s .For each commodity i, we have where 1[A] takes value 0 when A is false and 1 when A is true.We define [y − i , y + i ] as the smallest interval that contains all buy and sell limit orders for commodity i and Y as the Cartesian product of these intervals (restricted to integers).In a similar fashion, we aggregate the allocation into two Z n → N n functions: the aggregate buy quantity f b and Henry Schellhorn 23 the aggregate sell quantity f s .For each commodity i, we have (2.10) In order to simplify notation, we also define the allocated quantity for all traders that have the same limit price y i : (2.11) The objective of the auctioneer is to maximize the utilitarian social welfare functional, that is, the surplus or sum of profits of all traders.The decision variables of the auctioneer are the buy/sell quantities f b (y), f s (y), the real-valued clearing prices p, p b , p s , and the price offset ∆p defined as (2.12) The CTPC problem consists therefore of max p,p b ,p s ,∆p≥0 2), (2.3), and (2.12).

First reverse convex program (RCP1)
The transformation of CTPC into a reverse convex program is done in two steps.We first prove, like in [10, Theorem 1] for CT, that the solution set of CTPC is identical to the solution set of a simpler, aggregated problem, which we call the MBPC problem.We then approximate MBPC by a reverse convex program RCP1.

Equivalence of CTPC and MBPC.
The MBPC problem consists of determining realvalued clearing prices p, p b , p s and buy and sell allocation vectors ) under (2.2), (2.3), and (2.12).Here, e is the vector of ones, and integrals are Stieltjes integrals.
Theorem 3.1.A necessary and sufficient condition for p, p b , p s , f b , Proof.The proof parallels closely the proof of [10, Theorem 1].The only difficult part is to prove price consistency, that is, (3.5).We introduce a different formulation of CTPC, which we call CTPC at the lowest level of trade aggregation; the variables of interest at this level are the trades themselves, that is, the assignments between each trader.This model is a linear program without clearing prices but with a "social dictator."Since maximizing the social welfare functional yields a Pareto-efficient solution, we can invoke the second theorem of welfare economics to show that the optimal allocations are the same at all levels of trade aggregation of CTPC, that is, there exists a clearing price at which all traders agree to transact, and which gives them nonnegative profit.We decompose all trades into "normal deals," which involve only one buyer and one seller of the same commodity, and "combination deals," which involve at most one dealer in every commodity, and at least two dealers in different commodities.Normal deals are indexed by the commodity, buyer, and seller (i,b,s), and combination deals are indexed by commodity weight w and dealer group d, which we define hereafter.
The set W is the set of all vectors w = [w b w s ] ∈ N 2n such that A(w b − w s ) = w b w s = 0, and no vector w k is the multiple of another vector w l .In other words, w represents the weight of each commodity in a particular type of combination deals.The set D b i,b is the set of all possible dealer groups d = [d b d s ] that take part in a particular deal involving ith commodity buyer b.For instance, d b j = 2 means that the second buyer of commodity j is part of the dealer group d.
Suppose that we solve CTPC.Given the optimal allocations of normal deals and combination deals xN (i,b,s) and xC (w,d), we can determine all buyers and sellers who do not trade, and formally remove them from the original problem.Likewise, we remove from the sets W, D the weights and dealer groups that have zero xC (w,d).For a reason that will become more clear later, we also formally reduce the limit quantities q b , q s of the Henry Schellhorn 25 traders that are only partially matched at the optimum, by an amount which makes the optimal solution a full match for every trader.Finally, the exchange formally takes a profit per quantity equal to ∆p(i)/2 from each buyer and seller, and for each deal.Note that the optimal allocation xN , xC does not change.At the lowest level of trade aggregation, CTPC becomes then max ) ) Note that the left-hand side of (3.7) is nothing else than the buy allocation z b (i,b).Each deal brings the following profit per quantity: The dual of (CTPC) is min u,v≥0 (3.10) By complementary slackness, the optimal ū, v satisfy, for all i, b, s, w, d of the problem, By the strong duality theorem of linear programming, the optimal value of the objective of the primal is equal to the optimal value of the objective of the dual.With this in mind, we identify, as in [11], ū(i,b) as the optimal profit per share of buyer i.As mentioned earlier, there exists a clearing price p at which traders can transact for the same profit as with the "social dictator."Therefore, this price is such that We define a new vector t = w b − w s .We decompose t, p into t B , p B for primitive instruments and t N , p N for combinations.We have therefore, for all t, p B t B + p N t N = 0, t B + A N t N = 0.
(3.17) Therefore p = p B A solves CTPC.Inequalities (3.2) and (3.3) are easily obtained from the first-order conditions of CTPC, as in [9].Also it is easy [10] to see why buyers (sellers) with a limit price strictly greater than (smaller than) the buy (sell) clearing price are allocated their entire limit quantity, justifying the appearance of demand/supply functions in the objective.The necessity of the condition can be proved similarly.

Continuous approximation of MBPC into RCP1.
Our heuristic works on continuous demand/supply functions F b , F s by continuous ones Fb , Fs over Y .Of course, there are many approximation methods, such as minimizing the square of the difference between the discrete and continuous functions, but simpler schemes, such as the one described in [10] work as well.In the sequel of the text, we take our continuous functions to be piecewise linear.We then extend these functions to make them strictly decreasing over the "solution" interval [a i p − i ,a i p + i ], where p − , p + are the maximal elements of the minimal rectangular box that contains the following set: The extension is linear, with the following end values.If The number δ is the smallest positive number that preserves the stability of the reverse convex algorithm.After this laborious but conceptually simple step, we can move to the definition of the continuous version of MBPC.It consists of determining a primitive commodity sell price p s,B and a vector ∆p B such that max Note that this formulation is also more economical than the one in the previous section, in the sense that we eliminated the price variables that have an obvious dependency on p s,B , ∆p B .Since by construction, π = [π B π B A N ] and ∆p = [∆p B ∆p B A N ], the sell price is also consistent, that is, and the constraints (3.23) imply

.25)
We need one more manipulation to transform this problem into a reverse convex problem.We can invert (3.22) over the solution domain (3.26) We can then substitute ∆p B in the objective by ν(p s,B ), and the continuous version of MBPC has now only linear constraints, with a reverse convex objective.Note that the objective is not expensive to compute.The first step (which is to be performed only once) would be to tabulate the surplus for every pair (limit price, price offset), and interpolate it by a quadratic function in between since the demand/supply functions are linear.Namely, the tabulated surplus for demand is The algorithm needs to compute surplus as a function of another variable, namely, p s,B , so we define Of course, we define the same surplus functions for the supply surplus.The lookup function would then perform the series of easy computations: To summarize, the reverse convex program RCP1 consists of max The constraints in these problems are quite simple, and the feasible domain is just a rectangular box.As noted before, an exchange institution could implement more complicated price constraints.In the presence of sectorial price constraints for instance, the feasible domain becomes a general polytope.

Second reverse convex program
The main idea of this paper was to use the solution of RCP1 to build an initial approximation of the solution of the problem MBPC.Then, we could solve CTPC at the lowest level of aggregation by linear programing.An alternate route, which we elaborate upon in this section, is to solve a series of reverse convex programs RCP2, starting from the solution of RCP1, and converging to the solution of MBPC.
We formulate inequalities (3.2) and (3.3) of MBPC slightly differently, for better presentation.We define modified demand, supply functions F b and F s and demand, supply elasticity functions D b , D s with diagonal matrix range such that f b , f s respects (3.2) and (3.3) if and only there exists τ B , τ S (with components between 0 and 1) such that A possible solution is exposed in [10, Lemma 1].We define RCP2, which is parameterized by (p s,B ,∆p B ): ) ) Henry Schellhorn 29 where ν is total surplus.It can of course be decomposed into the surplus coming from each demand/supply, that is, The individual supply surplus is equal to ). Otherwise it is equal to The individual demand surplus is defined similarly.Observe that the objective is identical to the objective of MBPC.
We then formally construct a multifunction Ᏺ, whose value is the set of sell clearing prices and price offsets that are part of the solution of RCP2.The argument and range of Ᏺ are therefore defined on the Cartesian product of Y B and the minimal optimal set of ∆p B (which is also easy to calculate, but not useful in practice).As we show in the next theorem, a fixed point of Ᏺ is a solution of MBPC.To determine this fixed point, several algorithms can be used.For definiteness, we focus on the Eaves-Saigal algorithm (for more details, see [2,9]).
The following theorem proves the convergence of the method.Note that, for convergence, the Eaves-Saigal algorithm does not need to find an exact fixed point, but the proof becomes shorter.Proof.The proof parallels closely the proof of [10,Theorem 3].Let λ B , λ S , µ, η b , η s be the multipliers of relations (4.4) to (4.8).Note that there are two positive multipliers for (4.7), but one has to be zero when the other one is nonzero.We can therefore replace them by a multiplier η b unrestricted in sign.The same holds true for η s .The necessary optimality (Kuhn-Tucker) conditions at a fixed point imply that By construction of the surplus, a zero value of ∂ν/∂ f s i implies that f s i = F s i (a i p s,B ).In the other case, we have λ s i > 0. One of the complementary slackness conditions reads λ s i f s i − F s i a i p s,B − D s ii a i p s,B τ s i = 0. (4.14) Therefore (4.5) is also respected, and similarly for (4.4).At a fixed point, the constraints of RCP2 are therefore the same as the constraints of MBPC, and so is the objective.

Algorithm
In this section, we assemble the material developed in the previous sections to describe an algorithm to solve CTPC.
(2) Find the solution p s,B of RCP1.
(3) Calculate ∆p B = ν(p s,B ).(4) Given p s,B , ∆p B , use the Eaves-Saigal algorithm to calculate a fixed point of Ᏺ, by solving a sequence of RPC2.
A fixed point of Ᏺ is, by Theorem 4.1, a solution of MBPC and also, by Theorem 3.1, a solution of CTPC.

Rough estimation of complexity.
So far, we have not mentioned what algorithm should be used to solve RCP1 or RCP2.There is now a collection of good algorithms to solve reverse convex programs.Tui [12] came up with a cutting plane algorithm.Hillestad [4,5] showed that this algorithm may not converge, and advocated a different approach, namely, exploring all the edges of the polytope consisting of all the linear constraints, to look for the (at most) unique intersection of each edge with the reverse convex constraint via a one-dimensional search.Gurlitz and Jacobsen [3] combined both methods.Moshirvaziri and Amouzegar [7] developed a subdivision scheme within the same approach.Edge-searching methods are at worst exponential like the simplex method, because they need at worst to explore all edges.Unfortunately, there seems to be no consensus, as is the case for the simplex, for the average number of edges to be searched in edge-searching methods.The numerical evidence showed in Jacobsen and Moshirvaziri in [6], with a slightly different edge-search method than Hillestad, suggests that these algorithms are still much slower than the simplex algorithm applied to a similar-size linear program.Nevertheless, this is a rich domain of research and there may be a day when the average number of edges to be searched in a reverse convex algorithm may approach the number of constraints of the problem, as is the case for the number of pivoting operations in the simplex algorithm.
Based on this very crude and optimistic assumption, we develop some formulas for the complexity of our approach, which we compare to the plain linear programming (PLP) approach of solving CTPC at the lowest level of aggregation.
In this section, we let p be the average number of orders per combination, and q the length of the edge of the smallest cube that contains all limit prices for all commodities.

Henry Schellhorn 31
Solving CTPC by PLP means solving a linear program with n rows and np m columns (in the worst case where no coefficient A i j is equal to zero).The average number of iterations of the primal simplex method (see [1]) is known to be proportional to the number of rows of the simplex matrix.Since pivoting requires a number of operations equal to the number of elements of the simplex matrix, the PLP method requires an average number of operations T PLP equivalent to (5.1) In our approach, which we call the MBPC approach, steps (2) and ( 4) are the most computer-intensive.RCP1 has 2m inequalities and m variables.Using our optimistic assumption, solving RCP1 in step (2) requires O(2m(4m 2 + logq)) operations; the first term corresponds to the calculation of the vertex, and in the second term, 1/q is very roughly equal to the relative error decrease between the first and the final iterations of the Newton-Raphson method used to search along the edge.The final error of the reverse constraint corresponds to a price error of less than one unit.We believe this tolerance is satisfactory.
In step (4), RCP2 has 6n + m rows and 4n + 2m variables.By the same argument as before, solving each instance of RCP2 requires approximately O([6n + m][(6n + m) (4n + 2m) + logq]) operations.As showed in [10], RCP2 needs to be solved on average 2m times within the Eaves-Saigal algorithm.Every time RCP2 is solved, a system of 2m equations with 2m unknowns needs to be solved, which requires at worst O(16m 4 ) operations.To summarize, the MBPC approach requires an average number of operations T MBPC equivalent to T MBPC = O 2m 4m 2 + logq + 2m 16m 4 + (6n + m) (6n + m)(4n + 2m) + logq . (5.2) We did not test our algorithm on substantial examples.Nevertheless, we conducted (see [10]) similar tests for CT, which demonstrated the superiority of such an approach over the PLP approach, again in the case without price constraints.Of course, to solve CT the equivalent of RCP2 was a linear program, which is much faster to solve than a reverse convex program.

Conclusion
We described various problem reduction techniques to efficiently solve a particular type of combinatorial auctions by reverse convex programming.Large combinatorial auctions can be extremely difficult to solve with conventional linear programming.For mediumsized auctions, it might be more advantageous within the framework presented in the previous section to mix reverse convex programming (for step (2)) with linear programming (for step (4)) since step (2) is faster than step (4).Indeed, we solve in step (4) a collection of reverse convex programs as opposed to only one in step (2).
In this article, we relaxed a constraint which is common in practice, namely, the integrality of allocations.In the same way that branch-and-bound techniques in integer programming take advantage of various LP relaxations, we could combine branch-andbound with the techniques described in this paper.

Theorem 4 . 1 .
All fixed points (p s,B ,∆p B ) of Ᏺ are solutions of MBPC.