LECTURE 6 CONSTRAINT PROGRAMMING & GLOBAL CONSTRAINTS

Size: px
Start display at page:

Download "LECTURE 6 CONSTRAINT PROGRAMMING & GLOBAL CONSTRAINTS"

Transcription

1 LECURE 6 CONSRAIN PROGRAMMING & GLOBAL CONSRAINS

2 AI (C.S.P.) AI languages (Alice, Constraints) Logic Programming Historical Account of Constraint Programming Constraint (Logic) Programming AI (CSP) Operations Research Efficient Constraint Solvers Operation research heorem Proving Etended Unification (, AC, ) Concurrent Logic Languages (Parlog, CP, GHC/KL, ) Industrial applications Concurrent Constraint Languages

3 Constraint Programming In the 990 s, Constraint Solving echniques has been integrated in several programming paradigms after LP : OO (C++, Java), functional (Lisp,ML) Also in the 000 s several specific modeling languages appeared: OPL, Comet, MiniZinc,... Need for data + programming abstractions herefore CP is the combination of: Host language (to state the constraints) Constraint Vocabulary (arithmetic, symbolic, global, ) Constraint Solver(s)

4 Modeling / Programming / Solving Modeling corresponds to state the problem with a certain number of constraints Programming consists in generating these constraints in a efficient and/or elegant way Solving amounts to find & generate a solution to the original problem Of course modeling, programming and solving are related A Constraint Programming system feature all

5 Modeling Modeling problems with constraints depends on the constraint vocabulary available e.g. only arithmetic constraints? or also symbolic constraints such as all_different, etc? Depends on the vocabulary, depends on the solver Also : Different views of the problem lead to different models Different model can use different set of variables It is important to compare different models And sometime to combine different models

6 Eample: the element constraint Synta: element(i,l,x) meaning that element I of list L to be equal to X Similar to arrays : L[i] = X Note that the constraint is a multi-directional relation hus the values of I and/or X can be constrained

7 An eample Simple assignment problem: four workers w,w,w,w and four products p,p,p,p. Assign workers to products to make profit >= 9 Profit matri: p p p p w 7 w 8 5 w 7 w 6

8 Basic Operations Research Model (linear equations) 6 Boolean variables Bij meaning worker i is assigned product j i [,]: i [,]: 7B B 8B P B P 9 j j B B B B B B ij ij B 5B 7B 6B B B B B p p p p w 7 w 8 5 w 7 w 6 prim. constraints B 8 choices to find all four solutions

9 Better Model (symbolic constraints) Make use of disequalities and symbolic constraints Four variables,,, corresponding to workers alldifferent([,,, ]) element (,[7,,,], P) element (,[8,,5,], P) element (,[,,7,], P) element (,[,,6,], P) P P P P P P 9 p p p p w 7 w 8 5 w 7 w 6 7 prim. constraints choices to find all four solutions

10 Different Model (also with symbolic constraints) Four variables,,, corresponding to products alldifferent([,,, ]) element(,[7,8,,], P) element(,[,,,], P) element(,[,5,7,6], P) element(,[,,,], P) P P P PP P 9 p p p p w 7 w 8 5 w 7 w 6 7 prim. constraints 7 choices to find all four solutions

11 Comparing Models B B B B Relative efficiency comes from more direct mapping to primary constraints fewer variables usually requires empirical evaluation Other criteria fleibility (new constraints) e.g. worker works on product > worker 0, B 0 B B B B B B?????

12 Combining Models Combine models by relating the variables and there values in each model e.g.. B = means = means = Combined models can gain more information through propagation Can use reified constraints: (V=D) (V=D)

13 Combined Model ),[,,,], ( ),[,5,7,6], ( ),[,,,], ( ),[7,8,,], ( ]),,, ([ P P P P P P element P element P element P element alldifferent 9 ),[,,6,], ( ),[,,7,], ( ),[8,,5,], ( ),[7,,,], ( ]),,, ([ P P P P P P P element P element P element P element alldifferent ) ), ( ), ( ), ( ( ), ), ( ), ( ), ( ( ), ), ( ), ( ), ( ( ), ), ( ), ( ), ( ( 9 prim. constraints. 5 choices to find all solutions

14 Programming CSP Models can be huge and hard to write E.g. huge data from which to generate the constraints Need for: loops, recursion, etc data abstraction I/O (e.g. data from file) Sub-problems / sub-programs hus including CSP facilities into a programming language

15 Constraint Programming Systems GNU Prolog: CLP language (see also Sictus Prolog, B-Prolog, ) Comet (Dynadec): CP modeling language + solver, also includes Local Search Gecode : CP library for C++ IBM ILOG CP CPLEX Optimizer: both OPL modeling language and also a CP library for C++, also include MIP (CPLEX) & some Local Search library

16 God save the Queens Place 8 queens on a chessboard s.t. no two queens attack each other Modeling with constraints : 8 variables {Q,...,Q8} value of Qi = column of queen on line i Domains : {,...,8} constraints : i [,8] j [,8] s.t. j > i Qi Qj Qi Qj + i -j Qi Qj - i + j alternatively : all_different({q,...,q 8 }), all_different({q +,...,Q 8 +8}), all_different({q -,...,Q -8}),

17 GNU Prolog queens(n,l):- fd_set_vector_ma(n), length(l,n), fd_domain(l,,n), safe(l), fd_labelingff(l). safe([]). safe([x L]):- noattack(l,x,), safe(l). noattack([],_,_). noattack([y L],X,I):- diff(x,y,i), I #= I+, noattack(l,x,i). diff(x,y,i):- X#\=Y, X#\=Y+I, X+I#\=Y.

18 GeCode (basic version) class Queens : public Script { public: IntVarArray q; Queens(bool share, Queens& s) : Script(share,s) { } q.update(*this, share, s.q); Queens(const SizeOptions& opt) : q(*this,opt.size(),0,opt.size()-) { const int n = q.size(); for (int i = 0; i<n; i++) for (int j = i+; j<n; j++) { } rel(*this, q[i]!= q[j]); rel(*this, q[i]+i!= q[j]+j); rel(*this, q[i]-i!= q[j]-j); virtual Space* copy(bool share) { return new Queens(share,*this); } branch(*this, q, IN_VAR_SIZE_MIN, IN_VAL_MIN); }

19 Comet (basic version) import cotfd; Solver<CP> cp(); int n = 5; range S =..n; var<cp>{int} Q[i in S,j in S](cp,0..); solve<cp>{ forall(i in S){ } cp.post(sum(j in S) Q[i,j] == ); cp.post(sum(j in S) Q[j,i] == ); forall(i in S){ cp.post(sum(j in..i) Q[j,j+(n-i)] <= ); cp.post(sum(j in..i) Q[j+(n-i),j] <= ); cp.post(sum(j in..i) Q[-j+i+,j] <= ); cp.post(sum(j in..i) Q[n-j+,n-i+j] <= ); } } using{ } forall(i in S,j in S){ try<cp> cp.post(q[i,j]==0); cp.post(q[i,j]==); } forall(i in S) cout << all(j in S) Q[n-i+,j] << endl; cout << cp.getnfail() << endl;

20 IBM ILOG Solver (basic version)

21 OPL Studio IBM Ilog Solver (using alldifferent constraints) int n << "number of queens:"; range Domain..n; var Domain queens[domain]; solve { alldifferent(queens); forall(ordered i,j in Domain) { abs(queens[i]-queens[j])<> abs(i-j) ; }; };

22 Mini Zinc Modeling Language developed by NICA (Australia) now standard in Constraint Programming community Intermediate language between Zinc and FlatZinc array [..n] of var..n: q; predicate noattack(int: i, int: j, var int: qi, var int: qj) = qi!= qj /\ qi + i!= qj + j /\ qi - i!= qj - j; constraint forall (i in..n, j in i+..n) ( noattack(i, j, q[i], q[j]) ); solve satisfy; output [ "queens:", show(q), "\n"];

23 Global Constraints hat does it mean to be global? No real definition of a global constraint but: Involves several variables (more global view of subproblem) Has some specific propagation/filtering mechanism (more efficient than basic AC or BC) Somehow a global contraint regroups several basic constraints and treat them together Basic eample: all_different(x, Xn) (to be detailed later)

24 Global Constraints () [from Van Hentenryck 009]

25 Global Constraints () [from Van Hentenryck 009]

26 Global Constraint Catalogue A unified catalogue regrouping many GC, their definition, semantics and filtering algorithms hy those constraints? Found to be useful for modeling applications some level of abstraction more than 5 different Global Constraints!

27

28 Global Constraints & dedicated filtering algorithms (from [van Hoeve 00])

29 An Eample of Specialized Filtering : all_different constraint. all_different(x, Xn) replaced by n(n+)/ disequations not much filtering, e.g. X Y, Y Z, Z X with domains {0,}. Reasoning with number of values in the union of domains of variables ok for previous eample, but... all_different(x,y,z,) with D =D y =D z ={,} and D ={,,,5}...??. Same, but consider all subsets of variables. Graph algorithm [Regin 99]: Maimal bipartite matching (here: size ) X Y Z 5

30 Filtering for all_different [from Van Hoeve 00]

31 Filtering for all_different () [from Van Hoeve 00]

32 Filtering for all_different () [from Van Hoeve 00]

33 Another version of all_different n j n,, ),, ent( all_differ Conve hull relaation [Hooker, illiams & Yan 00] (strongest possible linear relaation) J j j n j j n J n J J J n n with,, all ), ( ) ( For n = :,,,,,,,, 6 6, 6, 6, 0

34 he sequence constraint Eample: Nurse Roistering in hospital [from Van Hoeve 00]

35 he sequence constraint () [from Van Hoeve 00]

36 he sequence constraint () Best algorithm for this type of filtering is O(n³) [from Van Hoeve 00]

37 Cumulative Scheduling From disjunctive to cumulative scheduling Capacity duration = energy eample [,] : or

38 Eample cumulative resource problem eample: Scheduling problem with precedence Maimal capacity of 5 (shared resource) he 6 tasks have to fit in a bo of maimal height = 5 Here, makespan =

39 he cumulative constraint Cumulative([S,..,Sn], ([D,..,Dn], ([R,..,Rn], C) Si = start time of task i Di = duration of task i Ri = resource usage of task i (per time unit) C = resource capacity (limit) Eample: cumulative([a,b,c,d,e,f], [,6,,,5,6], [,,,,,],5)

40 he cumulative constraint () Specialized filtering can be done by considering compulsory parts Basic idea for one task: hen combine for all tasks

41 he cumulative constraint () More efficient (but more comple) filtering schemes than checking compulsory part only are possible Edge-Finding: Identify pairs (S,i) such that task i cannot precede (resp. follow) any task in subset S in any feasible schedule Update the earliest starting date (resp. latest finishing date) accordingly Problem: perform edge-finding efficiently Best algorithm is in polynomial time: O(n²)

42 Eperiment by yourself! GNU Prolog Comet Gecode IBM ILOG CP CPLEX Optimizer

Constraint Programming

Constraint Programming Constraint Programming - An overview Examples, Satisfaction vs. Optimization Different Domains Constraint Propagation» Kinds of Consistencies Global Constraints Heuristics Symmetries 7 November 0 Advanced

More information

Outline. A Puzzle Example. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING

Outline. A Puzzle Example. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING Lecture 7 Constraint Programming (2) Marco Chiarandini 1. 2. 2 Outline A Puzzle Example 1. 2. SEND + MORE = MONEY Two representations The first yields

More information

Constraint Programming in Practice

Constraint Programming in Practice Outline DM87 SCHEDULING, TIMETABLING AND ROUTING Lecture 7 Constraint Programming in Practice Marco Chiarandini DM87 Scheduling, Timetabling and Routing 2 Outline Constraint Programming Systems CP systems

More information

Java Constraint Programming with JSR-331

Java Constraint Programming with JSR-331 1 EPICENTER 2010 DUBLIN 2 Java Constraint Programming with JSR-331 Jacob Feldman, PhD OpenRules Inc., CTO jacobfeldman@openrules.com www.openrules.com www.4c.ucc.ie Outline Introduction to Constraint Programming

More information

DM841 Discrete Optimization. Part II Lecture 5. Global Constraints. Marco Chiarandini

DM841 Discrete Optimization. Part II Lecture 5. Global Constraints. Marco Chiarandini DM841 Discrete Optimization Part II Lecture 5 Global Constraints Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. Global Constraints 2 In Gecode:

More information

Chapter 3: Finite Constraint Domains

Chapter 3: Finite Constraint Domains Chapter 3: Finite Constraint Domains Where we meet the simplest and yet most difficult constraints, and some clever and not so clever ways to solve them Finite Constraint Domains Constraint Satisfaction

More information

Logic, Programming and Prolog (Supplement)

Logic, Programming and Prolog (Supplement) Logic, Programming and Prolog (Supplement) Ulf Nilsson Dept of Computer and Information Science Linköping University ulfni@ida.liu.se http://www.ida.liu.se/labs/logpro/ulfni c Ulf Nilsson, November 26,

More information

Constraint Programming 101

Constraint Programming 101 Constraint Programming 101 Jacob Feldman, Ph.D. Founder & CTO OpenRules Inc. Shock Troops for Enterprise Decision Management I have concluded that decision making and the techniques and technologies to

More information

Constraint Programming

Constraint Programming Constraint In Pursuit of The Holly Grail Roman Barták Charles University in Prague Constraint programming represents one of the closest approaches computer science has yet made to the Holy Grail of programming:

More information

Constraint (Logic) Programming

Constraint (Logic) Programming Constraint (Logic) Programming Roman Barták Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic bartak@ktiml.mff.cuni.cz Sudoku Combinatorial puzzle, whose goal is to enter

More information

A Unified Business Interface for Modeling and Solving Constraint Satisfaction Problems

A Unified Business Interface for Modeling and Solving Constraint Satisfaction Problems OMG TECHNICAL MEETING Santa Clara, CA Dec 8, 2008 1 A Unified Business Interface for Modeling and Solving Constraint Satisfaction Problems Jacob Feldman, PhD Cork Constraint Computation Centre, Sr. Researcher

More information

Round 4: Constraint Satisfaction Problems (CSP)

Round 4: Constraint Satisfaction Problems (CSP) Round 4: Constraint Satisfaction Problems (CSP) Tommi Junttila Aalto University School of Science Department of Computer Science CS-E3220 Declarative Programming Spring 2018 Tommi Junttila (Aalto University)

More information

Modelling with Constraints

Modelling with Constraints Masterclass Modelling with Constraints Part 1: Introduction Alan M Frisch Artificial Intelligence Group Dept of Computer Science University of York 12 December 2011 1 Motivation A modern generation of

More information

On the Definition of a Standard Language for Modelling Constraint Satisfaction Problems

On the Definition of a Standard Language for Modelling Constraint Satisfaction Problems 22 On the Definition of a Standard Language for Modelling Constraint Satisfaction Problems Ricardo Soto 1,2, Laurent Granvilliers 1 1 CNRS, LINA, Université de Nantes 2 Escuela de Ingeniería Informática,

More information

MTH4410 Constraint Programming. Merci à Willem-Jan van Hoeve, CMU.

MTH4410 Constraint Programming. Merci à Willem-Jan van Hoeve, CMU. MTH4410 Constraint Programming Merci à Willem-Jan van Hoeve, CMU. Outline Successful Applications Modeling Solving Some details global constraints scheduling Integrated methods (MIP+CP) Constraint Programming

More information

3rd CHR Summer School Topics: Introduction to Constraint Programming

3rd CHR Summer School Topics: Introduction to Constraint Programming 3rd CHR Summer School Topics: Introduction to Constraint Programming Prof. Dr. Slim Abdennadher 8.7.2013 c S.Abdennadher 1 Constraint Programming: Much Quoted Sentence Constraint Programming represents

More information

Constraint Programming. Marco Kuhlmann & Guido Tack Lecture 2

Constraint Programming. Marco Kuhlmann & Guido Tack Lecture 2 Constraint Programming Marco Kuhlmann & Guido Tack Lecture 2 Today: History and Practice History and Practice Part I: Short historical overview where does CP come from? Part II: Constraint Programming

More information

Course Summary! What have we learned and what are we expected to know?

Course Summary! What have we learned and what are we expected to know? Course Summary! What have we learned and what are we expected to know? Overview! Introduction Modelling in MiniZinc Finite Domain Constraint Solving Search Linear Programming and Network Flow Mixed Integer

More information

Constraint Propagation: The Heart of Constraint Programming

Constraint Propagation: The Heart of Constraint Programming Constraint Propagation: The Heart of Constraint Programming Zeynep KIZILTAN Department of Computer Science University of Bologna Email: zeynep@cs.unibo.it URL: http://zeynep.web.cs.unibo.it/ What is it

More information

Constraint satisfaction search

Constraint satisfaction search CS 70 Foundations of AI Lecture 6 Constraint satisfaction search Milos Hauskrecht milos@cs.pitt.edu 539 Sennott Square Search problem A search problem: Search space (or state space): a set of objects among

More information

Topic 3: MiniZinc (Version of 10th November 2015)

Topic 3: MiniZinc (Version of 10th November 2015) Topic 3: (Version of 10th November 2015) Jean-Noël Monette ASTRA Research Group on Combinatorial Optimisation Uppsala University Sweden Course 1DL449: for Combinatorial Optimisation Outline 1 2 3 4 5 Course

More information

Constraint Programming

Constraint Programming Constraint Programming Short Course for Air Products & Chemicals April 3 John Hooker Carnegie Mellon Universit I. Overview and Success Stories ( hour) II. Basic Concepts and Problem Formulation (.5 hours)

More information

Solving XCSP problems by using Gecode

Solving XCSP problems by using Gecode Solving XCSP problems by using Gecode Massimo Morara, Jacopo Mauro, and Maurizio Gabbrielli University of Bologna. morara jmauro gabbri@cs.unibo.it Abstract. Gecode is one of the most efficient libraries

More information

Other approaches. Marco Kuhlmann & Guido Tack Lecture 11

Other approaches. Marco Kuhlmann & Guido Tack Lecture 11 Other approaches Marco Kuhlmann & Guido Tack Lecture 11 Plan for today CSP-based propagation Constraint-based local search Linear programming CSP-based propagation History of CSP-based propagation AI research

More information

Global Constraints in Constraint Programming

Global Constraints in Constraint Programming Global Constraints in Constraint Programming Willem-Jan van Hoeve Tepper School of Business, Carnegie Mellon University Pittsburgh, PA Optimization Days 21 Outline Constraint Programming Central concepts,

More information

Half Reification and Flattening

Half Reification and Flattening Half Reification and Flattening Thibaut Feydy 1, Zoltan Somogyi 1, and Peter J. Stuckey 1 National ICT Australia and the University of Melbourne, Victoria, Australia {tfeydy,zs,pjs}@csse.unimelb.edu.au

More information

Integer Programming! Using linear programming to solve discrete problems

Integer Programming! Using linear programming to solve discrete problems Integer Programming! Using linear programming to solve discrete problems Solving Discrete Problems Linear programming solves continuous problem! problems over the reai numbers.! For the remainder of the

More information

View-based Propagator Derivation

View-based Propagator Derivation View-based Propagator Derivation Christian Schulte SCALE, KTH & SICS, Sweden joint work with: Guido Tack NICTA & Monash University, Australia Based on:. Christian Schulte, Guido Tack. Constraints 18(1),

More information

Solving NP-hard Problems on Special Instances

Solving NP-hard Problems on Special Instances Solving NP-hard Problems on Special Instances Solve it in poly- time I can t You can assume the input is xxxxx No Problem, here is a poly-time algorithm 1 Solving NP-hard Problems on Special Instances

More information

Constraint Programming

Constraint Programming Constraint Programming Justin Pearson Uppsala University 1st July 2016 Special thanks to Pierre Flener, Joseph Scott and Jun He Outline 1 Introduction to Constraint Programming (CP) 2 Introduction to MiniZinc

More information

MiniZinc Tutorial. Ralph Becket 18 June The G12 project defines three closely related modelling languages:

MiniZinc Tutorial. Ralph Becket 18 June The G12 project defines three closely related modelling languages: MiniZinc Tutorial Ralph Becket rafe@csse.unimelb.edu.au 18 June 2007 1 Modelling in MiniZinc The G12 project defines three closely related modelling languages: Zinc is a very high level modelling language;

More information

(Stochastic) Local Search Algorithms

(Stochastic) Local Search Algorithms DM841 DISCRETE OPTIMIZATION Part 2 Heuristics (Stochastic) Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. 2. 3. Components 2 Outline 1. 2. 3. Components

More information

2. Modeling AEA 2018/2019. Based on Algorithm Engineering: Bridging the Gap Between Algorithm Theory and Practice - ch. 2

2. Modeling AEA 2018/2019. Based on Algorithm Engineering: Bridging the Gap Between Algorithm Theory and Practice - ch. 2 2. Modeling AEA 2018/2019 Based on Algorithm Engineering: Bridging the Gap Between Algorithm Theory and Practice - ch. 2 Content Introduction Modeling phases Modeling Frameworks Graph Based Models Mixed

More information

ZLoc: A C++ library for local search

ZLoc: A C++ library for local search International Journal of the Physical Sciences Vol. 6(31), pp. 7095-7099, 30 November, 2011 Available online at http://www.academicjournals.org/ijps DOI: 10.5897/IJPS11.1499 ISSN 1992-1950 2011 Academic

More information

Constraint Modeling. with MiniZinc. Jakub Bulín. Department of CU Prague

Constraint Modeling. with MiniZinc. Jakub Bulín. Department of CU Prague Constraint Modeling with MiniZinc Jakub Bulín Department of Algebra @ CU Prague Table of contents 1. Intro & the theory part 2. An overview of MinZinc 3. Examples of constraint models 4. Learn more 1 In

More information

C N O S N T S RA R INT N - T BA B SE S D E L O L C O A C L S E S A E RC R H

C N O S N T S RA R INT N - T BA B SE S D E L O L C O A C L S E S A E RC R H LECTURE 11 & 12 CONSTRAINT-BASED LOCAL SEARCH Constraint-based Local Search Problem given in CSP form : a set of variables V={V1, V2,, Vn} a set of constraints C={C1, C2,, Ck} i.e. arithmetic or symbolic

More information

Initial Specification of Zinc 0.1

Initial Specification of Zinc 0.1 Initial Specification of Zinc 0.1 Kim Marriott Reza Rafeh Mark Wallace Maria Garcia de la Banda February 15, 2006 1 Introduction Zinc is a new modelling language which provides: mathematical notation like

More information

{SETS} A LIGHTWEIGHT CONSTRAINT PROGRAMMING LANGUAGE BASED ON ROBDDS

{SETS} A LIGHTWEIGHT CONSTRAINT PROGRAMMING LANGUAGE BASED ON ROBDDS {SETS A LIGHTWEIGHT CONSTRAINT PROGRAMMING LANGUAGE BASED ON ROBDDS Haim Cohen Columbia University City of New York, NY, The United States hc2311@columbia.edu Stephen A. Edwards Columbia University City

More information

First announcement. Modeling and Solving Constrained Optimization Problems Programming in Gecode. Outline. References for this lesson

First announcement. Modeling and Solving Constrained Optimization Problems Programming in Gecode. Outline. References for this lesson First announcement Modeling and Solving Constrained Optimization Problems Programming in Gecode Luca Di Gaspero luca.digaspero@uniud.it Recall: No lesson on Tuesday 24! University of Udine, Italy & TU

More information

Chapter 10 Part 1: Reduction

Chapter 10 Part 1: Reduction //06 Polynomial-Time Reduction Suppose we could solve Y in polynomial-time. What else could we solve in polynomial time? don't confuse with reduces from Chapter 0 Part : Reduction Reduction. Problem X

More information

A Solver-Independent Platform for Modeling Constrained Objects Involving Discrete and Continuous Domains

A Solver-Independent Platform for Modeling Constrained Objects Involving Discrete and Continuous Domains A Solver-Independent Platform for Modeling Constrained Objects Involving Discrete and Continuous Domains Ricardo Soto 1,2 and Laurent Granvilliers 1 1 LINA, CNRS, Université de Nantes, France 2 Escuela

More information

Explaining the cumulative propagator

Explaining the cumulative propagator Constraints (2011) 16:250 282 DOI 10.1007/s10601-010-9103-2 Explaining the cumulative propagator Andreas Schutt Thibaut Feydy Peter J. Stuckey Mark G. Wallace Published online: 27 August 2010 Springer

More information

The goal of this paper is to develop models and methods that use complementary

The goal of this paper is to develop models and methods that use complementary for a Class of Optimization Problems Vipul Jain Ignacio E. Grossmann Department of Chemical Engineering, Carnegie Mellon University, Pittsburgh, Pennsylvania, 15213, USA Vipul_Jain@i2.com grossmann@cmu.edu

More information

Solving Constraint Problems in Constraint Programming

Solving Constraint Problems in Constraint Programming Solving Constraint Problems in Constraint Programming Zeynep KIZILTAN Department of Computer Science University of Bologna Email: zeynep@cs.unibo.it What is it about? 10 hour lectures about the core of

More information

Constraint-Based Search Strategies For Bounded Program Verification. Michel RUEHER

Constraint-Based Search Strategies For Bounded Program Verification. Michel RUEHER Constraint-Based For Bounded Program Verification Michel RUEHER University of Nice Sophia-Antipolis / I3S CNRS, France (joined work with Hélène COLLAVIZZA, Nguyen Le VINH and Pascal Van HENTENRYCK) January

More information

is shown that this problem can be modeled as an MILP, a CP, a combined MILP-CP OPL model (Hentenryck (1999)), and a hybrid MILP/CP model. The computat

is shown that this problem can be modeled as an MILP, a CP, a combined MILP-CP OPL model (Hentenryck (1999)), and a hybrid MILP/CP model. The computat Algorithms for hybrid MILP/CP models for a class of optimization problems Vipul Jain Λ and Ignacio E. Grossmann y Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 October

More information

MODELS FOR SOLVING THE TARIFF OPTIMIZATION PROBLEM

MODELS FOR SOLVING THE TARIFF OPTIMIZATION PROBLEM MODELS FOR SOLVING THE TARIFF OPTIMIZATION PROBLEM Radosław Pytlak* and Wojciech Stecz** * Institute of Automatic Control and Robotics, Warsaw University of Technology, Sw. Andrzeja Boboli 8, 02-525 Warsaw,

More information

Lagrangian Relaxation in CP

Lagrangian Relaxation in CP Lagrangian Relaxation in CP Willem-Jan van Hoeve CPAIOR 016 Master Class Overview 1. Motivation for using Lagrangian Relaxations in CP. Lagrangian-based domain filtering Example: Traveling Salesman Problem.

More information

PART II: Local Consistency & Constraint Propagation

PART II: Local Consistency & Constraint Propagation PART II: Local Consistency & Constraint Propagation Solving CSPs Search algorithm. Usually backtracking search performing a depth-first traversal of a search tree. Local consistency and constraint propagation.

More information

The dom Event and its Use in Implementing Constraint Propagators

The dom Event and its Use in Implementing Constraint Propagators The dom Event and its Use in Implementing Constraint Propagators Neng-Fa Zhou 1, Mark Wallace 2 and Peter Stucky 3 1 CUNY Brooklyn College & Graduate Center zhou@sci.brooklyn.cuny.edu 2 Monash University

More information

Using Constraint Programming in Business Rules Environments

Using Constraint Programming in Business Rules Environments Dallas October Rules Fest 2008 1 Using Constraint Programming in Business Rules Environments Jacob Feldman, PhD OpenRules Inc., CTO jacobfeldman@openrules.com www.openrules.com www.4c.ucc.ie Shock Troops

More information

Linear Formulation of Constraint Programming Models and Hybrid Solvers

Linear Formulation of Constraint Programming Models and Hybrid Solvers Linear Formulation of Constraint Programming Models and Hybrid Solvers Philippe Refalo ILOG, Les Taissounieres 1681, route des Dolines, 06560 Sophia Antipolis, France refalo@ilog.fr Abstract. Constraint

More information

Outline of the talk. Local search meta-heuristics for combinatorial problems. Constraint Satisfaction Problems. The n-queens problem

Outline of the talk. Local search meta-heuristics for combinatorial problems. Constraint Satisfaction Problems. The n-queens problem Università G. D Annunzio, maggio 00 Local search meta-heuristics for combinatorial problems Luca Di Gaspero Dipartimento di Ingegneria Elettrica, Gestionale e Meccanica Università degli Studi di Udine

More information

Propagating separable equalities in an MDD store

Propagating separable equalities in an MDD store Propagating separable equalities in an MDD store T. Hadzic 1, J. N. Hooker 2, and P. Tiedemann 3 1 University College Cork t.hadzic@4c.ucc.ie 2 Carnegie Mellon University john@hooker.tepper.cmu.edu 3 IT

More information

Modeling with CP.

Modeling with CP. Modeling with CP Laurent Michel Pascal Van Hentenryck ldm@engr.uconn.edu, ldm@dynadec.com pvh@cs.brown.edu, pvh@dynadec.com Overview Formulation matters Auxiliary variables Redundant modeling Dual modeling

More information

AUTOMATED REASONING. Agostino Dovier. Udine, October 1, Università di Udine CLPLAB

AUTOMATED REASONING. Agostino Dovier. Udine, October 1, Università di Udine CLPLAB AUTOMATED REASONING Agostino Dovier Università di Udine CLPLAB Udine, October 1, 2018 AGOSTINO DOVIER (CLPLAB) AUTOMATED REASONING UDINE, OCTOBER 1, 2018 1 / 28 COURSE PLACEMENT International Master Degree

More information

Recent Work. Methods for solving large-scale scheduling and combinatorial optimization problems. Outline. Outline

Recent Work. Methods for solving large-scale scheduling and combinatorial optimization problems. Outline. Outline Seminar, NTNU, Trondheim, 3.1.2001 Methods for solving large-scale scheduling and combinatorial optimization s Iiro Harjunkoski (in collaboration with Ignacio E. Grossmann) Department of Chemical Engineering

More information

Two Problems - Two Solutions: One System - ECLiPSe. Mark Wallace and Andre Veron. April 1993

Two Problems - Two Solutions: One System - ECLiPSe. Mark Wallace and Andre Veron. April 1993 Two Problems - Two Solutions: One System - ECLiPSe Mark Wallace and Andre Veron April 1993 1 Introduction The constraint logic programming system ECL i PS e [4] is the successor to the CHIP system [1].

More information

Chapter 9: Constraint Logic Programming

Chapter 9: Constraint Logic Programming 9. Constraint Logic Programming 9-1 Deductive Databases and Logic Programming (Winter 2007/2008) Chapter 9: Constraint Logic Programming Introduction, Examples Basic Query Evaluation Finite Domain Constraint

More information

10/11/2017. Constraint Satisfaction Problems II. Review: CSP Representations. Heuristic 1: Most constrained variable

10/11/2017. Constraint Satisfaction Problems II. Review: CSP Representations. Heuristic 1: Most constrained variable //7 Review: Constraint Satisfaction Problems Constraint Satisfaction Problems II AIMA: Chapter 6 A CSP consists of: Finite set of X, X,, X n Nonempty domain of possible values for each variable D, D, D

More information

There are no CNF problems. Peter J. Stuckey and countless others!

There are no CNF problems. Peter J. Stuckey and countless others! There are no CNF problems Peter J. Stuckey and countless others! Conspirators Ignasi Abio, Ralph Becket, Sebastian Brand, Geoffrey Chu, Michael Codish, Greg Duck, Nick Downing, Thibaut Feydy, Graeme Gange,

More information

Modelling Constrained Optimization Problems! How can we formally describe a constrained optimization problem in order to solve it

Modelling Constrained Optimization Problems! How can we formally describe a constrained optimization problem in order to solve it Modelling Constrained Optimization Problems! How can we formally describe a constrained optimization problem in order to solve it Overview! Different approaches to modelling constrained optimization problems

More information

Constraint Satisfaction

Constraint Satisfaction Constraint Satisfaction Philipp Koehn 1 October 2015 Outline 1 Constraint satisfaction problems (CSP) examples Backtracking search for CSPs Problem structure and problem decomposition Local search for

More information

A Brief Introduction to Constraint Programming

A Brief Introduction to Constraint Programming A Brief Introduction to Constraint Programming with Minizinc Tong Liu, 22/01/2018 Dip. Informatica, Mura Anteo Zamboni 7 BOLOGNA BUSINESS SCHOOL Alma Mater Studiorum Università di Bologna CP - Constraint

More information

IBM ILOG CPLEX Optimization Studio Getting Started with Scheduling in CPLEX Studio. Version 12 Release 7 IBM

IBM ILOG CPLEX Optimization Studio Getting Started with Scheduling in CPLEX Studio. Version 12 Release 7 IBM IBM ILOG CPLEX Optimization Studio Getting Started with Scheduling in CPLEX Studio Version 12 Release 7 IBM Copyright notice Describes general use restrictions and trademarks related to this document and

More information

Constraint satisfaction search. Combinatorial optimization search.

Constraint satisfaction search. Combinatorial optimization search. CS 1571 Introduction to AI Lecture 8 Constraint satisfaction search. Combinatorial optimization search. Milos Hauskrecht milos@cs.pitt.edu 539 Sennott Square Constraint satisfaction problem (CSP) Objective:

More information

Mathematical Programming Formulations, Constraint Programming

Mathematical Programming Formulations, Constraint Programming Outline DM87 SCHEDULING, TIMETABLING AND ROUTING Lecture 3 Mathematical Programming Formulations, Constraint Programming 1. Special Purpose Algorithms 2. Constraint Programming Marco Chiarandini DM87 Scheduling,

More information

Constraint Satisfaction. AI Slides (5e) c Lin

Constraint Satisfaction. AI Slides (5e) c Lin Constraint Satisfaction 4 AI Slides (5e) c Lin Zuoquan@PKU 2003-2018 4 1 4 Constraint Satisfaction 4.1 Constraint satisfaction problems 4.2 Backtracking search 4.3 Constraint propagation 4.4 Local search

More information

Tutorial on Gecode Constraint Programming

Tutorial on Gecode Constraint Programming Tutorial on Gecode Constraint Programming Combinatorial Problem Solving (CPS) Enric Rodríguez-Carbonell April 19, 2017 Gecode Gecode is environment for developing constraint-programming based progs open:

More information

Topic 3: Constraint Predicates (Version of 22nd November 2018)

Topic 3: Constraint Predicates (Version of 22nd November 2018) Topic 3: Constraint Predicates (Version of 22nd November 2018) Pierre Flener, Gustav Björdal, and Jean-Noël Monette Optimisation Group Department of Information Technology Uppsala University Sweden Course

More information

Large-Scale Optimization and Logical Inference

Large-Scale Optimization and Logical Inference Large-Scale Optimization and Logical Inference John Hooker Carnegie Mellon University October 2014 University College Cork Research Theme Large-scale optimization and logical inference. Optimization on

More information

Solving the Resource Constrained Project Scheduling Problem with Generalized Precedences by Lazy Clause Generation

Solving the Resource Constrained Project Scheduling Problem with Generalized Precedences by Lazy Clause Generation Solving the Resource Constrained Project Scheduling Problem with Generalized Precedences by Lazy Clause Generation Andreas Schutt Thibaut Feydy Peter J. Stuckey Mark G. Wallace National ICT Australia,

More information

Constraint Programming. Global Constraints. Amira Zaki Prof. Dr. Thom Frühwirth. University of Ulm WS 2012/2013

Constraint Programming. Global Constraints. Amira Zaki Prof. Dr. Thom Frühwirth. University of Ulm WS 2012/2013 Global Constraints Amira Zaki Prof. Dr. Thom Frühwirth University of Ulm WS 2012/2013 Amira Zaki & Thom Frühwirth University of Ulm Page 1 WS 2012/2013 Overview Classes of Constraints Global Constraints

More information

The Vehicle Routing Problem with Time Windows

The Vehicle Routing Problem with Time Windows The Vehicle Routing Problem with Time Windows Dr Philip Kilby Team Leader, Optimisation Applications and Platforms June 2017 www.data61.csiro.au Outline Problem Description Solving the VRP Construction

More information

Lecture 1. Introduction

Lecture 1. Introduction Lecture 1 1 Constraint Programming Alternative approach to programming Combination of reasoning and computing Constraint on a sequence of variables: a relation on their domains Constraint Satisfaction

More information

Recap. Recap. If-then-else expressions. If-then-else expressions. If-then-else expressions. If-then-else expressions

Recap. Recap. If-then-else expressions. If-then-else expressions. If-then-else expressions. If-then-else expressions Recap Epressions (Synta) Compile-time Static Eec-time Dynamic Types (Semantics) Recap Integers: +,-,* floats: +,-,* Booleans: =,

More information

On the Optimization of CPLEX Models

On the Optimization of CPLEX Models International Research Journal of Applied and Basic Sciences 3 Available online at www.irjabs.com ISSN 5-838X / Vol, 4 (9): 8-86 Science Explorer Publications On the Optimization of CPLEX Models Mohamad

More information

Modelling for Constraint Programming

Modelling for Constraint Programming Modelling for Constraint Programming Barbara M. Smith Cork Constraint Computation Centre, University College Cork, Ireland September 2005 1 Introduction Constraint programming can be a successful technology

More information

A Hybrid Constraint Programming Approach to Nurse Rostering Problem

A Hybrid Constraint Programming Approach to Nurse Rostering Problem A Hybrid Constraint Programming Approach to Nurse Rostering Problem Fang He*, Dr. Rong Qu The Automated Scheduling, Optimisation and Planning (ASAP) research group School of Computer Science University

More information

Lignes directrices. Constraint Programming. Software to solve CSPs

Lignes directrices. Constraint Programming. Software to solve CSPs Lignes directrices Constraint Programming Lab 1. Introduction to OPL Ruslan Sadykov INRIA Bordeaux Sud-Ouest 6 March 2017 1 / 18 2 / 18 Software to solve CSPs Commercial IBM ILOG CP Optimizer (free for

More information

Structured Variables

Structured Variables DM841 Discrete Optimization Part II Lecture 13 Structured Variables Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Resume and Outlook Modeling in CP Global

More information

On Search Strategies for Constraint-Based Bounded Model Checking. Michel RUEHER

On Search Strategies for Constraint-Based Bounded Model Checking. Michel RUEHER raft On Search Strategies for Constraint-Based Bounded Model Checking Michel RUEHER Joined work with Hélène Collavizza, Nguyen Le Vinh, Olivier Ponsini and Pascal Van Hentenryck University Nice Sophia-Antipolis

More information

Constraint Satisfaction Problems. A Quick Overview (based on AIMA book slides)

Constraint Satisfaction Problems. A Quick Overview (based on AIMA book slides) Constraint Satisfaction Problems A Quick Overview (based on AIMA book slides) Constraint satisfaction problems What is a CSP? Finite set of variables V, V 2,, V n Nonempty domain of possible values for

More information

Why Should You Care? Writing a CSP Solver in 3 (or 4) Easy Lessons. Talk Aims. Why Should You Care? Not Talk Aims. Talk Aims

Why Should You Care? Writing a CSP Solver in 3 (or 4) Easy Lessons. Talk Aims. Why Should You Care? Not Talk Aims. Talk Aims Writing a CSP Solver in 3 (or 4) Easy Lessons Christopher Jefferson University of Oxford Why Should ou Care? Understanding how the solver works makes better models. Minion already imposes this on you,

More information

CS 188: Artificial Intelligence Fall 2011

CS 188: Artificial Intelligence Fall 2011 Announcements Project 1: Search is due next week Written 1: Search and CSPs out soon Piazza: check it out if you haven t CS 188: Artificial Intelligence Fall 2011 Lecture 4: Constraint Satisfaction 9/6/2011

More information

Neighborhood Search: Mixing Gecode and EasyLocal++

Neighborhood Search: Mixing Gecode and EasyLocal++ : Mixing Gecode and EasyLocal++ Raffaele Cipriano 1 Luca Di Gaspero 2 Agostino 1 1) DIMI - Dip. di Matematica e Informatica Università di Udine, via delle Scienze 206, I-33100, Udine, Italy 2) DIEGM -

More information

Combining forces to solve Combinatorial Problems, a preliminary approach

Combining forces to solve Combinatorial Problems, a preliminary approach Combining forces to solve Combinatorial Problems, a preliminary approach Mohamed Siala, Emmanuel Hebrard, and Christian Artigues Tarbes, France Mohamed SIALA April 2013 EDSYS Congress 1 / 19 Outline Context

More information

Developing Constraint Programming Applications with AIMMS

Developing Constraint Programming Applications with AIMMS Developing Constraint Programming Applications with AIMMS Willem-Jan van Hoeve Tepper School of Business, Carnegie Mellon University 5000 Forbes Avenue, Pittsburgh, PA 15213, USA vanhoeve@andrew.cmu.edu

More information

ZIMPL User Guide. Konrad-Zuse-Zentrum für Informationstechnik Berlin THORSTEN KOCH. ZIB-Report (August 2001)

ZIMPL User Guide. Konrad-Zuse-Zentrum für Informationstechnik Berlin THORSTEN KOCH. ZIB-Report (August 2001) Konrad-Zuse-Zentrum für Informationstechnik Berlin Takustraße 7 D-14195 Berlin-Dahlem Germany THORSTEN KOCH ZIMPL User Guide ZIB-Report 01-20 (August 2001) (Zuse Institute Mathematical Programming Language)

More information

DM826 Spring 2014 Modeling and Solving Constrained Optimization Problems. Lecture 4. CP Solvers Gecode. Marco Chiarandini

DM826 Spring 2014 Modeling and Solving Constrained Optimization Problems. Lecture 4. CP Solvers Gecode. Marco Chiarandini DM826 Spring 2014 Modeling and Solving Constrained Optimization Problems Lecture 4 CP Solvers Gecode Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark [The slides

More information

Constraint Logic Programming (CLP): a short tutorial

Constraint Logic Programming (CLP): a short tutorial Constraint Logic Programming (CLP): a short tutorial What is CLP? the use of a rich and powerful language to model optimization problems modelling based on variables, domains and constraints DCC/FCUP Inês

More information

Example: Map-Coloring. Constraint Satisfaction Problems Western Australia. Example: Map-Coloring contd. Outline. Constraint graph

Example: Map-Coloring. Constraint Satisfaction Problems Western Australia. Example: Map-Coloring contd. Outline. Constraint graph Example: Map-Coloring Constraint Satisfaction Problems Western Northern erritory ueensland Chapter 5 South New South Wales asmania Variables, N,,, V, SA, Domains D i = {red,green,blue} Constraints: adjacent

More information

Discrete Optimization with Decision Diagrams

Discrete Optimization with Decision Diagrams Discrete Optimization with Decision Diagrams J. N. Hooker Joint work with David Bergman, André Ciré, Willem van Hoeve Carnegie Mellon University Australian OR Society, May 2014 Goal Find an alternative

More information

Solving Diameter Constrained Minimum Spanning Tree Problems by Constraint Programming

Solving Diameter Constrained Minimum Spanning Tree Problems by Constraint Programming Solving Diameter Constrained Minimum Spanning Tree Problems by Constraint Programming Thiago F. Noronha Department of Computer Science, Universidade Federal de Minas Gerais Av. Antônio Carlos 6627, Belo

More information

Handbook of Constraint Programming

Handbook of Constraint Programming Handbook of Constraint Programming Francesca Rossi, Peter van Beek, Toby Walsh Elsevier Contents Contents v I First part 1 1 Modelling 3 Barbara M. Smith 1.1 Preliminaries... 4 1.2 Representing a Problem.....

More information

The GNU Prolog System and its Implementation

The GNU Prolog System and its Implementation The GNU Prolog System and its Implementation Daniel Diaz University of Paris 1 CRI, bureau C1407 90, rue de Tolbiac 75634 Paris Cedex 13, France and INRIA-Rocquencourt Daniel.Diaz@inria.fr Philippe Codognet

More information

CMU-Q Lecture 7: Searching in solution space Constraint Satisfaction Problems (CSPs) Teacher: Gianni A. Di Caro

CMU-Q Lecture 7: Searching in solution space Constraint Satisfaction Problems (CSPs) Teacher: Gianni A. Di Caro CMU-Q 15-381 Lecture 7: Searching in solution space Constraint Satisfaction Problems (CSPs) Teacher: Gianni A. Di Caro AI PLANNING APPROACHES SO FAR Goal: Find the (best) sequence of actions that take

More information

Fall Lecture 13 Thursday, October 11

Fall Lecture 13 Thursday, October 11 15-150 Fall 2018 Lecture 13 Thursday, October 11 n queens One s favorite ipod app n queens Queens attack on row, column, or diagonal Task: put n queens safely on an n-by-n board British Museum algorithm

More information

What is Search For? CS 188: Artificial Intelligence. Constraint Satisfaction Problems

What is Search For? CS 188: Artificial Intelligence. Constraint Satisfaction Problems CS 188: Artificial Intelligence Constraint Satisfaction Problems What is Search For? Assumptions about the world: a single agent, deterministic actions, fully observed state, discrete state space Planning:

More information

Constraint Satisfaction Problems (Backtracking Search)

Constraint Satisfaction Problems (Backtracking Search) CSC8:"Introducon"to"Arficial"Intelligence" Constraint Satisfaction Problems (Backtracking Search) Chapter 6 6.: Formalism 6.: Constraint Propagation 6.: Backtracking Search for CSP 6. is about local search

More information