WALRAS formulation:
In the distributed version of the problem, we decentralize the decision making by allocating separate responsibility for each movement requirement.
Goods
In the WALRAS formulation of the problem, we include two types of goods.
Move x units of cargo from location i to location j.
The shipper's task is to find the minimum-cost way to satisfy this requirement. A price-taking shipper would simply calculate the shortest path in the network, where costs are the current prices of the transportation goods. The actual behavior of shippers in our implementation is more complicated, however.
Shippers are endowed with basic transportation resources, and use income from this endowment (in addition to profit shares of the producers) to purchase transportation goods, according to their path analysis. Note that the shippers are nonstandard consumers in that their problem cannot be case as maximization of a utility function, strictly speaking. For that reason, the transportation economy is not really an instance of the general-equilibrium framework.
Carriers
Carriers are agents of type producer who have the capability to transport cargo
units over specified links, given varying amounts of transportation
resources. We associate one carrier with
each available link. The production function for each carrier is simply
the inverse of the cost function for that link.
In the case of
a decreasing returns technology, the producer's (carrier's) optimization
problem has a unique solution. The optimal level of activity maximizes
revenues minus costs, which occurs at the point where the output
price equals marginal cost. Using this result, carriers
submit supply bids specifying transportation services as a function of link
prices (with resource price fixed), and demand
bids specifying required resources as a function of input prices (for
activity level computed with output price fixed).
Arbitrageurs
A second class of producers, called arbitrageurs, act as specialized middlemen,
monitoring isolated pieces of the network for inefficiencies.
Each arbitrageur is associated with a triple of locations (i,j,k), and produces transportation from i to k by buying
capacity from i to j and j to k.
Its production function simply
specifies that the amount of its output good, transport from i to k, is equal to the
minimum of its two inputs, transport from i to j and j to k.
If the price of the output exceeds the sum of prices of its inputs, then its production is
profitable. Its bidding policy is to increment its
level of activity at each iteration by an amount proportional to its
current profitability (or decrement proportional to the loss).
To incorporate arbitrageurs into the transportation market structure,
we first create new goods corresponding to the transitive closure of
the transportation network.
Next, we add an arbitrageur for every triple of locations (i,j,k) such that (1) i-->j is in the original network, and (2) there exists a path from j to k that does not traverse location i. These two conditions ensure
that there is an arbitrageur for every pair connected
by a path with more than one link, and eliminate some combinations that
are either redundant or clearly unprofitable.
Results
A market-oriented programming environment and its application to distributed multicommodity flow problems. Journal of Artificial Intelligence Research, 1:1-23, 1993.
See the references in this paper for other related work.