Top Banner
Constraint Technology A Programming Paradigm on the Rise Pierre Flener ASTRA Research Group on Constraint Technology Department of Information Technology Uppsala University Sweden Invited talks at UU / IT / TDB (2008-03-12) and at UU / IT / TAPVES (2008-03-13)
106

Constraint Technology - A Programming Paradigm on the Rise

Feb 03, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Constraint Technology - A Programming Paradigm on the Rise

Constraint TechnologyA Programming Paradigm on the Rise

Pierre Flener

ASTRA Research Group on Constraint TechnologyDepartment of Information Technology

Uppsala UniversitySweden

http://www.it.uu.se/research/group/astra/

Invited talks at UU / IT / TDB (2008-03-12)and at UU / IT / TAPVES (2008-03-13)

Page 2: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?

EnablingBasicResearchand Tools

TechnologyTransfer

Outline

1 What is Constraint Technology?Constraint ProblemsConstraint TechnologyConstraint ModellingConstraint Solving by Global SearchConstraint Solving by Local SearchHistory & Success Stories

2 Enabling Basic Research and ToolsAbstract Constraint ModellingSymmetryConstraint-Based Local Search

3 Technology TransferAir-Traffic ManagementComputational BiologyComputational Finance

TDB / TAPVES Uppsala University - 2 - [email protected]

Page 3: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Outline

1 What is Constraint Technology?Constraint ProblemsConstraint TechnologyConstraint ModellingConstraint Solving by Global SearchConstraint Solving by Local SearchHistory & Success Stories

2 Enabling Basic Research and ToolsAbstract Constraint ModellingSymmetryConstraint-Based Local Search

3 Technology TransferAir-Traffic ManagementComputational BiologyComputational Finance

TDB / TAPVES Uppsala University - 3 - [email protected]

Page 4: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Outline

1 What is Constraint Technology?Constraint ProblemsConstraint TechnologyConstraint ModellingConstraint Solving by Global SearchConstraint Solving by Local SearchHistory & Success Stories

2 Enabling Basic Research and ToolsAbstract Constraint ModellingSymmetryConstraint-Based Local Search

3 Technology TransferAir-Traffic ManagementComputational BiologyComputational Finance

TDB / TAPVES Uppsala University - 4 - [email protected]

Page 5: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Problems

Example (The Tourist Site Competition (TSC) problem)Ali Dan Eva Jim Leo Mia Ulla

BirkaFalunLundMora

SigtunaUppsala

Ystad

1 Every tourist site is visited by r = 3 judges.2 Every judge visits c = 3 tourist sites.3 Every pair of sites is visited by λ = 1 common judge.

TDB / TAPVES Uppsala University - 5 - [email protected]

Page 6: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Problems

Example (The Tourist Site Competition (TSC) problem)Ali Dan Eva Jim Leo Mia Ulla

Birka 3 3 3

Falun 3 3 3

Lund 3 3 3

Mora 3 3 3

Sigtuna 3 3 3

Uppsala 3 3 3

Ystad 3 3 3

1 Every tourist site is visited by r = 3 judges.2 Every judge visits c = 3 tourist sites.3 Every pair of sites is visited by λ = 1 common judge.

TDB / TAPVES Uppsala University - 6 - [email protected]

Page 7: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Problems

Many increasingly ubiquitous and important real-lifeproblems must be solved by intelligent search:

Rostering, scheduling, time-tablingPlanningConfiguration, designRNA structure prediction, alignment, sequencing, . . .Financial investment instrument designVLSI circuit layoutHardware / software specification verification. . .

In a constraint problem, decisions have to be made so that:Some constraints are satisfied.Optionally: Some cost/benefit is minimised/maximised.

TDB / TAPVES Uppsala University - 7 - [email protected]

Page 8: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Outline

1 What is Constraint Technology?Constraint ProblemsConstraint TechnologyConstraint ModellingConstraint Solving by Global SearchConstraint Solving by Local SearchHistory & Success Stories

2 Enabling Basic Research and ToolsAbstract Constraint ModellingSymmetryConstraint-Based Local Search

3 Technology TransferAir-Traffic ManagementComputational BiologyComputational Finance

TDB / TAPVES Uppsala University - 8 - [email protected]

Page 9: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Technology

Constraint Technology (CT) offers methods and tools for:Effectively modelling constraint problems.Efficiently solving constraint problems,by global search (in Sudoku fashion)or by local search (see below).

Slogan of CT:

Constraint Program = Model + Search

This is orthogonal and complementary toOperations Research (OR):linear programming (LP), integer LP (ILP),mixed integer linear programming (MILP), . . .Boolean satisfiability (SAT). . .

leading to hybridised optimisation technologies!TDB / TAPVES Uppsala University - 9 - [email protected]

Page 10: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Scope of Constraint Technology

Constraint Technology addresses:satisfaction problems and optimisation problemsdiscrete variables and continuous variableslinear constraints and non-linear constraints

in any combination thereof,by:

global search, if optimality more important than speedlocal search, if speed is more important than optimality

Built-in support for:explanationssoft constraints. . .

TDB / TAPVES Uppsala University - 10 - [email protected]

Page 11: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Outline

1 What is Constraint Technology?Constraint ProblemsConstraint TechnologyConstraint ModellingConstraint Solving by Global SearchConstraint Solving by Local SearchHistory & Success Stories

2 Enabling Basic Research and ToolsAbstract Constraint ModellingSymmetryConstraint-Based Local Search

3 Technology TransferAir-Traffic ManagementComputational BiologyComputational Finance

TDB / TAPVES Uppsala University - 11 - [email protected]

Page 12: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Modelling

Example (TSC integer model)

set Sites, Judgescst r , c, λ : intvar TSC : array[Sites, Judges] of 0..1solve

forall s in Sites : r = sum(j in Judges) TSC[s, j]forall j in Judges : c = sum(s in Sites) TSC[s, j]forall s1 6= s2 in Sites :

λ = count(j in Judges) TSC[s1, j] = 1 = TSC[s2, j]

Example (Instance data for the Sweden TSC instance)Sites = {Birka, Falun, Lund , Mora, Sigtuna, Uppsala, Ystad}Judges = {Ali , Dan, Eva, Jim, Leo, Mia, Ulla}〈r , c, λ〉 = 〈3, 3, 1〉

TDB / TAPVES Uppsala University - 12 - [email protected]

Page 13: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Modelling

Example (TSC set model)set Sites, Judgescst r , c, λ : intvar TSC : array[Sites] of setof(Judges)solve

forall s in Sites : r = size(TSC[s])forall j in Judges : c = count(s in Sites) j ∈ TSC[s]forall s1 6= s2 in Sites :

λ = size(TSC[s1] ∩ TSC[s2])

Example (Instance data for the Sweden TSC instance)Sites = {Birka, Falun, Lund , Mora, Sigtuna, Uppsala, Ystad}Judges = {Ali , Dan, Eva, Jim, Leo, Mia, Ulla}〈r , c, λ〉 = 〈3, 3, 1〉

TDB / TAPVES Uppsala University - 13 - [email protected]

Page 14: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Modelling

Example (Sudoku)6 1 4 5

8 3 5 62 18 4 7 6

6 37 9 1 45 2

7 2 6 94 5 8 7

range N = 1..9var s : array[N, N] of Nsolve

. . . // load cluesforall r in N : AllDifferent(s[r , ∗])forall c in N : AllDifferent(s[∗, c])forall r , c in 1..9 by 3 :

AllDifferent(s[r + 0..2, c + 0..2])

Fill in the grid so that every row, every column, andevery highlighted 3× 3 box contains the digits 1 through 9.

TDB / TAPVES Uppsala University - 14 - [email protected]

Page 15: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Modelling

Example (Sudoku)6 1 4 5

8 3 5 62 18 4 7 6

6 37 9 1 45 2

7 2 6 94 5 8 7

range N = 1..9var s : array[N, N] of Nsolve

. . . // load cluesforall r in N : AllDifferent(s[r , ∗])forall c in N : AllDifferent(s[∗, c])forall r , c in 1..9 by 3 :

AllDifferent(s[r + 0..2, c + 0..2])

Fill in the grid so that every row, every column, andevery highlighted 3× 3 box contains the digits 1 through 9.

TDB / TAPVES Uppsala University - 14 - [email protected]

Page 16: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Modelling: Global Constraints

Example (AllDifferent)Consider the n-ary constraint AllDifferent , with n = 4 here:

AllDifferent([a, b, c, d ]) (1)

Declaratively, (1) is equivalent to the Θ(n2) 2-ary constraints

a 6= b, a 6= c, a 6= d , b 6= c, b 6= d , c 6= d (2)

but it provides convenient genericity in constraint models.Operationally, (1) prunes much stronger than (2). Example:

a ∈ {2, 3}, b ∈ {2, 3}, c ∈ {1, 3}, d ∈ {1, 2, 3, 4}

No pruning by (2). But perfect pruning by (1).

TDB / TAPVES Uppsala University - 15 - [email protected]

Page 17: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Modelling: Global Constraints

Example (AllDifferent)Consider the n-ary constraint AllDifferent , with n = 4 here:

AllDifferent([a, b, c, d ]) (1)

Declaratively, (1) is equivalent to the Θ(n2) 2-ary constraints

a 6= b, a 6= c, a 6= d , b 6= c, b 6= d , c 6= d (2)

but it provides convenient genericity in constraint models.Operationally, (1) prunes much stronger than (2). Example:

a ∈ {2, 3}, b ∈ {2, 3}, c ∈ {1, 6 3}, d ∈ {6 1, 6 2, 6 3, 4}

No pruning by (2). But perfect pruning by (1).

TDB / TAPVES Uppsala University - 15 - [email protected]

Page 18: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Modelling: Global Constraints

Global constraints are a much admired feature of CT:they allow the preservation of combinatorial sub-structuresof a problem, both while modelling it and while solving it.

About 300 global constraints have been implemented so far,declaratively encapsulating advanced algorithms fromcombinatorics, graph theory, flow theory, matching theory,geometry, automata theory, . . . :

Rostering under balancing, counting, and coverageconstraintsScheduling under resource constraintsGeometrical constraints between points, segments, . . .. . .

TDB / TAPVES Uppsala University - 16 - [email protected]

Page 19: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Modelling

Pride:

Constraint programming representsone of the closest approaches computer sciencehas yet made to the Holy Grail of programming:

the user states the problem, the computer solves it.— Eugene Freuder

Prejudice:

The contribution of the article should be the reductionof an engineering problem to a known optimization format.

[. . . ] showcases pseudo code [. . . ] submit thiswork to a journal interested in code semantics [. . . ].

— Reviewer of a paper of ours at a prestigious OR journal

TDB / TAPVES Uppsala University - 17 - [email protected]

Page 20: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Outline

1 What is Constraint Technology?Constraint ProblemsConstraint TechnologyConstraint ModellingConstraint Solving by Global SearchConstraint Solving by Local SearchHistory & Success Stories

2 Enabling Basic Research and ToolsAbstract Constraint ModellingSymmetryConstraint-Based Local Search

3 Technology TransferAir-Traffic ManagementComputational BiologyComputational Finance

TDB / TAPVES Uppsala University - 18 - [email protected]

Page 21: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (TSC: Sweden partial assignment)

Ali Dan Eva Jim Leo Mia UllaBirka 3 3 3 7 7 7 7

Falun 3 7 7 3 3 7 7

Lund 3 7 7 7 7 3 3

Mora 7 3 7 3 7 3 7

Sigtuna ?Uppsala 7

Ystad 7

Ali cannot be a judge of Sigtuna as that would violate thesecond constraint (every judge visits c = 3 tourist sites).Actually, Ali cannot be a judge of Mora, Uppsala, or Ystadeither, for the same reason, and this was already inferredwhen trying the decision that Ali be a judge of Lund!

TDB / TAPVES Uppsala University - 19 - [email protected]

Page 22: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (TSC: Sweden partial assignment)

Ali Dan Eva Jim Leo Mia UllaBirka 3 3 3 7 7 7 7

Falun 3 7 7 3 3 7 7

Lund 3 7 7 7 7 3 3

Mora 7 3 7 3 7 3 7

Sigtuna ?Uppsala 7

Ystad 7

Ali cannot be a judge of Sigtuna as that would violate thesecond constraint (every judge visits c = 3 tourist sites).Actually, Ali cannot be a judge of Mora, Uppsala, or Ystadeither, for the same reason, and this was already inferredwhen trying the decision that Ali be a judge of Lund!

TDB / TAPVES Uppsala University - 19 - [email protected]

Page 23: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (TSC: Sweden partial assignment)

Ali Dan Eva Jim Leo Mia UllaBirka 3 3 3 7 7 7 7

Falun 3 7 7 3 3 7 7

Lund 3 7 7 7 7 3 3

Mora 7 3 7 3 7 3 7

Sigtuna 7

Uppsala 7

Ystad 7

Ali cannot be a judge of Sigtuna as that would violate thesecond constraint (every judge visits c = 3 tourist sites).Actually, Ali cannot be a judge of Mora, Uppsala, or Ystadeither, for the same reason, and this was already inferredwhen trying the decision that Ali be a judge of Lund!

TDB / TAPVES Uppsala University - 19 - [email protected]

Page 24: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (TSC: Sweden partial assignment)

Ali Dan Eva Jim Leo Mia UllaBirka 3 3 3 7 7 7 7

Falun 3 7 7 3 3 7 7

Lund 3 7 7 7 7 3 3

Mora 7 3 7 3 7 3 7

Sigtuna 7

Uppsala 7

Ystad 7

Ali cannot be a judge of Sigtuna as that would violate thesecond constraint (every judge visits c = 3 tourist sites).Actually, Ali cannot be a judge of Mora, Uppsala, or Ystadeither, for the same reason, and this was already inferredwhen trying the decision that Ali be a judge of Lund!

TDB / TAPVES Uppsala University - 19 - [email protected]

Page 25: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (TSC: Sweden partial assignment)

Ali Dan Eva Jim Leo Mia UllaBirka 3 3 3 7 7 7 7

Falun 3 7 7 3 3 7 7

Lund 3 7 7 7 7 3 3

Mora 7 3 7 3 7 3 7

Sigtuna 7

Uppsala 7

Ystad 7

Ali cannot be a judge of Sigtuna as that would violate thesecond constraint (every judge visits c = 3 tourist sites).Actually, Ali cannot be a judge of Mora, Uppsala, or Ystadeither, for the same reason, and this was already inferredwhen trying the decision that Ali be a judge of Lund!

TDB / TAPVES Uppsala University - 19 - [email protected]

Page 26: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (TSC: Sweden partial assignment)

Ali Dan Eva Jim Leo Mia UllaBirka 3 3 3 7 7 7 7

Falun 3 7 7 3 3 7 7

Lund 3 7 7 7 7 3 3

Mora 7 3 7 3 7 3 7

Sigtuna 7 ? 7 7 3 7 3

Uppsala 7 7 3

Ystad 7 7 3

TDB / TAPVES Uppsala University - 20 - [email protected]

Page 27: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (TSC: Sweden partial assignment)

Ali Dan Eva Jim Leo Mia UllaBirka 3 3 3 7 7 7 7

Falun 3 7 7 3 3 7 7

Lund 3 7 7 7 7 3 3

Mora 7 3 7 3 7 3 7

Sigtuna 7 ? 7 7 3 7 3

Uppsala 7 7 3

Ystad 7 7 3

Decision: Dan is a judge of Sigtuna. (3 decisions first.)

TDB / TAPVES Uppsala University - 20 - [email protected]

Page 28: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (TSC: Sweden partial assignment)

Ali Dan Eva Jim Leo Mia UllaBirka 3 3 3 7 7 7 7

Falun 3 7 7 3 3 7 7

Lund 3 7 7 7 7 3 3

Mora 7 3 7 3 7 3 7

Sigtuna 7 3 7 7 3 7 3

Uppsala 7 7 3

Ystad 7 7 3

Decision: Dan is a judge of Sigtuna. (3 decisions first.)

TDB / TAPVES Uppsala University - 20 - [email protected]

Page 29: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (TSC: Sweden partial assignment)

Ali Dan Eva Jim Leo Mia UllaBirka 3 3 3 7 7 7 7

Falun 3 7 7 3 3 7 7

Lund 3 7 7 7 7 3 3

Mora 7 3 7 3 7 3 7

Sigtuna 7 3 7 7 3 7 3

Uppsala 7 7 3

Ystad 7 7 3

Inference: Dan cannot be a judge of Uppsala and Ystad asotherwise the second constraint (every judge visits c = 3tourist sites) would be violated for Dan.

TDB / TAPVES Uppsala University - 20 - [email protected]

Page 30: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (TSC: Sweden partial assignment)

Ali Dan Eva Jim Leo Mia UllaBirka 3 3 3 7 7 7 7

Falun 3 7 7 3 3 7 7

Lund 3 7 7 7 7 3 3

Mora 7 3 7 3 7 3 7

Sigtuna 7 3 7 7 3 7 3

Uppsala 7 7 3

Ystad 7 7 3

Inference: Dan cannot be a judge of Uppsala and Ystad asotherwise the second constraint (every judge visits c = 3tourist sites) would be violated for Dan.

TDB / TAPVES Uppsala University - 20 - [email protected]

Page 31: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (TSC: Sweden partial assignment)

Ali Dan Eva Jim Leo Mia UllaBirka 3 3 3 7 7 7 7

Falun 3 7 7 3 3 7 7

Lund 3 7 7 7 7 3 3

Mora 7 3 7 3 7 3 7

Sigtuna 7 3 7 7 3 7 3

Uppsala 7 7 3

Ystad 7 7 3

Inference: Eva, Jim, and Mia cannot be judges of Sigtunaas otherwise the third constraint (every pair of sites is visitedby λ = 1 common judge) would be violated.

TDB / TAPVES Uppsala University - 20 - [email protected]

Page 32: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (TSC: Sweden partial assignment)

Ali Dan Eva Jim Leo Mia UllaBirka 3 3 3 7 7 7 7

Falun 3 7 7 3 3 7 7

Lund 3 7 7 7 7 3 3

Mora 7 3 7 3 7 3 7

Sigtuna 7 3 7 7 3 7 3

Uppsala 7 7 3

Ystad 7 7 3

Inference: Eva, Jim, and Mia cannot be judges of Sigtunaas otherwise the third constraint (every pair of sites is visitedby λ = 1 common judge) would be violated.

TDB / TAPVES Uppsala University - 20 - [email protected]

Page 33: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (TSC: Sweden partial assignment)

Ali Dan Eva Jim Leo Mia UllaBirka 3 3 3 7 7 7 7

Falun 3 7 7 3 3 7 7

Lund 3 7 7 7 7 3 3

Mora 7 3 7 3 7 3 7

Sigtuna 7 3 7 7 3 7 3

Uppsala 7 7 3

Ystad 7 7 3

Inference: Leo and Ulla must now be judges of Sigtuna asotherwise the first constraint (every tourist site is visited byr = 3 judges) would be violated for Sigtuna.

TDB / TAPVES Uppsala University - 20 - [email protected]

Page 34: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (TSC: Sweden partial assignment)

Ali Dan Eva Jim Leo Mia UllaBirka 3 3 3 7 7 7 7

Falun 3 7 7 3 3 7 7

Lund 3 7 7 7 7 3 3

Mora 7 3 7 3 7 3 7

Sigtuna 7 3 7 7 3 7 3

Uppsala 7 7 3

Ystad 7 7 3

Inference: Leo and Ulla must now be judges of Sigtuna asotherwise the first constraint (every tourist site is visited byr = 3 judges) would be violated for Sigtuna.

TDB / TAPVES Uppsala University - 20 - [email protected]

Page 35: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (TSC: Sweden partial assignment)

Ali Dan Eva Jim Leo Mia UllaBirka 3 3 3 7 7 7 7

Falun 3 7 7 3 3 7 7

Lund 3 7 7 7 7 3 3

Mora 7 3 7 3 7 3 7

Sigtuna 7 3 7 7 3 7 3

Uppsala 7 7 3

Ystad 7 7 3

Inference: Eva must now be a judge of Uppsala and Ystadas otherwise the second constraint (every judge visits c = 3tourist sites) would be violated for Eva.

TDB / TAPVES Uppsala University - 20 - [email protected]

Page 36: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (TSC: Sweden partial assignment)

Ali Dan Eva Jim Leo Mia UllaBirka 3 3 3 7 7 7 7

Falun 3 7 7 3 3 7 7

Lund 3 7 7 7 7 3 3

Mora 7 3 7 3 7 3 7

Sigtuna 7 3 7 7 3 7 3

Uppsala 7 7 3

Ystad 7 7 3

Inference: Eva must now be a judge of Uppsala and Ystadas otherwise the second constraint (every judge visits c = 3tourist sites) would be violated for Eva.

TDB / TAPVES Uppsala University - 20 - [email protected]

Page 37: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (TSC: Sweden partial assignment)

Ali Dan Eva Jim Leo Mia UllaBirka 3 3 3 7 7 7 7

Falun 3 7 7 3 3 7 7

Lund 3 7 7 7 7 3 3

Mora 7 3 7 3 7 3 7

Sigtuna 7 3 7 7 3 7 3

Uppsala 7 7 3

Ystad 7 7 3

Fixpoint reached: No more propagation possible.

TDB / TAPVES Uppsala University - 20 - [email protected]

Page 38: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (TSC: Sweden partial assignment)

Ali Dan Eva Jim Leo Mia UllaBirka 3 3 3 7 7 7 7

Falun 3 7 7 3 3 7 7

Lund 3 7 7 7 7 3 3

Mora 7 3 7 3 7 3 7

Sigtuna 7 3 7 7 3 7 3

Uppsala 7 7 3

Ystad 7 7 3

Decision: Jim is a judge of Uppsala. (3 decisions first.)Inference: etc.

TDB / TAPVES Uppsala University - 20 - [email protected]

Page 39: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Domain Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24a + b = 9

Waking a + b = 9: pruning unwitnessed values of b:

a

0

1 2 3 4 5 6 7 8 9b 0 1 2 3 4 5 6 7 8

9

TDB / TAPVES Uppsala University - 21 - [email protected]

Page 40: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Domain Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24a + b = 9

Posting 2 · a + 4 · b = 24: pruning unwitnessed values of a:

a

0

1 2 3 4 5 6 7 8 9b 0 1 2 3 4 5 6 7 8

9

TDB / TAPVES Uppsala University - 21 - [email protected]

Page 41: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Domain Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24a + b = 9

Posting 2 · a + 4 · b = 24: pruning unwitnessed values of a:

a

0

1 2 3 4 5 6 7 8 9b 0 1 2 3 4 5 6 7 8

9

TDB / TAPVES Uppsala University - 21 - [email protected]

Page 42: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Domain Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24a + b = 9

Posting 2 · a + 4 · b = 24: pruning unwitnessed values of b:

a

0 1

2

3

4

5

6

7

8

9

b 0 1 2 3 4 5 6 7 8

9

TDB / TAPVES Uppsala University - 21 - [email protected]

Page 43: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Domain Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24a + b = 9

Posting 2 · a + 4 · b = 24: pruning unwitnessed values of b:

a

0 1

2

3

4

5

6

7

8

9

b 0 1 2 3 4 5 6 7 8

9

TDB / TAPVES Uppsala University - 21 - [email protected]

Page 44: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Domain Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24a + b = 9

Waking a + b = 9: pruning unwitnessed values of b:

a

0 1

2

3

4

5

6

7

8

9

b

0 1

2 3 4 5

6 7 8 9

Suspending 2 · a + 4 · b = 24, as it is not definitely true.

TDB / TAPVES Uppsala University - 21 - [email protected]

Page 45: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Domain Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24a + b = 9

Posting a + b = 9: pruning unwitnessed values of a:

a

0 1

2

3

4

5

6

7

8

9

b

0 1

2 3 4 5

6 7 8 9

TDB / TAPVES Uppsala University - 21 - [email protected]

Page 46: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Domain Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24a + b = 9

Posting a + b = 9: pruning unwitnessed values of a:

a

0 1

2

3

4

5

6

7

8

9

b

0 1

2 3 4 5

6 7 8 9

TDB / TAPVES Uppsala University - 21 - [email protected]

Page 47: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Domain Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24a + b = 9

Posting a + b = 9: pruning unwitnessed values of b:

a

0 1 2 3

4

5

6

7 8 9

b

0 1

2 3 4 5

6 7 8 9

TDB / TAPVES Uppsala University - 21 - [email protected]

Page 48: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Domain Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24a + b = 9

Posting a + b = 9: pruning unwitnessed values of b:

a

0 1 2 3

4

5

6

7 8 9

b

0 1

2 3 4 5

6 7 8 9

TDB / TAPVES Uppsala University - 21 - [email protected]

Page 49: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Domain Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24a + b = 9

Waking a + b = 9: pruning unwitnessed values of b:

a

0 1 2 3

4

5

6

7 8 9

b

0 1 2

3

4

5

6 7 8 9

Suspending a + b = 9, as it is not definitely true.

TDB / TAPVES Uppsala University - 21 - [email protected]

Page 50: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Domain Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24a + b = 9

Waking 2 · a + 4 · b = 24: pruning unwitnessed values of a:

a

0 1 2 3

4

5

6

7 8 9

b

0 1 2

3

4

5

6 7 8 9

TDB / TAPVES Uppsala University - 21 - [email protected]

Page 51: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Domain Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24a + b = 9

Waking 2 · a + 4 · b = 24: pruning unwitnessed values of a:

a

0 1 2 3

4

5

6

7 8 9

b

0 1 2

3

4

5

6 7 8 9

TDB / TAPVES Uppsala University - 21 - [email protected]

Page 52: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Domain Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24a + b = 9

Waking 2 · a + 4 · b = 24: pruning unwitnessed values of b:

a

0 1 2 3 4 5

6

7 8 9

b

0 1 2

3

4

5

6 7 8 9

TDB / TAPVES Uppsala University - 21 - [email protected]

Page 53: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Domain Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24a + b = 9

Waking 2 · a + 4 · b = 24: pruning unwitnessed values of b:

a

0 1 2 3 4 5

6

7 8 9

b

0 1 2

3

4

5

6 7 8 9

TDB / TAPVES Uppsala University - 21 - [email protected]

Page 54: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Domain Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24a + b = 9

Waking a + b = 9: pruning unwitnessed values of b:

a

0 1 2 3 4 5

6

7 8 9

b

0 1 2

3

4 5 6 7 8 9

Deactivating 2 · a + 4 · b = 24, as it is definitely true.

TDB / TAPVES Uppsala University - 21 - [email protected]

Page 55: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Domain Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24a + b = 9

Waking a + b = 9: pruning unwitnessed values of a:

a

0 1 2 3 4 5

6

7 8 9

b

0 1 2

3

4 5 6 7 8 9

TDB / TAPVES Uppsala University - 21 - [email protected]

Page 56: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Domain Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24a + b = 9

Waking a + b = 9: pruning unwitnessed values of a:

a

0 1 2 3 4 5

6

7 8 9

b

0 1 2

3

4 5 6 7 8 9

TDB / TAPVES Uppsala University - 21 - [email protected]

Page 57: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Domain Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24a + b = 9

Waking a + b = 9: pruning unwitnessed values of b:

a

0 1 2 3 4 5

6

7 8 9

b

0 1 2

3

4 5 6 7 8 9

TDB / TAPVES Uppsala University - 21 - [email protected]

Page 58: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Domain Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24a + b = 9

Waking a + b = 9: pruning unwitnessed values of b:

a

0 1 2 3 4 5

6

7 8 9

b

0 1 2

3

4 5 6 7 8 9

TDB / TAPVES Uppsala University - 21 - [email protected]

Page 59: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Domain Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24a + b = 9

Waking a + b = 9: pruning unwitnessed values of b:

a

0 1 2 3 4 5

6

7 8 9

b

0 1 2

3

4 5 6 7 8 9

Deactivating a + b = 9, as it is definitely true.

TDB / TAPVES Uppsala University - 21 - [email protected]

Page 60: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Domain Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24a + b = 9

Waking a + b = 9: pruning unwitnessed values of b:

a

0 1 2 3 4 5

6

7 8 9

b

0 1 2

3

4 5 6 7 8 9

No suspended constraints: All solutions found. No search!

TDB / TAPVES Uppsala University - 21 - [email protected]

Page 61: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Domain Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24a + b = 9

Waking a + b = 9: pruning unwitnessed values of b:

a

0 1 2 3 4 5

6

7 8 9

b

0 1 2

3

4 5 6 7 8 9

This general propagation method works for all systems ofconstraints (linear or not, equalities or inequalities, etc),no matter how many constraints and decision variables.

TDB / TAPVES Uppsala University - 21 - [email protected]

Page 62: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Bounds Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24

Posting 2 · a + 4 · b = 24: pruning unwitnessed values of b:

a

0

1 2 3 4 5 6 7 8 9b 0 1 2 3 4 5 6 7 8

9

Suspending 2 · a + 4 · b = 24, as it is not definitely true.Suspended constraints: No solutions found yet. Search!

TDB / TAPVES Uppsala University - 22 - [email protected]

Page 63: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Bounds Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24

Posting 2 · a + 4 · b = 24: pruning unwitnessed values of a:

a

0

1 2 3 4 5 6 7 8 9b 0 1 2 3 4 5 6 7 8

9

Suspending 2 · a + 4 · b = 24, as it is not definitely true.Suspended constraints: No solutions found yet. Search!

TDB / TAPVES Uppsala University - 22 - [email protected]

Page 64: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Bounds Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24

Posting 2 · a + 4 · b = 24: pruning unwitnessed values of a:

a

0

1 2 3 4 5 6 7 8 9b 0 1 2 3 4 5 6 7 8

9

Suspending 2 · a + 4 · b = 24, as it is not definitely true.Suspended constraints: No solutions found yet. Search!

TDB / TAPVES Uppsala University - 22 - [email protected]

Page 65: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Bounds Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24

Posting 2 · a + 4 · b = 24: pruning unwitnessed values of b:

a

0 1

2 3 4 5 6 7 8

9

b 0 1 2 3 4 5 6 7 8

9

Suspending 2 · a + 4 · b = 24, as it is not definitely true.Suspended constraints: No solutions found yet. Search!

TDB / TAPVES Uppsala University - 22 - [email protected]

Page 66: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Bounds Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24

Posting 2 · a + 4 · b = 24: pruning unwitnessed values of b:

a

0 1

2 3 4 5 6 7 8

9

b 0 1 2 3 4 5 6 7 8

9

Suspending 2 · a + 4 · b = 24, as it is not definitely true.Suspended constraints: No solutions found yet. Search!

TDB / TAPVES Uppsala University - 22 - [email protected]

Page 67: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Bounds Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24

Posting 2 · a + 4 · b = 24: pruning unwitnessed values of b:

a

0 1

2 3 4 5 6 7 8

9

b

0 1

2 3 4 5

6 7 8 9

Suspending 2 · a + 4 · b = 24, as it is not definitely true.Suspended constraints: No solutions found yet. Search!

TDB / TAPVES Uppsala University - 22 - [email protected]

Page 68: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Example (Local Propagation to Bounds Consistency)Find a ∈ {1, 2, . . . , 9} and b ∈ {0, 1, . . . , 8} such that

2 · a + 4 · b = 24

Posting 2 · a + 4 · b = 24: pruning unwitnessed values of b:

a

0 1

2 3 4 5 6 7 8

9

b

0 1

2 3 4 5

6 7 8 9

Suspending 2 · a + 4 · b = 24, as it is not definitely true.Suspended constraints: No solutions found yet. Search!

TDB / TAPVES Uppsala University - 22 - [email protected]

Page 69: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Local Propagation and Local ConsistencyUse of polynomial-time propagators.Use of incomplete propagators, when necessary/sufficient.

Example (AllDifferent(x1, . . . , xn))Bounds consistency in O(n log n) time, but often O(n) time.Domain consistency in O(n2.5) time.Compare with the Θ(n2) constraints ∀1 ≤ i < j ≤ n : xi 6= xj .

Example (Arithmetic constraints over n variables)Bounds consistency in O(n) time.Domain consistency in O(2n) time.

TDB / TAPVES Uppsala University - 23 - [email protected]

Page 70: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Global Search

Global Search Algorithm1: post all given constraints (including propagation)2: while there is at least one suspended constraint do3: pick a variable x with |dom(x)| ≥ 24: pick some values di ∈ dom(x)5: branch on mutually exclusive constraints,

say x = d and x 6= d , or x > d and x ≤ d6: end while

HeuristicsLine 3: variable ordering heuristic: smallest domain, . . .Line 4: value ordering heuristic: highest, middle, . . .Tree exploration: depth-first search, . . .with backtracking when a constraint is definitely false

TDB / TAPVES Uppsala University - 24 - [email protected]

Page 71: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Outline

1 What is Constraint Technology?Constraint ProblemsConstraint TechnologyConstraint ModellingConstraint Solving by Global SearchConstraint Solving by Local SearchHistory & Success Stories

2 Enabling Basic Research and ToolsAbstract Constraint ModellingSymmetryConstraint-Based Local Search

3 Technology TransferAir-Traffic ManagementComputational BiologyComputational Finance

TDB / TAPVES Uppsala University - 25 - [email protected]

Page 72: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Local Search

Example (TSC: Sweden configuration after i moves)

Ali Dan Eva Jim Leo Mia UllaBirka 3 3 3

Falun 3 3 3

Lund 3 3 3

Mora 3 3 3 →Sigtuna 3 3 3

Uppsala 3 3 3

Ystad 3 3 3

1 Every tourist site is visited by r = 3 judges. (Invariant)2 Every judge visits c = 3 tourist sites.3 Ex: Mora and Sigtuna have 2 > λ = 1 common judges:

let Mia visit Mora instead of Leo.TDB / TAPVES Uppsala University - 26 - [email protected]

Page 73: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Local Search

Example (TSC: Sweden configuration after i+1 moves)

Ali Dan Eva Jim Leo Mia UllaBirka 3 3 3

Falun 3 3 ← 3

Lund 3 3 3

Mora 3 3 3

Sigtuna 3 3 3

Uppsala 3 3 3

Ystad 3 3 3

1 Every tourist site is visited by r = 3 judges. (Invariant)2 Leo visits 2 < c = 3 sites; Mia visits 4 > c = 3 sites.3 Ex: Falun and Lund have 2 > λ = 1 common judges:

let Leo visit Falun instead of Mia.TDB / TAPVES Uppsala University - 27 - [email protected]

Page 74: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Local Search

Example (TSC: Sweden configuration after i+2 moves)

Ali Dan Eva Jim Leo Mia UllaBirka 3 3 3

Falun 3 3 3

Lund 3 3 3

Mora 3 3 3

Sigtuna 3 3 3

Uppsala 3 3 3

Ystad 3 3 3

1 Every tourist site is visited by r = 3 judges. (Invariant)2 Every judge visits c = 3 tourist sites.3 Every pair of sites is visited by λ = 1 common judge.

TDB / TAPVES Uppsala University - 28 - [email protected]

Page 75: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Constraint Solving by Local Search

Local Search Algorithm1: let k and k∗ be the same computed initial configuration2: for i := 1 to MaxIterations do3: let k be a picked neighbour configuration of k4: if k is a solution and is better than k∗ then k∗ := k5: end for6: return k∗

Heuristics: What Neighbour To Move To?Line 3: assign, flip, swap, add, drop, transfer, . . .Line 3: best / first / random improvement, . . .

Meta-Heuristics: How To Escape Local Optima?Lines 2 – 5: simulated annealing, tabu search, . . .

TDB / TAPVES Uppsala University - 29 - [email protected]

Page 76: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

Outline

1 What is Constraint Technology?Constraint ProblemsConstraint TechnologyConstraint ModellingConstraint Solving by Global SearchConstraint Solving by Local SearchHistory & Success Stories

2 Enabling Basic Research and ToolsAbstract Constraint ModellingSymmetryConstraint-Based Local Search

3 Technology TransferAir-Traffic ManagementComputational BiologyComputational Finance

TDB / TAPVES Uppsala University - 30 - [email protected]

Page 77: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

History of CT

Stand-alone languages:ALICE by Jean-Louis Laurière, France, 1976CHIP at ECRC, Germany, 1987 – 1990,then marketed by Cosytec, France, 1990 – 1992OPL, by P. Van Hentenryck, USA, and ILOG, France:front-end to both ILOG CP Optimizer and ILOG CPLEXComet, by P. Van Hentenryck and L. Michel, USA

Libraries (the first few ones listed are open-source!):Prolog: . . . , ECLiPSe, GNU Prolog, SICStus Prolog, . . .C++: Gecode, ILOG CP Optimizer (ex Solver), . . .Java: Choco, Gecode/J, Koalog, . . .

The Association for Computing Machinery (ACM) identifiedCT as a strategic direction in computing research.

TDB / TAPVES Uppsala University - 31 - [email protected]

Page 78: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

CT Success Stories I

CT is deployed in many products from industry leaders:

Planning of satellite missions

Vehicle production optimisation

Routing

Cabling

Supply chain managementCrew rostering

Production scheduling

TDB / TAPVES Uppsala University - 32 - [email protected]

Page 79: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

CT Success Stories II

Scheduling

Logistics softwareControl software validation, circuit verification

Resource allocation

Manufacturing

Copier component specification...CT has become the technology of choice inshort-term scheduling, timetabling, and rostering.

TDB / TAPVES Uppsala University - 33 - [email protected]

Page 80: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?Constraint Problems

ConstraintTechnology

Constraint Modelling

Constraint Solving byGlobal Search

Constraint Solving byLocal Search

History & SuccessStories

EnablingBasicResearchand Tools

TechnologyTransfer

CT Vision

Constraint programming is the ideal paradigmfor encoding correct programs that must run efficiently

on multi-processor hardware.— Mark Wallace

TDB / TAPVES Uppsala University - 34 - [email protected]

Page 81: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?

EnablingBasicResearchand ToolsAbstract ConstraintModelling

Symmetry

Constraint-BasedLocal Search

TechnologyTransfer

Outline

1 What is Constraint Technology?Constraint ProblemsConstraint TechnologyConstraint ModellingConstraint Solving by Global SearchConstraint Solving by Local SearchHistory & Success Stories

2 Enabling Basic Research and ToolsAbstract Constraint ModellingSymmetryConstraint-Based Local Search

3 Technology TransferAir-Traffic ManagementComputational BiologyComputational Finance

TDB / TAPVES Uppsala University - 35 - [email protected]

Page 82: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?

EnablingBasicResearchand ToolsAbstract ConstraintModelling

Symmetry

Constraint-BasedLocal Search

TechnologyTransfer

Outline

1 What is Constraint Technology?Constraint ProblemsConstraint TechnologyConstraint ModellingConstraint Solving by Global SearchConstraint Solving by Local SearchHistory & Success Stories

2 Enabling Basic Research and ToolsAbstract Constraint ModellingSymmetryConstraint-Based Local Search

3 Technology TransferAir-Traffic ManagementComputational BiologyComputational Finance

TDB / TAPVES Uppsala University - 36 - [email protected]

Page 83: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?

EnablingBasicResearchand ToolsAbstract ConstraintModelling

Symmetry

Constraint-BasedLocal Search

TechnologyTransfer

Abstract Constraint Modelling

Research ObjectivesVision: Abstract and solver-independent constraintmodelling will lead to simpler and leaner languages, tomore intuitive and analysable models, as well as tomore effective model formulation and maintenance.Specific Objectives: Development of intelligentanalysis and compilation tools, so as to (help amodeller to) translate a high-level model into alower-level program not unlike what an expert wouldhave written.Benefit: Empowerment of a wider range of users tounleash the proven benefits of constraint solvers on abroader range of real-life constraint problems.

TDB / TAPVES Uppsala University - 37 - [email protected]

Page 84: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?

EnablingBasicResearchand ToolsAbstract ConstraintModelling

Symmetry

Constraint-BasedLocal Search

TechnologyTransfer

Outline

1 What is Constraint Technology?Constraint ProblemsConstraint TechnologyConstraint ModellingConstraint Solving by Global SearchConstraint Solving by Local SearchHistory & Success Stories

2 Enabling Basic Research and ToolsAbstract Constraint ModellingSymmetryConstraint-Based Local Search

3 Technology TransferAir-Traffic ManagementComputational BiologyComputational Finance

TDB / TAPVES Uppsala University - 38 - [email protected]

Page 85: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?

EnablingBasicResearchand ToolsAbstract ConstraintModelling

Symmetry

Constraint-BasedLocal Search

TechnologyTransfer

Symmetry

Example (Symmetry in the TSC problem)Ali Dan Eva Jim Leo Mia Ulla

Birka 3 3 3

Falun 3 3 3

Lund 3 3 3

Mora 3 3 3

Sigtuna 3 3 3

Uppsala 3 3 3

Ystad 3 3 3

The tourist sites (row indices) are indistinguishable.. . .

TDB / TAPVES Uppsala University - 39 - [email protected]

Page 86: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?

EnablingBasicResearchand ToolsAbstract ConstraintModelling

Symmetry

Constraint-BasedLocal Search

TechnologyTransfer

Symmetry

Example (Symmetry in the TSC problem)Ali Dan Eva Jim Leo Mia Ulla

Birka 3 3 3

Falun 3 3 3

Lund 3 3 3

Mora 3 3 3

Sigtuna 3 3 3

Uppsala 3 3 3

Ystad 3 3 3

The tourist sites (row indices) are indistinguishable.. . .

TDB / TAPVES Uppsala University - 40 - [email protected]

Page 87: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?

EnablingBasicResearchand ToolsAbstract ConstraintModelling

Symmetry

Constraint-BasedLocal Search

TechnologyTransfer

Symmetry

Example (Symmetry in the TSC problem)Ali Dan Eva Jim Leo Mia Ulla

Birka 3 3 3

Falun 3 3 3

Lund 3 3 3

Mora 3 3 3

Sigtuna 3 3 3

Uppsala 3 3 3

Ystad 3 3 3

. . .The judges (column indices) are indistinguishable.

TDB / TAPVES Uppsala University - 41 - [email protected]

Page 88: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?

EnablingBasicResearchand ToolsAbstract ConstraintModelling

Symmetry

Constraint-BasedLocal Search

TechnologyTransfer

Symmetry

Example (Symmetry in the TSC problem)Ali Dan Eva Jim Leo Mia Ulla

Birka 3 3 3

Falun 3 3 3

Lund 3 3 3

Mora 3 3 3

Sigtuna 3 3 3

Uppsala 3 3 3

Ystad 3 3 3

. . .The judges (column indices) are indistinguishable.

TDB / TAPVES Uppsala University - 42 - [email protected]

Page 89: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?

EnablingBasicResearchand ToolsAbstract ConstraintModelling

Symmetry

Constraint-BasedLocal Search

TechnologyTransfer

Symmetry

Problems with Unhandled SymmetryFor every solution, there are at most as manysymmetric solutions as symmetries.Worse: For every non-solution, there are at most asmany symmetric non-solutions as symmetries.Similarly for partial solutions and partial non-solutions.

Hence: A problem solver may waste a lot of time exploringsymmetric parts of the search space, when looking for asolution, or all solutions, or optimal solutions.

TDB / TAPVES Uppsala University - 43 - [email protected]

Page 90: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?

EnablingBasicResearchand ToolsAbstract ConstraintModelling

Symmetry

Constraint-BasedLocal Search

TechnologyTransfer

Symmetry

Symmetry HandlingWe have shown that the |Sites|! · |Judges|! combinations ofrow and column symmetries (that is 25,401,600 symmetriesfor the Sweden instance) of the TSC problem can be:

Detected automatically, in polynomial time,from an abstract model (in our ESRA language, say).Broken automatically and partially, in polynomial timeand space, by requiring the rows and columns to belexicographically ordered (another global constraint).

This sufficiently reduces the search space to solve probleminstances that are one order of magnitude larger.

TDB / TAPVES Uppsala University - 44 - [email protected]

Page 91: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?

EnablingBasicResearchand ToolsAbstract ConstraintModelling

Symmetry

Constraint-BasedLocal Search

TechnologyTransfer

Symmetry

Research ObjectivesVision: Real-life problem instances of unconsideredhardness can be solved via better symmetry handling.Specific Objectives: Automatable, effective, efficienttechniques for symmetry detection and breaking.Benefit: Burden of symmetry handling shifted from theproblem modeller to the developer of problem solvers.

TDB / TAPVES Uppsala University - 45 - [email protected]

Page 92: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?

EnablingBasicResearchand ToolsAbstract ConstraintModelling

Symmetry

Constraint-BasedLocal Search

TechnologyTransfer

Outline

1 What is Constraint Technology?Constraint ProblemsConstraint TechnologyConstraint ModellingConstraint Solving by Global SearchConstraint Solving by Local SearchHistory & Success Stories

2 Enabling Basic Research and ToolsAbstract Constraint ModellingSymmetryConstraint-Based Local Search

3 Technology TransferAir-Traffic ManagementComputational BiologyComputational Finance

TDB / TAPVES Uppsala University - 46 - [email protected]

Page 93: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?

EnablingBasicResearchand ToolsAbstract ConstraintModelling

Symmetry

Constraint-BasedLocal Search

TechnologyTransfer

Constraint-Based Local Search

Research ObjectivesVision: The design and maintenance of efficient localsearch algorithms can be simplified even more, with theuser having to resort to even less low-level handcoding.Specific Objectives: Improve the modelling versatility,language extensibility, and solving efficiency ofconstraint-based local search.Benefit: Increased likelihood of experiments with localsearch. Hence: Increased chances of environmental,time, financial, or material savings.

TDB / TAPVES Uppsala University - 47 - [email protected]

Page 94: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?

EnablingBasicResearchand Tools

TechnologyTransferAir-TrafficManagement

ComputationalBiology

ComputationalFinance

Outline

1 What is Constraint Technology?Constraint ProblemsConstraint TechnologyConstraint ModellingConstraint Solving by Global SearchConstraint Solving by Local SearchHistory & Success Stories

2 Enabling Basic Research and ToolsAbstract Constraint ModellingSymmetryConstraint-Based Local Search

3 Technology TransferAir-Traffic ManagementComputational BiologyComputational Finance

TDB / TAPVES Uppsala University - 48 - [email protected]

Page 95: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?

EnablingBasicResearchand Tools

TechnologyTransferAir-TrafficManagement

ComputationalBiology

ComputationalFinance

Outline

1 What is Constraint Technology?Constraint ProblemsConstraint TechnologyConstraint ModellingConstraint Solving by Global SearchConstraint Solving by Local SearchHistory & Success Stories

2 Enabling Basic Research and ToolsAbstract Constraint ModellingSymmetryConstraint-Based Local Search

3 Technology TransferAir-Traffic ManagementComputational BiologyComputational Finance

TDB / TAPVES Uppsala University - 49 - [email protected]

Page 96: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?

EnablingBasicResearchand Tools

TechnologyTransferAir-TrafficManagement

ComputationalBiology

ComputationalFinance

Air-Traffic Management

Example (Demonstration project to EuroControl, theEuropean Organisation for the Safety of Air Navigation)

Flight Profiles

Resolution Rules

Resolved Flight Profiles

Complexity Solver

m, m’, ff%, timeOut

Complexity Predictor

high

low

9020 m’

complexity

nowt

m

TDB / TAPVES Uppsala University - 50 - [email protected]

Page 97: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?

EnablingBasicResearchand Tools

TechnologyTransferAir-TrafficManagement

ComputationalBiology

ComputationalFinance

Air-Traffic Management

Example (Planned temporal profile)

x, y of chosen airspace

p5

m+2Lm+Lm

z

p6

p4p3

p1

t

now

FL 340

FL 245

p2

TDB / TAPVES Uppsala University - 51 - [email protected]

Page 98: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?

EnablingBasicResearchand Tools

TechnologyTransferAir-TrafficManagement

ComputationalBiology

ComputationalFinance

Air-Traffic Management

Example ( Resolved temporal profile)

p5

p4p3

p1p2

p6

x, y of chosen airspace

m+2Lm+Lm

z

t

now

FL 340

FL 245

TDB / TAPVES Uppsala University - 52 - [email protected]

Page 99: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?

EnablingBasicResearchand Tools

TechnologyTransferAir-TrafficManagement

ComputationalBiology

ComputationalFinance

Air-Traffic Management

Example (Planned vertical profile)

x, y of chosen airspace

p5

m+2Lm+Lm

z

p6

p4p3

p1

t

now

FL 340

FL 245

p2

TDB / TAPVES Uppsala University - 53 - [email protected]

Page 100: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?

EnablingBasicResearchand Tools

TechnologyTransferAir-TrafficManagement

ComputationalBiology

ComputationalFinance

Air-Traffic Management

Example (Planned and resolved vertical profiles)

p2

FL 245

FL 340

now

t

p1

p3 p4

p6

z

x, y of chosen airspace

m m+L m+2L

p5

TDB / TAPVES Uppsala University - 54 - [email protected]

Page 101: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?

EnablingBasicResearchand Tools

TechnologyTransferAir-TrafficManagement

ComputationalBiology

ComputationalFinance

Outline

1 What is Constraint Technology?Constraint ProblemsConstraint TechnologyConstraint ModellingConstraint Solving by Global SearchConstraint Solving by Local SearchHistory & Success Stories

2 Enabling Basic Research and ToolsAbstract Constraint ModellingSymmetryConstraint-Based Local Search

3 Technology TransferAir-Traffic ManagementComputational BiologyComputational Finance

TDB / TAPVES Uppsala University - 55 - [email protected]

Page 102: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?

EnablingBasicResearchand Tools

TechnologyTransferAir-TrafficManagement

ComputationalBiology

ComputationalFinance

Computational Biology

Cross-FertilisationBiology can benefit from constraint technology.Constraint technology can benefit from biology:Indeed, the current CT research on

Symmetry handlingGraph decision variablesOur tree partitioning constraint (see below). . .

was actually motivated by biological problems,but has also found applications in routing, linguistics, etc.

TDB / TAPVES Uppsala University - 56 - [email protected]

Page 103: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?

EnablingBasicResearchand Tools

TechnologyTransferAir-TrafficManagement

ComputationalBiology

ComputationalFinance

Computational Biology

Existing CollaborationWith:

École des Mines de Nantes, FranceUniversity of East Anglia, Norwich, UKSabancı University, Istanbul, Turkey

On:Phylogenetic supertree constructionRNA secondary structure predictionHaplotype inferenceMotif discovery in promoter sequences of DNA

TDB / TAPVES Uppsala University - 57 - [email protected]

Page 104: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?

EnablingBasicResearchand Tools

TechnologyTransferAir-TrafficManagement

ComputationalBiology

ComputationalFinance

Computational Biology: Phylogenetic Trees

Objective: Construct a supertree that is (maximally)consistent with several given species trees.

TDB / TAPVES Uppsala University - 58 - [email protected]

Page 105: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?

EnablingBasicResearchand Tools

TechnologyTransferAir-TrafficManagement

ComputationalBiology

ComputationalFinance

Outline

1 What is Constraint Technology?Constraint ProblemsConstraint TechnologyConstraint ModellingConstraint Solving by Global SearchConstraint Solving by Local SearchHistory & Success Stories

2 Enabling Basic Research and ToolsAbstract Constraint ModellingSymmetryConstraint-Based Local Search

3 Technology TransferAir-Traffic ManagementComputational BiologyComputational Finance

TDB / TAPVES Uppsala University - 59 - [email protected]

Page 106: Constraint Technology - A Programming Paradigm on the Rise

What isConstraintTechnology?

EnablingBasicResearchand Tools

TechnologyTransferAir-TrafficManagement

ComputationalBiology

ComputationalFinance

Computational Finance

Example (Financial investment instrument design withMerrill Lynch, New York, USA)

Acer Apple Dell HP IBM Siemens SonyB 1 3 3 3

B 2 3 3 3

B 3 3 3 3

B 4 3 3 3

B 5 3 3 3

B 6 3 3 3

B 7 3 3 3

1 Every basket contains r = 3 credits.2 (Every credit is in any amount of baskets.)3 Minimise maximum overlap λ between any two baskets.

TDB / TAPVES Uppsala University - 60 - [email protected]