160 likes | 237 Views
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
E N D
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!