Presentation is loading. Please wait.

Presentation is loading. Please wait.

© J. Christopher Beck 20081 Lecture 13: Modeling in Constraint Programming.

Similar presentations


Presentation on theme: "© J. Christopher Beck 20081 Lecture 13: Modeling in Constraint Programming."— Presentation transcript:

1 © J. Christopher Beck 20081 Lecture 13: Modeling in Constraint Programming

2 © J. Christopher Beck 2008 2 Outline Introduction The Crystal Maze Heuristics, Propagation, B&B Modeling in CP

3 © J. Christopher Beck 2008 3 Readings P Ch 5.5, D.2, D.3 B.M. Smith, “Modelling”, The Handbook of Constraint Programming, 2006.

4 © J. Christopher Beck 2008 4 Crystal Maze Place the numbers 1 through 8 in the nodes such that: Each number appears exactly once ? ? ? ? ? ? ?? –No connected nodes have consecutive numbers You have 5 minutes!

5 © J. Christopher Beck 2008 5 Modeling Each node  a variable {1, …, 8}  values in the domain of each variable No consecutive numbers  a constraint (v i, v j )  |v i – v j | > 1 All values used  all-different constraint

6 © J. Christopher Beck 2008 6 Heuristic Search ? ? ? ? ? ? ?? 18 {1, 2, 3, 4, 5, 6, 7, 8}

7 © J. Christopher Beck 2008 7 Inference/Propagation ? ? ? ? ? ? ?? 18 {1, 2, 3, 4, 5, 6, 7, 8}

8 © J. Christopher Beck 2008 8 Inference/Propagation ? ? ? ? ? ? ?? 18 {3, 4, 5, 6} 72 64 35 {3, 4, 5, 6, 7}{2, 3, 4, 5, 6}

9 © J. Christopher Beck 2008 9 Generic CP Algorithm Assert Commitment Propagators Start Success Solution? Make Heuristic Decision Backtrack Technique Failure Nothing to retract? Dead-end?

10 © J. Christopher Beck 2008 10 With CP You Are … Guaranteed to find a solution if one exists If not you can prove there is no solution But you need to have enough time! On average, for many problems you can find a solution within a reasonable time CP is commercially successful for scheduling and other applications Questions?

11 © J. Christopher Beck 2008 11 The Core of CP Modeling How to represent the problem Heuristic search How to branch How much effort to find a good branch Inference/propagation How much effort Backtracking

12 © J. Christopher Beck 2008 12 Constraint Satisfaction Problem (CSP) Given: V, a set of variables {v 0, v 1, …, v n } D, a set of domains {D 0, D 1, …, D n } C, a set of constraints {c 0, c 1, …, c m } Each constraint, c i, has a scope c i (v 0, v 2, v 4, v 117, …), the variables that it constrains

13 © J. Christopher Beck 2008 13 Constraint Satisfaction Problem (CSP) A constraint, c i, is a mapping from the elements of the Cartesian product of the domains of the variables in its scope to {T,F} c i (v 0, v 2, v 4, v 117, …) maps: (D 0 X D 2 X D 4 X D 117 X … )  {T,F} A constraint is satisfied if the assignment of the variables in its scope are mapped to T

14 © J. Christopher Beck 2008 14 Constraint Satisfaction Problem (CSP) In a solution to a CSP: each variable is assigned a value from its domain: v i = d i, d i є D i each constraint is satisfied

15 © J. Christopher Beck 2008 15 Variables & Constraints Variables can be anything colors, times, countries, … often integer valued or binary Constraints are not limited to linear constraints extensional: list of acceptable value- combinations intensional: mathematical expression

16 © J. Christopher Beck 2008 16 Examples V = {v 1, v 2, …, v n } D i = {1, 2, …, n} all-diff(v 1, v 2, …, v n ) each of the variables must take on a different value v 1 > v 2 + v 4 v 4 = v 5 * v 6

17 © J. Christopher Beck 2008 17 n-Queens Problem Place n-Queens on the chess board so that no queen can attack any other

18 © J. Christopher Beck 2008 18 n-Queens Problem Variables? Constraints?

19 © J. Christopher Beck 2008 19 n-Queens Problem How about a different model?

20 © J. Christopher Beck 2008 20 Why Do We Care About Modeling? You need to represent your problem! As in MIP/LP different models are harder or easier to solve We will return to CP modeling (in a big way) in a few weeks


Download ppt "© J. Christopher Beck 20081 Lecture 13: Modeling in Constraint Programming."

Similar presentations


Ads by Google