Download - Distributed Constraint Optimization
![Page 1: Distributed Constraint Optimization](https://reader034.vdocuments.site/reader034/viewer/2022051216/56814e80550346895dbc1e6c/html5/thumbnails/1.jpg)
Distributed Constraint Optimization
* some slides courtesy of P. Modi http://www.cs.drexel.edu/~pmodi/
![Page 2: Distributed Constraint Optimization](https://reader034.vdocuments.site/reader034/viewer/2022051216/56814e80550346895dbc1e6c/html5/thumbnails/2.jpg)
Outline
• DCOP and real world problems– DiMES
• Algorithms to solve DCOP– Synchronous Branch and Bound– ADOPT (distributed search)– DPOP (dynamic programming)
• DCPOP
• Future work
![Page 3: Distributed Constraint Optimization](https://reader034.vdocuments.site/reader034/viewer/2022051216/56814e80550346895dbc1e6c/html5/thumbnails/3.jpg)
Distributed Constraint Optimization Problem (DCOP)
• Definition:– V = A set of variables
– Di = A domain of values for Vi
– U = A set of utility functions on V
• Goal is to optimize global utility– can also model minimal cost problems by using negative utilities
• One agent per variable
• Each agent knows Ui which is the set of all utility functions that involve Vi
![Page 4: Distributed Constraint Optimization](https://reader034.vdocuments.site/reader034/viewer/2022051216/56814e80550346895dbc1e6c/html5/thumbnails/4.jpg)
DiMES
• Framework for capturing real-world domains involving joint-activities– {R1,...,RN} is a set of resources
– {E1,...,EK} is a set of events
– Some ∆ st T*∆ = Tlatest – Tearliest and T is a natural number
– Thus we can characterize the time domain as the set Ŧ = {1,...,T}
– An event, Ek, is then the tuple (Ak,Lk;Vk) where:• Ak is the subset of resources required by the event
• Lk is the number of contiguous time slots for which the resources Ak are needed
• Vk denotes the value per time slot of the kth resource in Ak
![Page 5: Distributed Constraint Optimization](https://reader034.vdocuments.site/reader034/viewer/2022051216/56814e80550346895dbc1e6c/html5/thumbnails/5.jpg)
DiMES (cont’)
• It was shown in [Maheswaran et al. 2004] that DiMES can be translated into DCOP– Events are mapped to variables– The domain for each event is the time slot at which that
event will start– Utility functions are somewhat complex but were able
to be restricted to binary functions
• It was also shown that several resource allocation problems can be represented in DiMES (including distributed sensor networks)
![Page 6: Distributed Constraint Optimization](https://reader034.vdocuments.site/reader034/viewer/2022051216/56814e80550346895dbc1e6c/html5/thumbnails/6.jpg)
Synchronous Branch and Bound
• Agents are prioritized into a chain (Hirayama97) or tree
• Root chooses value, sends to children• Children choose value, evaluate partial solution,
send partial solution (with cost) to children• When cost exceeds upper bound, backtrack• Agent explores all its values before reporting to
parent
![Page 7: Distributed Constraint Optimization](https://reader034.vdocuments.site/reader034/viewer/2022051216/56814e80550346895dbc1e6c/html5/thumbnails/7.jpg)
SyncBB Example
![Page 8: Distributed Constraint Optimization](https://reader034.vdocuments.site/reader034/viewer/2022051216/56814e80550346895dbc1e6c/html5/thumbnails/8.jpg)
Pseudotrees
• Solid line = parent/child relationship
• Dashed line = pseudo-parent/pseudo-
child relationship
• Common structure used in search procedures to allow parallel processing of independent branches
• A node can only have constraints with nodes in the path to root or with descendants
![Page 9: Distributed Constraint Optimization](https://reader034.vdocuments.site/reader034/viewer/2022051216/56814e80550346895dbc1e6c/html5/thumbnails/9.jpg)
ADOPT
• SyncBB backtracks only when suboptimality is proven (current solution is greater than an upper bound)
• ADOPT’s backtrack condition – when lower bound gets too high– backtrack before sub-optimality is proven– solutions need revisiting
• Agents are ordered in a Pseudotree• Agents concurrently choose values
– VALUE messages sent down– COST messages sent up only to parent– THRESHOLD messages sent down only to child
![Page 10: Distributed Constraint Optimization](https://reader034.vdocuments.site/reader034/viewer/2022051216/56814e80550346895dbc1e6c/html5/thumbnails/10.jpg)
ADOPT Example• Suppose parent has two values, “white” and “black”
![Page 11: Distributed Constraint Optimization](https://reader034.vdocuments.site/reader034/viewer/2022051216/56814e80550346895dbc1e6c/html5/thumbnails/11.jpg)
DPOP
• Three phase algorithm:1. Pseudotree generation2. Utility message propagation bottom-
up3. Optimal value assignments top-
down
![Page 12: Distributed Constraint Optimization](https://reader034.vdocuments.site/reader034/viewer/2022051216/56814e80550346895dbc1e6c/html5/thumbnails/12.jpg)
DPOP: Phase 1
![Page 13: Distributed Constraint Optimization](https://reader034.vdocuments.site/reader034/viewer/2022051216/56814e80550346895dbc1e6c/html5/thumbnails/13.jpg)
DPOP: Phase 2
• Propagation starts at leaves, goes up to root
• Each agent waits for UTIL messages from children– does a JOIN
– sends UTIL message to parent• How many total messages in this phase?
![Page 14: Distributed Constraint Optimization](https://reader034.vdocuments.site/reader034/viewer/2022051216/56814e80550346895dbc1e6c/html5/thumbnails/14.jpg)
DPOP: Phase 2 (cont’)
• UTIL Message = maximum utility for all value combinations of parent/pseudo-parents
= includes maximum utility values for all children
![Page 15: Distributed Constraint Optimization](https://reader034.vdocuments.site/reader034/viewer/2022051216/56814e80550346895dbc1e6c/html5/thumbnails/15.jpg)
DPOP: Phase 3
• Value Propagation– After Phase 2, root has a summary view of the global UTIL information
– Root can then pick the value for itself that gives the best global utility
– This value is sent to all children
– Children can now choose their own value, given the value of the root, that optimizes the global utility
– This process continues until all nodes are assigned a value
![Page 16: Distributed Constraint Optimization](https://reader034.vdocuments.site/reader034/viewer/2022051216/56814e80550346895dbc1e6c/html5/thumbnails/16.jpg)
DCOP Algorithm Summary
• Adopt– distributed search
– linear size messages
– worst case exponential number of messages• with respect to the depth of the pseudotree
• DPOP– dynamic programming
– worst case exponential size messages• with respect to the induced width of the pseudotree
– linear number of messages
![Page 17: Distributed Constraint Optimization](https://reader034.vdocuments.site/reader034/viewer/2022051216/56814e80550346895dbc1e6c/html5/thumbnails/17.jpg)
Can we do better?
• Are pseudotrees the most efficient translation?– The minimum induced width pseudotree is currently
the most efficient known translation– Finding it is NP-Hard and may require global
information
• Heuristics are used to produce the pseudotrees– Current distributed heuristics are all based on some
form of DFS or BestFS– We prove in a recent paper that pseudotrees produced
by these heuristics are suboptimal
![Page 18: Distributed Constraint Optimization](https://reader034.vdocuments.site/reader034/viewer/2022051216/56814e80550346895dbc1e6c/html5/thumbnails/18.jpg)
Cross-Edged Pseudotrees
• Pseudotrees that include edges between nodes in separate branches
• The dashed line is a cross-edge
• This relaxed form of a pseudotree can produce shorter trees, as well as less overlap between constraints
![Page 19: Distributed Constraint Optimization](https://reader034.vdocuments.site/reader034/viewer/2022051216/56814e80550346895dbc1e6c/html5/thumbnails/19.jpg)
DCPOP
• Our extension to DPOP that correctly handles Cross-Edged Pseudotrees
• We have proved that using an edge-traversal heuristic (DFS, BestFS) it is impossible to produce a traditional pseudotree that outperforms a well chosen cross-edged pseudotree
• Edge-traversal heuristics are popular because they are easily done in a distributed fashion and require no sharing of global information
![Page 20: Distributed Constraint Optimization](https://reader034.vdocuments.site/reader034/viewer/2022051216/56814e80550346895dbc1e6c/html5/thumbnails/20.jpg)
DCPOP (cont’)
• Computation size is closer to the minimum induced width than with DPOP
• Message size can actually be smaller than the minimum induced width
• A new measurement of sequential path cost (represents the maximal amount of parallelism achieved) also shows improvement
![Page 21: Distributed Constraint Optimization](https://reader034.vdocuments.site/reader034/viewer/2022051216/56814e80550346895dbc1e6c/html5/thumbnails/21.jpg)
DCPOP Metrics
![Page 22: Distributed Constraint Optimization](https://reader034.vdocuments.site/reader034/viewer/2022051216/56814e80550346895dbc1e6c/html5/thumbnails/22.jpg)
Future Work
• DCOP mapping for a TAEMS based task/resource allocation problem
• Full integration of uncertainty characteristics into the DCOP model
• Anytime adaptation with uncertainty