Distributed constraint optimization
Distributed constraint optimization (DCOP) is the distributed analogue to constraint optimization. A DCOP is a problem in which a group of agents must distributedly choose values for a set of variables such that the cost of a set of constraints over the variables is either minimized or maximized.
Definitions
DCOP
A DCOP can be defined as a tuple , where:
- is a set of agents;
- is a set of variables, ;
- is a set of domains, , where each is a finite set containing the values to which its associated variable my be assigned;
- is function[1][2]
that maps every possible variable assignment to a cost. This function can also be thought of as defining constraints between variables; - is a function mapping variables to their associated agent. implies that it is agent 's responsibility to assign the value of variable . Note that it is not necessarily true that is either an injection or surjection; and
- is an operator that aggregates all of the individual costs for all possible variable assignments. This is usually accomplished through summation:
.
The objective of a DCOP is to have each agent assign values to its associated variables in order to either minimize or maximize for a given assignment of the variables.
Context
A Context is a variable assignment for a DCOP. This can be thought of as a function mapping variables in the DCOP to their current values:
Note that a context is essentially a partial solution and need not contain values for every variable in the problem; therefore, implies that the agent has not yet assigned a value to variable . Given this representation, the "domain" (i.e., the set of input values) of the function f
can be thought of as the set of all possible contexts for the DCOP. Therefore, in the remainder of this article we may use the notion of a context (i.e., the function) as an input to the function.
Example problems
Distributed Graph Coloring
The graph coloring problem is as follows: given a graph and a set of colors , assign each vertex, , a color, , such that the number of adjacent vertices with the same color is minimized.
As a DCOP, there is one agent per vertex that is assigned to decide the associated color. Each agent has a single variable whose associated domain is of cardinality (there is one domain value for each possible color). For each vertex , create a variable in the DCOP with domain . For each pair of adjacent vertices , create a constraint of cost 1 if both of the associated variables are assigned the same color:
The objective, then, is to minimize .
Distributed Multiple Knapsack Problem
The Distributed Multiple- variant of the Knapsack problem is as follows: given a set of items of varying volume and a set of knapsacks of varying capacity, assign each item to a knapsack such that the amount of overflow is minimized. Let be the set of items, be the set of knapsacks, be a function mapping items to their volume, and be a function mapping knapsacks to their capacities.
To encode this problem as a DCOP, for each create one variable with associated domain . Then for all possible context :
where is a function such that
Algorithms
Algorithm Name | Year Introduced | Complexity | Correctness/ Completeness |
Implementations |
---|---|---|---|---|
NCBB No-Commitment Branch and Bound[3] |
2006 | Memory: Polynomial (or any-space[4]) | Proven | Reference Implementation: not publicly released |
DPOP Distributed Pseudotree Optimization Procedure[5] |
2004 | Memory: Exponential | Proven | Reference Implementation: FRODO (free but proprietary) |
OptAPO Asynchronous Partial Overlay[6] |
2004 | Memory: Polynomial | Proven, but proof of completeness has been challenged[7] | Reference Implementation: OptAPO |
Adopt Asynchronous Backtracking[8] |
2003 | Memory: Polynomial (or any-space[9]) | Proven | Reference Implementation: Adopt |
See also
Notes and references
- ^ "" denotes the power set of
- ^ "" and "" denote the Cartesian product.
- ^
Chechetka, Anton; Sycara, Katia (May), "No-Commitment Branch and Bound Search for Distributed Constraint Optimization" (PDF), Proceedings of the Fifth International Joint Conference on Autonomous Agents and Multiagent Systems, pp. 1427–1429
{{citation}}
: Check date values in:|date=
and|year=
/|date=
mismatch (help) - ^
Chechetka, Anton; Sycara, Katia (March), "An Any-space Algorithm for Distributed Constraint Optimization" (PDF), Proceedings of the AAAI Spring Symposium on Distributed Plan and Schedule Management
{{citation}}
: Check date values in:|date=
and|year=
/|date=
mismatch (help) - ^
Petcu, Adrian; Faltings, Boi (September), "A Distributed, Complete Method for Multi-Agent Constraint Optimization" (PDF), Proceedings of the Fifth International Workshop on Distributed Constraint Reasoning
{{citation}}
: Check date values in:|date=
and|year=
/|date=
mismatch (help) - ^ Mailler, Rober; Lesser, Victor (2004), "Solving Distributed Constraint Optimization Problems Using Cooperative Mediation" (PDF), Proceedings of the Third International Joint Conference on Autonomous Agents and Multiagent Systems, IEEE_Computer_Society, pp. 438–445
- ^ Grinshpoun, Tal; Zazon, Moshe; Binshtok, Maxim; Meisels, Amnon (2007), "Termination Problem of the APO Algorithm" (PDF), Proceedings of the Eighth International Workshop on Distributed Constraint Reasoning, pp. 117–124
- ^ Modi, Pragnesh Jay; Shen, Wei-Min; Tambe, Milind; Yokoo, Makoto (2003), "An asynchronous complete method for distributed constraint optimization" (PDF), Proceedings of the second international joint conference on autonomous agents and multiagent systems, ACM Press, pp. 161–168
- ^
Matsui, Toshihiro; Matsuo, Hiroshi; Iwata, Akira (February), "Efficient Method for Asynchronous Distributed Constant Optimization Algorithm" (PDF), Proceedings of Artificial Intelligence and Applications, pp. 727–732
{{citation}}
: Check date values in:|date=
and|year=
/|date=
mismatch (help)