LECTURE 6 CONSTRAINT PROGRAMMING & GLOBAL CONSTRAINTS
|
|
- Beryl O’Brien’
- 6 years ago
- Views:
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 - An overview Examples, Satisfaction vs. Optimization Different Domains Constraint Propagation» Kinds of Consistencies Global Constraints Heuristics Symmetries 7 November 0 Advanced
More informationOutline. 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 informationConstraint 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 informationJava 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 informationDM841 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 informationChapter 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 informationLogic, 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 informationConstraint 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 informationConstraint 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 informationConstraint (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 informationA 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 informationRound 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 informationModelling 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 informationOn 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 informationMTH4410 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 information3rd 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 informationConstraint 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 informationCourse 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 informationConstraint 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 informationConstraint 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 informationTopic 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 informationConstraint 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 informationSolving 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 informationOther 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 informationGlobal 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 informationHalf 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 informationInteger 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 informationView-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 informationSolving 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 informationConstraint 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 informationMiniZinc 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
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 information2. 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 informationZLoc: 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 informationConstraint 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 informationC 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 informationInitial 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 Haim Cohen Columbia University City of New York, NY, The United States hc2311@columbia.edu Stephen A. Edwards Columbia University City
More informationFirst 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 informationChapter 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 informationA 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 informationExplaining 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 informationThe 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 informationSolving 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 informationConstraint-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 informationis 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 informationMODELS 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 informationLagrangian 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 informationPART 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 informationThe 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 informationUsing 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 informationLinear 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 informationOutline 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 informationPropagating 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 informationModeling 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 informationAUTOMATED 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 informationRecent 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 informationTwo 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 informationChapter 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 information10/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 informationThere 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 informationModelling 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 informationConstraint 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 informationA 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 informationIBM 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 informationConstraint 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 informationMathematical 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 informationConstraint 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 informationTutorial 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 informationTopic 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 informationLarge-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 informationSolving 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 informationConstraint 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 informationThe 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 informationLecture 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 informationRecap. 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 informationOn 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 informationModelling 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 informationA 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 informationLignes 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 informationStructured 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 informationOn 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 informationConstraint 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 informationWhy 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 informationCS 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 informationNeighborhood 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 informationCombining 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 informationDeveloping 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 informationZIMPL 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 informationDM826 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 informationConstraint 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 informationExample: 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 informationDiscrete 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 informationSolving 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 informationHandbook 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 informationThe 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 informationCMU-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 informationFall 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 informationWhat 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 informationConstraint 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