# Distributed Constraint Optimization Problems M OHSEN A FSHARCHI.

## Presentation on theme: "Distributed Constraint Optimization Problems M OHSEN A FSHARCHI."— Presentation transcript:

Distributed Constraint Optimization Problems M OHSEN A FSHARCHI

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 = {x 1, x 2, …, x n } Discrete, finite domains for each of the variables D = { D 1, D 2, …, D n } A set of cost functions f = {f 1, …, f m }. –where each f i is a function f i : D i1 x D i2 x … x D ij  N U . The problem is to find an assignment A* = {d 1, …, d n | d i  D i } such that the global cost called F, is minimized. –F is defined as follows:

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

7

Adopt (Asynchronous Distributed Optimization) Example: x1x1 x2x2 x3x3 x4x4 x1x1 x2x2 x3x3 x4x4 Constraint GraphDFS 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 x3x4 x1 x2 x4 x3 VALUE messages COST messages THRESH messages Tree Ordering x1 x2 x3x4

11 Weak Backtracking Suppose parent has two values, “white” and “black” parent Explore “white” first LB(w) = 0 LB(b) = 0 parent Receive cost msg LB(w) = 2 LB(b) = 0 parent Now explore “black” LB(w) = 2 LB(b) = 0 parent Receive cost msg LB(w) = 2 LB(b) = 3 parent Go back to “white” LB(w) = 2 LB(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 δ (d i ) is the local cost at x i when x i 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 (x i ) 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 x i.

Adopt (Asynchronous Distributed Optimization) For a leaf node, –lb(d i ) = ub(d i ) = δ (d i ) 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

Example 14 Constraint Graph x1 x2 x3x4 di dj f(di,dj) 1 2 0

Example 15

Example 16

Example 17

Example 18

Example 19

Example 20