Proceedings of the 2005 Systems and Information Engineering Design Symposium Ellen J. Bass, ed. FINDING AN EQUILIBRIUM IN A LINEAR EXCHANGE MARKET MODEL USING MODIFIED BARRIER FUNCTION Mun Chui, HyeYoon Chung, Ursula Morris, Arm Pangarad, Roman Polyak George Mason University Fairfax, VA 22030, USA ABSTRACT In this paper we describe an auctioning system that allows auction of goods and services in real time. For any given vector of goods and services and a set of consumers with vectors of preferences and budgets the system finds an equilibrium, i.e. such prices for each good and service that the total demand is equal to the given supply. The problem of finding the equilibrium is formulated as a special convex optimization problem. Application of the Modified Barrier Function (MBF) method for solving such a problem leads to a pricing mechanism that allows finding the equilibrium in a timely manner. The system can be used for auctioning several goods and services for a number of consumers. 1 INTRODUCTION Finding the equilibrium in an auction market means finding such prices for the goods and services that the optimal choices of the consumers lead to balance between supply and total demand. In this paper the consumer objective is defined by maximizing the individual utility function under one constraint – the consumer budget. The utility function for each consumer is linear and based on a vector of preferences, which is given a priori as well as a vector of goods and a budget vector. Due to the linearity of the utility functions, finding an equilibrium in an auction market is equivalent to solving a particular convex optimization problem (Gale, 1960). In the paper we slightly modify the objective function and use the MBF method (Polyak, 1992) for solving the problem. Each step of the MBF method consists of finding the optimal demand for each consumer under the current prices followed by the price updates based on the difference between the supply and the total demand for each good at the current iteration. In other words the MBF method establishes the pricing mechanism for finding the equilibrium. It is also a learning process, because the optimal demand of the consumer at each step provides only limited information about the overall behavior of the individual consumer. Only by averaging the individual choices of the entire process, can the consumer find the optimal strategy. The numerical realization of the MBF method requires at each step maximizing a concave function under nonnegativity constraints. We used LOQO (Vanderbei, 1999) for solving the maximization problem. The stopping criteria for both the inner and the outer iteration are based on the Karush-Kuhn-Tucker’s optimality conditions (Bertsekas, 1999) and the accuracy we want to achieve for the equilibrium prices and the consumption vectors. We developed an automatic system that allows live auction of several goods and services with a number of consumers. The paper is organized as follows. In section 2 we formulate the problem and describe the basic assumptions. In section 3 the equivalent convex optimization problem is introduced. In section 4 we describe the application of the MBF method for solving the problem, discuss the economic interpretation of the method and establish the convergence results. In section 5 we describe the software which is used in the auctioning system. In section 6 we describe the auction algorithm and show some numerical results. In section 7 we discuss future research. Chui, Chung, Morris, Pangarad and Polyak 2 STATEMENT OF THE PROBLEM AND BASIC ASSUMPTIONS We consider a market with n products represented by the vector p = ( p1 , p 2 ,..., p n ) ∈ R+n+ and m consumers. Each consumer i has his own vector of preferences a i = (ai1 , ai 2 ..., ain ) and his own budget bi > 0 , i = 1,…,m. The goal of each consumer is to maximize the utility function within the available budget. The key ingredients for finding the optimal consumption vector for each consumer are the current prices for the products. Let’s consider the price vector π = (π 1 , π 2 , K , π n ) . The maximization of the utility function implies that each consumer solves the following LP problem: x *i (π) = arg max{u i (x i ) | ( π, x i ) ≤ bi , x i ∈ R+n } The components 0 ≤ a ij ≤ 1 , of the vectors a i indicate the relative value of the product or service 1 ≤ j ≤ n , for consumer 1 ≤ i ≤ m . The row preference following matrix of preferences: ⎡ a11 ... a1 j ... ⎢ M M ⎢ A = ⎢ a i1 L a ij L ⎢ M ⎢ M ⎢a m1 L a mj L ⎣ i >0 ij for each 1 ≤ j ≤ n j ij >0 for each 1 ≤ i ≤ m j ij 1. ∑a i ij (2). = 0 , then no sumer i has a consumption vector x i = ( xi1 ,..., xin ) ∈ R+n . The components xij indicate how much of product 1 ≤ j ≤ n the consumer 1 ≤ i ≤ m is going to buy. The utility function for the consumer i is defined as follows: j =1 m x * (π * ) = ∑x * * i (π ) . i =1 Let X* = (x*i ) im=1 be the optimal consumption matrix. We will call ( X * , π * ) the equilibrium in the linear exchange model. The goal of this paper is to develop a numerical method for finding the equilibrium ( X * , π * ) and to use the method for developing a computerized auctioning system. 3 CONVEX OPTIMIZATION PROBLEM We are using the following convex optimization problem, which is slightly different from the one suggested by D. Gale (1960), to find the equilibrium ( X * , π * ). m f ( X) = ∑ b ln(a , x ) → Max i i i (4) i =1 m ∑x i ≤p (5) i =1 n ∑a Is there a price vector π * = (π 1* , K , π n* ) such that the total consumption vector is equal to p , i.e. 2. How can the vectors π * and x *i , i = 1,…,m be found? The answer to the first question was given by D. Gale (1960). According to D. Gale, for any budget vector b , any supply vector p and any matrix of preferences A which satisfies the preference assumptions (1) and (2), there is π * = (π 1* ,K , π n* ) such that x * ( π * ) = p where (1) consumer 1 ≤ i ≤ m, is interested in product j. Each con- u i (x i ) = (a i , x i ) = , while the supply vector x * (π * ) = p ? = 0 , then the consumer i is not interested in the market. Also, if for any 1 ≤ j ≤ n , * i p ∈ R +n+ is given. There are two main questions: This is a natural assumption. If for any 1 ≤ i ≤ m , ∑a ∑ x ( π) i =1 and ∑a m vector x * ( π) = The budgets of the m customers are given by the budget vector b = (bi ,..., bm ) ∈ R+m+ . The model includes the following assumptions: each consumer demands at least one product, and each product is consumed by at least one consumer. In order words, the matrix A contains in each row and each column at least one positive element ∑a The total demand of the m customers is defined by the vectors a i form the a1n ⎤ ⎥ ⎥ a in ⎥ . ⎥ ⎥ a mn ⎥⎦ (3). ij x ij . x i ∈ R +n (6). Chui, Chung, Morris, Pangarad and Polyak The function ψ is twice continuously differentiable on The problem (4)-(6) is a convex optimization problem because f (X) is concave and the constraints (5) and (6) are linear. By direct application of the Karush-Kuhn-Tucker optimality condition (Bertsekas, 1999) to the problem (4)(6), we obtain that the solution X * for the problem (4)-(6) and the Lagrange multipliers vector λ * , which corresponds to the system (5) are the optimal consumption matrix and the equilibrium prices, i.e. π * = λ * . The Modified Barrier Function method (Polyak, 1992) is applied to solve the problem (4)-(6). 4 MODIFIED BARRIER METHOD AS A PRICING MECHANISM IN A LINEAR EXCHANGE MODEL The shifted barrier function ψ (t ) = ln(t + 1) and a scaling parameter µ > 0 are used to transform the constraints m c j ( X) = p j − ∑ i =1 x ij ≥ 0, j = 1, K , n (7) into an equivalent set of constraints ( ) µ ln µ −1 c j ( X) + 1 ≥ 0, j = 1, K , n (8). The classical Lagrangian for the equivalent problem L( X, λ , µ ) = m ∑ bi ln(ai , xi ) + µ i =1 n ∑ λ ln(µ j −1 c j ( X) + 1) → Max j =1 is called the Modified Barrier Function for the problem (4)-(6). This is our main tool. The MBF method generates a primal-dual sequence ( −1, ∞) with ψ (0) = 0 , ψ ' (t ) > 0 , −1 < t < ∞ and ψ ' (0) = 1 . Also, ψ ' ' (t ) < 0 , −1 < t < ∞ . Therefore, if for any j , we have c j ( X s +1 ) > 0 , i.e. the current supply for product j is greater then the current demand, then ψ ' ( µ −1c j ( X s +1 )) < 1 and the update formula (10) implies λ sj +1 < λ sj . On the other hand, for any j , such that c j ( X s +1 ) < 0 , the current supply is less then the current demand, so ψ ' ( µ −1 c j ( X s +1 )) > 1 and λ sj +1 > λ sj . Therefore, the MBF method establishes a pricing mechanism, where prices are changing based on the deficit or the surplus for each product. The optimality criteria for X s +1 in (9) imply that for every consumer 1 ≤ i ≤ m we have x is +1 = max{(a i , x i ) | (λ s +1 , x i ) ≤ bi , x i ∈ R +n } In other words, at each iteration each consumer maximizes his utility function according to the predicted price vector λ s +1 . Because (11) is an LP problem with only one budget constraint, each consumer might choose exactly one product to maximize the utility function. Dependent on the price changes one might choose a different product during the next iteration. Therefore, at each iteration the best possible choice x is +1 , 1 ≤ i ≤ m might not carry much important information. For this reason, after each step, the average vector is calculated s x i = s −1 {X s , λ s }∞s =0 , where X s = ( x ijs ) , i = 1, K , m ; j = 1,K, n . Let’s assume that the primal-dual approximation ( X s , λ s ) has been found already. To find the next approximation ( X problem s +1 ,λ s +1 ) one has to solve the following X s +1 = arg max{L( X, λ s , µ ) | X ∈ R+m× n } (9) −1 = ψ (µ c j (X ' s +1 ) + 1) λ sj , j = 1, K , n s ∑x l i where 1 ≤ i ≤ m (12). l =1 Formula (12) provides a learning mechanism for the consumers, which is similar to that used in the BrownRobinson method for finding an equilibrium in a twoperson matrix game (Gale, 1960). The following theorem proves the convergence of the primal-dual sequence {X s , λ s }∞s =0 (Polyak and Teboulle, 1997). Theorem 1: For any budget vector b ∈ R +m+ , any prod- and update the Lagrange multipliers by the formula λ sj +1 (11). (10). Formula (10) provides the pricing mechanism that drives the sequence toward the equilibrium. uct vector p ∈ R +n+ and any preference matrix A, which satisfies the assumptions (1) and (2), the following statements hold 1. lim λ s = λ * s →∞ Chui, Chung, Morris, Pangarad and Polyak s 2. lim X = X Check the preference assumption and give a warning if there is a column or a row where all entries are 0. * s →∞ 5 Step 3: Call solver LOQO to maximize L( X, λ s , µ ) in X ∈ R +m×n . STRONG PREFERENCE CONDITION If for each consumer the strong preference condition is satisfied, i.e. ∀i ∃j i : a iji π *ji > a ij π *j , j ≠ ji (13), then both the sequences of consumption matrices {X s }∞s =0 ∞ and the sequence { λ s } s =0 of the price vectors converge to the unique equilibrium ( X * , λ * ), and the following theorem, which is a direct consequence of Theorem 1 in (Polyak, 1992), holds. Step 4: Update price vector λ s according to pricing formula (10). Step 5: Write output file for the current iteration. Step 6: Set s:=s+1. Step 7: If max{max{−c i ( X s )}, 1≤i ≤ m m ∑c s i ( X ) λi } ≤ ε for all j or num- i =1 ber of iteration s > L then stop, else go to Step 3. Theorem 2: If the strong preferences condition (13) is satisfied, then the sequence { X s , λ s } converges to the equilibrium ( X * , λ * ) with Q-linear rate, i.e. there are µ 0 > 0 and C > 0 independent of µ , so that for any 0 < µ < µ 0 the following bounds hold true X 6 s +1 −X * s ≤ Cµ λ − λ * , λ s +1 −λ * s ≤ Cµ λ − λ * . AUCTION ALGORITHM 6.1 Auction Algorithm Step 1: Initialize the following parameters: x ij = 0.01 • Step 8: Print the matrix X s and the vector λ s . 6.2 Software used for the auctioning system The modeling language for mathematical programming AMPL is used to implement the algorithm (Fourer, Gay and Kernighan, 1993). AMPL provides an interface to LOQO, a nonlinear programming solver, which is based on the primal-dual interior-point method (Vanderbei, 1999). We use LOQO to solve the problem (9). After finding the primal maximizer X s +1 , the Lagrange multipliers are updated by (10). A student version of AMPL is sufficient to execute the program. The student version of LOQO can be downloaded from the internet. • The price vector λ = e = (1,...,1) ∈ R n 6.3 Using the system for auction in real time. • • • • Counter for iterations Maximum number of iterations L = 50 Accuracy parameter ε =10-5 The scaling parameter µ > 0 The program includes three files: a model file, a data file and a script file. The model file contains the parameters, variable definitions and the Lagrangian. The data file contains the number of consumers, the number of products, the preference matrix, the budget and the supply vectors. The number of customers and products the program can handle satisfy the following inequality: m × n ≤ 300 . The script file is the main file that invokes the data and the model file, it also contains the coding of the algorithm. The program generates an output file which contains information about the optimal consumption of each consumer, supply-demand balances and the price for every product and service at each iteration. For fast convergence choose µ = 0.01 . To observe more steps of the algorithm, we choose µ = 3 . The number of consumers, the number of products, preferences matrix, budget vector and supply vector. − • Step 2: Chui, Chung, Morris, Pangarad and Polyak At the end of the program, the consumption matrix s s X and the vector of prices λ are presented. 6.4 Example The following shows an example of the algorithm. A 4x4 matrix is chosen in this case. Table 1: Sample Input Mu (amplifier)= 3 Accuracy of solution ε =0.00001 Table 3: Sample Output at Iteration 6 Iteration 6 Ice Cr. Strawb. Chocol. Blueb. Text: Ice Cr. Strawb. Chocol. Blueb. Budget Preferences: Cons. 1 Cons. 2 Cons. 3 Cons. 4 0.4 0.5 1 0.1 Amt. Prod. 20 0.2 0.1 0 0 30 0.3 0.4 0 0.3 15 0.1 0 0 0.6 21 15 32 13 20 Table 2: Sample Output at Iteration 0 Iteration 0 Ice Cr. Strawb. Chocol. Blueb. 1 1 Act. Prices 1.599997 0.685715 1.028572 0.650002 Cons. 1 0 29.999998 0.416668 0 Cons. 2 0 0 14.583331 0 Cons. 3 20.000004 0 0 0 Cons. 4 0 0 0 19.999993 Tot.Dem. 20.000005 29.999998 14.999998 19.999993 Supp-Dem-0.000005 0.000002 0.000002 0.000007 Price Upd. 1.600000 0.685714 1.028572 0.650000 Table 1 is an extract of the data file. Other parameters are set to the recommended values mentioned at the beginning of the algorithm. In this example, scaling parameter µ is set to 3, accuracy parameter ε is set to 10-5. We consider 4 products: ice-cream, strawberry, chocolate and blueberry. The numbers at each row indicate the relative preference of the products for the corresponding consumer. For example, consumer 1 relative preferences of ice-cream and blueberry are 0.4 and 0.1 respectively. This means that consumer 1 values a pound of ice-cream 4 times as much as a pound of blueberry. The right column shows the budget for each consumer. The “Amt. Prod.” row shows the supply of each product. Act. Prices 1 mand difference (Supply-Demand) for each product. The “Price Upd.” row shows the updated price for each product based on their supply and demand difference. From the “Supp-Dem” row, we can see that there are shortages for ice-cream and chocolate. Consequently, the prices for these two products rise. On the other hand, we can see there are excess supplies for strawberry and blueberry, therefore the prices for these products drop. 1 Cons. 1 0 28.714286 0.857143 0 Cons. 2 0 0 14.285714 0 Cons. 3 21.028571 0 0 0 Cons. 4 0 0 0 18.687500 Tot. Dem. 21.028571 28.714286 15.142857 18.687500 Supp-Dem -1.028571 1.285714 - 0.142857 1.312500 Price Upd. 1.521739 0.700000 1.050000 0.695652 Table 2 shows the output at iteration 0. From the “Act. Prices” row, we can see that the price is 1 for all products. The “Tot. Dem.” row shows the total demand for each product. The “Supp-Dem” row shows the supply and de- Table 3 shows the output at iteration 6, the last iteration in this example. Notice that supply-demand is less than 0.00001 for all products, therefore the algorithm stops. Cons. 1 Cons. 2 Cons. 3 Cons. 4 Table 4: Consumer Preferences per Dollar Ice Cr. Strawb. Chocol. Blueb. 0.250000 0.291667 0.291667 0.153846 0.312500 0.145833 0.388889 0 0.625000 0 0 0 0.062500 0 0.291667 0.923077 At the end of the program, the consumer preferences per dollar are calculated. Combining table 3 and table 4, we can see that consumers choose only the products with the highest preferences per dollar. 7 CONCLUSION Experience shows that consumers would like to change their preference vector and even the budget once they realize where the optimization process leads, and to continue to play with a different preference vector and sometimes with a new budget. The program finds the equilibrium very fast, which makes it possible to accommodate such changes in real time. The consideration of a concave utility functions would present an important improvement to the exchange model. It would more adequately model the reality in the auctions. Chui, Chung, Morris, Pangarad and Polyak REFERENCES Bertsekas, D. 1999. Nonlinear Programming. Second Edition, Athena Scientific, Belmond, MA. Fourer, R., D. M. Gay, and B.W. Kernighan. 1993. AMPL: A Modeling Language for Mathematical Programming. Scientific Press. Gale, D. 1960. The Theory of Linear Economic Models. McGRAW-HILL Book Company, INC. NY. Polyak, R. 1992. Modified barrier functions (theory and methods). Mathematical Programming (54): 177-222. Polyak, R., and M. Teboulle. 1997. Nonlinear rescaling and proximal-like methods in convex optimization. Mathematical Programming (76): 265-284. Vanderbei, R.J. 1999. LOQO: An interior point code for quadratic programming. Optimization Methods and Software (12): 451-484. AUTHOR BIOGRAPHIES MUN CHUI is a graduate student in the School of Computational Science at George Mason University (GMU). He is an affiliated student in the Interdisciplinary Center for Economic Science (ICES) at GMU. His research interests include Economic System Design and Experimental Economics. He can be contacted by e-mail at <mchui@gmu.edu>. HYEYOON CHUNG is pursuing a Ph.D in Economics at GMU. As a graduate research assistant for ICES, her research is currently in the area of Experimental Economics and Economic System and Design. She plans to pursue research opportunities in other economic fields, and believes that experimental perspectives in such areas keep her on the theoretical cutting edge. She can be contacted by <hchung2@gmu.edu>. URSULA MORRIS is in the Master’s program of operations research at GMU. Her e-mail address is <umorris1@gmu.edu>. ARM PANGARAD is a graduate student in the Ph.D. Information Technology (concentration in Optimization) program at the School of Information Technology and Engineering, GMU. His research interest is in supply chain optimization. His email address is <apangara@gmu.edu >. ROMAN POLYAK is the advisor in this project. He is a full professor of mathematics and operations research at GMU. He has a joint appointment at the Mathematical Sciences and Systems Engineering & Operations Research departments. He received his Ph.D from Moscow Central Institute of Mathematics and Economics at the U.S.S.R. Academy of Sciences. After emigration from the former Soviet Union in 1988 he worked as visiting scientist at IBM T.J. Watson Research Center, Yorktown Heights, N.Y. from 1988-1992 prior to coming to GMU. He can be contacted by e-mail at <rpolyak@gmu.edu>.
© Copyright 2024