intervals in constraint programming

44
Interval constraint programming Constraint propagation Trends and open issues Recent solvers Intervals in constraint programming : some trends and open issues Djamila Sam-Haroud Thanks to Gilles Trombettoni for material and comments Swiss Federal institute of technology, School of core computing, EPFL June 2009 Sam-Haroud Intervals in constraint programming

Upload: others

Post on 11-Sep-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

Intervals in constraint programming :some trends and open issues

Djamila Sam-HaroudThanks to Gilles Trombettoni for material and comments

Swiss Federal institute of technology, School of core computing, EPFL

June 2009

Sam-Haroud Intervals in constraint programming

Page 2: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

Outline

1 Interval constraint programming

2 Constraint propagationHC4-reviseBox-reviseLimitations

3 Trends and open issuesThe dependency problemThe nature of constraints mattersIntervals are great . . . butOther sources of improvement

4 Recent solvers

Sam-Haroud Intervals in constraint programming

Page 3: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

What is interval constraint programming ?

A computer science discipline mainly concerned by the designof solvers for systems equations/inequations over thereals

☞ with a particular focus on the completeness and therigor of computations.

Sam-Haroud Intervals in constraint programming

Page 4: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

What is interval constraint programming ?

Approach : combining systematic search withcontraction/filtering algorithms

☞ the variables’ domains are (generally) represented by intervals

☞ the contraction/filtering algorithms prune from the intervalsthe values that are inconsistent with the constraints

The contraction/filtering procedures use techniques frominterval arithmetic and interval analysis.

Output generated : set of boxes (inner and outerbox-covering of the solution space)

Sam-Haroud Intervals in constraint programming

Page 5: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

Typical solving process: contraction + branching

1 L← {[b0]} /* The search starts with an inital box [b0]*/

2 While L is not empty, do :

1 Choose the first box [b] from L.2 Contract/filter [b] using contraction methods from interval

constraint programming.3 If [b] 6= ∅ and diameter([b]) < ǫ, then [b] may contain a

“solution”(∗)

4 Branch: If [b] 6= ∅ and diameter([b]) > ǫ, then [b] issplit/bisect, on one dimension (variable), into two sub-boxes[b1] et [b2].

5 L← L ∪ {[b1]} ∪ {[b2]}

(*): Interval analysis methods (Interval Newton) are generally used here

to certify the existence of a solution in a box.

Sam-Haroud Intervals in constraint programming

Page 6: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

Example

Sam-Haroud Intervals in constraint programming

Page 7: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

Example

Sam-Haroud Intervals in constraint programming

Page 8: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

Example

Sam-Haroud Intervals in constraint programming

Page 9: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

Example

Sam-Haroud Intervals in constraint programming

Page 10: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

Example

Sam-Haroud Intervals in constraint programming

Page 11: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

Example

Sam-Haroud Intervals in constraint programming

Page 12: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

Example

Sam-Haroud Intervals in constraint programming

Page 13: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

Example

Sam-Haroud Intervals in constraint programming

Page 14: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

Example

Sam-Haroud Intervals in constraint programming

Page 15: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

Example

Sam-Haroud Intervals in constraint programming

Page 16: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

HC4-reviseBox-reviseLimitations

Outline

1 Interval constraint programming

2 Constraint propagationHC4-reviseBox-reviseLimitations

3 Trends and open issuesThe dependency problemThe nature of constraints mattersIntervals are great . . . butOther sources of improvement

4 Recent solvers

Sam-Haroud Intervals in constraint programming

Page 17: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

HC4-reviseBox-reviseLimitations

Contraction using constraint progagation

Contraction/filtering + propagation

The most widely used contraction/filtering tools handle oneconstraint at a time to infer the values to be filtered outfrom the domains

☞ A box is contracted with respect to each individualconstraint

When several constraints are involved, the intersectionbetween their boxes is obtained by an incremental constraintpropagation algorithm (AC3 like algorithms).

(Typical) contraction procedures (Revise) :

HC4-Revise ;

Box-Revise (BoxNarrow) ;Sam-Haroud Intervals in constraint programming

Page 18: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

HC4-reviseBox-reviseLimitations

Outline

1 Interval constraint programming

2 Constraint propagationHC4-reviseBox-reviseLimitations

3 Trends and open issuesThe dependency problemThe nature of constraints mattersIntervals are great . . . butOther sources of improvement

4 Recent solvers

Sam-Haroud Intervals in constraint programming

Page 19: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

HC4-reviseBox-reviseLimitations

The HC4-Revise algorithm

HC4-Revise on a constraint c :

Forward evaluation : infering the interval enclosure of a node on the basis of itschildren domains.

Backward propagation : refining the interval enclosures of a node on the basisof its parents domains.

Example : ((y + (x + z))2 + 3(x + z) = 30

Sam-Haroud Intervals in constraint programming

Page 20: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

HC4-reviseBox-reviseLimitations

Outline

1 Interval constraint programming

2 Constraint propagationHC4-reviseBox-reviseLimitations

3 Trends and open issuesThe dependency problemThe nature of constraints mattersIntervals are great . . . butOther sources of improvement

4 Recent solvers

Sam-Haroud Intervals in constraint programming

Page 21: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

HC4-reviseBox-reviseLimitations

The Box-Revise procedure

Principle :

Consider the univariate interval constraintc : [f ](x , [y1], ..., [yk ]) = 0 : where every variable, exceptfor x , is replaced by their current domains (intervals).

Reduce [x ] by computing the smallest (l) and the largest(r) zero of c.

Sam-Haroud Intervals in constraint programming

Page 22: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

HC4-reviseBox-reviseLimitations

The Box-Revise algorithm

Split [x ] into sub-intervals [xi ] of width ǫ (processed from left toright in the basic version).

If 0 /∈ [f ]([xi ], [y1], ..., [yk ]), then [xi ] is eliminated and the nextsub-interval considered.

If univariate Interval Newton (interval analysis) certifies a uniquesolution, a zero is identified (at the bounds).

Sam-Haroud Intervals in constraint programming

Page 23: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

HC4-reviseBox-reviseLimitations

Comparison of Revise procedures

When the box computed by a revise procedure is optimal (as tight aspossible with respect to one constraint), it satisfies the2B/Hull-consistency property. This property is hard to achieve

☞ when a constraint contains multiple occurences of the samevariable, the box is overestimated

In practice :

HC4-Revise may not compute the tightest box even if theconstraint contains no multiple occurence of the same variable.

Box-Revise is more costly but better than HC4-Revise when onlyone variable occurs several times in the constraint.

Sam-Haroud Intervals in constraint programming

Page 24: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

HC4-reviseBox-reviseLimitations

Outline

1 Interval constraint programming

2 Constraint propagationHC4-reviseBox-reviseLimitations

3 Trends and open issuesThe dependency problemThe nature of constraints mattersIntervals are great . . . butOther sources of improvement

4 Recent solvers

Sam-Haroud Intervals in constraint programming

Page 25: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

HC4-reviseBox-reviseLimitations

Main limitations

Contraction of individual constraint

☞ The common subexpressions, present in individual contraintsor shared by several constraints, are roughly taken ito account.

All types of constraints are handled the same way

☞ specific features which may help in designing bettercontraction procedures are under-exploited.

The output, as set of boxes, may be too verbose.

Sam-Haroud Intervals in constraint programming

Page 26: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

The dependency problemThe nature of constraints mattersIntervals are great . . . butOther sources of improvement

Outline

1 Interval constraint programming

2 Constraint propagationHC4-reviseBox-reviseLimitations

3 Trends and open issuesThe dependency problemThe nature of constraints mattersIntervals are great . . . butOther sources of improvement

4 Recent solvers

Sam-Haroud Intervals in constraint programming

Page 27: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

The dependency problemThe nature of constraints mattersIntervals are great . . . butOther sources of improvement

Outline

1 Interval constraint programming

2 Constraint propagationHC4-reviseBox-reviseLimitations

3 Trends and open issuesThe dependency problemThe nature of constraints mattersIntervals are great . . . butOther sources of improvement

4 Recent solvers

Sam-Haroud Intervals in constraint programming

Page 28: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

The dependency problemThe nature of constraints mattersIntervals are great . . . butOther sources of improvement

The dependency problem

Taking into account the way the constraints and their terms relate toeach other reduces overestimationExamples :

“Exploiting common subexpressions in Numerical CSPs” (Araya etal., Proc of CP’08)

☞ Common sub-expressions are replaced by auxiliaryvariables

☞ The replacement generates useful redundant constraints

“Interval propagation and search on directed acyclic graphs fornumerical constraint solving” (Vu et al., Journal of global opt.,2008)

☞ forward-backward evaluation processes are performed on thewhole set of constraints rather than on individual constraints

Sam-Haroud Intervals in constraint programming

Page 29: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

The dependency problemThe nature of constraints mattersIntervals are great . . . butOther sources of improvement

Exploiting common sub-expressions

x2 + y + (y + x2 + y3 − 1)3 + x3 = 2

(y3 + x2)× (x2 + cos(y)) + 14

x2 + cos(y)= 8

Is (polynomially) rewritten as :

v2 + v35 + x3 − 2 = 0

v3 × v4 + 14

v4− 8 = 0

v1 = x2

v2 = y + v1

v3 = v1 + y3

v4 = v1 + cos(y)

v5 = v2 + y3 − 1

v5 = −1 + y + v3

☞ Redundant constraints, useful for contraction, are generated byreplacing common sub-expressions with auxiliary variables

Sam-Haroud Intervals in constraint programming

Page 30: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

The dependency problemThe nature of constraints mattersIntervals are great . . . butOther sources of improvement

Propagation on DAGs

Trees :

{√x + 2√

xy + 2√

y ≤ 7, 0 ≤ x2√y − 2xy + 3√

y ≤ 2, x ∈ [1, 16], y ∈ [1, 16]}.

Sam-Haroud Intervals in constraint programming

Page 31: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

The dependency problemThe nature of constraints mattersIntervals are great . . . butOther sources of improvement

Propagation on DAGs

are replaced by DAGs :

Sam-Haroud Intervals in constraint programming

Page 32: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

The dependency problemThe nature of constraints mattersIntervals are great . . . butOther sources of improvement

Propagation on DAGs

Using propagation on DAGs (FBPD algorithm) :

potentially reduces the amount of computation oncommon subexpressions shared by constraints,

and, explicitly relates constraints to constraints inthe natural way they are composed

Sam-Haroud Intervals in constraint programming

Page 33: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

The dependency problemThe nature of constraints mattersIntervals are great . . . butOther sources of improvement

Correlating constraints and their terms (potential)

For both approaches :

generating redundant constraints by replacingcommon-subexpression with auxiliary variables,

or propagating on directed acyclic graphs,

☞ significant improvements were obtained compared to thesolving techniques based on HC4 and Box.

Sam-Haroud Intervals in constraint programming

Page 34: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

The dependency problemThe nature of constraints mattersIntervals are great . . . butOther sources of improvement

Outline

1 Interval constraint programming

2 Constraint propagationHC4-reviseBox-reviseLimitations

3 Trends and open issuesThe dependency problemThe nature of constraints mattersIntervals are great . . . butOther sources of improvement

4 Recent solvers

Sam-Haroud Intervals in constraint programming

Page 35: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

The dependency problemThe nature of constraints mattersIntervals are great . . . butOther sources of improvement

The “nature” of constraints matters

Dedicated algorithms can be used to generate tight bounds for specificconstraints (or specific constraints properties)Examples :

“Efficient and Safe Global Constraints for Handling NumericalConstraint Systems” (Lebbah et al., SIAM journal or numericalanalysis)

☞ quadratic and bilinear terms are linearized. The resultingsub-system is contracted by LP techniques

☞ Generalized to polynomials.

“Monotonic Hull-consistency” (Araya et al., SWIM’09)

☞ uses monotonicity to compute sharper bounds

Sam-Haroud Intervals in constraint programming

Page 36: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

The dependency problemThe nature of constraints mattersIntervals are great . . . butOther sources of improvement

Outline

1 Interval constraint programming

2 Constraint propagationHC4-reviseBox-reviseLimitations

3 Trends and open issuesThe dependency problemThe nature of constraints mattersIntervals are great . . . butOther sources of improvement

4 Recent solvers

Sam-Haroud Intervals in constraint programming

Page 37: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

The dependency problemThe nature of constraints mattersIntervals are great . . . butOther sources of improvement

Intervals are great . . . but

Alternative representations of the constraints exists that cancontribute to contraction more efficiently :

parallelepiped,

zonotopes,

linear relaxations,

convex polyhedral enclosures,

affine arithmetic forms,

Bernstein polynomials,

. . .

Moreover, several different representations can be used cooperativelyduring a single solving process.

☞ Key issue: Decoupling contraction from constraintrepresentation

Sam-Haroud Intervals in constraint programming

Page 38: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

The dependency problemThe nature of constraints mattersIntervals are great . . . butOther sources of improvement

Decoupling contraction from constraint representation

Makes it possible to use cooperatively several constraints

representation. The output may take more accurate forms.Examples :

“Contractor Programming” (Chabert and Jaulin, AI journal, 2008)

☞ proposes a neat paradigm to decouple contraction fromconstraint representation

“Enhancing numerical constraint propagation using multipleinclusion representations” (Vu et al., Annals of mathematics and AI,2009)

☞ generalizes the concepts related to interval forms toprovide a common view of different kind of constraintsrepresentation

☞ proposes a generic combination schema to use severalrepresentations cooperatively

Sam-Haroud Intervals in constraint programming

Page 39: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

The dependency problemThe nature of constraints mattersIntervals are great . . . butOther sources of improvement

Mutliple inclusion representations

Different inclusion representations (interval arithmetic, affinearithmetic ...) can be used to infer redundant constraintsets (PCS: pruning constraint system) to improve contraction :

Sam-Haroud Intervals in constraint programming

Page 40: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

The dependency problemThe nature of constraints mattersIntervals are great . . . butOther sources of improvement

Cooperative use of several representation

Example : combining interval arithmetic, affine arithmetic, and safe linearprogramming enhance contraction (CIRD[ai] algorithm)

☞ showed significant improvements on several test suites

Sam-Haroud Intervals in constraint programming

Page 41: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

The dependency problemThe nature of constraints mattersIntervals are great . . . butOther sources of improvement

Outline

1 Interval constraint programming

2 Constraint propagationHC4-reviseBox-reviseLimitations

3 Trends and open issuesThe dependency problemThe nature of constraints mattersIntervals are great . . . butOther sources of improvement

4 Recent solvers

Sam-Haroud Intervals in constraint programming

Page 42: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

The dependency problemThe nature of constraints mattersIntervals are great . . . butOther sources of improvement

Many research directions

Further developping the algorithms for computing higherdegrees of consistency (like 3B consistency).

Characterization of new global constraints useful forcontraction.

Developing smart splitting and search strategies.

Integration of algebraic approach andcontinuation/homotopy methods.

Developing smart strategies for the cooperative use ofdifferent contraction tools.

Using clustering techniques to reduce the verbosity of theoutput, or to restructure the output with respect toparticular queries (for example connectedness).

. . .

Sam-Haroud Intervals in constraint programming

Page 43: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

Outline

1 Interval constraint programming

2 Constraint propagationHC4-reviseBox-reviseLimitations

3 Trends and open issuesThe dependency problemThe nature of constraints mattersIntervals are great . . . butOther sources of improvement

4 Recent solvers

Sam-Haroud Intervals in constraint programming

Page 44: Intervals in constraint programming

Interval constraint programmingConstraint propagationTrends and open issues

Recent solvers

Interval constraint programming solvers

RealPaver (Benhamou and Granvilliers)

Gecode (Schulte et al.)

ICOS (Lebbah)

Ibex/Quimper (Chabert)

...

Sam-Haroud Intervals in constraint programming