- Published on
Notes on Gordon Lecture - 1
An example
agents, goods; , are indices for agents and goods, respectively.
Variables: for production, and for consumption.
Functions: for utility of consumption ( for demand), and for cost of production ( for supply).
s.t. (i.e., the market clears)
The above program would be easier to solve if one can optimize each agent's and independently. Nevertheless, this is generally not the case due to the violation of clearing constraint. Here, we note that the maximum objective of optimizing each agent's and independently, while ignoring the clearing constraint, is always an upper bound for the optimal solution to the original problem.
Competitive equilibria. One wants to twist the program, such that:
We optimize each agent's objective independently without caring about the clearing constraint.
The clearing constraint is still somehow satisfied.
To do this, one can introduce a notion of price for each item . Note that such a is not a variable to optimize by our program.
Given an instance of vector , consider the following new optimization problem:
Program 2.
where denotes the dot product. This program optimizes each agent's objective independently. Nevertheless, it is not immediately clear that solving program 2 gives an optimal solution to the original program.
The key is that, assuming goods are divisible, there always exists a for each item , such that, when given the resulting vector (bundle of prices), the optimal solution to program 2 satisfies the clearing constraint. To intuitively see this, consider the overall supply and demand (multi-variable) functions, where the inputs to each function is , and the outputs are accumulated production and consumption obtained by solving program 2 under . A clearing price vector is is obtained where these two curves intersect. This is often referred to as a Walrasian equilibrium.
Now, suppose we have such a vector given, let and be the optimal solutions to program 2 for each . We know that the clearing constraint is satisfied, i.e., . Thus, the objective value of program 2 can be rewritten as:
As a result, under , an optimal solution of program 2 is also an optimal solution to the original program.
To find a
One possible way is to use the tatonnement algorithm, which incrementally adjust (based on a learning rate) until the market clears. The algorithm can be stated as follows:
Initialize to some arbitrary value, say all zeros.
Repeat the following steps ( denotes iteration index) until :
- Solve program 2 under .
- , where is a learning rate.
Return .
Remark. The above algorithm is not guaranteed to reach a equilibria [Ackerman, Journal of economic methodology, 2002].
A common form of optimization
Objective function:
Inequality constraints: for
Equality constraints: for
Variables: for some set .
The rest of the lecture is a brief overview of other examples of optimization problems, see here.