Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
Generating Implied Constraints via Proof Planning Alan Frisch, Ian Miguel, Toby Walsh Dept of CS University of York EPSRC funded project GR/N16129
Motivation • Constraints useful in many domains • scheduling, assignment, routing, … • Constraints is BIG business • US: i2 is worth $4B • Europe: ILOG $200M • UK: Parc Technologies >$15M
Motivation • Implied constraints often crucial • logically redundant • but can reduce search dramatically • Implied constraints added by hand • can automated reasoning help? • proof planning looks promising
Why use proof planning? • Many possible logical consequences • preconditions can restrict us to those likely to be useful • Methods can act at high level • complex rewriting, simplification, … • Cleanliness • logic v search
Fractions puzzle • From Oz tutorial • Give 9 distinct non-zero digits (A-I) such that: A/BC + D/EF + G/HI = 1 nb BC = 10*B+C EF = 10*E+F HI = 10*H+I
Fractions puzzle • Symmetrymethod A/BC D/EF G/HI • Eliminate method 3A/BC 1 3G/HI 1 • Linearize method 3*A 10*B+C 3*G 10*H+I
Fractions puzzle • Constraint solvers will delay non-linear constraints like: A/BC + D/EF + G/HI = 1 until all 9 variables are ground (i.e. generate and test) • Implied linear constraints like 3*A 10*B+C will prune immediately
Fractions puzzle • Can also generate (implied) bounds 3*G 10*H+I • Bounds consistency gives: 3*G 11 • all-different method gives: 3*G 12 bound is unary implied constraint (but sadly no tighter as both give G4)
Prof. Smart’s safe • Again from Oz tutorial • Find sequence of non-zero digits with: x4-x6 = x7 x1*x2*x3 = x8+x9 x2+x3+x6 < x8 x9 < x8 xi =/= i all-different(x1,..x9)
Prof. Smart’s safe • all-different method gives: x2+x3+x6 6 • eliminate method eliminates x2+x3+x6 (or transitivity method?): 6 < x8 • node consistency on xi =/= i gives x8 = 7 or 9 Only two out of nine values to try!
Method base • eliminate var(s) reducing constraint arity • introduce auxiliary vars • symmetry breaking • linearize constraints • all-different method • summation method
Eliminate method • Generalization of Gaussian elimination • PRESS methods may be useful: • attract • collect • isolate
Proof planning • PRESS’s waterfall probably not adequate • fractions: eliminate then all-different • safe: all-different then eliminate • Even with strong preconditions to methods, some implied constraints will need to be pruned 3*G 12no tighter than3*G 11
Implementation • Prolog • Based on CLAM-Lite • Input from ESRA or OPL?
Credits • Brahim Hnich • Julian Richardson • modified PRESS to deal with inequalities • EPSRC
Conclusions • Implied constraints are simply logical consequences of initial model • Proof planning looks promising for generating useful implied constraints • We hope to re-use and adapt some of PRESS’s methods • Come to CIAO-2002 to see how we do!