Post on 14-Dec-2015
Distributed Constraint Optimization Problems
• Are a generalization of constraint satisfaction problems
• Like DCSP, DCOP includes a set of variables: – each variable is assigned to an agent that
has control over its value• In DCSP– the agents assign values to variables so
as to satisfy the constraints on them• In DCOP– the agents must coordinate their choice
of values so that a global objective function is optimized.
• Applications of DCOP:– Multiagent Teamwork– Distributed Scheduling– Distributed Sensor Networks
Distributed Constraint Optimization Problems
• Formal Definition– A constraint satisfaction problem consists
of:• A set of n variables V = {x1, x2, …, xn }
• Discrete, finite domains for each of the variables D = { D1, D2, …, Dn }
• A set of cost functions f = {f1, …, fm} .
–where each fi is a function
fi : Di1 x Di2 x … x Dij N U .• The problem is to find an assignment
A* = {d1, …, dn | di Di} such that the global cost called F, is minimized. –F is defined as follows:
m
ii AfAF
1
)()(
Distributed Constraint Optimization Problems
• Design Criteria for DCOP algorithms:– Agents should be able to optimize a
global function in a distributed fashion using only local communication
– The agents should operate asynchronously• agents should not sit idle waiting for a
particular message from a particular agent
– The algorithm should provide provable quality guarantees on system performance
Adopt (Asynchronous Distributed Optimization)
• Generalization of Asynchronous Backtracking– with a bunch of performance tweaks.
• Starts by assigning a priority to the agents based on a depth-first search tree– each node has a single parent and
multiple children– parents have higher priority than the
children– hence, does not require a linear priority
ordering on the agents• Constraints are only allowed between a
node and any of its ancestors and descendants– there can be no constraints between
different subtrees of the DFS tree• not a restriction of the constraint
network itself
Adopt (Asynchronous Distributed Optimization)
• Example:
x1
x2
x3 x4
x1
x2
x3 x4
Constraint Graph DFS Tree
Adopt (Asynchronous Distributed Optimization)
• Algorithm begins by all agents choosing their values concurrently
• The algorithm uses three types of messages:– VALUE Messages:• used to send the current selected value
of the variable to the descendants below the node in the DFS tree• similar to ok? messages in ABT
– THRESHOLD Messages:• are only sent by a parent to its
immediate children• contain a single number which
represents the backtrack threshold– COST Messages:• are a generalization of nogood
messages in ABT• contain the current context (same as in
ABT) and the lb and the ub.
10
Adopt Algorithm
• Agents are ordered in a tree– constraints between
ancestors/descendents
– no constraints between siblings
• Basic Algorithm:– choose value with min
cost– Loop until termination-
condition true:• When receive message:
– choose value with min cost – send VALUE message to
descendents – send COST message to
parent– send THRESHOLD message
to child
Constraint Graph
x1
x2
x3 x4
x1
x2
x4x3
VALUE messages
COST messages
THRESH messages
Tree Ordering
x1
x2
x3 x4
11
Weak Backtracking Suppose parent has two values, “white” and “black”
parent
Explore “white” first
LB(w) = 0LB(b) = 0
parent
Receive cost msg
LB(w) = 2LB(b) = 0
parent
Now explore “black”
LB(w) = 2LB(b) = 0
parent
Receive cost msg
LB(w) = 2LB(b) = 3
parent
Go back to “white”
LB(w) = 2LB(b) = 3
parent
Termination Condition True
LB(w)=10 =UB(w)LB(b)=12
. . . .
Adopt (Asynchronous Distributed Optimization)
• The algorithm calculates the local cost using the formula:
where δ(di) is the local cost at xi when xi chooses d.– This formula is used to calculate the cost
of a node only on the basis of the constraints that the node shares with its ancestors (NOT its children)• This is because the current context is
built from the VALUE messages received by a node
– The node (xi) also calculates LB and UB
• The idea is that LB and UB are the lower and upper bounds on the cost seen so far for a subtrees rooted at xi.
textCurrentCondx jiijijj
ddfd),(
),()(
Adopt (Asynchronous Distributed Optimization)
• For a leaf node, – lb(di) = ub(di) = δ(di)
• For any other node,
• For all nodes:
• Similar for UB• By keeping a track of LB and UB, the agent
knows the current lower bound and upper bound on cost in the subtrees
• The algorithm uses a threshold values to decide when to backtrack
Childrenx lil
xdlbddlbDd ),()()(,
)(min dlbLBiDd