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 1 Outline • What is a Constraint ? • What is a Global Constraint ? • Examples of Global Constraints families • Interest • Conclusion 2 1
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 3 Search • Stating and Solving [Lauriere76] • Satisfaction (consistent) • Pro-active : discover infeasible solutions (inconsistencies) => and react ! • Filtering algorithms • Saturation • Implicit enumeration 4 2
Global Constraints ( global vision ) n-ary constraints : alldifferent( X1,X2,X3,X4,X5 ) Matching variables ↔ values Clique of inequalities 1 X 1 X 1 ∈ {1,2,3} 2 X 2 X 2 ∈ {1,2,3,4} ≠ ≠ X 5 ∈ {1,3,5} 3 X 3 X 4 4 X 4 ∈ {3,4} X 3 ∈ {3,4} X 5 5 5 Filtering Algorithms • Régin 94 : use strongly connected components in the residual graph SCS 1 1 X 1 2 X 2 SCS 2 X 3 3 X 4 4 SCS 3 X 5 5 … Régin 96 (global cardinality constraint) … Régin 99 (weighted gcc) … Régin 00 (gsc) 6 3
The Right Level E f f i c i e n c Linear Programming M y o i n d e a l l i g n o g r f i t o h r m m s a l i s m l e v e l s Constraint Programming Combinatorial Optimization Problems 7 Global Constraint Family (1) Graph paths • Path [ Ilog96 ] • Cycles covering [ Pesant98 ] • Circuits partition [ Bourreau99 ] • Trees cover [ Laporte98 ] example of propagation in the cycle constraint Matching, strongly connected components, shortest path 8 4
Global Constraint Family (2) Scheduling • Cumulative [ Beldiceanu93 , Le Pape94 ] • Disjunctive [ Caseau95 , Colombani96 ] • Preemptive [ Le Pape96 ] ressource • Fully Elastic [ Baptiste97 ] 6 5 4 • Trapeze [ Poder00 ] 3 2 1 1 2 3 4 5 6 7 Tasks interval, edge finding, energetic reasoning 9 Global Constraint Family (3) Packing, Non overlapping • Diffn [ Aggoun93 ] [ Beldiceanu-Contejean94 ] Computational geometry, Latin squares reasoning, analytical decomposition 10 5
Interest : good algorithms • Adapted algorithms – Incremental in time – Incremental in memory 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 ? • Undirected algorithms (propagation in every direction) 11 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) 12 6
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 13 Algorithmic Combination Packing • Multiple visions 4,93 • Implicit hybridization - combination of incremental algorithms - complex use of consistency rules - efficient and adapted data structures Scheduling - dynamic awake of algorithms (necessary conditions) as redundant constraints 14 7
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 15 Conclusion • Where are we today ? mature Techniques arrived Classification Unified theory coming • Setup to collaborate with other paradigms (automatic conversion in LP, combination with Local Search, bound reinforcement for column generation… ) • Already successful in various areas 16 8
Recommend
More recommend