7/14/20151 Constraint Programming 2001 Edition Jan Maluszynski and Ulf Nilsson TCSLAB, LiU {janma,

Slides:



Advertisements
Similar presentations
Non-Binary Constraint Satisfaction Toby Walsh Cork Constraint Computation Center.
Advertisements

Airline Schedule Optimization (Fleet Assignment I)
1 Chapter 8: Modelling with Finite Domain Constraints Where we examine how modelling and controlling search interact with finite domain constraints.
2004/11/01 corolla 1 Auction Based Ming_Ming Hsieh Job Shop Scheduling problem.
IEOR Basic Project Scheduling. IEOR Project Scheduling zJobs subject to precedence constraints zJob on arc format (most common)
Optimal Rectangle Packing: A Meta-CSP Approach Chris Reeson Advanced Constraint Processing Fall 2009 By Michael D. Moffitt and Martha E. Pollack, AAAI.
1 Pierangelo Dell’Acqua Dept. of Science and Technology Linköping University Constraint programming 2001 November 13th 2001
/425 Declarative Methods - J. Eisner1 Constraint Programming.
Linear Programming Introduction George B Dantzig developed LP in It is a problem solving approach designed to help managers/decision makers in planning.
4 th Nov, Oct 23 rd Happy Deepavali!. 10/23 SAT & CSP.
Math 308 Discrete Mathematics Discrete Mathematics deals with “Separated” or discrete sets of objects (rather than continuous sets) Processes with a sequence.
CPSC 322, Lecture 11Slide 1 Constraint Satisfaction Problems (CSPs) Introduction Computer Science cpsc322, Lecture 11 (Textbook Chpt 4.0 – 4.2) January,
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
1 Introduction to Linear and Integer Programming Lecture 9: Feb 14.
1 Optimisation Although Constraint Logic Programming is somehow focussed in constraint satisfaction (closer to a “logical” view), constraint optimisation.
1 Constraint Programming Maurizio Gabbrielli Universita’ di Bologna Slides by: K. Marriott.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture NP-Completeness Jan Maluszynski, IDA, 2007
Dr Eleni Mangina – COURSE: LOGIC PROGRAMMING (during a joint degree with Fudan University in Software Engineering) DEPT. OF COMPUTER SCIENCE UCD LOGIC.
Computational Methods for Management and Economics Carla Gomes Module 4 Displaying and Solving LP Models on a Spreadsheet.
Distributed Scheduling. What is Distributed Scheduling? Scheduling: –A resource allocation problem –Often very complex set of constraints –Tied directly.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
MIT and James Orlin © Chapter 3. The simplex algorithm Putting Linear Programs into standard form Introduction to Simplex Algorithm.
Constraint Logic Programming (CLP) Luis Tari March 10, 2005.
How to Play Sudoku & Win Integer Programming Formulation of a Popular Game Sven LeyfferSven Leyffer, Argonne, Feb. 15, 2005 (windoze powerpoint sumi painting.
Linear programming Lecture (4) and lecture (5). Recall An optimization problem is a decision problem in which we are choosing among several decisions.
1 Constraint Programming: An Introduction Adapted by Cristian OLIVA from Peter Stuckey (1998) Ho Chi Minh City.
Chapter 4 - Linear Programming: Computer Solution Excel Solver
LINEAR PROGRAMMING SIMPLEX METHOD.
Chapter 19 Linear Programming McGraw-Hill/Irwin
Slide 1 Constraint Satisfaction Problems (CSPs) Introduction Jim Little UBC CS 322 – CSP 1 September 27, 2014 Textbook §
Introduction to Job Shop Scheduling Problem Qianjun Xu Oct. 30, 2001.
CONSTRAINT PROGRAMMING Computer Science Seminar April 9 th, 2004 Kerem Kacel.
Introduction to Linear Programming BSAD 141 Dave Novak.
Constraint Satisfaction Problems (CSPs) CPSC 322 – CSP 1 Poole & Mackworth textbook: Sections § Lecturer: Alan Mackworth September 28, 2012.
15 July 2005Edward Tsang (Copyright)1 Constraint Satisfaction and Optimization Professor Edward Tsang University of Essex URL:
CP Summer School Modelling for Constraint Programming Barbara Smith 2. Implied Constraints, Optimization, Dominance Rules.
Searching by Constraint CMSC Artificial Intelligence January 24, 2008.
Introduction to Problem Solving. Steps in Programming A Very Simplified Picture –Problem Definition & Analysis – High Level Strategy for a solution –Arriving.
Comp763: Modern Computer Games Using Constraint Logic Programming to Analyze the Chronology in a William Faulkner Story Jennifer BurgSheau-Dong Lang Irwin.
Exact and heuristics algorithms
1 Outline:  Optimization of Timed Systems  TA-Modeling of Scheduling Tasks  Transformation of TA into Mixed-Integer Programs  Tree Search for TA using.
MER 160, Prof. Bruno1 Optimization The idea behind “optimization” is to find the “best” solution from a domain of “possible” solutions. Optimization methods.
Solving Problems by searching Well defined problems A probem is well defined if it is easy to automatically asses the validity (utility) of any proposed.
Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation.
CONSTRAINT-BASED SCHEDULING AND PLANNING Speaker: Olufikayo Adetunji CSCE 921 4/08/2013Olufikayo Adetunji 1 Authors: Philippe Baptiste, Philippe Laborie,
Constraint Satisfaction Problems University of Berkeley, USA
3 Components for a Spreadsheet Optimization Problem  There is one cell which can be identified as the Target or Set Cell, the single objective of the.
Objectives Solve compound inequalities with one variable.
Paper Presentation Classroom Assignment using Constraint Logic Programming [Slim Abdennadher, Matthias Saft, Sebastian Will] University of Munich Presented.
Logic Programming Lecture 9: Constraint logic programming.
Business Mathematics MTH-367 Lecture 14. Last Lecture Summary: Finished Sec and Sec.10.3 Alternative Optimal Solutions No Feasible Solution and.
KRAFT-IX TIE (Demo Intro) Dept of Computing Science University of Aberdeen Kit-ying Hui.
Linear programming Lecture (4) and lecture (5). Recall An optimization problem is a decision problem in which we are choosing among several decisions.
Sudoku Solutions Using Logic Equations Christian Posthoff The University of The West Indies, Trinidad & Tobago Bernd Steinbach Freiberg University of Mining.
Game Search & Constrained Search CMSC Artificial Intelligence January 18, 2005.
Scheduling with Constraint Programming
Automatic Test Generation
Constraint Satisfaction Problems (CSPs) Introduction
Lecture 3.
Solve Linear Systems by Graphing
Constraint Satisfaction Problems (CSPs) Introduction
Ch 11 Resource Constraints and Linear Programming
Introduction to linear programming (LP): Minimization
6-3 Solving Systems Using Elimination
Constraint Satisfaction Problems
Richard Anderson Lecture 6 Greedy Algorithms
Richard Anderson Lecture 7 Greedy Algorithms
Constraint satisfaction problems
Constraint satisfaction problems
Presentation transcript:

7/14/20151 Constraint Programming 2001 Edition Jan Maluszynski and Ulf Nilsson TCSLAB, LiU {janma,

7/14/20152 Course organization

7/14/20153 Course organization (cont’d)

7/14/20154 Course organization (cont) zObligatory course assignments (23 Oct) with deadline 20 Nov, and examination 27 Nov zCourse credit points 4 zLiterature: K. Marriott and P. Stuckey Programming with Constraints: An Introduction MIT Press, handouts and on-line manuals

7/14/20155 A simple definition zConstraint programming is the study of computational systems based on constraints. zConstraints are roughly systems of equations, inequations and disequations over some algebraic structure. zThe idea of constraint programming is to solve problems by encoding the problem as a set of constraints and exploring solutions to the constraints.

7/14/20156 Typical problem zProcesses A-D may start at times 1,2,3,4,5,6,7 zProcess A uses 3 resources during 2sec zProcess B uses 1 resource during 4sec zProcess C uses 2 resources during 1sec zProcess D uses 2 resources during 1sec zThere are 4 resources zProcess A must finish before C can start zWhen are A, B, C, D earliest finished?

7/14/20157 Overview zConstraints, basics, operations, domains yFocus on finite domains, intervals zConstraint logic programming zModeling and applications zSystems yCLP-systems ySystems for defining constraints CHR, HAL

7/14/20158 Constraints zA constraint problem consists of a set of problem variables ranging over some domain and a set of constraints restricting the values that may be assigned to the variables. zExample: x in {1,2,3}, y in {2,3,4,5}, 2x = y zExamples of domains: Reals/rationals, intervals, finite domains, Booleans, sets, monoids (strings) etc

7/14/20159 Methods for constraint solving zReals/rational constraints yGauss-Jordan elimination + Simplex zReal/Rational intervals yinterval narrowing, box consistency, yGauss-Seidel elimination, interval Newton method, zBooleans yfor example, operations on BDD’s zFinite domains yarc, node and path consistency methods yconstraint propagation (forward checking, look-ahead)

7/14/ Optimization zFinding a solution which satisfies constraints and minimizes/maximizes objective function zDifferent types ycombinatorial optimization of discrete (finite domain) variables ylinear optimization for continuous variables

7/14/ Different constraint systems zReal/rational constraints: CLP(R), CLP(Q) CLP(R), Sicstus Prolog, CHIP zFinite domains constraints: CLP(FD) Sicstus Prolog, CHIP zBoolean constraints: CLP(B) Sicstus Prolog, CHIP zInterval constraints: CLP(I) CLP(BNR), Numerica, Prolog IV

7/14/ Systems discussed in the course zSICStus Prolog zChip 5.2 zProlog IV zCHR zHAL

7/14/ The programming paradigm CLP Logic programming Optimization Constraint satisfaction/solving

7/14/ Logic programming zLogic (relations) for problem description zDeclarative description style (problem description separated from its solving) zUnification (a kind of constraint solving) zBuiltin search zConstraint programming does not need LP !!!

7/14/ Some applications zSpatial and temporal problems zPlacment and layout zManpower planning zScheduling zResource allocation zConfiguration management zVerification (e.g. correctness, safety+liveness)

7/14/ Placement/Layout A window contains a number of widgets. As the window is shrinking or growing the widgets have to be repositioned while satisfying certain constraints (e.g. certain widgets must always be visible or must be in a certain relation to other widgets). Given a certain window size, produce a layout that satisfies the constraints.

7/14/ Scheduling A conference consists of 11 sessions of equal length. The program is to be organized as a sequence of slots, where a slot contains up to 3 parallel sessions: 1.Session 4 must take place before Session Session 5 must take place before Session Session 6 must take place before Session 11. … 8.Session 6 must not be in parallel with 7 and Session 7 must not be in parallel with 8 and Session 8 must not be in parallel with 10. Minimize the number of slots.

7/14/ Job shop scheduling There are n jobs and m machines. Each job requires execution of a sequence of operations within a time interval, and each operation O i requires exclusive use of a designated machine M i for a specied amount of processing time p i. Determine a schedule for production that satisfies the temporal and resource capacity constraints.

7/14/ Manpower planning Airport Counter Allocation problem: Allocate enough counters and staff (the number depends on the aircraft type) to each flight. The counters are grouped in islands and for each flight all assigned counters have to be in the same island. The staff has working regulations that must be satisfied (breaks etc).

7/14/ Black-box vs Glass-box solvers zMost systems rely on non-extensible, black-box constraint solvers yEfficiency unpredictable yHard to debug zSome systems facilitate defining new constraints and solvers (glass-box approach) yImproved control of propagation and search yExamples CHR, HAL,... zThen again, most problems are NP-complete...