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

advertisement

Lecture 13:

Modeling in

Constraint Programming

© J. Christopher Beck 2008 1

Outline

Introduction

The Crystal Maze

Heuristics, Propagation, B&B

Modeling in CP

© J. Christopher Beck 2008 2

Readings

P Ch 5.5, D.2, D.3

B.M. Smith,

“Modelling”, The

Handbook of

Constraint

Programming,

2006.

© J. Christopher Beck 2008 3

Crystal Maze

You have

5 minutes!

Place the numbers 1 through 8 in the nodes such that:

Each number appears exactly once

– No connected

?

?

nodes have consecutive numbers

?

?

?

?

© J. Christopher Beck 2008

?

?

4

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

© J. Christopher Beck 2008 5

Heuristic Search

{1, 2, 3, 4, 5, 6, 7, 8}

?

?

?

?

?

© J. Christopher Beck 2008

?

6

Inference/Propagation

?

{1, 2, 3, 4, 5, 6, 7, 8}

?

?

?

{1, 2, 3, 4, 5, 6, 7, 8}

© J. Christopher Beck 2008

?

?

7

Inference/Propagation

{3, 4, 5, 6} {3, 4, 5, 6}

{3, 4, 5, 6, 7} {2, 3, 4, 5, 6}

{3, 4, 5, 6} {3, 4, 5, 6}

© J. Christopher Beck 2008 8

Generic CP Algorithm

Start

Propagators

Solution?

Success

Dead-end?

Backtrack

Technique

Nothing to retract?

Make

Heuristic

Decision

Failure

© J. Christopher Beck 2008

Assert

Commitment

9

Questions?

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

© J. Christopher Beck 2008 10

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

© J. Christopher Beck 2008 11

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 c i

(v

0

, v

2

, v

4

, v

117 it constrains

, has a scope

, …), the variables that

© J. Christopher Beck 2008 12

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

(D

0

0

, v

X D

2

2

, v

4

, v

117

X D

4

, …) maps:

X D

117

X … )  {T,F}

A constraint is satisfied if the assignment of the variables in its scope are mapped to T

© J. Christopher Beck 2008 13

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

© J. Christopher Beck 2008 14

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 valuecombinations intensional: mathematical expression

© J. Christopher Beck 2008 15

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

4

> v

2

= v

5

+ v

4

* v

6

© J. Christopher Beck 2008 16

n -Queens Problem

Place n -Queens on the chess board so that no queen can attack any other

© J. Christopher Beck 2008 17

n -Queens Problem

Variables?

Constraints?

© J. Christopher Beck 2008 18

n -Queens Problem

How about a different model?

© J. Christopher Beck 2008 19

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

© J. Christopher Beck 2008 20

Download