SLIDE 3 11/27/2006 3
13
Generalized Conflict-Directed Branch and Bound
- Building upon Branch and Bound (B&B)
- Two key features:
– Generalized Conflict Learning
- infeasibility
- sub-optimality.
– Forward Conflict-Directed Search
- constituent kernel
- kernel
- DLP candidate
14
Forward Conflict-Directed Search
- Backward conflict-directed methods use conflicts to select
backtrack points and as a cache to prune nodes without testing consistency.
– dependency-directed backtracking [Stallman77] – conflict-directed backjumping [Prosser93] – dynamic backtracking [Ginsberg93] – LPSAT [Wolfman99].
- Forward conflict-directed search guides the forward step of
search away from regions of the state space that are ruled out by known conflicts [Williams - CD-A* - JDAM05].
- Our experimental results on a range of cooperative vehicle plan
execution problems show that forward conflict-directed search significantly outperforms backtrack search with conflicts.
15
Forward Conflict-Directed Search
Generate Constituent Kernels Generate Kernels Generate DLP Candidates
A constituent kernel is a minimal description of the states that resolve a conflict. In the context
- f DLPs, a constituent kernel of a conflict is a
linear inequality that is the negation of a linear constraint contained in the conflict. Conflict {x≥80,x≤10} → {x≤80},{x≥10} For each unresolved conflict, a set of constituent kernels are generated. Given the sets of constituent kernels from multiple unresolved conflicts, kernels are generated, each of which resolves all the conflicts, by combining the constituent kernels using minimal set covering. A DLP candidate is generated for each kernel. The ones that are propositionally unsatisfiable are pruned and the DLP is simplified, using a fast unit propagation test before solving any relaxed LP.
16
Example
y≤20 x≤10 B1 B2 y≤0 x≥30 x≥80 C1 C2 C3 min -x-3y s.t. x≤200 y≤200 x≤100 min -x-3y s.t. x≤200 y≤200 y≤30
For DLPs
min -x-3y s.t. x≤200 y≤200 min -x-3y s.t. x≤200 y≤200 x≤100 x≤10 y≤0 min -x-3y s.t. x≤200 y≤200 x≤100 x≤10 x≥30 min -x-3y s.t. x≤200 y≤200 x≤100 x≤10 x≥80 Incumbent
root
y≤30 x≤100 A1 A2 {x≤10, x≥30} {x≤10, x≥80} Conflicts: {b2, c2} {b2, c1}
{ b2, c2 } { b2, c1 } Conflicts Constituent Kernels { {¬b2}, {¬c2} } { {¬b2}, {¬c1} } Kernels { ¬b2 } { ¬c1, ¬c2 }
minimize -x-3y s.t. (u1)x≤200 (u2)y≤200 (a1)y≤30 V (a2)x≤100 (b1)y≤20 V (b2)x≤10 (c1)x≥80 V (c2)x≥30 V (c3)y≤0 min -x-3y s.t. x≤200 y≤200 y≤30 y≤20 min -x-3y s.t. x≤200 y≤200 y≤30 y≤0 u1 u2 a1 ¬b2 b1 V b2 c1 V c2 V c3 u1 u2 a1 ¬c1 ¬c2 b1 V b2 c1 V c2 V c3
DLP Candidates
u1 u2 a1 b1 c1 V c2 V c3 u1 u2 a1 c3 b1 V b2
unit propagation
17
Best-First Search (BFS) v.s. Depth-First Search (DFS)
- BFS is more efficient than DFS in time.
- BFS can take dramatically more memory space than DFS.
- With conflict learning and forward conflict-directed search,
BFS takes similar memory space to DFS.
- The concept of sub-optimality is rooted in maintaining an
- incumbent. Hence, it can be applied to DFS but not to BFS.
18
Empirical Evaluation
Test problems: Model-based temporal plan execution for cooperative vehicles [Léauté-AAAI-05]. Comparisons: GCD-BB v.s. BIP-BB algorithmic variants of GCD-BB Measures: Computation time - number of LPs & average LP size Memory use - maximum queue length
BI P-BB v.s. GCD-BB
1000 2000 3000 4000 5000 6000 7000 8000 9000 1 2 3 4 Clause / Variable Series1 Series2 Series3
BIP-BB DLP+BFS+Infeas DLP+DFS+Infeas+Sub 80/36 700/144 1492/300 2456/480