Outline What is a Constraint ? What is a Global Constraint ? - - PDF document

outline
SMART_READER_LITE
LIVE PREVIEW

Outline What is a Constraint ? What is a Global Constraint ? - - PDF document

I nterest of Global Constraints for Modeling and Solving Eric Bourreau, Franois Laburthe BOUYGUES e lab St-Quentin-en-Yvelines - FRANCE { ebourrea;flaburth} @challenger.bouygues.fr 1 Outline What is a Constraint ? What is a


slide-1
SLIDE 1

1

1

I nterest of Global Constraints for Modeling and Solving

Eric Bourreau, François Laburthe

BOUYGUES e lab St-Quentin-en-Yvelines - FRANCE { ebourrea;flaburth} @challenger.bouygues.fr

2

Outline

  • What is a Constraint ?
  • What is a Global Constraint ?
  • Examples of Global Constraints families
  • Interest
  • Conclusion
slide-2
SLIDE 2

2

3

Constraints Principle

  • X in 1..10, Y in 1..10, X > Y + 3

– X in 5..10, Y in 1..6 – if min of Y or max of X change, adjust other variable

  • X <> Y + 5

– wait until X or Y fixed to a value to remove one value from the domain variation of the other variable

Properties: additive, declarative, partial, multi-directed, data-driven Theoretical frame CSP (constraint satisfaction problem):

Models : unary, binary, … ternary

4

Search

  • Stating and Solving [Lauriere76]
  • Satisfaction (consistent)
  • Pro-active : discover infeasible solutions

(inconsistencies) => and react !

  • Filtering algorithms
  • Saturation
  • Implicit enumeration
slide-3
SLIDE 3

3

5

Global Constraints

(global vision)

n-ary constraints : alldifferent(X1,X2,X3,X4,X5)

X2 ∈ {1,2,3,4} X3 ∈ {3,4}

≠ ≠

X4 ∈ {3,4} X5 ∈ {1,3,5} X1 ∈ {1,2,3}

Clique of inequalities

X2 X1 X3 X4

2 3 4

X5

5 1

Matching variables ↔ values

6

Filtering Algorithms

  • Régin 94 :

use strongly connected components in the residual graph

… Régin 96 (global cardinality constraint) … Régin 99 (weighted gcc)

SCS 1 SCS 3 SCS 2 X2 X1 X3 X4

2 3 4

X5

5 1 … Régin 00 (gsc)

slide-4
SLIDE 4

4

7

The Right Level

Combinatorial Optimization Problems

Linear Programming

E f f i c i e n c y i n a l g

  • r

i t h m s M

  • d

e l i n g f

  • r

m a l i s m l e v e l s

Constraint Programming

8

Global Constraint Family (1)

  • Path [Ilog96]
  • Cycles covering [Pesant98]
  • Circuits partition [Bourreau99]
  • Trees cover [Laporte98]

Graph paths

example of propagation in the cycle constraint

Matching, strongly connected components, shortest path

slide-5
SLIDE 5

5

9

Global Constraint Family (2)

Scheduling

  • Cumulative [Beldiceanu93, Le Pape94]
  • Disjunctive [Caseau95, Colombani96]
  • Preemptive [Le Pape96]
  • Fully Elastic [Baptiste97]
  • Trapeze [Poder00]

1 2 3 4 5 6 7 1 2 3 4 5 6 ressource

Tasks interval, edge finding, energetic reasoning

10

Global Constraint Family (3)

  • Diffn

[Aggoun93] [Beldiceanu-Contejean94]

Computational geometry, Latin squares reasoning, analytical decomposition

Packing, Non overlapping

slide-6
SLIDE 6

6

11

Interest : good algorithms

  • Adapted algorithms

– Incremental in time – Incremental in memory

  • Undirected algorithms (propagation in every

direction)

Q: How to compute Strongly Connected Components in an incremental manner when one edge is remove ? … one node ? … … with minimal complexity in time ? … … with an adapted data structure in memory ? 12

New algorithms … ?

  • Necessary conditions to propagate
  • Revisiting algorithms

Example :

incremental reduction tests for the Steiner problem in graphs [Duin92, Rottembourg93]… not yet

  • Implicit enumeration by exploiting

sub-structures (implicit of explicit)

slide-7
SLIDE 7

7

13

High Level Constraints

  • Encapsulation

(transparent for users)

  • Easy coding

(concise)

  • Modeling Tools

(not only solving tools)

  • What ≠ how

1 industrial application = 3 sub-problems = 3 constraints 14

Algorithmic Combination

  • Multiple visions

Packing

Scheduling

(necessary conditions) as redundant constraints

  • Implicit hybridization
  • combination of incremental algorithms
  • complex use of consistency rules
  • efficient and adapted data structures
  • dynamic awake of algorithms

4,93

slide-8
SLIDE 8

8

15

Caveat

  • Time consuming
  • nodes explored vs. time spent
  • interesting for hard problems
  • Not (yet) unified
  • example : one cumulative by framework

(Chip, Ilog, Eclipse, Sicstus, Oz, SchedEns, Choco-Igloo, …)

  • lack of formalism

16

Conclusion

  • Where are we today ?
  • Setup to collaborate with other paradigms

(automatic conversion in LP, combination with Local Search, bound reinforcement for column generation… )

  • Already successful in various areas

coming

Unified theory

arrived

Classification

mature

Techniques