Toulbar2 & toulbar2/BTD solvers
Download
Report
Transcript Toulbar2 & toulbar2/BTD solvers
Max-CSP solver competition 2008
toulbar2
Marti Sanchez1, Sylvain Bouveret2, Simon de Givry1,
Federico Heras3, Philippe Jegou4, Javier Larrosa3,
Samba Ndiaye4, Emma Rollon3, Thomas Schiex1,
Cyril Terrioux4, Gerard Verfaillie2, Matthias Zytnicki1
INRA, Toulouse, France
2. ONERA, Toulouse, France
3. UPC, Barcelona, Spain
4. LSIS, Marseilles, France
1.
ALIMENTATION
AGRICULTURE
ENVIRONNEMENT
Framework: Weighted CSP
(X,D,W,m)
X={X1,..., Xn} n variables
D={D1,..., Dn} n finite domains of maximum size d
W, a set of e cost functions
WS, Wi, W∅ with scopes S, {Xi}, ∅
WS associates a cost in [0,m] to any assignment of S
m [1,+] is associated to completely forbidden assignments
Find a complete assignment A minimizing
∑SW
WS ( A[S] )
NP-hard problem
ALIMENTATION
AGRICULTURE
ENVIRONNEMENT
Depth-First Branch and Bound (DFBB)
Binary
branching scheme instead of value enumeration
Dynamic variable and value ordering heuristics
No initial upper bound
Variables
Each node is a soft constraint subproblem
(LB) Lower Bound = W
under estimation of the best
Obtained
by enforcing soft local consistency
solution in the sub-tree
m then prune
If W
LB UB
=m
ALIMENTATION n
Time complexity:
O(d )
AGRICULTURE
Space complexity:
O(n)
ENVIRONNEMENT
(UB) Upper Bound = best solution so far
Enforcing local
consistency by
Equivalence
Preserving
Transformations
2
1
0
0
0
Cost projection from
a unary cost function
to W
X1
W=1
X2
Cost extension from
a unary to a binary
cost function
Cost projection from
a binary to a unary
cost function
2
2
1
1
0
1
0
1
0
0
1
0
1
0
X1
1
W=0
0
X2
0
X1
1
W=0
X2
X1
W=0
X2
Hierarchy
NC
NC* O(nd)
AC* O(n 2d 3)
Special case: CSP (m=1)
DAC* O(ed 2)
FDAC* O(end 3)
AC
DAC
Solve tree-like
constraint graphs
Ternary EDAC
*
2
O(ed 3 max{nd,m})EDAC O(ed max{nd,m})
GAC
VAC O(ed
2
m/)
[0,1]
Solve submodular
cost functions
OSAC O(poly(ed+n))
Non-binary constraints
ALIMENTATION
AGRICULTURE
ENVIRONNEMENT
Last-conflict variable heuristic (Lecoutre et al, 2006)
Basic form of Conflict Back-Jumping
ALIMENTATION
AGRICULTURE
ENVIRONNEMENT
Boosting search with variable elimination
(Larrosa and Dechter, 2003)
At each search node
Eliminate all unassigned variables with degree ≤ p
Select an unassigned variable x
Branch on the values of x
Properties
BB-VE(-1) is Depth-First Branch and Bound
BB-VE(w) is Variable Elimination
BB-VE(1) is similar to Cycle-Cutset
BB-VE(2) is well suited with soft local consistencies
(add binary constraints only, independent of the elimination order)
ALIMENTATION
AGRICULTURE
ENVIRONNEMENT
t = largest cluster size, s = largest separator size
Depth-First Branch and Bound exploiting a Tree Decomposition
(Terrioux et al, ECAI 2004) (Givry et al, AAAI 2006)
Tree search with
• Restricted variable ordering
• Graph-based backjumping
• Graph-based learning
Time: O(dt)
Space: O(ds)
Toulbar2/BTD
MCS tree decomposition heuristic (Marseilles’ toolkit) in preprocessing
Root selection maximizing cluster size
Same search as DFBB inside clusters (DVO, CBJ, VE(2))
Limited caching (keep only small separators,
s=4)
ALIMENTATION
AGRICULTURE
Russian Doll Search pruning
scheme (Soft-08 workshop)
ENVIRONNEMENT
toulbar2
Open source WCSP solver in C++ (release 0.7)
http://mulcyber.toulouse.inra.fr/gf/project/toulbar2
Large set of benchmarks
http://carlit.toulouse.inra.fr/cgi-bin/awki.cgi/SoftCSP
Frequency assignment (Cabon et al., 1999)
n≤458, d=44, e(2)≤5000
Satellite management (Bensana et al., 1999) n≤364, d=4, e(2-3)≤10108
Mendelian error detection (Sanchez et al, 2008) n≤20000, d≤66, e(3)≤30000
RNA gene finding (Zytnicki et al, 2008)
n≈20, d>100 million!, e(4)≈10
Tag SNP selection (Sanchez et al, 2008)
n≤251, d≤175, e(2)≤13649
…
Link to ILOG Solver
Encapsulates a WCSP as a global constraint
ALIMENTATION
AGRICULTURE
ENVIRONNEMENT