distributed constraint optimization
Skip this Video
Download Presentation
Distributed Constraint Optimization

Loading in 2 Seconds...

play fullscreen
1 / 22

Distributed Constraint Optimization - PowerPoint PPT Presentation

  • Uploaded on

Distributed Constraint Optimization. * some slides courtesy of P. Modi http://www.cs.drexel.edu/~pmodi/. Outline. DCOP and real world problems DiMES Algorithms to solve DCOP Synchronous Branch and Bound ADOPT (distributed search) DPOP (dynamic programming) DCPOP Future work.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about ' Distributed Constraint Optimization' - jubal

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
distributed constraint optimization

Distributed Constraint Optimization

* some slides courtesy of P. Modi http://www.cs.drexel.edu/~pmodi/

  • DCOP and real world problems
    • DiMES
  • Algorithms to solve DCOP
    • Synchronous Branch and Bound
    • ADOPT (distributed search)
    • DPOP (dynamic programming)
      • DCPOP
  • Future work
distributed constraint optimization problem dcop
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 Uiwhich is the set of all utility functions that involve Vi
  • 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
dimes cont
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)
synchronous branch and bound
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
  • 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
  • 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
adopt example
ADOPT Example
  • Suppose parent has two values, “white” and “black”
  • Three phase algorithm:
    • Pseudotree generation
    • Utility message propagation bottom-up
    • Optimal value assignments top-down
dpop phase 2
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?
dpop phase 2 cont
DPOP: Phase 2 (cont’)
  • UTIL Message
    • maximum utility for all value combinations of parent/pseudo-parents
    • includes maximum utility values for all children
dpop phase 3
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
dcop algorithm summary
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
can we do better
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
cross edged pseudotrees
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
  • 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
dcpop cont
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
future work
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