A Market Protocol for Decentralized Task ... - Semantic Scholar

4 downloads 0 Views 456KB Size Report
Dec 3, 1998 - William E. Walsh. Arti cial ... Je rey K. MacKie-Mason .... and a set of edges E connecting agents with goods they can use or produce.
A Market Protocol for Decentralized Task Allocation and Scheduling: Thesis Proposaly William E. Walsh Arti cial Intelligence Laboratory University of Michigan 1101 Beal Avenue, Ann Arbor, MI 48109-2110 USA [email protected] December 3, 1998 Advisor:

Michael P. Wellman

Committee Members:

Edmund Durfee Je rey K. MacKie-Mason Robert Savit

This proposal contains large portions directly copied, or with some modi cations, from some of my coauthored published works, especially [27]. I do not generally provide further references for these portions. y I thank Terence Kelly for reviewing this paper. This work has been supported by a NSF/DARPA/NASA Digital Library Initiative grant and a NASA/Jet Propulsion Laboratory Graduate Student Researcher fellowship. A portion of this work was performed at the 1998 Santa Fe Institute Workshop in Computational Economics. 

Abstract

I present a decentralized market protocol for allocating and scheduling tasks among agents to form supply chains. The protocol resolves constraints arising from hierarchical subtask relationships and resource scarcity. Agents negotiate through auctions according to speci ed bidding policies, and the auctions in turn determine the allocations and prices of the tasks and resources. I describe some equilibrium, convergence, and optimality properties of the system. I propose to further analyze the convergence properties, analyze adaptivity and agent strategic behavior, and develop a model of task allocation for a concrete problem domain.

1 Overview In a multiagent system (MAS), we must often address the problem of allocating resources and e ort in such a way that the resulting collection of agents can accomplish some complex tasks. In order to perform a particular task, an agent may need to achieve some subtasks, which may in turn be delegated to other agents, forming a supply chain through a hierarchy of task achievement. We may also need to schedule the use of resources around time constraints in the supply chain. This problem is complicated if the agents contend for limited resources, which may preclude the use of simple greedy allocation strategies. Furthermore, we are often constrained to allocate tasks and resources in a decentralized manner. Because the agents are autonomous, we must generally assume that they have specialized knowledge about their own capabilities but limited knowledge about other individuals and the large-scale structure of the problem. Additionally, technological or other design constraints may require us to compute the allocation of each resource individually. Decentralizing the computation can never improve the quality of an allocation; a centralized system could do at least as well by simulating the decentralized system. However, given the decentralized nature of the problem as an exogenous constraint, we seek to design principled, e ective, resource allocation protocols. Several researchers have performed in-depth analyses of task allocation without hierarchical dependencies [1, 17, 20]. Others have considered task allocation and scheduling that include variable costs, but not strict resource limitations [2, 5, 19]. I use a market-oriented programming approach to solve task allocation and scheduling problems with hierarchical dependencies and resource limitations. In the market-oriented approach, we characterize agent decisions as resource allocation problems. Market mechanisms facilitate agent negotiations and determine nal allocations. Prices, speci ed by the market mechanisms, provide information about the relative global value of the various tasks and resources, and agents use the prices to guide their local decision making. Thus we achieve complex, multilateral allocations of resources in a decentralized manner, via relatively simple bilateral negotiations and exchanges. Moreover, solution methods and analytical techniques from economics can provide useful concepts for designing and understanding market systems. Experience with the market-oriented programming approach has veri ed 1

that it works predictably and e ectively in several convex domains [15, 29], characterized by in nite divisibility of resources and nonincreasing returns to scale. However, many important resource allocation problems|such as task allocation|are inherently discrete, violating the standard general conditions for market e ectiveness. Within economics, protocols for allocation of discrete goods have been studied under the heading of auction theory. Although much of the auction literature focuses on the allocation of single items [7, 11, 26], several studies address the more challenging problem of allocating multiple items [6, 8, 10, 16, 23, 25, 31], and recent experience with the United States FCC radio spectrum auctions [12, 13] has prompted further economic interest in these problems [14]. In this proposal I present my completed work, and propose future work, on a decentralized market protocol for allocating and scheduling discrete tasks among agents in asynchronous systems under conditions of resource scarcity. The protocol builds supply chains in a bottom-up fashion using strictly local knowledge and communication. I describe my formulation of the task allocation problem in Section 2. I discuss price systems and competitive equilibrium in Section 3, and survey some market protocols for resource allocation in 4. I present and analyze the SAMP-SB protocol, a variant of simultaneous ascending auction protocols, in Section 5. I describe and analyze a protocol for detecting system quiescence in a distributed fashion in Section 6. I describe related task allocation and scheduling work in Section 7. Finally, I propose my research plan in Section 8. Appendix A provides a reference for the notation I use throughout this proposal. Appendix B provides a summary of the major concepts in this proposal.

2 The Task Allocation Problem In the task allocation problem, we are interested in the achievement of some task or tasks, which may be performed by various agents at varying times. In order to perform a particular task, an agent may need to achieve some subtasks, which may in turn be delegated to other agents, forming a supply chain through a hierarchy of task achievement. Constraints on the task assignment arise from resource contention, where agents would need a common resource (e.g., a subtask achievement, or something tangible like a piece of equipment) to accomplish their own tasks. We may also need to schedule 2

Paratroopers 1 Airfield 1a

Bomber Squad 1 Airfield 1b Commander 1 Air Attack

Fighter Squad 1

Paratroopers 2 Airfield 2a Bomber Squad 2 Airfield 2b Fighter Squad 2

Figure 1: A task allocation problem in the air combat domain, with no resource contention. the use of resources around time constraints in the supply chain. Tasks are performed on behalf of particular agents; if two agents need a subtask then it would have to be performed twice to satisfy them both. In this way, tasks are the same as any other discrete resource. Hence, we make no distinction in our model, and use the term \good" to refer to any task or resource provided or needed by agents.

2.1 An Example Task Allocation Problem

Consider the problem of allocating air squadrons and elds in a simpli ed air combat domain. Figure 1 shows the various resources available. Commander 1 wants to conduct an air attack, requiring a bomber squad and ghter squad, each of which in turn requires the use of a local air eld. Figure 2 shows that the tasks and resources can be allocated easily, because there is no contention. 3

Paratroopers 1 Airfield 1a Bomber Squad 1 Airfield 1b Commander 1 Air Attack

Fighter Squad 1

Paratroopers 2 Airfield 2a Bomber Squad 2 Airfield 2b

Fighter Squad 2

Figure 2: An allocation that satis es Commander 1.

4

Paratroopers 1 Airfield 1a Bomber Squad 1 Airfield 1b Commander 1 Air Attack

Fighter Squad 1

Commander 2 Ground Attack

Paratroopers 2 Airfield 2a Bomber Squad 2 Airfield 2b

Fighter Squad 2

Figure 3: Commanders 1 and 2 contend for limited air eld resources.

5

Paratroopers 1 Airfield 1a Bomber Squad 1 Airfield 1b Commander 1 Air Attack

Fighter Squad 1

Commander 2 Ground Attack

Paratroopers 2 Airfield 2a Bomber Squad 2 Airfield 2b

Fighter Squad 2

Figure 4: An allocation that satis es Commander 2.

6

Figure 3 shows how resource contention arises when a second commander enters the system and wants to conduct a ground attack with one each of a ghter, bomber, and paratrooper squad. Since we cannot satisfy both commanders, we should allocate resources to satisfy the commander desiring a higher value task. Figure 4 shows how we could allocate resources to complete the task of Commander 2. In a more realistic scenario, the air elds are not \used up" when they are allocated, but rather are constrained to provide service to a limited number of squads within a given period of time. We could thus allocate the air elds for each period of time under consideration. The commanders may have varying values for completing their tasks at di erent times. The addition of time-dependent resources and valuations adds a scheduling component to the basic problem of supply chain formation.

2.2 Problem Speci cation

We provide a formal description of the problem in terms of bipartite graphs. The two types of nodes represent goods and agents, respectively. A task dependency network is a directed, acyclic graph, (V; E ), with vertices V = G [ A: G = the set of goods; A =  [ S [ C , the set of agents;  = the set of producers; S = the set of suppliers; C = the set of consumers; and a set of edges E connecting agents with goods they can use or produce. There exists an edge hg; ai from g 2 G to a 2 A when agent a can make use of one unit of g, and an edge ha; gi when a can provide one unit of g. If an agent requires two units of a good as input, then we treat each unit as a separate edge hg; aik indexed by k. For instance, if agent a requires two units of g as input, then its input edges are hg; ai1 and hg; ai2. We treat multiple output units in the same manner. The goods can be traded only in integer quantities. The edges can be further characterized by the type of agent involved. A supplier can supply some set of goods, up to some maximum quantity for each, without requiring any input goods: 7

For each supplier s, there there exists a set Gs  G, such that for each g 2 Gs there exist edges hs; gik 2 E for one or more k. Each consumer wishes to acquire one unit of one good in a set of some high-level goods: For all c 2 C , there exists a set Gc  G, such that hg; ci 2 E for each g 2 Gc. A producer can produce a single unit of an output good conditional on acquiring some input goods: For all  2 :  there exists a set I  G, such that for each g 2 I there are edges hg; ik 2 E for one or more k,  and there exists a single g 2 G n I , such that h; g i 2 E . A producer's input requirements are complementary in that it must acquire each of its inputs; it cannot accomplish anything with only a partial set. The existence of di erent producers with the same output corresponds to di erent ways that a good can be produced. We consider only acyclic task dependency networks, that is no agent supplies goods that could be used to assemble its inputs. Figure 5 shows an example task dependency network that models the air combat domain problem showed in Figure 3. Here the goods are indicated by circles, the consumers (commanders) and suppliers (air elds) are represented as boxes, and the producers are indicated by curved boxes. An arrow from an agent to a good indicates that the agent can provide that good, and an arrow from a good to an agent indicates that the agent can make us of the good. For instance, the producer labeled \ground attack" requires one unit each of a ghter squad, bomber squad, and paratroopers, in order to provide its output. An allocation is a subgraph 0 = (V 0; E 0)  (V; E ). For a 2 A \ V 0 and g 2 G \ V 0, an edge ha; gi 2 E 0 means that agent a provides g, and hg; ai 2 E 0 means a acquires g. An allocation contains vertices and edges as follows: 1. An agent is in an allocation graph i it acquires or supplies a good: For a 2 A, we have a 2 V 0 \ A i hg; ai 2 E 0 or ha; gi 2 E 0. 8

Fighter Squad 1 Airfield 1a Bomber Squad 1 Airfield 1b Paratroopers 1

Air Attack

Commander 1

Ground Attack

Commander 2

Fighter Squad 2 Airfield 2a Bomber Squad 2 Airfield 2b Paratroopers 2

Figure 5: A task dependency network for the air combat domain. 2. A good is in an allocation graph i it is bought or sold: For g 2 G, we have g 2 V 0 \ G i hg; ai 2 E 0 or ha; gi 2 E 0. A solution is an allocation that forms a partial ordering of feasible production, culminating in consumption. To qualify as a solution, a subgraph must satisfy the following constraints. 1. Some consumer acquires a good it desires: There exists a c 2 C and a hg; ci 2 E such that hg; ci 2 E 0. A solution may involve multiple consumers. If consumer c is in a solution 0 then we say that 0 is a solution for c. 2. All producers are feasible : For all  2  such that h; g i 2 E 0, if hg; i 2 E then hg; i 2 E 0. Note that the feasibility constraints do not exclude the possibility that a producer acquires some inputs without providing its output. If a producer provides its output, we say that it is active. 3. For each good, supply equals demand: 9

Fighter Squad 1 Airfield 1a Bomber Squad 1 Airfield 1b Paratroopers 1

Air Attack

Commander 1

Ground Attack

Commander 2

Fighter Squad 2 Airfield 2a Bomber Squad 2 Airfield 2b Paratroopers 2

Figure 6: A solution allocation that satis es Commander 2. For each g 2 G, we have j Shg;bi2E0 j = j Shs;gi2E0 j. Figure 6 shows a solution allocation for the task dependency network shown in Figure 5. Shaded agents are part of the solution, and dashed arrows indicate input/output relations not part of the solution. Each supplier s has some opportunity cost ocs (fgg) for supplying good g, where hs; gi 2 E . A supplier's total opportunity cost ocs (X ) for selling the set of goods X is the sum of its opportunity costs for selling the individual goods. The cost might represent the value s could obtain from putting the goods to some other use, or some actual, direct cost incurred in supplying the goods. We de ne the cost of a solution as the sum of the opportunity costs for supplying the primitive goods1 : cost (0) =

X

hs;gi2E 0 j s2S

ocs (fgg):

I assume that a consumer has preferences over di erent possible goods, but only wishes to obtain a single unit of one good. Thus, a consumer c obtains value vc(fgg) for obtaining one unit of good g alone, and obtains Since the individual supplier cost and the solution cost are both additive, it is irrelevant from a global perspective whether we have a separate supplier for each unit of each good, or a single supplier for all goods. However, we may have cause to break down the suppliers in a particular fashion to conveniently denote a particular problem. 1

10

value

vc(X ) = g2Xmax vc(fgg) j hg;ci2E for obtaining a set of goods X .

De nition 1 (value of a solution) The value value (0) of solution 0 is the di erence between the value obtained by the consumers in the solution, and the cost for supplying the primitive goods: value (0) =

X

hg;c

E c C

i2 0 j 2

vc(fgg) ? cost (0)

Denote as (;; ;) the allocation in economy  where no agent buys or sells any goods, that is, the subgraph of  with no vertices or edges.

De nition 2 (ecient allocations) De ne V  = max(0 ; max value (0) j 0 is a solution). The set of ecient allocations contains all solutions  such that value () = V  and contains (;; ;) if V  = 0. The task dependency network formulation represents a very general class of problems. Here I provide some hints as to its generality. Although a producer only produces a single unit of its output, we can replicate producers to achieve higher levels of production. We can model more complicated consumer value functions through combinations of multiple consumers and producers. For instance, we can represent an additive value function by simply instantiating a consumer for each sum term in the function. If a consumer has preferences over bundles of goods, then we can represent the bundles as output goods of producers, with the inputs of a producer corresponding to the components of the respective output bundle. In this general formulation of the task allocation problem, I do not directly address the problem of scheduling. However, the task dependency network model is suciently general to include task scheduling in discrete time units, as described in Section 2.3. Task dependency networks can be viewed as AND/OR graphs, with the consumer at the root. Agents correspond to AND nodes, and goods to ORs. One could thus solve task allocation problems in a centralized manner via AND/OR search techniques, with some extra bookkeeping to account for the fact that agents may participate in the solution in at most one way, and that the number of edges leading into a good must be the same as the number 11

leading out in a solution (in other words, to treat these properly as graphs rather than trees). But I assume that we are constrained to solve the problem in a decentralized fashion. Section 3 describes an abstract framework for how a price system can guide decentralized task allocation. Section 4 surveys some candidate protocols for decentralized task allocation, and Section 5 describes and analyzes a particular price-based protocol. Section 6 describes how we can detect quiescence of negotiation in a market protocol in a decentralized manner.

2.3 Scheduling Tasks

Often we must contend with time constraints in achieving tasks, in addition to general input/output constraints. In such situations, we must not only determine which agents will complete tasks, but also schedule when the tasks should be accomplished. There are many ways in which we could choose to formulate the scheduling problem, and our choice may depend on the particular problem at hand. In this section I show one way that scheduling can be formulated in the general task dependency network model of task allocation (Section 2.2). Because this formulation of scheduling does not require any additions to the general task allocation model, all analytical properties of the general model apply directly to scheduling problems. I refer to goods that are not speci c to a particular time as atemporal goods. However, we must also consider goods available at particular times. The set of such temporal goods is constructed from the cross product of some underlying set of atemporal goods G , and an integer interval [1; T ], where T is the maximum time under consideration. That is, for every g 2 G and every t 2 [1; T ], there exists a temporal good gt 2 GT , which may be interpreted as \good g provided at time t." Often, it may be necessary to perform a task for longer than one unit of time. In such cases, we consider temporal bundle goods. A temporal bundle good g(x;y) represents the atemporal good g 2 G available at x distinct contiguous times, with the latest time at y, and the earliest time at y ? x +1. Therefore, the temporal bundle goods are the complete set of goods of the form g(x;y), where 1  y  T , and x  y  T . The asymptotic upper bound on the number of temporal bundle goods is:

jGB j = jG j 12

y T X X y=1 x=1

1

= jG j

T X y=1

y

= jG jT (T + 1)=2 = O(jG jT 2): Suppliers may have various supply constraints in a temporal good economy. Some suppliers may o er quantity constrained goods that are \used up" when they supply them. A quantity constrained good pertinent to the air combat domain might be airplane fuel. We can generally model quantity constrained goods as atemporal goods. Other suppliers may be temporally constrained in that they can provide a xed amount of a particular atemporal good g 2 G at any and all time periods t. For instance, in the air combat domain, an air eld isn't \used up" when an airplane takes o , but there is a limit to the number of planes that can use an air eld within a xed period of time. In this case, for supplier s, we would have hs; gt i 2 E for all t 2 [1; T ], where gt is the temporal version of g at time t. It is also possible that some suppliers o er temporal goods, but only for subsets of the possible time period [1; T ]. In general we may expect that a consumer would achieve a di erent value for acquiring a good at di erent times. For convenience, we can discard edges hgt; ci for which consumer c would receive zero value for good gt (e.g., time t is too early or too late). The allocations to a producer must correctly re ect the scheduling constraints on both its inputs and its outputs. To be consistent with the temporal model, the time of a producer's output must be no earlier than any of its inputs. Additionally, a producer may take require several time units to produce its output. Let producer  start at time i and have production time t. Then each of its input goods are of the form gi or g(t;i+t) and its output is of the form gi+t , for some i. In general, we can assume that if there is some such producer with production time t, then there are O(T ? t) similar producers, one for each i such that 1  i  T ? t. An arbitrageur is a special kind of producer that converts temporal goods to temporal bundle goods. For each bundle good g(x;y) 2 GB , there is an arbitrageur  2  such that:  For some g 2 G , and all t 2 [y ? x + 1; y] we have hgt ; i 2 E .  h; g(x;y)i 2 E . 13

Arbitrageurs for Airfield 1a t=1 t=2 Airfield 1a t=3

(2,2)

Fighter Attack 1 at t=2

t=2

(2,3)

Fighter Attack 1 at t=3

t=3

(2,4)

Fighter Attack 1 at t=4

t=4

t=4 Arbitrageurs for Airfield 1b t=1 t=2 Airfield 1b t=3 t=4 Fighter Squad 1

Figure 7: A portion of a temporal task dependency network for the air combat domain.

14

Figure 7 show a portion of a temporal task dependency network for the air combat domain (Section 2.1). In this problem, there are four time units during which each air eld is available, and a ghter squad needs two contiguous time slots in an air eld. A ghter squad can use either air eld, but must use the same air eld during both time slots. Thus there are separate arbitrageurs for each air eld. I assume that use of a ghter squadron extends beyond the scheduling horizon, and thus a given ghter squadron cannot be used at multiple time steps. Therefore, I model the ghter squadron as a quantity constrained supplier, and a \ ghter attack 1" producer requires a \ ghter squad 1" good, in addition to a bundle of temporal air eld goods, as input.

3 Price Systems and Competitive Equilibrium In the general equilibrium approach to economic resource allocation, we posit a price system to guide the allocation decisions of agents in a decentralized fashion. A price system p assigns to each good g, a non-negative number p(g) as its price. Intuitively, prices indicate the relative global value of the goods. Therefore, agents may use the prices as a guide to their local decision making. An agent a has quasilinear utility function Ua(X ) = va(X ) + M for allocation of goods X and \money" M . ForPconsumer c, vc(X ) is as de ned in Section 2.2. For supplier s, vc(X ) = ? hs;gi2X ocs (fgg). For producer , v (X ) = 0. I assume that agents wish to maximize their surplus, that is their gain in utility from an allocation. For agent a, good g, and allocation 0 = (V 0; E 0), I de ne the following indicator functions: ( ha; gi 2 E 0 S 0 w (a; g;  ) = 10 ifotherwise,

wB (a; g; 0) =

(

1 if hg; ai 2 E 0 0 otherwise.

De nition 3 (agent surplus) The surplus, (; 0; p), of an agent in allo-

cation 0 = (V 0; E 0), at some prices p, is the utility gain from an allocation, de ned as follows:

15

 (c; 0; p) = vc(fgg) ? Phg;ci2E0 p(g), for all consumers c 2 C \ V 0, and good g  such that:

v (fgg): g = arg g j hmax g;ci2E 0 c

 (; 0; p) = wS (; g ; 0)p(g )?Pg2I wB (; g; 0)p(g) for all producers  2  \ V 0, where g is the output good of  and I are the input goods of .  (s; 0; p) = Phs;gi2E0 (p(g) ? ocs(fgg)), for all suppliers s 2 S \ V 0.

Informally, an allocation 0 is a competitive equilibrium at prices p if 0 balances supply and demand for each good and assigns to each agent a bundle of goods that optimizes the agent's surplus at p. A competitive equilibrium allocation is stable in the sense that no agent would want a di erent allocation at the equilibrium prices. Moreover, a competitive equilibrium allocation is ecient. In this section I discuss properties and existence of a type of approximate equilibria I call --competitive equilibria. I defer to later sections the discussion of how we may arrive at an equilibrium. The  and  refer to parameters used in the SAMP-SB protocol (Section 5). The SAMP-SB protocol can sometimes arrive at a --competitive equilibrium (Section 5.5). Denote as a(p) the maximum surplus that agent a can obtain at prices p by receiving a non-null allocation. I nd it useful to de ne the function for consumers and producers. For all consumers c 2 C , c (p) = max(0 ; hg;c max [vc(fgg) ? p(g)]): i2E For all producers  2 ,

 (p) = p(g ) ?

X

g2I

p(g):

De nition 4 (--competitive equilibrium) An allocation 0 of a task

allocation economy is in --competitive equilibrium at prices p i : 1. If c (p) > , then consumer c 2 C buys any one good g , where hg; ci 2 E , such that vc(fgg) ? p(g)  c (p) ? . If c (p) < 0, then c does not buy a good. If 0  c (p)  , then either case may occur, subject to the restriction that vc(fgg) ? p(g )  0 if c buys g .

16

supplier A 5

A 5 A-B-to-E

supplier B 1

B E

1

7 supplier C 1

C

supplier D 1

D

D-E-to-F

F 12

consumer 15

B-C-D-to-E

0

5

Figure 8: A --equilibrium for B-C-D-to-E =  = 1. 2. A supplier s sells any good g , where hs; gi 2 E , if p(g ) > ocs (fg g). Supplier s does not sell g if p(gs ) < ocs(fg g). Either action may occur if ocs (fgg) = p(g). 3. Producer  is active and feasible if  (p) >  jI j + .  does not trade if  (p) < 0. Either action may occur if 0   (p)   jI j + . 4. For each good, supply equals demand at p.

Figure 8 shows a --equilibrium for B-C-D-to-E =  = 1. Agent values are shown under their respective agents and good prices are shown under their respective goods. Note that, although B-C-D-to-E would be pro table at the --equilibrium prices, it can choose to neither buy nor sell any goods due to the values of B-C-D-to-E and . A --competitive equilibrium corresponds to the standard notion of a competitive equilibrium when  =  = 0 for all producers . Bikhchandani and Mamer [3] and Gul and Stacchetti [9] show that, in an exchange economy, any competitive equilibrium set of prices supports an optimal allocation. This result also holds for task allocation economies, a subclass of production economies. I show this by proving the more general result that a P --competitive equilibrium is suboptimal by at most 2[ jI j + ]+ jC j. First I present several lemmas in support of the desired theorem.

Lemma 1 If 0 is a --competitive equilibrium allocation, and if 0 is not a solution, then 0 = (;; ;). 17

Proof. Assume, contrary to what we wish to prove, that there exists an agent a that buys or sells some goods in 0. If a is a producer, then since 0 is in --competitive equilibrium, a must be active. A simple induction reveals that, to maintain the equilibrium constraint that supply equals demand, there is a path from a to a consumer through a's output. This, combined with the fact that every producer in 0 must be feasible due to the equilibrium constraints, means that 0 must be a solution, which is a contradiction. Thus no producers buy or sell goods in 0. It follows that a must be a supplier or a consumer. But to ensure that supply equals demand for all goods, it must be that there is a supplier selling directly to a consumer. But then 0 is a solution, which is a contradiction. 2

Lemma 2 If 0 is a --competitive equilibrium allocation for a task allocation economy, and if there does not exist a solution ^ such that value (^)  0, then 0 = (;; ;). Proof. Assume, contrary to what we wish to prove, that 0 = 6 (;; ;). By Lemma 1, 0 is a solution. Recall that the equilibrium conditions guarantee that each agent in the solution has a non-negative surplus and each producer in the solution is active. Therefore, by transitivity along each solution path from suppliers to consumers, Pc2C\V 0 vc(fgg)  cost (0), where g is the single good that consumer c buys in 0. But then value(0)  0, which is a contradiction. 2

Lemma 3 The value of a solution 0 = (V 0; E 0), with agents A0, can be expressed as the sum of the surpluses of each agent, at any prices p: value (0 ) =

X

a2A0

(a; 0; p):

(1)

Proof. Equation (1) expands to: value (0) =

+ +

X

g;cjc2C;hg;ci2E 0

[vc(fgg) ? p(g)]

2

X

2\V 0

4wS (; g ; 0)p(g )

X

s;gjs2S;hs;gi2E 0

?

X

g2I

[p(g) ? ocs(fgg)] 18

3

wB (; g; 0)p(g)5

Since supply equals demand in a solution, all the price terms cancel out. We are left with X

g;cjc2C;hg;ci2E 0

vc(fgg) ?

X

s;gjs2S;hs;gi2E 0

ocs (fgg);

which is the original formula for the value of a solution (De nition 1). 2

Lemma 4 If a task allocation economy has a solution ^ such that value (^) > 0 2 [ jI j +  ] + jC j , and if  is a - -competitive equilibrium at some

P

prices p, then 0 is a solution.

Proof. Assume, contrary to what we wish to prove, that 0 is not a solution at prices p. By Lemma 1, 0 = (;; ;), that is none of the agents in 0 buy or sell any goods in 0 at prices p. Denote as A^ the agents, C^ the consumers, ^ the producers, and S^ the suppliers in ^. Without loss of generality, we assume that every  2 ^ sells its output. If this were not the case, we could easily transform ^ into a solution for which every producer sells its output by recursively removing producers that do not sell their output, and suppliers that sell to them. Since this transformation clearly does not decrease the value, the transformed solution P has value greater than 2[ jI j + ] + jC j. Since 0 = (;; ;), the equilibrium conditions specify that  (p)   jI j +  for all producers , ocs (fgs g)  p(gs ) for all suppliers s and goods gs such that hs; gs i 2 E , and vc(fgcg) ? p(gc )   for all consumers c and goods gc such that hgc ; ci 2 E . In particular, this holds for agents in ^. Therefore:  (; ^; p)   jI j +  for all  2 ^ ,

 (s; ^; p)  0 for all s 2 S^,  (c; ^; p)  . for all c 2 C^ .

But then by Lemma 3, value (^) = Pa2A^ (a; ^; p)  P2[ jIj + ]+ jC j, which is a contradiction. 2

Lemma 5 If 0 is a --competitive equilibrium solution at some prices p, then 0 has a non-negative value that is suboptimal by at most P2 [ jI j + ] + jC j. 19

Proof. Let 0, with agents A0, be an equilibrium solution at prices p. Assume, contrary to what we wish to prove, that there is a solution , with agents P A, such that value () > value (0) + 2[ jI j + ] + jC j. Recall the formula for the value of a solution from Equation (1). We can rewrite this value equation for 0 and  as value (0) =

and value () =

X

a2A0 nA X

a2A nA0

(a; 0; p) + (a; ; p) +

X

a2A0 \A X

a A A

2 0\ 

(a; 0; p)

(2)

(a; ; p)

(3)

respectively. We show that:

(a; 0; p)  0 for all a 2 A0 n A (4)   0 (s;  ; p)  0 for all s 2 (A n A ) \ S (5)   0 (;  ; p)   jI j +  for all  2 (A n A ) \  (6)   0 (c;  ; p)   for all c 2 (A n A ) \ C (7) 0  0  (a;  ; p)  (a;  ; p) for all a 2 (A \ A ) \ (S [ ) (8) (c; 0; p)  (c; ; p) ?  for all c 2 (A0 \ A) \ C (9) Equation (4) holds because 0 is in equilibrium at p. Equation (5) holds because each supplier in (A n A0) \ S has non-positive surplus at prices p, otherwise it would be in A0. Equation (6) holds because each producer  2 (A n A0) \  has a surplus no greater than  jI j +  at prices p, otherwise it would be in A0. Equation (7) holds because each consumer  2 (A n A0) \ C has a surplus no greater than  at prices p, otherwise it would be in A0. All suppliers s 2 A0 \ A \ S sell all goods gs such that ocs (fgsg)  p(gs ) in the equilibrium solution 0. Therefore, no such s can have a higher surplus in . Since 0 is in equilibrium, every producer  2 A0 \ A \  is active, feasible, and has a non-negative surplus in 0 at prices p. Since  must be feasible in , it cannot have a higher surplus in  at prices p. Therefore, Equation (8) holds. In equilibrium, each consumer receives an allocation that gives it a value of at least  less than its maximum potential surplus at prices p. Therefore, Equation (9) holds. 20

Equations (2) { (9) imply that value (0) + P2 [ jI j + ] + jC j  value (), which is a contradiction.PTherefore, the value of an --equilibrium solution is suboptimal by at most 2[ jI j + ] + jC j. Each sum term in Equation (1) is non-negative in a --equilibrium. Therefore, the value of a --equilibrium solution is non-negative. 2

Theorem 6 A --competitive equilibrium allocation in a task allocation

economy has a non-negative value that is suboptimally ecient by at most P [  j I 2   j +  ] + jC j .

The theorem hold in all cases, as follows:  If there exists a maximum value solution with value V > P2[ jI j + ] + jC j, then a --equilibriumPallocation is a solution with nonnegative value no less than V ? 2 [ jI j + ] + jC j (Lemmas 4 and 5).  If the value of a maximum value solution is negative, or if no solution exists, then the only --equilibrium allocation is (;; ;) (Lemma 2).  IfP a maximum value solution exists with value V such that 0  V  2 [ jI j +  ]+ jC j , then a - -equilibrium allocation is either (;; ;) or a solution with non-negative value. (Lemmas 1 and 5).

2

Unfortunately, due to complementarity of inputs in the technologies of producers, not all task allocation economies have competitive equilibria. We can always specify some  and set of  values such that a --competitive equilibrium exists, even when a competitive equilibrium does not exist. We can do this by setting prices of the goods desired by the consumers higher than their values, and the prices of all other goods to zero (if there are any suppliers that could sell directly to consumers with positive surplus on both sides, we can set the prices so that only these suppliers trade with those consumers). We then set  and the  values suciently high such that all producers can be inactive. Unfortunately, we cannot generally specify a -competitive equilibrium for some xed, problem-independent values of  and  . Indeed, the necessary values to obtain a non-solution --equilibrium are proportional to the highest consumer value and the depth of the network. The following paragraph explains by example that the values necessary to 21

p(A) ≥ 5 supplier A 5

A

p(B) ≥ 1 supplier B 1

A-B-to-E

p(E) ≥ 6

B E

F 9 ≥ p(F) ≥ 10−(3λ+δ)

supplier C 1

p(C) ≤ 1

supplier D 1

p(D) ≥ 4−(3λ+δ)

C

D-E-to-F

consumer 9

B-C-D-to-E

D

Figure 9: An economy with a --competitive equilibrium solution when 3B-C-D-to-E +  > 1. obtain a solution --equilibrium can be proportional to the cost of some supplier. Figure 9 shows the constraints on B-C-D-to-E and  in order to have a --competitive equilibrium solution in a particular economy. There is only one solution, which involves all agents except B-C-D-to-E, and this solution has a positive value. The constraints on the prices of goods A and B ensure that suppliers A and B sell their goods. The constraint on the price of good C ensures that supplier C does not sell its good. The constraint on the price of good E ensures that A-B-to-E is active. The constraint on the price of good D ensures that B-C-D-to-E does not buy or sell any goods. Finally, the constraint on the price of good F ensures that D-E-to-F is active and also that the consumer buys good F. The constraint on the price of good F requires 3B-C-D-to-E +  > 1 to have a --competitive equilibrium solution. Note that the constraints on the prices for goods A and D rise linearly with the cost of supplier A. As a result, the lower bound on 3B-C-D-to-E +  rises linearly with the cost of supplier A.

4 Market Protocols Section 3 describes how the ineciency of approximate competitive equilibrium allocations is proportionate to the error in the equilibrium, but sidesteps 22

the issue of how an economic system might compute an approximate competitive equilibrium. The economic approach, which I adopt, is to design an auction mechanism that mediates negotiation and computes prices and allocations. The auctions along with the agents form an economy or market. The agents' bidding policies govern their interaction with the auctions. The key distinction is that the auction mechanism is under the control of the system designers, while the bidding policies are determined by individual agents. Together, these speci cations for behavior constitute a market protocol. In economies characterized by in nite divisibility of goods, nonincreasing returns to scale, and gross substitutes, equilibria always exist and the tatonnement protocol converges to a competitive equilibrium. The walras protocol is a variant of tatonnement, implemented in decentralized systems [4, 29]. When goods are discrete, ecient allocations can be achieved in exchange economies for which each agent wants only a single good [7, 11, 26]. If agents want multiple goods but have no complementarities, the simultaneous ascending auction produces highly ecient allocations when agents bid according to a straightforward rule [6]. However, economies with discrete goods and complementary preferences of agents can lack equilibria (Section 3), and provide a much greater challenge to obtaining ecient allocations. Many researchers have proposed combinatorial auctions to address the problem resulting from discrete goods and complementarities [16, 31]. Combinatorial auctions allocate and price bundles of goods. Wurman and Wellman show that there always exists a competitive equilibrium set of prices on bundles that supports an optimally ecient allocation [33]. However, except in some restricted domains (e.g., as described in [18, 30]), a combinatorial auction must generally compute prices on a combinatorial number of good bundles. Because combinatorial auctions are generally computationally infeasible, I focus on auctions that price individual goods. The ideal such auction would compute a (near) competitive equilibrium when one exists, and would compute a highly ecient allocation otherwise. Unfortunately, no protocol has yet been proposed that always converges to near competitive equilibrium, even when one exists, in economies with discrete goods and complementarities. Lacking an ideal mechanism, many researchers have considered simultaneous ascending auctions [14]. Such auctions were used in the United States FCC radio spectrum sale [13], and preliminary analysis suggests that the allo23

cations were very ecient [12]. In Section 5 I describe a variant simultaneous ascending auction for the task allocation problem.

5 SAMP-SB Protocol We have implemented the Simultaneous Ascending (M+1)st Price with Simple Bidding (SAMP-SB) protocol in walras, a research platform for computational economies [29], and also the University of Michigan Digital Library (UMDL) experimental system [27]. In each case, the system nds solutions in a decentralized, multiagent environment where agents have only local knowledge about their own preferences or production technologies and the goods and related auctions of direct interest to them. The agents negotiate for the goods through auction mediators, one for each good. An auction in turn determines the price and allocation of its respective good. I describe the auction mechanism in Section 5.1 and the assumed agent bidding policies in 5.2. I analyze the protocol in Section 5.3. I describe an extension to allow contract decommitment in Section 5.4. I provide empirical results of the eciency and equilibrium convergence of the protocol in Section 5.5.

5.1 Auction Mechanism

The task allocation market includes a simultaneous auction for each good (task) of potential value. Each agent regularly submits new bids for some of the goods that it wishes to buy or sell (if an agent does not wish to change its bid, then it leaves its previous bid standing in the auction). A bid speci es the price below/above which the agent is willing to buy/sell. When an auction receives a new bid, it sends each of its bidders a price quote specifying the price that would result if the auction ended in the current bid state. Because multiple agents may have bid the same price, the price quote also reports to each bidder the quantity it would buy or sell in the current state. Agents may then choose to revise their bids in response to the noti cations. In an asynchronous system we found it necessary for the auction to send the ID of the most recent bid received from the agent with its price quote. An agent responds only to a price quote that re ects its most recent bid sent. Without this device, an agent can have diculty establishing feasibility, as its understanding of its input and output bid states may be based on 24

nonuniformly delayed reports. Bidding continues until quiescence, a state where all messages have been received, no agent chooses to revise its bids, and no auction changes its allocation. At this point, the auctions clear ; each bidder is noti ed of the nal prices and how many units it transacted in each good. Note that a quiescent economy may not be in a solution state. Each auction runs according to (M+1)st-price rules [21, 22, 32]. The (M+1)st price auction is the uniform price generalization of the second-price Vickrey auction [26] that allows for the sale and purchase of multiple units of a good. Given a set of bids including M units o ered for sale, the (M+1)stprice auction sets a price equal to the (M + 1)st highest of all of the bids. The price can be said to separate the winners from the losers, in that the winners include all sell bids strictly below the price and all buy bids strictly above the price. In order to maximize trade, some agents that bid at the (M +1)st price also win according to the rst-in rst-out (FIFO) tie breaking rule; bids submitted earlier have precedence over later bids at the same price. Winning buy and sell bids are matched one-to-one. Because a producer producer has complementary inputs, ensuring feasibility is a challenging problem, requiring careful design. We run the auctions simultaneously, and each auction requires that an agent's successive bids increase by no less than some (generally small) positive number  (see [14] for an analysis of simultaneous ascending auctions). An auction can enforce the ascending rule by simply rejecting an agent's bid if it does not increase by . This design helps give producers an accurate indication of the relative prices for inputs and outputs. It is common in auction literature and practice to place an ascending restriction on buy bids. However, it may seem counterintuitive|and is in fact atypical|to place the same restriction on sell bids. Rather, it is common to require sell bids to decrease. We do not understand the full implications of various bid restrictions. However, the ascending bid restriction ensures that prices rise monotonically rather than oscillate. Section 5.3 shows how an ascending bid restriction for both buy and sell bids serves a key role in establishing the relationships between system quiescence and solution convergence of the economy.

25

5.2 Bidding Policies

Although MAS designers do not generally have control over the agents' behaviors, any conclusions about the outcome of a protocol must be based on some assumptions about these behaviors. A typical assumption in economics is that agents are rational and play strategies that form a Bayes-Nash equilibrium. However, the complexity of task allocation economies is beyond the current state of the art for analyzing Bayes-Nash equilibria. Instead, our analysis assumes that the agents follow a simple bidding policy, described in this section. Other variations may be reasonable, or perhaps better in some respects than the policies we describe. Rather than explore the range of possibilities, we chose in this work to investigate a particular set of policies in depth. Our chosen policies respect the ascending bid restriction enforced by the auction as well as the decentralization constraint, in that they require no knowledge of other agents in the system. The suppliers' optimization problem is simply to maximize the di erence between its value for each good it can supply, and the price at which it transacts the good. We assume that suppliers do not behave strategically, and instead simply place xed bids at their respective reserve prices. The auction rules ensure that this policy will result in a nonnegative surplus value. A consumer wishes to acquire a single good that maximizes its surplus at the given prices. A consumer initially bids zero for each good of interest. So long as it is winning a good, it does not change its bid. When it is not currently winning a good, it bids p(g) +  for the good g that provides the maximum positive surplus at p(g) + . If p(g) +  > vg (fcg) for all g such that hg; ci 2 E , then consumer c does not further change any bids. A producer's optimization problem is much more complex, namely to maximize the di erence between the price it receives for its output and the total price it pays for its inputs, while remaining feasible. A producer bids for its output the sum of its perceived input prices, under the constraint that if it raises a bid, it must do so by no less than . For a given input good, we de ne the perceived price for producer  to be the last price quote if that price quote indicated it was winning, or some small nite amount  above the last price quote if that price quote indicated that it was losing. A producer initially bids zero for each of its input goods and gradually increases these bids to ensure feasibility. A producer  will raise its bid for an input good by  if and only if the price quotes indicate that it is losing that good but winning its output. 26

Current bid A = $2 A $1 C $3

B

Good

Next Bid

A B C

hold at $2 $2 $4

Current bid C = $3

$2 Current bid B = $1

Figure 10: A producer's next bids when  =  = 1. Figure 10 shows how a producer would bid next as a function of the current prices and its current bids, when  =  = 1. Current prices are shown under the goods. The dashed arrow from good B indicates that the producer is currently losing B. The solid arrows indicate bids the producer is winning. Note that throughout the negotiation, a producer places bids for its output goods before it has received commitments on its input goods. Producers counteract potential risk by continually updating their bids based on price changes and feasibility status.

5.3 Quiescence and Solution Convergence

The SAMP-SB auctions and bidding policies are sucient to guarantee that the economy will always reach quiescence. We rst present several lemmas that will be useful in proving this result. In this analysis, we assume that all messages are delivered in a nite period of time, that is, messages are never lost. Messages may be arbitrarily delayed, but we assume that messages from a given agent to another arrive in order. We de ne the level of a producer with output g as the maximum distance from it to any consumer, formally stated as follows: one if no producer, but some consumer, has g as input, and k + 1 if the maximum level of any producer with input g is k. A given run of the market protocol has the following parameters:   = the maximum level of any producer in the graph,   = the maximum number of input goods for any producer, 27

  = max2  ,  R = maxc2C;g2G vc(fgg). Lemma 7 No agent places a buy bid above R + 2. Proof. Clearly this holds for each consumer. We prove by induction on the producer level that no producer at level k places a buy bid above R +2k. Because k   for all producers, the lemma follows immediately. Only a consumer may wish to acquire the output of a producer  at level one. Thus  can only win its output bid if the expected price of its inputs is no greater than R. Assume that  will raise its bid for input g from to 0, where R +  < 0  R + 2.  must bid 0 before bidding above R + 2, and it must be that > R. It must also be that  is losing its bid for g, otherwise it would not raise the bid. But then the current price quote of g is greater than R. Thus,  will bid greater than R for its output. Because bids are nondecreasing, it will never again win its output bid, and hence will never again raise an input bid. Thus a level one producer will never place a buy bid above R + 2. Now assume that no producer at any level i, where i < k, places a buy bid above R + 2i, to prove that no producer at level k places a buy bid above R + 2k. By the inductive assumption, no producer at level k can win its output bid for more than R + 2(k ? 1). It is straightforward to apply the reasoning for level one to prove the inductive case. 2

Lemma 8 The price of no good exceeds R + 2. Proof. Assume, contrary to which we wish to prove, that there is a good g with price p(g) > R + 2. According to the auction mechanism, there must be M + 1 bids at or above p(g). By Lemma 7 these must all be sell bids. But, by de nition, there are only M sell bids, which is a contradiction.

2

Lemma 9 No producer places a sell bid above (R + 2 + ) + . Proof. By Lemma 8, and the producer bidding policy, the expected price for any input to any producer does not exceed R +2 +. No producer has more than  inputs, and bids must increase by no less than . Therefore, by the producer bidding policy, no producer places a sell bid above (R + 2 + ) + . 2

28

supplier A

A

$5

$5 A-B-to-E

supplier B $1

B E

$2

supplier C

C

$1

$1

supplier D $1

D

D-E-to-F

$8

F $12

consumer $15

B-C-D-to-E

$4

Figure 11: Prices and allocations determined by SAMP-SB when  =  = 1.

Theorem 10 The market protocol reaches quiescence after at most "

#

jj 1 + ( + 1)(R + 2) +  +

X hg;ci2E j c2C

vc(fgg)= + jE S j

bids have been placed, where E S  E are the edges hs; gi such that s 2 S . Proof. Lemmas 7 and 9 establish upper bounds on a producer's buy and sell bids, respectively. Since each producer places bids in increments of least , some algebraic manipulation reveals that it will place no more than 1 + [( + 1)(R + 2) + ]= bids. Each consumer c will bid no more than vc(fgg) for any good g such that hg; ci 2 E , and will bid in increments of at least . Each supplier places a single bid for each of the goods it supplies. 2 --competitive equilibria do not always exist for xed  and , and even when they do, the SAMP-SB protocol is not guaranteed to converge to one. Figure 11 shows the results of a run of SAMP-SB when  =  = 1 for all producers . All agents are shaded because they are all part of the valid solution. Note that B-C-D-to-E buys one input and hence is part of the solution, even though it does not sell its output. This is a violation of the --competitive equilibrium conditions. However, if SAMP-SB results in prices and allocation such that no producer buys any input without selling its output, then the economy is in --competitive equilibrium.

29

Theorem 11 The prices and allocation determined in quiescence by the

SAMP-SB protocol is a --competitive equilibrium i no producer buys any input without selling its output. Proof

 Case only if: The de nition of --competitive equilibrium requires that each producer either buys all its inputs and sells its output, or else does not buy or sell anything.

 Case if: The consumer and supplier bidding policies guarantee that they always obey their --competitive equilibrium conditions when the economy reaches quiescence. The producer bidding policy ensures that a producer  will be feasible in quiescence. If  (p) >  jI j +  in quiescence, then the price of its output g must be no greater than the price it is bidding for g , hence it must be winning g . If  (p) < 0 in quiescence, then the price of g must be less than the price it is bidding, in which case it is losing g . Finally, the theorem speci es that  does not buy inputs if it does not sell its output, so a producer obeys the --competitive equilibrium conditions. The (M+1)st price auction balances reported supply and demand. Thus all conditions of --competitive equilibrium are met.

2

Because SAMP-SB does not always converge to an equilibrium, I present a weaker constraint on the prices that is useful in analyzing the SAMP-SB protocol. I say that a solution (V 0; E 0) is valid if:  Each consumer in the solution pays no more than its value for a single good. That is, for all c 2 C \ V 0, there exists g 2 G, where hg; ci 2 E 0 such that p(g)  vc(fgg) and for all g0 6= g where hg0; ci 2 E 0, p(g0) = 0.  Each supplier in the solution sells its goods for at least its cost: p(gs )  ocs (fgg) for all s 2 S \ V 0 and gs 2 G such that hs; gs i 2 E 0. 30

 And none of the active producers lose money: X p(g )  p(g) g2I

for all  2  \ V 0 where h; g i 2 E 0 and I = S g such that hg; i 2 E 0. Note that the de nition of a valid solution di ers from that of a -competitive equilibrium in that it does not preclude the possibility that some producers are unpro table because they purchase some inputs yet fail to sell their outputs. Figure 11 shows a valid solution that is not a --competitive equilibrium. If all sell bids for all consumers' goods rise above their values, then the economy will necessarily reach quiescence in a non-solution state. If, however, quiescence is reached before the price of some consumer's good reaches its value for the good, we have a valid solution.

Theorem 12 If the market reaches quiescence with p(g) < vc(fgg) for some c 2 C and g 2 G such that hg; ci 2 E , then the system's state represents a valid solution.

Proof. Each producer must be feasible, otherwise it would change some of its input bids and the economy would not have reached quiescence. For any active producer, the price of its output good must be no less than the total price of its input goods, otherwise it would increase its output bid and the economy would not have reached quiescence. Because p(g) < vc(fgg), consumer c must have won its bid for g. A consumer bids in such a way that it only wins one good. The auction guarantees that suppliers receive at least their reserve price if they win. Finally, the auction guarantees that there is a one-to-one mapping between successful buy bids and successful sell bids for any good. Each of the constraints for a valid solution are satis ed in the given quiescence conditions. 2

Lemma 13 If the economy is in a valid solution state, such that  each consumer c is either winning a bid, or p(g) +  > vc(fgg) for all g 2 G such that hg; ci 2 E , and  all bids have been received in response to the current prices, 31

then the subsequent behavior of the agents obeys the following properties: 1. No agent changes any buy bids. 2. No agent reduces any sell bids. 3. Each agent that won a sell bid does not bid above the price quote for that good. Proof. The consumer bidding policy specify that the consumer's do not change their bids, under the speci ed conditions. Because we have a valid solution, each producer is feasible and thus will not raise any of its buy bids for inputs. Hence property 1 is satis ed. Property 2 is satis ed because agents never decrease their bids. A producer that won a sell bid must not have bid above the current quote for that good. By the de nition of a valid solution, if a producer is active then the current price of its output good is no less than the total current price of its inputs. Thus an active producer will bid no higher than the current price of its output good. This, combined with the fact that suppliers do not change their bids, satis es property 3. 2

Theorem 14 If the economy is in a valid solution state, such that  each consumer c is either winning a bid, or p(g) +  > vc(fgg) for all g 2 G such that hg; ci 2 E ,  all bids have been received in response to the current prices, and  no sell bids are currently lost due to tie breaking, then after the subsequent price quote from each auction, the economy will be in a quiescent state with a valid solution. Proof. We refer to the three properties enumerated in Lemma 13. Recall that the current price (along with tie breaking) separates the winning bids from the losing bids submitted prior. From Property 1 we know that the current price and the FIFO tie breaking will also separate the same winning buyers from the same losing buyers in the next price quote. Properties 2 and 3, and the fact that no sell bids are currently lost to tie breaking, ensure that the current price will also separate the same winning sellers from

32

supplier A

A

$5

$5 A-B-to-E

supplier B $1

B E

$1

supplier C

C

$1

$0

supplier D $1

D

$6

D-E-to-F

F $7

consumer $15

B-C-D-to-E

$1

Figure 12: The minimum-price valid solution. the same losing sellers in the next price quote. It follows that the allocations will not change after the next price quote. Also, because the current price will separate the winners from losers in the next price quote, the price will not change in the next price quote. Since the prices and allocations do not change in the next set of price quotes, no agent will further change its bids, and the economy will be quiescent. Furthermore, because the economy is in a valid solution state based on the current price quotes, it must be in a valid solution state based on the next price quotes. 2 We note here that FIFO tie breaking itself is not sucient to ensure that the allocation to sellers does not change. The properties established by Lemma 13 do not exclude a producer from increasing its next sell bid up to the price quote. If this occurs, then tie breaking of sell bids at the (M+1)st price would be di erent in the next price quote. Consider a single-consumer economy, in which the consumer desires a single good, gc. Let p^ be a set of prices for a valid solution of the economy, such that the price of gc is minimized. To reach a valid solution con guration, the consumer's reserve price must be no less than p^(gc). Note however, that the consumer's value for gc must generally be greater than p^(gc ). Consider the example shown in Figure 11. The minimum valid solution price for good F is $7, as shown in Figure 12. However, if producer B-C-D-to-E has B-C-D-to-E < 1, then it will be willing to sell good E for less than $6, and the prices and allocations shown cannot constitute a quiescent solution (it follows that SAMP-SB would not generate the allocation and prices shown 33

supplier A

A

$5

$5 A-B-to-E

supplier B $1

B E

$1

supplier C

C

$1

$0

supplier D $1

D

$6

D-E-to-F

F $12

consumer $15

B-C-D-to-E

$3

Figure 13: The minimum-price quiescent valid solution for  =  = 1. in Figure 12). Because D-E-to-F is the only producer that sells F, the good D must be allocated to D-E-to-F rather than to B-C-D-to-E. Hence, in order for a valid solution to be quiescent, the price of C must be high enough such that B-C-D-to-E cannot win a bid to sell E. If  =  for all producers , then p^ (with the constraint of no tie breaking) is as shown in Figure 13. Our experiments suggest that if a consumer's values are suciently greater than the minimum valid solution prices for its goods, then the economy will reach a quiescent valid solution. How much higher the reserve price must be depends on the the other consumer values,  and  values, as well as the structure of the economy. For instance, in the running example the system actually computes the prices shown in Figure 11, rather than the minimum valid solution prices. Good B is bid up higher than $1 because at various times, either A-B-to-E or B-C-D-to-E won its output bid yet did not win its bid for B. Conjecture 15 For any economy for which a valid solution exists for some consumer c, there exists minimum values for the goods c desires (assuming that all other consumer values are xed), such that economy will reach a quiescent valid solution with the speci ed auctions and bidding policies. Note that our conjecture does not claim that solutions found are those with maximum value. Indeed, valid but suboptimal solutions appear in our experiments. We do not yet have a proof of this conjecture. However our intuition of its correctness is supported by a battery of randomly generated experiments. 34

Each economy had a single consumer, and a number of atemporal goods, suppliers, and two-input producers, each selected independently from the uniform distribution [3; 53]. Each supplier's price was uniformly distributed on [0; 10],  =  = 0:1 for all producers, and the consumer's reserve price was set suciently high. Over 3000 economies converged to a quiescent valid solution. Only economies with no solution failed. Although I have not systematically explored Conjecture 15 with respect to economies with multiple consumers or scheduling structures, I have run many trials for both cases. These trials have not revealed a counterexample to the conjecture. That identifying convergent protocols is nontrivial is supported by our experience with several variants that fail to reliably terminate in a solution state. For example, the ascending price restriction appears pivotal in achieving the desired behavior. As further tests, we ran a set of task allocation exercises as part of classroom assignments. The rst involved 25 human agents playing the role of producers, with the same price quote information available to our software agents, but no ascending bid restriction. The humans failed to reach solutions in any of the ten problems ( ve di erent, run twice each), despite the fact that there were a multiplicity of solutions, found easily by agents pursuing the simple policy presented in Section 5.2.2 The second exercise involved over 80 students, each of whom designed a software producer to participate in arbitrary task allocation economies. The economies had simultaneous ascending (M+1)st price auctions, but the agents were not constrained to follow the bidding policies described in Section 5.2. We ran subsets of the agents in a number economies. A handful of trials with homogeneous agent designs reached solutions. However, none of the trials with heterogeneous agent designs resulted in solutions.3. We do not draw any serious conclusions from such uncontrolled experiments, but report the outcomes as suggestive of the subtlety of the underlying problem. This exercise is described at http://ai.eecs.umich.edu/people/wellman/courses/ . 3 This exercise is described at http://ai.eecs.umich.edu/people/wellman/courses/ eecs492/w98/PS6.html The successful completion of this exercise was due largely to the heroic e orts of the class GSI, Scott Wallace. 2

eecs498/w97/PS3.html

35

5.4 Contract Decommitment

Despite the convergence properties, the current protocol does not guarantee eciency. We have observed the protocol converge to valid solution allocations in which some producers purchase some inputs, but do not sell their output. Figure 11 shows an economy in which the protocol allocates good C to B-C-D-to-E, even though that producer does not sell its input. A straightforward protocol for correcting the ineciency is to make the solution locally minimal by allowing selective contract decommitment.

De nition 5 (locally minimal) Let 0 be a solution subgraph with goods G0 and agents A0. Let G^  G0 be any nonempty set of goods, and A^  A0 be any nonempty set of agents. 0 is locally minimal if when we remove G^ , A^, and all incident edges from 0, then the resulting graph is not a solution.

I propose a contract decommitment protocol, by which a producer that wins some inputs but not its output can decommit from its contracts for its inputs. The protocol is applied recursively to the producers that lose their outputs due to decommitment. The result is a locally minimal valid solution where no good or agent can be removed without breaking the solution supply chain. Ineciency can also occur if some agents exchange goods in a non-solution state. The decommitment protocol can also be used in this situation to nullify all trades.

5.5 Equilibria and Eciency

I conducted a series of randomly generated simulations in order to empirically estimate how often the SAMP-SB protocol converges to equilibria, as well as its average eciency. I tested atemporal task allocation economies with 1, 2, and 3 consumers. For each number of consumers, I tested 100 economies for each of 5 to 15 number of goods. Valuations were randomly generated, but  and  values were xed and homogeneous. I provide a detailed description of the economy generation process in Appendix C. For each economy I computed the optimal eciency using A* search with an admissible heuristic. I ran the SAMP-SB protocol with and without decommitment, and computed the resulting fraction of optimal surplus (FOS). I discarded all runs for which the optimal allocation had value zero, and reran 36

SAMP-SBFOS range SAMP-SB decommitment