Introduction & Overview

Size: px
Start display at page:

Download "Introduction & Overview"

Transcription

1 ID2204: Constraint Programming Introduction & Overview Lecture 01, Christian Schulte Software and Computer Systems School of Information and Communication Technology KTH Royal Institute of Technology Sweden

2 Lecture Overview What is Constraint Programming? Sudoku is Constraint Programming... more later

3 Sudoku...is Constraint Programming!

4 Sudoku Assign blank fields digits such that: digits distinct per rows, columns, blocks

5 Sudoku Assign blank fields digits such that: digits distinct per rows, columns, blocks

6 Sudoku Assign blank fields digits such that: digits distinct per rows, columns, blocks

7 Sudoku Assign blank fields digits such that: digits distinct per rows, columns, blocks

8 Block Propagation No field in block can take digits 3,6,8

9 Block Propagation 1,2,4,5,7,9 8 1,2,4,5,7,9 1,2,4,5,7, ,2,4,5,7,9 1,2,4,5,7,9 1,2,4,5,7,9 No field in block can take digits 3,6,8 propagate to other fields in block Rows and columns: likewise

10 Propagation ,2,3,4,5,6,7,8, Prune digits from fields such that: digits distinct per rows, columns, blocks

11 Propagation ,3,5,6,7, Prune digits from fields such that: digits distinct per rows, columns, blocks

12 Propagation ,3,6,7 Prune digits from fields such that: digits distinct per rows, columns, blocks

13 Propagation ,3, Prune digits from fields such that: digits distinct per rows, columns, blocks

14 Iterated Propagation Iterate propagation for rows, columns, blocks What if no assignment: search... later

15 Sudoku is Constraint Programming Variables: fields take values: digits maintain set of possible values Constraints: distinct relation among variables Modelling: variables, values, constraints Solving: propagation, search

16 Constraint Programming Variable domains finite domain integer, finite sets, multisets, intervals,... Constraints distinct, arithmetic, scheduling, graphs,... Solving propagation, branching, exploration,... Modelling variables, values, constraints, heuristics, symmetries,...

17 Plan of Lecture Introduction what is constraint programming? principles and applications Overview course content course goal Organizational

18 What Is Constraint Programming?

19 Running Example: SMM Find distinct digits for letters, such that SEND + MORE = MONEY

20 Constraint Model for SMM Variables: S,E,N,D,M,O,R,Y {0,,9} Constraints: distinct(s,e,n,d,m,o,r,y) 1000 S+100 E+10 N+D M+100 O+10 R+E = M+1000 O+100 N+10 E+Y S 0 M 0

21 Solving SMM Find values for variables such that all constraints satisfied

22 Finding a Solution Compute with possible values rather than enumerating assignments Prune inconsistent values constraint propagation Search branch: define search tree explore: explore search tree for solution

23 Constraint Propagation

24 Important Concepts Constraint store Propagator Constraint propagation

25 Constraint Store x {3,4,5} y {3,4,5} Maps variables to possible values stores basic constraints

26 Constraint Store finite domain constraints x {3,4,5} y {3,4,5} Maps variables to possible values Others: finite sets, intervals, trees,...

27 Propagators Implement (non-basic) constraints distinct(x 1,,x n ) x + 2*y = z

28 Propagators x y y>3 x {3,4,5} y {3,4,5} Amplify store by constraint propagation

29 Propagators x y y>3 x {3,4,5} y {3,4,5} Amplify store by constraint propagation

30 Propagators x y y>3 x {3,4,5} y {4,5} Amplify store by constraint propagation

31 Propagators x y y>3 x {3,4,5} y {4,5} Amplify store by constraint propagation

32 Propagators x y y>3 x {4,5} y {4,5} Amplify store by constraint propagation

33 Propagators x y y>3 x {4,5} y {4,5} Amplify store by constraint propagation Disappear when done (subsumed, entailed) no more propagation possible

34 Propagators x y x {4,5} y {4,5} Amplify store by constraint propagation Disappear when done (subsumed, entailed) no more propagation possible

35 Propagation for SMM Results in store S {9} E {4,,7} M {1} O {0} N {5,,8} D {2,,8} R {2,,8} Y {2,,8} Propagation alone not sufficient! create simpler sub-problems branching

36 Constraints and Propagators Constraints state relations among variables which value combinations satisfy constraint Propagators implement constraints prune values in conflict with constraint Constraint propagation drives propagators for several constraints

37 Search

38 Important Concepts Branching Exploration Branching heuristics Best-solution search

39 Search: Branching x y x {4,5} y {4,5} x=4 x 4 x y x {4} y {4} x y x {5} y {4,5} Create subproblems with additional information enable further constraint propagation

40 Example Branching Strategy Pick variable x with at least two values Pick value n from domain of x Branch with x=n and x n Part of model

41 Search: Exploration Iterate propagation and branching Orthogonal: branching exploration Nodes: Unsolved Failed Succeeded

42 SMM: Unique Solution SEND + MORE = MONEY = 10652

43 Heuristics for Branching Which variable least possible values (first-fail) application dependent heuristic Which value minimum, median, maximum x=m or x m split with median m x<m or x m Problem specific

44 SMM: Solution With First-fail SEND + MORE = MONEY = 10652

45 Send Most Money (SMM++) Find distinct digits for letters, such that SEND + MOST = MONEY and MONEY maximal

46 Best Solution Search Naïve approach: compute all solutions choose best Branch-and-bound approach: compute first solution add betterness constraint to open nodes next solution will be better prunes search space

47 Branch-and-bound Search Find first solution

48 Branch-and-bound Search Explore with additional constraint

49 Branch-and-bound Search Explore with additional constraint

50 Branch-and-bound Search Guarantees better solutions

51 Branch-and-bound Search Guarantees better solutions

52 Branch-and-bound Search Last solution best

53 Branch-and-bound Search Proof of optimality

54 Modelling SMM++ Constraints and branching as before Order among solutions with constraints so-far-best solution S,E,N,D,M,O,T,Y current node S,E,N,D,M,O,T,Y constraint added M+1000 O+100 N+10 E+Y < M+1000 O+100 N+10 E+Y

55 SMM++: Branch-and-bound SEND + MOST = MONEY = 10876

56 SMM++: All Solution Search SEND + MOST = MONEY = 10876

57 Summary

58 Summary: Key Ideas and Principles Modelling variables with domain constraints to state relations branching strategy solution ordering Solving constraint propagation constraint branching search tree exploration applications principles

59 Widely Applicable Timetabling Scheduling Crew rostering Resource allocation Workflow planning and optimization Gate allocation at airports Sports-event scheduling Railroad: track allocation, train allocation, schedules Automatic composition of music Genome sequencing Frequency allocation

60 Draws on Variety of Techniques Artificial intelligence basic idea, search,... Operations research scheduling, flow,... Algorithms graphs, matching, networks,... Programming languages programmability, extensionability,...

61 Essential Aspect Compositional middleware for combining smart algorithmic problem substructures components (propagators) scheduling graphs flows plus essential extra constraints

62 Principles Models for constraint propagation properties and guarantees Strong constraint propagation global constraints with strong algorithmic methods mantra: search kills, search kills, search k Branching strategies Exploration strategies

63 SMM: Strong Propagation SEND + MORE = MONEY = 10652

64 Scheduling Resources Modelling Propagation Strong propagation

65 Scheduling Resources: Problem Tasks duration resource Precedence constraints determine order among two tasks Resource constraints at most one task per resource [disjunctive, non-preemptive scheduling]

66 Scheduling: Bridge Example Infamous: additional side constraints!

67 Scheduling: Solution Start time for each task All constraints satisfied Earliest completion time minimal make-span

68 Scheduling: Model Variable for start-time of task a start(a) Precedence constraint: a before b start(a) + dur(a) start(b)

69 Propagating Precedence a before b a b start(a) {0,,7} start(b) {0,,5}

70 Propagating Precedence a before b a a b b start(a) {0,,7} start(b) {0,,5} start(a) {0,,2} start(b) {3,,5}

71 Scheduling: Model Variable for start-time of task a start(a) Precedence constraint: a before b start(a) + dur(a) start(b) Resource constraint: a before b or b before a

72 Scheduling: Model Variable for start-time of task a start(a) Precedence constraint: a before b start(a) + dur(a) start(b) Resource constraint: start(a) + dur(a) start(b) or b before a

73 Scheduling: Model Variable for start-time of task a start(a) Precedence constraint: a before b start(a) + dur(a) start(b) Resource constraint: start(a) + dur(a) start(b) or start(b) + dur(b) start(a)

74 Reified Constraints Use control variable b {0,1} c b=1 Propagate c holds propagate b=1 c holds propagate b=0 b=1 holds propagate c b=0 holds propagate c

75 Reified Constraints Use control variable b {0,1} c b=1 Propagate not easy! c holds propagate b=1 c holds propagate b=0 b=1 holds propagate c b=0 holds propagate c

76 Reification for Disjunction Reify each precedence [start(a) + dur(a) start(b)] b 0 =1 and [start(b) + dur(b) start(a)] b 1 =1 Model disjunction b 0 + b 1 1

77 Model Is Too Naive Local view individual task pairs O(n 2 ) propagators for n tasks Global view ("global" constraints) all tasks on resource single propagator smarter algorithms possible

78 Example: Edge Finding Find ordering among tasks ( edges ) For each subset of tasks {a} B assume: a before B deduce information for assume: B before a deduce information for join computed information can be done in O(n 2 ) a and B a and B

79 Summary Modeling easy but not always efficient constraint combinators (reification) global constraints smart heuristics More on constraint-based scheduling Baptiste, Le Pape, Nuijten. Constraint-based Scheduling, Kluwer, 2001.

80 Course Overview

81 Content Overview As to be expected, no surprises: applications principles pragmatics limitations

82 Modeling with CP Basic solving methods constraint propagation search Typical techniques for modeling in different application areas redundant constraints, symmetry elimination Refining models by strong algorithmic methods Heuristic search methods Application to hard real-size problems

83 Principles Underlying CP Models for propagation search and their essential properties Different levels of consistency (propagation strength) Different constraint domains finite domains, finite sets,...

84 Strong Algorithmic Methods Régin's distinct algorithm Edge-finding Integration achieving required properties for propagation

85 Relation to Other Techniques Integer programming Local search Discussion of merits and weaknesses Hybrid approaches

86 Goals: Learning Outcomes explain and apply basic modeling techniques for constraint problems, including the selection of variables, constraints, and optimization criteria. describe and apply depth-first search and branch-and-bound search for solving constraint problems. describe and define constraint propagation, search branching, and search tree exploration prove correctness, consistency, and completeness of propagators implementing constraints. define and prove correctness of branching strategies. describe optimizations of constraint propagation based on fixpoint reasoning.

87 Goals: Learning Outcomes describe advanced modeling techniques, analyze combinatorial problems for the applicability of these techniques, and apply and combine them techniques include: general symmetries, value and variable symmetries, symmetry breaking with constraints, symmetry breaking during search, domination constraints, redundant constraints, redundant modeling and channeling, using strong algorithmic techniques, and branching heuristics. describe and apply Régin's algorithm for the distinct constraint as an example of strong constraint propagation explain algorithms for the element constraint, linear constraints, and disjunctive scheduling constraints. implement a simple propagation algorithm. describe the main strength and weaknesses of constraint programming and how constraint programming relates to other methods (local search and integer programming)

88 Organizational

89 Material Lecture notes (slides) available before the lectures Additional material book excerpts scientific articles notes written by me Modeling and Programming with Gecode

90 How to Pass? Pass exam has 200 (3 hour exam) exam points 100 total points needed grading scale linear (see www) Total pts = exam pts + bonus pts Bonus points from assignments at most 20 points

91 Assignments Four assignments each 5 bonus points if submitted in time one to three weeks for solving Points only valid in this academic year!

92 Assignment Tasks Exploration tasks small tryouts need to be done in order to do Submission tasks submit in time, get bonus points do them, do them submit to me by Both practical and principles

93 Software: Gecode Gecode C++ library course web: links to Gecode page Download and install at least version (available on Monday) Start reading Modeling and Programming with Gecode at the beginning of Part M are reading instructions

94 Contacting Christian Schulte other options (urgent cases), see my homepage

95 Summary Constraint programming is exciting! is fun! Understanding of principles and applications necessary Read the webpage

96 Acknowledgments I am grateful to Pierre Flener for helpful comments and bugreports on these slides

Constraint-Based Scheduling: A Tutorial

Constraint-Based Scheduling: A Tutorial Constraint-Based Scheduling: A Tutorial Claude Le Pape ILOG S. A. 9, rue de Verdun F-94253 Gentilly Cedex Tel: +33 1 49 08 29 67 Fax: +33 1 49 08 35 10 Email: clepape@ilog.fr Given a set of resources with

More information

Alternative Job-Shop Scheduling For Proton Therapy

Alternative Job-Shop Scheduling For Proton Therapy Alternative Job-Shop Scheduling For Proton Therapy Cyrille Dejemeppe ICTEAM, Université Catholique de Louvain (UCLouvain), Belgium, cyrille.dejemeppe@uclouvain.be Director: Yves Deville (ICTEAM, UCLouvain)

More information

Constraint Programming for Random Testing of a Trading System

Constraint Programming for Random Testing of a Trading System Constraint Programming for Random Testing of a Trading System Roberto Castañeda Lozano Master s thesis. Stockholm, January 28, 2010. School of Information and Communication Technology KTH Royal Institute

More information

INTEGER PROGRAMMING. Integer Programming. Prototype example. BIP model. BIP models

INTEGER PROGRAMMING. Integer Programming. Prototype example. BIP model. BIP models Integer Programming INTEGER PROGRAMMING In many problems the decision variables must have integer values. Example: assign people, machines, and vehicles to activities in integer quantities. If this is

More information

A Constraint Programming based Column Generation Approach to Nurse Rostering Problems

A Constraint Programming based Column Generation Approach to Nurse Rostering Problems Abstract A Constraint Programming based Column Generation Approach to Nurse Rostering Problems Fang He and Rong Qu The Automated Scheduling, Optimisation and Planning (ASAP) Group School of Computer Science,

More information

Scheduling Shop Scheduling. Tim Nieberg

Scheduling Shop Scheduling. Tim Nieberg Scheduling Shop Scheduling Tim Nieberg Shop models: General Introduction Remark: Consider non preemptive problems with regular objectives Notation Shop Problems: m machines, n jobs 1,..., n operations

More information

Heuristics for Dynamically Adapting Constraint Propagation in Constraint Programming

Heuristics for Dynamically Adapting Constraint Propagation in Constraint Programming Heuristics for Dynamically Adapting Constraint Propagation in Constraint Programming Kostas Stergiou AI Lab University of the Aegean Greece CPAIOR 09 Workshop on Bound reduction techniques for CP and MINLP

More information

Keywords: Power Transmission Networks, Maintenance Scheduling problem, Hybrid Constraint Methods, Constraint Programming

Keywords: Power Transmission Networks, Maintenance Scheduling problem, Hybrid Constraint Methods, Constraint Programming SCHEDULING MAINTENANCE ACTIVITIES OF ELECTRIC POWER TRANSMISSION NETWORKS USING AN HYBRID CONSTRAINT METHOD Nuno Gomes, Raul Pinheiro, ZitaVale, Carlos Ramos GECAD Knowledge Engineering and Decision Support

More information

Scheduling Constraints and Disjunctive Constraints

Scheduling Constraints and Disjunctive Constraints DISJUNCTIVE CONSTRAINTS FOR MANUFACTURING SCHEDULING: PRINCIPLES AND EXTENSIONS PHILIPPE BAPTISTE and CLAUDE LE PAPE ILOG S.A., 2 Avenue Gallieni, BP 85 F-94253 Gentilly Cedex FRANCE E-mail: baptiste@ilog.fr

More information

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits Outline NP-completeness Examples of Easy vs. Hard problems Euler circuit vs. Hamiltonian circuit Shortest Path vs. Longest Path 2-pairs sum vs. general Subset Sum Reducing one problem to another Clique

More information

A Constraint Programming Application for Rotating Workforce Scheduling

A Constraint Programming Application for Rotating Workforce Scheduling A Constraint Programming Application for Rotating Workforce Scheduling Markus Triska and Nysret Musliu Database and Artificial Intelligence Group Vienna University of Technology {triska,musliu}@dbai.tuwien.ac.at

More information

Just-In-Time Scheduling with Constraint Programming

Just-In-Time Scheduling with Constraint Programming Just-In-Time Scheduling with Constraint Programming Jean-Noël Monette and Yves Deville Computing Sciences and Engineering Department Université catholique de Louvain 1348 Louvain-la-Neuve Belgium Pascal

More information

Y. Xiang, Constraint Satisfaction Problems

Y. Xiang, Constraint Satisfaction Problems Constraint Satisfaction Problems Objectives Constraint satisfaction problems Backtracking Iterative improvement Constraint propagation Reference Russell & Norvig: Chapter 5. 1 Constraints Constraints are

More information

The Problem of Scheduling Technicians and Interventions in a Telecommunications Company

The Problem of Scheduling Technicians and Interventions in a Telecommunications Company The Problem of Scheduling Technicians and Interventions in a Telecommunications Company Sérgio Garcia Panzo Dongala November 2008 Abstract In 2007 the challenge organized by the French Society of Operational

More information

Practical Guide to the Simplex Method of Linear Programming

Practical Guide to the Simplex Method of Linear Programming Practical Guide to the Simplex Method of Linear Programming Marcel Oliver Revised: April, 0 The basic steps of the simplex algorithm Step : Write the linear programming problem in standard form Linear

More information

Clustering and scheduling maintenance tasks over time

Clustering and scheduling maintenance tasks over time Clustering and scheduling maintenance tasks over time Per Kreuger 2008-04-29 SICS Technical Report T2008:09 Abstract We report results on a maintenance scheduling problem. The problem consists of allocating

More information

Integrating Benders decomposition within Constraint Programming

Integrating Benders decomposition within Constraint Programming Integrating Benders decomposition within Constraint Programming Hadrien Cambazard, Narendra Jussien email: {hcambaza,jussien}@emn.fr École des Mines de Nantes, LINA CNRS FRE 2729 4 rue Alfred Kastler BP

More information

Scheduling a sequence of tasks with general completion costs

Scheduling a sequence of tasks with general completion costs Scheduling a sequence of tasks with general completion costs Francis Sourd CNRS-LIP6 4, place Jussieu 75252 Paris Cedex 05, France Francis.Sourd@lip6.fr Abstract Scheduling a sequence of tasks in the acceptation

More information

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 General Integer Linear Program: (ILP) min c T x Ax b x 0 integer Assumption: A, b integer The integrality condition

More information

Scenario: Optimization of Conference Schedule.

Scenario: Optimization of Conference Schedule. MINI PROJECT 1 Scenario: Optimization of Conference Schedule. A conference has n papers accepted. Our job is to organize them in a best possible schedule. The schedule has p parallel sessions at a given

More information

A Constraint-Based Method for Project Scheduling with Time Windows

A Constraint-Based Method for Project Scheduling with Time Windows A Constraint-Based Method for Project Scheduling with Time Windows Amedeo Cesta 1 and Angelo Oddi 1 and Stephen F. Smith 2 1 ISTC-CNR, National Research Council of Italy Viale Marx 15, I-00137 Rome, Italy,

More information

Minerva Access is the Institutional Repository of The University of Melbourne

Minerva Access is the Institutional Repository of The University of Melbourne Minerva Access is the Institutional Repository of The University of Melbourne Author/s: Chu, Geoffrey G. Title: Improving combinatorial optimization Date: 2011 Citation: Chu, G. G. (2011). Improving combinatorial

More information

Sudoku as a SAT Problem

Sudoku as a SAT Problem Sudoku as a SAT Problem Inês Lynce IST/INESC-ID, Technical University of Lisbon, Portugal ines@sat.inesc-id.pt Joël Ouaknine Oxford University Computing Laboratory, UK joel@comlab.ox.ac.uk Abstract Sudoku

More information

Dimensioning an inbound call center using constraint programming

Dimensioning an inbound call center using constraint programming Dimensioning an inbound call center using constraint programming Cyril Canon 1,2, Jean-Charles Billaut 2, and Jean-Louis Bouquard 2 1 Vitalicom, 643 avenue du grain d or, 41350 Vineuil, France ccanon@fr.snt.com

More information

Optimal Vehicle Routing and Scheduling with Precedence Constraints and Location Choice

Optimal Vehicle Routing and Scheduling with Precedence Constraints and Location Choice Optimal Vehicle Routing and Scheduling with Precedence Constraints and Location Choice G. Ayorkor Korsah, Anthony Stentz, M. Bernardine Dias, and Imran Fanaswala Abstract To realize the vision of intelligent

More information

Charles Fleurent Director - Optimization algorithms

Charles Fleurent Director - Optimization algorithms Software Tools for Transit Scheduling and Routing at GIRO Charles Fleurent Director - Optimization algorithms Objectives Provide an overview of software tools and optimization algorithms offered by GIRO

More information

Smart Graphics: Methoden 3 Suche, Constraints

Smart Graphics: Methoden 3 Suche, Constraints Smart Graphics: Methoden 3 Suche, Constraints Vorlesung Smart Graphics LMU München Medieninformatik Butz/Boring Smart Graphics SS2007 Methoden: Suche 2 Folie 1 Themen heute Suchverfahren Hillclimbing Simulated

More information

Vehicle Routing and Job Shop Scheduling: What s the difference?

Vehicle Routing and Job Shop Scheduling: What s the difference? Vehicle Routing and Job Shop Scheduling: What s the difference? J. Christopher Beck Cork Constraint Computation Center University College Cork, Ireland c.beck@4c.ucc.ie Patrick Prosser and Evgeny Selensky

More information

A Tool for Generating Partition Schedules of Multiprocessor Systems

A Tool for Generating Partition Schedules of Multiprocessor Systems A Tool for Generating Partition Schedules of Multiprocessor Systems Hans-Joachim Goltz and Norbert Pieth Fraunhofer FIRST, Berlin, Germany {hans-joachim.goltz,nobert.pieth}@first.fraunhofer.de Abstract.

More information

Classification - Examples

Classification - Examples Lecture 2 Scheduling 1 Classification - Examples 1 r j C max given: n jobs with processing times p 1,...,p n and release dates r 1,...,r n jobs have to be scheduled without preemption on one machine taking

More information

A hybrid approach for solving real-world nurse rostering problems

A hybrid approach for solving real-world nurse rostering problems Presentation at CP 2011: A hybrid approach for solving real-world nurse rostering problems Martin Stølevik (martin.stolevik@sintef.no) Tomas Eric Nordlander (tomas.nordlander@sintef.no) Atle Riise (atle.riise@sintef.no)

More information

Abstract Title: Planned Preemption for Flexible Resource Constrained Project Scheduling

Abstract Title: Planned Preemption for Flexible Resource Constrained Project Scheduling Abstract number: 015-0551 Abstract Title: Planned Preemption for Flexible Resource Constrained Project Scheduling Karuna Jain and Kanchan Joshi Shailesh J. Mehta School of Management, Indian Institute

More information

Ant Colony Optimization and Constraint Programming

Ant Colony Optimization and Constraint Programming Ant Colony Optimization and Constraint Programming Christine Solnon Series Editor Narendra Jussien WILEY Table of Contents Foreword Acknowledgements xi xiii Chapter 1. Introduction 1 1.1. Overview of the

More information

D-optimal plans in observational studies

D-optimal plans in observational studies D-optimal plans in observational studies Constanze Pumplün Stefan Rüping Katharina Morik Claus Weihs October 11, 2005 Abstract This paper investigates the use of Design of Experiments in observational

More information

Scheduling Single Machine Scheduling. Tim Nieberg

Scheduling Single Machine Scheduling. Tim Nieberg Scheduling Single Machine Scheduling Tim Nieberg Single machine models Observation: for non-preemptive problems and regular objectives, a sequence in which the jobs are processed is sufficient to describe

More information

PROJECT-ORIENTED APPROACH TO PRODUCTION PLANNING AND SCHEDULING IN MAKE-TO-ORDER MANUFACTURING

PROJECT-ORIENTED APPROACH TO PRODUCTION PLANNING AND SCHEDULING IN MAKE-TO-ORDER MANUFACTURING Production Systems and Information Engineering Volume 2 (2004), pp. 23-36 23 PROJECT-ORIENTED APPROACH TO PRODUCTION PLANNING AND SCHEDULING IN MAKE-TO-ORDER MANUFACTURING PÉTER EGRI, ANDRÁS KOVÁCS, ANDRÁS

More information

Using Cloud Computing for Solving Constraint Programming Problems

Using Cloud Computing for Solving Constraint Programming Problems Using Cloud Computing for Solving Constraint Programming Problems Mohamed Rezgui, Jean-Charles Régin, and Arnaud Malapert Univ. Nice Sophia Antipolis, CNRS, I3S, UMR 7271, 06900 Sophia Antipolis, France

More information

Recovery of primal solutions from dual subgradient methods for mixed binary linear programming; a branch-and-bound approach

Recovery of primal solutions from dual subgradient methods for mixed binary linear programming; a branch-and-bound approach MASTER S THESIS Recovery of primal solutions from dual subgradient methods for mixed binary linear programming; a branch-and-bound approach PAULINE ALDENVIK MIRJAM SCHIERSCHER Department of Mathematical

More information

Single machine models: Maximum Lateness -12- Approximation ratio for EDD for problem 1 r j,d j < 0 L max. structure of a schedule Q...

Single machine models: Maximum Lateness -12- Approximation ratio for EDD for problem 1 r j,d j < 0 L max. structure of a schedule Q... Lecture 4 Scheduling 1 Single machine models: Maximum Lateness -12- Approximation ratio for EDD for problem 1 r j,d j < 0 L max structure of a schedule 0 Q 1100 11 00 11 000 111 0 0 1 1 00 11 00 11 00

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms

More information

The Entity-Relationship Model

The Entity-Relationship Model The Entity-Relationship Model 221 After completing this chapter, you should be able to explain the three phases of database design, Why are multiple phases useful? evaluate the significance of the Entity-Relationship

More information

M. Sugumaran / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (3), 2011, 1001-1006

M. Sugumaran / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (3), 2011, 1001-1006 A Design of Centralized Meeting Scheduler with Distance Metrics M. Sugumaran Department of Computer Science and Engineering,Pondicherry Engineering College, Puducherry, India. Abstract Meeting scheduling

More information

Constraint Programming and Scheduling

Constraint Programming and Scheduling Constraint Programming and Scheduling Materials from the course taught at HTWG Constanz, Germany Hana Rudová Faculty of Informatics, Masaryk University Brno, Czech Republic http://www.fi.muni.cz/~hanka

More information

A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem

A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem John Karlof and Peter Hocking Mathematics and Statistics Department University of North Carolina Wilmington Wilmington,

More information

InvGen: An Efficient Invariant Generator

InvGen: An Efficient Invariant Generator InvGen: An Efficient Invariant Generator Ashutosh Gupta and Andrey Rybalchenko Max Planck Institute for Software Systems (MPI-SWS) Abstract. In this paper we present InvGen, an automatic linear arithmetic

More information

A search based Sudoku solver

A search based Sudoku solver A search based Sudoku solver Tristan Cazenave Labo IA Dept. Informatique Université Paris 8, 93526, Saint-Denis, France, cazenave@ai.univ-paris8.fr Abstract. Sudoku is a popular puzzle. In this paper we

More information

Optimal Methods for Resource Allocation and Scheduling: a Cross-Disciplinary Survey

Optimal Methods for Resource Allocation and Scheduling: a Cross-Disciplinary Survey Noname manuscript No. (will be inserted by the editor) Optimal Methods for Resource Allocation and Scheduling: a Cross-Disciplinary Survey Michele Lombardi Michela Milano Submitted: December 2010 Abstract

More information

School Timetabling in Theory and Practice

School Timetabling in Theory and Practice School Timetabling in Theory and Practice Irving van Heuven van Staereling VU University, Amsterdam Faculty of Sciences December 24, 2012 Preface At almost every secondary school and university, some

More information

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows TECHNISCHE UNIVERSITEIT EINDHOVEN Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows Lloyd A. Fasting May 2014 Supervisors: dr. M. Firat dr.ir. M.A.A. Boon J. van Twist MSc. Contents

More information

Special Session on Integrating Constraint Programming and Operations Research ISAIM 2016

Special Session on Integrating Constraint Programming and Operations Research ISAIM 2016 Titles Special Session on Integrating Constraint Programming and Operations Research ISAIM 2016 1. Grammar-Based Integer Programming Models and Methods for Employee Scheduling Problems 2. Detecting and

More information

EFFICIENT KNOWLEDGE BASE MANAGEMENT IN DCSP

EFFICIENT KNOWLEDGE BASE MANAGEMENT IN DCSP EFFICIENT KNOWLEDGE BASE MANAGEMENT IN DCSP Hong Jiang Mathematics & Computer Science Department, Benedict College, USA jiangh@benedict.edu ABSTRACT DCSP (Distributed Constraint Satisfaction Problem) has

More information

A Generic Visualization Platform for CP

A Generic Visualization Platform for CP A Generic Visualization Platform for CP Helmut Simonis and Paul Davern and Jacob Feldman and Deepak Mehta and Luis Quesada and Mats Carlsson 2 Cork Constraint Computation Centre Department of Computer

More information

Discrete Optimization Introduction & applications

Discrete Optimization Introduction & applications Discrete Optimization 2013 1/21 Discrete Optimization Introduction & applications Bertrand Cornélusse ULg - Institut Montefiore 2013 Discrete Optimization 2013 2/21 Outline Introduction Some applications

More information

Lecture 2 Introduction to Data Flow Analysis

Lecture 2 Introduction to Data Flow Analysis Lecture 2 Introduction to Data Flow Analysis I. Introduction II. Example: Reaching definition analysis III. Example: Liveness analysis IV. A General Framework (Theory in next lecture) Reading: Chapter

More information

24. The Branch and Bound Method

24. The Branch and Bound Method 24. The Branch and Bound Method It has serious practical consequences if it is known that a combinatorial problem is NP-complete. Then one can conclude according to the present state of science that no

More information

Recommender Systems: Content-based, Knowledge-based, Hybrid. Radek Pelánek

Recommender Systems: Content-based, Knowledge-based, Hybrid. Radek Pelánek Recommender Systems: Content-based, Knowledge-based, Hybrid Radek Pelánek 2015 Today lecture, basic principles: content-based knowledge-based hybrid, choice of approach,... critiquing, explanations,...

More information

Data Mining Practical Machine Learning Tools and Techniques

Data Mining Practical Machine Learning Tools and Techniques Ensemble learning Data Mining Practical Machine Learning Tools and Techniques Slides for Chapter 8 of Data Mining by I. H. Witten, E. Frank and M. A. Hall Combining multiple models Bagging The basic idea

More information

Data Mining with R. Decision Trees and Random Forests. Hugh Murrell

Data Mining with R. Decision Trees and Random Forests. Hugh Murrell Data Mining with R Decision Trees and Random Forests Hugh Murrell reference books These slides are based on a book by Graham Williams: Data Mining with Rattle and R, The Art of Excavating Data for Knowledge

More information

A Constraint Based Agent for TAC-SCM

A Constraint Based Agent for TAC-SCM A Constraint Based Agent for TAC-SCM Student: David A. Burke Supervisor: Kenneth N. Brown Cork Constraint Computation Centre, Dept. of Comp. Science, UCC, Cork, Ireland d.burke@4c.ucc.ie, k.brown@cs.ucc.ie

More information

Constraint-based Scheduling *

Constraint-based Scheduling * Constraint-based Scheduling * Markus P.J. Fromherz Xerox PARC, 3333 Coyote Hill Road, Palo Alto, CA 94304, USA www.parc.com/fromherz Abstract Constraint-based scheduling has become the dominant form of

More information

Sport Timetabling. Outline DM87 SCHEDULING, TIMETABLING AND ROUTING. Outline. Lecture 15. 1. Problem Definitions

Sport Timetabling. Outline DM87 SCHEDULING, TIMETABLING AND ROUTING. Outline. Lecture 15. 1. Problem Definitions Outline DM87 SCHEDULING, TIMETABLING AND ROUTING Lecture 15 Sport Timetabling 1. Problem Definitions Marco Chiarandini DM87 Scheduling, Timetabling and Routing 2 Problems we treat: single and double round-robin

More information

Diagnosis of Simple Temporal Networks

Diagnosis of Simple Temporal Networks Diagnosis of Simple Temporal Networks Nico Roos 1 and Cees Witteveen 2 Abstract. In many domains successful execution of plans requires careful monitoring and repair. Diagnosis of plan execution supports

More information

Checking for Dimensional Correctness in Physics Equations

Checking for Dimensional Correctness in Physics Equations Checking for Dimensional Correctness in Physics Equations C.W. Liew Department of Computer Science Lafayette College liew@cs.lafayette.edu D.E. Smith Department of Computer Science Rutgers University dsmith@cs.rutgers.edu

More information

Generating models of a matched formula with a polynomial delay

Generating models of a matched formula with a polynomial delay Generating models of a matched formula with a polynomial delay Petr Savicky Institute of Computer Science, Academy of Sciences of Czech Republic, Pod Vodárenskou Věží 2, 182 07 Praha 8, Czech Republic

More information

Integrated maintenance scheduling for semiconductor manufacturing

Integrated maintenance scheduling for semiconductor manufacturing Integrated maintenance scheduling for semiconductor manufacturing Andrew Davenport davenport@us.ibm.com Department of Business Analytics and Mathematical Science, IBM T. J. Watson Research Center, P.O.

More information

Noncommercial Software for Mixed-Integer Linear Programming

Noncommercial Software for Mixed-Integer Linear Programming Noncommercial Software for Mixed-Integer Linear Programming J. T. Linderoth T. K. Ralphs December, 2004. Revised: January, 2005. Abstract We present an overview of noncommercial software tools for the

More information

Lecture 10: Regression Trees

Lecture 10: Regression Trees Lecture 10: Regression Trees 36-350: Data Mining October 11, 2006 Reading: Textbook, sections 5.2 and 10.5. The next three lectures are going to be about a particular kind of nonlinear predictive model,

More information

npsolver A SAT Based Solver for Optimization Problems

npsolver A SAT Based Solver for Optimization Problems npsolver A SAT Based Solver for Optimization Problems Norbert Manthey and Peter Steinke Knowledge Representation and Reasoning Group Technische Universität Dresden, 01062 Dresden, Germany peter@janeway.inf.tu-dresden.de

More information

CSE 4351/5351 Notes 7: Task Scheduling & Load Balancing

CSE 4351/5351 Notes 7: Task Scheduling & Load Balancing CSE / Notes : Task Scheduling & Load Balancing Task Scheduling A task is a (sequential) activity that uses a set of inputs to produce a set of outputs. A task (precedence) graph is an acyclic, directed

More information

A Column-Generation and Branch-and-Cut Approach to the Bandwidth-Packing Problem

A Column-Generation and Branch-and-Cut Approach to the Bandwidth-Packing Problem [J. Res. Natl. Inst. Stand. Technol. 111, 161-185 (2006)] A Column-Generation and Branch-and-Cut Approach to the Bandwidth-Packing Problem Volume 111 Number 2 March-April 2006 Christine Villa and Karla

More information

DESIGN AND DEVELOPMENT OF CSP TECHNIQUES FOR FINDING ROBUST SOLUTIONS IN JOB-SHOP SCHEDULING PROBLEMS WITH OPERATORS

DESIGN AND DEVELOPMENT OF CSP TECHNIQUES FOR FINDING ROBUST SOLUTIONS IN JOB-SHOP SCHEDULING PROBLEMS WITH OPERATORS UNIVERSIDAD POLITÉCNICA DE VALENCIA DEPARTAMENTO DE SISTEMAS INFORMÁTICOS Y COMPUTACIÓN DESIGN AND DEVELOPMENT OF CSP TECHNIQUES FOR FINDING ROBUST SOLUTIONS IN JOB-SHOP SCHEDULING PROBLEMS WITH OPERATORS

More information

Decision Trees from large Databases: SLIQ

Decision Trees from large Databases: SLIQ Decision Trees from large Databases: SLIQ C4.5 often iterates over the training set How often? If the training set does not fit into main memory, swapping makes C4.5 unpractical! SLIQ: Sort the values

More information

FUZZY CLUSTERING ANALYSIS OF DATA MINING: APPLICATION TO AN ACCIDENT MINING SYSTEM

FUZZY CLUSTERING ANALYSIS OF DATA MINING: APPLICATION TO AN ACCIDENT MINING SYSTEM International Journal of Innovative Computing, Information and Control ICIC International c 0 ISSN 34-48 Volume 8, Number 8, August 0 pp. 4 FUZZY CLUSTERING ANALYSIS OF DATA MINING: APPLICATION TO AN ACCIDENT

More information

WORKFLOW ENGINE FOR CLOUDS

WORKFLOW ENGINE FOR CLOUDS WORKFLOW ENGINE FOR CLOUDS By SURAJ PANDEY, DILEBAN KARUNAMOORTHY, and RAJKUMAR BUYYA Prepared by: Dr. Faramarz Safi Islamic Azad University, Najafabad Branch, Esfahan, Iran. Workflow Engine for clouds

More information

The Bi-Objective Pareto Constraint

The Bi-Objective Pareto Constraint The Bi-Objective Pareto Constraint Renaud Hartert and Pierre Schaus UCLouvain, ICTEAM, Place Sainte Barbe 2, 1348 Louvain-la-Neuve, Belgium {renaud.hartert,pierre.schaus}@uclouvain.be Abstract. Multi-Objective

More information

PPD: Scheduling and Load Balancing 2

PPD: Scheduling and Load Balancing 2 PPD: Scheduling and Load Balancing 2 Fernando Silva Computer Science Department Center for Research in Advanced Computing Systems (CRACS) University of Porto, FCUP http://www.dcc.fc.up.pt/~fds 2 (Some

More information

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm. Approximation Algorithms 11 Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of three

More information

Binary Image Reconstruction

Binary Image Reconstruction A network flow algorithm for reconstructing binary images from discrete X-rays Kees Joost Batenburg Leiden University and CWI, The Netherlands kbatenbu@math.leidenuniv.nl Abstract We present a new algorithm

More information

Interactive Timetabling

Interactive Timetabling Interactive Timetabling Tomáš Müller, Roman Barták * Charles University Department of Theoretical Computer Science Malostranské náměstí 2/25, Praha 1, Czech Republic tomas.muller@st.mff.cuni.cz bartak@kti.mff.cuni.cz

More information

Tutorial: Operations Research in Constraint Programming

Tutorial: Operations Research in Constraint Programming Tutorial: Operations Research in Constraint Programming John Hooker Carnegie Mellon University May 2009 Revised June 2009 May 2009 Slide 1 Motivation Benders decomposition allows us to apply CP and OR

More information

Scheduling of Mixed Batch-Continuous Production Lines

Scheduling of Mixed Batch-Continuous Production Lines Université Catholique de Louvain Faculté des Sciences Appliquées Scheduling of Mixed Batch-Continuous Production Lines Thèse présentée en vue de l obtention du grade de Docteur en Sciences Appliquées par

More information

The Minimum Consistent Subset Cover Problem and its Applications in Data Mining

The Minimum Consistent Subset Cover Problem and its Applications in Data Mining The Minimum Consistent Subset Cover Problem and its Applications in Data Mining Byron J Gao 1,2, Martin Ester 1, Jin-Yi Cai 2, Oliver Schulte 1, and Hui Xiong 3 1 School of Computing Science, Simon Fraser

More information

Unique column combinations

Unique column combinations Unique column combinations Arvid Heise Guest lecture in Data Profiling and Data Cleansing Prof. Dr. Felix Naumann Agenda 2 Introduction and problem statement Unique column combinations Exponential search

More information

CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014)

CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014) CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014) CSTA Website Oracle Website Oracle Contact http://csta.acm.org/curriculum/sub/k12standards.html https://academy.oracle.com/oa-web-introcs-curriculum.html

More information

Solving the chemotherapy outpatient scheduling problem with constraint programming

Solving the chemotherapy outpatient scheduling problem with constraint programming Journal of Applied Operational Research (2014) 6(3), 135 144 Tadbir Operational Research Group Ltd. All rights reserved. www.tadbir.ca ISSN 1735-8523 (Print), ISSN 1927-0089 (Online) Solving the chemotherapy

More information

Creating a More Efficient Course Schedule at WPI Using Linear Optimization

Creating a More Efficient Course Schedule at WPI Using Linear Optimization Project Number: ACH1211 Creating a More Efficient Course Schedule at WPI Using Linear Optimization A Major Qualifying Project Report submitted to the Faculty of the WORCESTER POLYTECHNIC INSTITUTE in partial

More information

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams André Ciré University of Toronto John Hooker Carnegie Mellon University INFORMS 2014 Home Health Care Home health care delivery

More information

LABEL PROPAGATION ON GRAPHS. SEMI-SUPERVISED LEARNING. ----Changsheng Liu 10-30-2014

LABEL PROPAGATION ON GRAPHS. SEMI-SUPERVISED LEARNING. ----Changsheng Liu 10-30-2014 LABEL PROPAGATION ON GRAPHS. SEMI-SUPERVISED LEARNING ----Changsheng Liu 10-30-2014 Agenda Semi Supervised Learning Topics in Semi Supervised Learning Label Propagation Local and global consistency Graph

More information

Modeling and Solving the Capacitated Vehicle Routing Problem on Trees

Modeling and Solving the Capacitated Vehicle Routing Problem on Trees in The Vehicle Routing Problem: Latest Advances and New Challenges Modeling and Solving the Capacitated Vehicle Routing Problem on Trees Bala Chandran 1 and S. Raghavan 2 1 Department of Industrial Engineering

More information

Analysis of an Artificial Hormone System (Extended abstract)

Analysis of an Artificial Hormone System (Extended abstract) c 2013. This is the author s version of the work. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purpose or for creating

More information

Lecture 3. Linear Programming. 3B1B Optimization Michaelmas 2015 A. Zisserman. Extreme solutions. Simplex method. Interior point method

Lecture 3. Linear Programming. 3B1B Optimization Michaelmas 2015 A. Zisserman. Extreme solutions. Simplex method. Interior point method Lecture 3 3B1B Optimization Michaelmas 2015 A. Zisserman Linear Programming Extreme solutions Simplex method Interior point method Integer programming and relaxation The Optimization Tree Linear Programming

More information

Efficiency of algorithms. Algorithms. Efficiency of algorithms. Binary search and linear search. Best, worst and average case.

Efficiency of algorithms. Algorithms. Efficiency of algorithms. Binary search and linear search. Best, worst and average case. Algorithms Efficiency of algorithms Computational resources: time and space Best, worst and average case performance How to compare algorithms: machine-independent measure of efficiency Growth rate Complexity

More information

Optimal Scheduling for Dependent Details Processing Using MS Excel Solver

Optimal Scheduling for Dependent Details Processing Using MS Excel Solver BULGARIAN ACADEMY OF SCIENCES CYBERNETICS AND INFORMATION TECHNOLOGIES Volume 8, No 2 Sofia 2008 Optimal Scheduling for Dependent Details Processing Using MS Excel Solver Daniela Borissova Institute of

More information

a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a 2n x n = b 2.

a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a 2n x n = b 2. Chapter 1 LINEAR EQUATIONS 1.1 Introduction to linear equations A linear equation in n unknowns x 1, x,, x n is an equation of the form a 1 x 1 + a x + + a n x n = b, where a 1, a,..., a n, b are given

More information

Load Balancing. Load Balancing 1 / 24

Load Balancing. Load Balancing 1 / 24 Load Balancing Backtracking, branch & bound and alpha-beta pruning: how to assign work to idle processes without much communication? Additionally for alpha-beta pruning: implementing the young-brothers-wait

More information

Clustering. 15-381 Artificial Intelligence Henry Lin. Organizing data into clusters such that there is

Clustering. 15-381 Artificial Intelligence Henry Lin. Organizing data into clusters such that there is Clustering 15-381 Artificial Intelligence Henry Lin Modified from excellent slides of Eamonn Keogh, Ziv Bar-Joseph, and Andrew Moore What is Clustering? Organizing data into clusters such that there is

More information

A. TRUE-FALSE: GROUP 2 PRACTICE EXAMPLES FOR THE REVIEW QUIZ:

A. TRUE-FALSE: GROUP 2 PRACTICE EXAMPLES FOR THE REVIEW QUIZ: GROUP 2 PRACTICE EXAMPLES FOR THE REVIEW QUIZ: Review Quiz will contain very similar question as below. Some questions may even be repeated. The order of the questions are random and are not in order of

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 27 Approximation Algorithms Load Balancing Weighted Vertex Cover Reminder: Fill out SRTEs online Don t forget to click submit Sofya Raskhodnikova 12/6/2011 S. Raskhodnikova;

More information

Planning and Scheduling in the Digital Factory

Planning and Scheduling in the Digital Factory Institute for Computer Science and Control Hungarian Academy of Sciences Berlin, May 7, 2014 1 Why "digital"? 2 Some Planning and Scheduling problems 3 Planning for "one-of-a-kind" products 4 Scheduling

More information

CS Master Level Courses and Areas COURSE DESCRIPTIONS. CSCI 521 Real-Time Systems. CSCI 522 High Performance Computing

CS Master Level Courses and Areas COURSE DESCRIPTIONS. CSCI 521 Real-Time Systems. CSCI 522 High Performance Computing CS Master Level Courses and Areas The graduate courses offered may change over time, in response to new developments in computer science and the interests of faculty and students; the list of graduate

More information