distributed constraint optimization problems m ohsen a fsharchi

20
Distributed Constraint Optimization Problems MOHSEN AFSHARCHI

Upload: estevan-bainbridge

Post on 14-Dec-2015

226 views

Category:

Documents


0 download

TRANSCRIPT

Distributed Constraint Optimization Problems

MOHSEN AFSHARCHI

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 Overview

6

Adopt Overview

7

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

14

Example

Constraint Graphx1

x2

x3 x4

di dj f(di,dj)1220

Example

15

Example

16

Example

17

Example

18

Example

19

Example

20