Document 293151

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>.