55
InterBlock- Backtracking : Exploiting Structure in Numerical CSPs Solving Christophe Jermann LINA/CNRS, University of Nantes Joint work with: Bertrand Neveu, Gilles Trombettoni

InterBlock-Backtracking : Exploiting Structure in Numerical CSPs Solving

  • Upload
    alyn

  • View
    48

  • Download
    0

Embed Size (px)

DESCRIPTION

Christophe Jermann LINA/CNRS, University of Nantes Joint work with: Bertrand Neveu, Gilles Trombettoni I3S/CNRS-INRIA, University of Nice. InterBlock-Backtracking : Exploiting Structure in Numerical CSPs Solving. Outline. IBB: a general framework for solving decomposed NCSPs Principle - PowerPoint PPT Presentation

Citation preview

Page 1: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

InterBlock-Backtracking: Exploiting Structure in

Numerical CSPs Solving

Christophe JermannLINA/CNRS, University of Nantes

Joint work with:

Bertrand Neveu, Gilles TrombettoniI3S/CNRS-INRIA, University of Nice

Page 2: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Outline IBB: a general framework for solving

decomposed NCSPs Principle Inputs Process

IBB+Interval: an instance of IBB Interval solving Interblock Filtering Experiments

Conclusion & Future directions

Page 3: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Outline IBB: a general framework for solving

decomposed NCSPs Principle Inputs/Parameters Process

IBB+Interval: an instance of IBB Interval solving Interblock Filtering Experiments

Conclusion & Future directions

Page 4: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

IBB: general sight Main ideas in [Bliek et al, CP98] Since then, made a general framework Parameters: fix to obtain one instance of IBB

a (set of) solving method(s) a backtracking process optional: a set of “add-ons”

Inputs: a decomposed numerical CSP (NCSP)

Output: One (or all the) solution(s) of the NCSP

Page 5: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Numerical CSPs Defined by (X,D,C) where:

X: a set of variables D: a set of continuous domains, one for each xX C: a set of constraints (equations, inequalities, …)

on X Applications:

Physics: forces, electrical measurements… Design & Geometry: distances, angles, … Program verification: instructions with floats, … Robotics: kinematic constraints, … …

Page 6: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Decomposed NCSPs Decomposed(S) = ({S1, S2, …, S3}, <, +)

Si = well-constrained sub-NCSP

< = partial order for Si’s solving + = partial solutions combination operator

Such that Sol(S1)+Sol(S2)+…+Sol(S3) = Sol(S)

Why decompose ? Divide & conquer => reduce solving complexity

Several kinds of decompositions : Equational [Michelucci et al. 1996], [Bliek et al. 1998], … Geometric [Hoffmann et al 1995], [Jermann et al. 2000], …

Page 7: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Solving methods NCSP system of (non-linear)

equations/inequalities

Symbolic: Groebner basis, … Numeric: Local (Newton-Raphson, …),

Homotopy, Interval, …

Generally, the structure is under-exploited

IBB allows to generically exploit the structure identified by decomposition

Page 8: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Exploiting structure Sub-NCSP = block

A subset of constraints All the induced variables

Input variables (computed in another block) Output variables (computed in the block)

Partial order DAGA

BC

E F

I

J

HG

D

Page 9: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Exploiting structure Sub-NCSP = block

A subset of constraints All the induced variables

Input variables (computed in another block) Output variables (computed in the block)

Partial order DAGA

BC

E F

D

I

J

HG

Page 10: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Exploiting structure Sub-NCSP = block

A subset of constraints All the induced variables

Input variables (computed in another block) Output variables (computed in the block)

Partial order DAGA

BC

E F

J

D xJ,yJ

xA,yA xC,yC

IHG

Page 11: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Exploiting structure Sub-NCSP = block

A subset of constraints All the induced variables

Input variables (computed in another block) Output variables (computed in the block)

Partial order DAGA

BC

E F

J

D xJ,yJ

xA,yA xC,yC

IHG

Page 12: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

xB,yB

Exploiting structure Sub-NCSP = block

A subset of constraints All the induced variables

Input variables (computed in another block) Output variables (computed in the block)

Partial order DAGA

BC

E F

J

D xJ,yJ

xA,yA xC,yC

IHG

Page 13: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

xB,yB

Exploiting structure Sub-NCSP = block

A subset of constraints All the induced variables

Input variables (computed in another block) Output variables (computed in the block)

Partial order DAGA

BC

E F

J

D xJ,yJ

xA,yA xC,yC

IHG

Page 14: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

xB,yB

Exploiting structure Sub-NCSP = block

A subset of constraints All the induced variables

Input variables (computed in another block) Output variables (computed in the block)

Partial order DAGA

BC

E F

J

D

xE,yE

xJ,yJ

xA,yA

IHG

xC,yC

Page 15: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

xB,yB

Exploiting structure Sub-NCSP = block

A subset of constraints All the induced variables

Input variables (computed in another block) Output variables (computed in the block)

Partial order DAGA

BC

E F

J

D

xE,yE xF,yF

xJ,yJ

xA,yA xC,yC

IHG

Page 16: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

xB,yB

Exploiting structure Sub-NCSP = block

A subset of constraints All the induced variables

Input variables (computed in another block) Output variables (computed in the block)

Partial order DAGA

BC

E F

J

D

xE,yE xF,yF

YD

xJ,yJ

xA,yA xC,yC

IHG

Page 17: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

xB,yB

Exploiting structure Sub-NCSP = block

A subset of constraints All the induced variables

Input variables (computed in another block) Output variables (computed in the block)

Partial order DAGA

BC

E F

J

D

xE,yE xF,yF

YD xG,yG

xH,yH

xI,yI

xJ,yJ

xA,yA xC,yC

IHG

Page 18: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Solving process Choosing a total order:

Compatible with the partial order Fixes a static block ordering for backtracking

purpose

xB,yB

xE,yE xF,yF

YD xG,yG

xH,yH

xI,yI

xJ,yJ

xA,yA xC,yC

Page 19: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Solving a DAG of Blocks Choosing a total order:

Compatible with the partial order Fixes a static block ordering for backtracking

purpose

xB,yB

xE,yE xF,yF

YD xG,yG

xH,yH

xI,yI

xJ,yJ

xA,yA xC,yC

1

32

4 5

Page 20: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Solving a DAG of Blocks Solving each block in sequence

with a solving method which can differ from block to block

xB,yB

xE,yE xF,yF

YD xG,yG

xH,yH

xI,yI

xJ,yJ

xA,yA xC,yC

1

32

4 5

Search Tree

Block 1

Solving Method 1=> Internal Search Tree 1=> 2 solutions: B1 and B2

Page 21: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Solving a DAG of Blocks Solving each block in sequence

with a solving method which can differ from block to block

xB,yB

xE,yE xF,yF

YD xG,yG

xH,yH

xI,yI

xJ,yJ

xA,yA xC,yC

1

32

4 5

Search Tree

Block 1

Block 2

B1Solving Method 2=> Internal Search Tree 2=> 2 solutions: E1 and E2 Depending on B1

Page 22: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Solving a DAG of Blocks Solving each block in sequence

with a solving method which can differ from block to block

xB,yB

xE,yE xF,yF

YD xG,yG

xH,yH

xI,yI

xJ,yJ

xA,yA xC,yC

1

32

4 5

Search Tree

Block 1

Block 2

B1

E1

No Solution in Block 5

Page 23: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Solving a DAG of Blocks Backtracking:

On “no solution”

xB,yB

xE,yE xF,yF

YD xG,yG

xH,yH

xI,yI

xJ,yJ

xA,yA xC,yC

1

32

4 5

Search Tree

Block 1

Block 2

B1

E1

No Solution in Block 5

Backtracking

Page 24: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Solving a DAG of Blocks Backtracking:

On “no solution”

=> block solving should be complete for this purpose

xB,yB

xE,yE xF,yF

YD xG,yG

xH,yH

xI,yI

xJ,yJ

xA,yA xC,yC

1

32

4 5

Search Tree

Block 1

Block 2

B1

E1

One global solution B1,E2,F1,D1,G1,H1,I1

F1,D1,G1,H1,I1

E2

Page 25: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Solving a DAG of Blocks Backtracking:

On “no solution” Or on “next solution”

=> block solving should be complete for this purpose

xB,yB

xE,yE xF,yF

YD xG,yG

xH,yH

xI,yI

xJ,yJ

xA,yA xC,yC

1

32

4 5

Search Tree

Block 1

Block 2

B1

E1

Backtracking for completion

One global solution B1,E2,F1,D1,G1,H1,I1

F1,D1,G1,H1,I1

E2

Page 26: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Solving a DAG of Blocks Backtracking => solving several times the

same block … but not the same problem ! Input variables = parameters

=> Blocks = parametric NCSPs

xB,yB

xE,yE xF,yF

YD xG,yG

xH,yH

xI,yI

xJ,yJ

xA,yA xC,yC

1

32

4 5

Search Tree

Block 1

Block 2

B1

E1 E2

B2

Block 2The constraints have changeddepending on B2

One global solution B1,E2,F1,D1,G1,H1,I1

Page 27: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Solving a DAG of Blocks Backtracking => solving several times the

same block … but not the same problem ! Input variables = parameters

=> Blocks = parametric NCSPs

xB,yB

xE,yE xF,yF

YD xG,yG

xH,yH

xI,yI

xJ,yJ

xA,yA xC,yC

1

32

4 5

Search Tree

Block 1

Block 2

B1

E1 E2

B2

Block 2

Solving Method 3=> Internal Search Tree 3=> 2 solutions: E3 and E4 Depending on B2

One global solution B1,E2,F1,D1,G1,H1,I1

Page 28: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Solving a DAG of Blocks Backtracking => solving several times the

same block … but not the same problem ! Input variables = parameters

=> Blocks = parametric NCSPs

xB,yB

xE,yE xF,yF

YD xG,yG

xH,yH

xI,yI

xJ,yJ

xA,yA xC,yC

1

32

4 5

Search Tree

Block 1

Block 2

B1

E1

All the global solutions

E2

B2

Block 2

E3 E4

Page 29: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Possible InterBlock Backtracking BT: Chronological Backtracking GBJ: Graph-based Backjumping [Dechter, 1990] GPB: Generalized Partial-Order BT [Bliek, 1998]

Intelligent Backtracking

xA,yAxC,yC

xB,yB

xE,yE xF,yF

yD xG,yG

xH,yH

xI,yI

xJ,yJ

1

2 3

45

Page 30: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Possible InterBlock Backtracking BT: Chronological Backtracking GBJ: Graph-based Backjumping [Dechter, 1990] GPB: Generalized Partial-Order BT [Bliek, 1998]

Intelligent Backtracking

xA,yAxC,yC

xB,yB

xE,yE xF,yF

yD xG,yG

xH,yH

xI,yI

xJ,yJ

1

2 3

45BT

Page 31: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Possible InterBlock Backtracking BT: Chronological Backtracking GBJ: Graph-based Backjumping [Dechter, 1990] GPB: Generalized Partial-Order BT [Bliek, 1998]

Intelligent Backtracking

xA,yAxC,yC

xB,yB

xE,yE xF,yF

yD xG,yG

xH,yH

xI,yI

xJ,yJ

1

2 3

45BT

GBJGPB

Page 32: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Possible InterBlock Backtracking BT: Chronological Backtracking GBJ: Graph-based Backjumping [Dechter, 1990] GPB: Generalized Partial-Order BT [Bliek, 1998]

Intelligent Backtracking

xA,yAxC,yC

xB,yB

xE,yE xF,yF

yD xG,yG

xH,yH

xI,yI

xJ,yJ

1

2 3

45BT

GBJGPB

GBJGPB

Page 33: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Possible InterBlock Backtracking BT: Chronological Backtracking GBJ: Graph-based Backjumping [Dechter, 1990] GPB: Generalized Partial-Order BT [Bliek, 1998]

Intelligent Backtracking

xA,yAxC,yC

xB,yB

xE,yE xF,yF

yD xG,yG

xH,yH

xI,yI

xJ,yJ

1

2 3

45BT

GBJGPB

GBJGPB

GBJ+

+ = with the recompute condition

Page 34: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

IBB: extending the framework Specific treatments as add-ons:

Generally, depending on the solving methods Choose the strategy of application

(before/after/during a block solving, …) E.g.:

Pre-conditioners, Propagators, Inequalities checkers, …

Page 35: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Outline IBB: a general framework for solving

decomposed NCSPs Principle Inputs Process

IBB+Interval: an instance of IBB Interval solving Interblock Filtering Experiments

Conclusion & Future directions

Page 36: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

IBB + Interval Solving method = Interval constraint

programming techniques Backtracking: BT, GBJ & GPB

=> 3 instances in fact An interesting add-on: Inter-Block Filtering

(IBF) Propagates domain reductions in following blocks

Page 37: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Interval solving 3 operations:

x

y (x-1)2 -3=y

y<x/3

-x2+3=y

Search space = cross-product of the domains (intervals)

Page 38: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Interval solving 3 operations:

Filtering: reduces the bounds of the domain of each variable using a local consistency

x

y (x-1)2 -3=y

y<x/3

-x2+3=y

Page 39: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Interval solving 3 operations:

Filtering: reduces the bounds of the domain of each variable using a local consistency

x

y (x-1)2 -3=y

y<x/3

-x2+3=y

Page 40: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Interval solving 3 operations:

Filtering: reduces the bounds of the domain of each variable using a local consistency

Splitting: splits search space into parts to be explored individually => a search-tree appears

x

y (x-1)2 -3=y

y<x/3

-x2+3=y

Page 41: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Interval solving 3 operations:

Filtering: reduces the bounds of the domain of each variable using a local consistency

Splitting: splits search space into parts to be explored individually => a search-tree appears

Existence: checks if a unique solution exists in the current sub-search-space

x

y (x-1)2 -3=y

y<x/3

-x2+3=y

Page 42: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

InterBlock Filtering

AB

C

Block 1

Principle: Use local consistency to propagate the reductions during the solving of current blocks in related blocs

Page 43: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

InterBlock Filtering

AB

C

Block 1

AB

C

E1

Block 2E2

Page 44: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

InterBlock Filtering

AB

C

Block 1

AB

C

E1

Block 2E2

F

AB

CE1

Block 3E2

Page 45: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

InterBlock Filtering

AB

C

Block 1

AB

C

E1

Block 2E2

F

AB

CE1

Block 3E2

D??F

AB

CE1

Block 4E2

Page 46: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

InterBlock Filtering

AB

C

Block 1

AB

C

E1

Block 2E2

F

AB

CE1

Block 3E2

D??F

AB

CE1

Block 4E2

Using IBF, E1 incompatibility can be detected in Block 2by propagating on Block 4

Page 47: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Benchmarking Implemented as a C++ prototype Run on a PIII 935 Experimental protocol:

Parameters: ~12 instances of IBB+Interval Interval Solving: (uses ILOG Solver 5.0)

Filtering: 2B, 3B, Box, Bound, 2B+Box, 3B+Bound; best choice per problem (usually 2B+Box or

3B) Splitting: classical interval bisection Existence: always and only with Box and Bound

Backtracking: BT, GBJ, GPB, with or without + InterBlock Filtering: with or without

Inputs: NCSPs: 8 from CAD, 4 domain sizes Decomposition: best among 4 methods

Page 48: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Test set GCSP Size Size Dec. 1,E-01 1,E+00 1,E+01 1,E+02 Mechanism 98 98 = 1x10, 2x4, 27x2, 26x1 1 8 48 448 Ponts 30 30 = 1x14, 6x2, 4x1 1 15 96 128 Sierpinski3 84 124 = 44x2, 36x1 1 4(8) 42(58) 60(138) Tangent 28 42 = 2x4, 11x2, 12x1 4 16 32 64 Triangles 46 46 = 3x6, 3x4, 8x2 1 1(4) 4(8) 4(8) Chair 178 178 = 1x15,1x13,1x9,5x8,3x6,2x4,14x3,1x2,31x1 6 6 18 36 Hourglass 29 39 = 2x4, 3x3, 2x2, 18x1 1 1 2 8 Tetra 30 30 = 1x9, 4x3, 1x2, 7x1 1 16 68 256

Page 49: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Overall comparisonw/ IBF IBF w/ IBF IBF w/ IBF IBF w/ IBF IBF

Global BT 3,3 XXS 3,2 XXS 9,4 XXS 12,4 XXSGlobal BT 0,17 14,1 0,6 15 2,8 18,7 13,3 32,8BT+ 0,11 14,1 0,4 13,6 2,6 17,2 13,1 30,6GBJ 0,1 14,1 0,4 13,5 2,6 17,3 13,1 30,4GPB 0,1 14,2 0,4 13,3 2,7 17,4 13,1 30,53B(GBJ) 0,23 0,68 1,7 2,3 9,7 11 83 88Global BT+ 0,03 0,88 0,03 1,64 0,06 1 0,06 1,21GBJ 0,04 0,75 0,03 1,6 0,02 0,83 0,06 1,19GPB 0,05 0,73 0,03 1,61 0,05 0,88 0,05 1,153B(GBJ) 0,03 0,3 0,05 0,6 0,05 0,2 0,1 0,4Global 3B-BT 0,1 1,32 12,3 160 96 788 136 10943B-BT+ 0,1 1,32 12,7 160 67 703 93 9283B-GBJ 0,1 1,32 12 166 61 682 85 916Global BT+ 0,05 1,26 0,11 1,89 0,13 7,63 0,2 8,15BJ 0,07 1,17 0,11 1,89 0,14 7,69 0,19 8GPB 0,07 1,19 0,1 1,93 0,11 7,69 0,22 8,043B(GBJ) 0,2 0,7 0,2 1,3 0,2 1,3Global BT 9,96 70 40 137 81 241 80 240BT+ 9,96 70 29 99,6 78 102 78 102BJ 9,96 70 29 99,6 78 102 78 102GPB 9,96 70 29 99,6 49 102 49 102

39 46

>54000

0,3

Triangle

8,63 2908 2068 1987

Tangent

0,5 35

XXS

Sierpinski3

3,1 >54000 >54000

1,E-01

XXS

Hour-glass

0,12 1,89 1,47 22,77

Mechanism

XXS XXS

1,E+00 1,E+01 1,E+02

Chair XXS XXS XXS XXS

NCSP IBB

Page 50: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

w/ IBF IBF w/ IBF IBF w/ IBF IBF w/ IBF IBF Global BT 3,3 XXS 3,2 XXS 9,4 XXS 12,4 XXSGlobal BT 0,17 14,1 0,6 15 2,8 18,7 13,3 32,8BT+ 0,11 14,1 0,4 13,6 2,6 17,2 13,1 30,6GBJ 0,1 14,1 0,4 13,5 2,6 17,3 13,1 30,4GPB 0,1 14,2 0,4 13,3 2,7 17,4 13,1 30,53B(GBJ) 0,23 0,68 1,7 2,3 9,7 11 83 88Global BT+ 0,03 0,88 0,03 1,64 0,06 1 0,06 1,21GBJ 0,04 0,75 0,03 1,6 0,02 0,83 0,06 1,19GPB 0,05 0,73 0,03 1,61 0,05 0,88 0,05 1,153B(GBJ) 0,03 0,3 0,05 0,6 0,05 0,2 0,1 0,4Global 3B-BT 0,1 1,32 12,3 160 96 788 136 10943B-BT+ 0,1 1,32 12,7 160 67 703 93 9283B-GBJ 0,1 1,32 12 166 61 682 85 916Global BT+ 0,05 1,26 0,11 1,89 0,13 7,63 0,2 8,15BJ 0,07 1,17 0,11 1,89 0,14 7,69 0,19 8GPB 0,07 1,19 0,1 1,93 0,11 7,69 0,22 8,043B(GBJ) 0,2 0,7 0,2 1,3 0,2 1,3Global BT 9,96 70 40 137 81 241 80 240BT+ 9,96 70 29 99,6 78 102 78 102BJ 9,96 70 29 99,6 78 102 78 102GPB 9,96 70 29 99,6 49 102 49 102

>54000

0,31987

Tangent

0,5 35

Triangle

8,63 2908 2068

39 46

XXS

Sierpinski3

3,1 >54000 >54000

1,E-01

XXS

Hour-glass

0,12 1,89 1,47 22,77

Mechanism

XXS XXS

1,E+00 1,E+01 1,E+02

Chair XXS XXS XXS XXS

NCSP IBB

Overall comparison

Page 51: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

w/ IBF IBF w/ IBF IBF w/ IBF IBF w/ IBF IBF Global BT 3,3 XXS 3,2 XXS 9,4 XXS 12,4 XXSGlobal BT 0,17 14,1 0,6 15 2,8 18,7 13,3 32,8BT+ 0,11 14,1 0,4 13,6 2,6 17,2 13,1 30,6GBJ 0,1 14,1 0,4 13,5 2,6 17,3 13,1 30,4GPB 0,1 14,2 0,4 13,3 2,7 17,4 13,1 30,53B(GBJ) 0,23 0,68 1,7 2,3 9,7 11 83 88Global BT+ 0,03 0,88 0,03 1,64 0,06 1 0,06 1,21GBJ 0,04 0,75 0,03 1,6 0,02 0,83 0,06 1,19GPB 0,05 0,73 0,03 1,61 0,05 0,88 0,05 1,153B(GBJ) 0,03 0,3 0,05 0,6 0,05 0,2 0,1 0,4Global 3B-BT 0,1 1,32 12,3 160 96 788 136 10943B-BT+ 0,1 1,32 12,7 160 67 703 93 9283B-GBJ 0,1 1,32 12 166 61 682 85 916Global BT+ 0,05 1,26 0,11 1,89 0,13 7,63 0,2 8,15BJ 0,07 1,17 0,11 1,89 0,14 7,69 0,19 8GPB 0,07 1,19 0,1 1,93 0,11 7,69 0,22 8,043B(GBJ) 0,2 0,7 0,2 1,3 0,2 1,3Global BT 9,96 70 40 137 81 241 80 240BT+ 9,96 70 29 99,6 78 102 78 102BJ 9,96 70 29 99,6 78 102 78 102GPB 9,96 70 29 99,6 49 102 49 102

1,E+00 1,E+01 1,E+02

Chair XXS XXS XXS XXS

NCSP IBB1,E-01

XXS

Hour-glass

0,12 1,89 1,47 22,77

Mechanism

XXS XXS XXS

Sierpinski3

3,1 >54000 >54000

1987

Tangent

0,5 35

Triangle

8,63 2908 2068

39 46

>54000

0,3

Overall comparison

Page 52: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

w/ IBF IBF w/ IBF IBF w/ IBF IBF w/ IBF IBF Global BT 3,3 XXS 3,2 XXS 9,4 XXS 12,4 XXSGlobal BT 0,17 14,1 0,6 15 2,8 18,7 13,3 32,8BT+ 0,11 14,1 0,4 13,6 2,6 17,2 13,1 30,6GBJ 0,1 14,1 0,4 13,5 2,6 17,3 13,1 30,4GPB 0,1 14,2 0,4 13,3 2,7 17,4 13,1 30,53B(GBJ) 0,23 0,68 1,7 2,3 9,7 11 83 88Global BT+ 0,03 0,88 0,03 1,64 0,06 1 0,06 1,21GBJ 0,04 0,75 0,03 1,6 0,02 0,83 0,06 1,19GPB 0,05 0,73 0,03 1,61 0,05 0,88 0,05 1,153B(GBJ) 0,03 0,3 0,05 0,6 0,05 0,2 0,1 0,4Global 3B-BT 0,1 1,32 12,3 160 96 788 136 10943B-BT+ 0,1 1,32 12,7 160 67 703 93 9283B-GBJ 0,1 1,32 12 166 61 682 85 916Global BT+ 0,05 1,26 0,11 1,89 0,13 7,63 0,2 8,15BJ 0,07 1,17 0,11 1,89 0,14 7,69 0,19 8GPB 0,07 1,19 0,1 1,93 0,11 7,69 0,22 8,043B(GBJ) 0,2 0,7 0,2 1,3 0,2 1,3Global BT 9,96 70 40 137 81 241 80 240BT+ 9,96 70 29 99,6 78 102 78 102BJ 9,96 70 29 99,6 78 102 78 102GPB 9,96 70 29 99,6 49 102 49 102

1,E+00 1,E+01 1,E+02

Chair XXS XXS XXS XXS

NCSP IBB1,E-01

XXS

Hour-glass

0,12 1,89 1,47 22,77

Mechanism

XXS XXS XXS

Sierpinski3

3,1 >54000 >54000

1987

Tangent

0,5 35

Triangle

8,63 2908 2068

39 46

>54000

0,3

Overall comparison

Page 53: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Outline IBB: a general framework for solving

decomposed NCSPs Principle Inputs Process

IBB+Interval: an instance of IBB Interval solving Interblock Filtering Experiments

Conclusion & Future directions

Page 54: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Conclusion We have presented a general framework

for solving decomposed NCSPs Instanciating the framework = choosing a BT

process, a set of solving methods, and optionally a set of add-ons

From the experiments, we can say that: Decomposition seems very interesting for NCSPs

with a structure Filtering, a strength of constraint programming,

seems counter-productive when used against the structure

Intelligent BT seems more profitable, and introduces at least no overhead

Page 55: InterBlock-Backtracking :  Exploiting Structure in Numerical CSPs Solving

Future directions Try other instances of IBB, involving

different solvers Intervals + symbolic …

Solver dynamic selection strategies According to blocks’ properties that may change

(block = parametric NCSP) Use other frameworks to solve decomposed

NCSPs Multi-agent systems Solver cooperation frameworks …