Revisiting the tree constraint
Performing GAC in linear time
Jean-Guillaume Fages and Xavier Lorca
1 TASC - Nantes CP'11
Jean-Guillaume Fages and Xavier Lorca
Revisiting the tree constraint Performing GAC in linear time - - PowerPoint PPT Presentation
Revisiting the tree constraint Performing GAC in linear time Jean-Guillaume Fages and Xavier Lorca Jean-Guillaume Fages and Xavier Lorca CP'11 TASC - Nantes 1 Contents Preamble Theoretical contribution Experiments and results
Jean-Guillaume Fages and Xavier Lorca
1 TASC - Nantes CP'11
Jean-Guillaume Fages and Xavier Lorca
2 TASC - Nantes CP'11
3 TASC - Nantes CP'11
An input graph (directed) An anti-arborescence partition
CP'11 TASC - Nantes 4
DEPOT
CP'11 TASC - Nantes 5
CUSTOMERS
CP'11 TASC - Nantes 6
J-C. Régin, L-M Rousseau, M. Rucher and W-J Van Hoeve [CPAIOR’10] J-C. Régin [CPAIOR'08]
CP'11 TASC - Nantes 7
– Envelope (max) GE = (VE,AE) Nodes and arcs that potentially figures in a solution – Kernel (min) GK = (VK,AK) Nodes and arcs that figure in every solution
CP'11 TASC - Nantes 8
CP'11 TASC - Nantes 9
10 TASC - Nantes CP'11
– v has another successor in the kernel (trivial) OR – All paths in GE from u to any potential root w go through v
CP'11 TASC - Nantes 11
s s
CP'11 TASC - Nantes 12
s s v u
w v w u v w u
CP'11 TASC - Nantes 13
u w w u w u x x
Es
CP'11 TASC - Nantes 14
α is the inverse of Ackermann function so it is « almost » a constant
α(n,m) ≤ 5 for any practical input graph [Gabriel Nivasch, ETH Zürich]
CP'11 TASC - Nantes 15
Preprocessing (DFS) Starting at the fictive source node Starting at the fictive source node Storage of preorder and postorder labels Request: x dominates y x ancestor of y in the dominance tree (preorder(y)>preorder(x)) ∧ (postorder(y)<postorder(x))
1-8 2-6 8-7 4-1
CP'11 TASC - Nantes 16
2-6 3-4 6-3 5-2 7-5
17 TASC - Nantes CP'11
CP'11 TASC - Nantes 18
CP'11 TASC - Nantes 19
CP'11 TASC - Nantes 20
21 TASC - Nantes CP'11
CP'11 TASC - Nantes 22