 Resource Constraint Propagation (Non-Preemptive Case)

Slides:



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

Primal-dual Algorithm for Convex Markov Random Fields Vladimir Kolmogorov University College London GDR (Optimisation Discrète, Graph Cuts et Analyse d'Images)
1-1 Constraint-based Scheduling Claude Le Pape. 1-2 Outline Introduction Scheduling constraints Non-preemptive scheduling –Temporal constraints –Resource.
Algorithm Design Methods Spring 2007 CSE, POSTECH.
University of Toronto Mechanical & Industrial Engineering An Introduction to Constraint Programming Part II: Solving Scheduling Problems J. Christopher.
5-1 Problem-Solving Examples (Non-Preemptive Case)
1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized.
ICS-271:Notes 5: 1 Lecture 5: Constraint Satisfaction Problems ICS 271 Fall 2008.
© Imperial College London Eplex: Harnessing Mathematical Programming Solvers for Constraint Logic Programming Kish Shen and Joachim Schimpf IC-Parc.
Hybridisation Solver Cooperation in ECLiPSe. 2 Introduction  Motivation  Sending Constraints to Different Solvers  Probing  Column Generation  Motivation.
CLASSICAL LOGIC and FUZZY LOGIC. CLASSICAL LOGIC In classical logic, a simple proposition P is a linguistic, or declarative, statement contained within.
Discrete Optimization Shi-Chung Chang. Discrete Optimization Lecture #1 Today: Reading Assignments 1.Chapter 1 and the Appendix of [Pas82] 2.Chapter 1.
Precedence Constrained Scheduling Abhiram Ranade Dept. of CSE IIT Bombay.
6-1 Temporal Constraint Propagation (Preemptive Case)
2-1 Scheduling Constraints. 2-2 Outline Activities Temporal constraints Resources Resource constraints (mono-activity) Resource constraints (two activities)
9-1 Applications. 9-2 Outline Moulding shop scheduling (MSS) Construction site scheduling (CSS)
 Resource Constraint Propagation (Preemptive Case)
Solving Partial Order Constraints for LPO termination.
© J. Christopher Beck Lecture 4: Project Planning 1.
A New Efficient Algorithm for Solving the Simple Temporal Problem Lin Xu & Berthe Y. Choueiry Constraint Systems Laboratory University of Nebraska-Lincoln.
Jean-Charles REGIN Michel RUEHER ILOG Sophia Antipolis Université de Nice – Sophia Antipolis A global constraint combining.
1 Consistency algorithms Chapter 3. Spring 2007 ICS 275A - Constraint Networks 2 Consistency methods Approximation of inference: Arc, path and i-consistecy.
 Temporal Constraint Propagation (Non-Preemptive Case)
8-1 Problem-Solving Examples (Preemptive Case). 8-2 Outline Preemptive job-shop scheduling problem (P-JSSP) –Problem definition –Basic search procedure.
© J. Christopher Beck Lecture 11: Constraint Programming 1.
Constraint Programming An Appetizer Christian Schulte Laboratory of Electronics and Computer Systems Institute of Microelectronics.
Distributed Scheduling. What is Distributed Scheduling? Scheduling: –A resource allocation problem –Often very complex set of constraints –Tied directly.
Job Shop Reformulation of Vehicle Routing Evgeny Selensky University of Glasgow
Themes of Presentations Rule-based systems/expert systems (Catie) Software Engineering (Khansiri) Fuzzy Logic (Mark) Configuration Systems (Sudhan) *
Industrial Applications of Constraint Based Scheduling Helmut Simonis Parc Technologies Ltd IC-Parc, Imperial College London Helmut Simonis Parc Technologies.
© J. Christopher Beck Lecture 13: Assembly Line Scheduling – The Car Sequencing Problem.
Internet Engineering Czesław Smutnicki Discrete Mathematics – Computational Complexity.
Introduction to Job Shop Scheduling Problem Qianjun Xu Oct. 30, 2001.
Shop Scheduling Reformulation of Vehicle Routing Evgeny Selensky Dept of Computing Science Glasgow University.
Jobshop scheduling. We have a set of resources a set of jobs a job is a sequence of operations/activities sequence the activities on the resources.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Review for E&CE Find the minimal cost spanning tree for the graph below (where Values on edges represent the costs). 3 Ans. 18.
Real-Time Systems Mark Stanovich. Introduction System with timing constraints (e.g., deadlines) What makes a real-time system different? – Meeting timing.
Computer Science CPSC 322 Lecture 13 Arc Consistency (4.5, 4.6 ) Slide 1.
1 Boosting-based parse re-ranking with subtree features Taku Kudo Jun Suzuki Hideki Isozaki NTT Communication Science Labs.
Decision Diagrams for Sequencing and Scheduling Andre Augusto Cire Joint work with David Bergman, Willem-Jan van Hoeve, and John Hooker Tepper School of.
Chapter 1. Formulations 1. Integer Programming  Mixed Integer Optimization Problem (or (Linear) Mixed Integer Program, MIP) min c’x + d’y Ax +
Discrete Optimization Lecture 3 – Part 1 M. Pawan Kumar Slides available online
Probabilistic Inference Lecture 5 M. Pawan Kumar Slides available online
C. Le Pape1 Constraint Programming, Planning and Scheduling with Time and Resource Constraints Claude Le Pape - ILOG S.A. Disclaimer: not (at all) a complete.
Scheduling with Constraint Programming February 24/25, 2000.
Roman Barták Visopt B.V. (NL) / Charles University (CZ) IP&S in complex and dynamic areas Visopt Experience.
CONSTRAINT-BASED SCHEDULING AND PLANNING Speaker: Olufikayo Adetunji CSCE 921 4/08/2013Olufikayo Adetunji 1 Authors: Philippe Baptiste, Philippe Laborie,
Chapter 2) CSP solving-An overview Overview of CSP solving techniques: problem reduction, search and solution synthesis Analyses of the characteristics.
TTCN-3 and ASN.1 interworking Analysis of backward compatibility in ASN.1 Géza Horváth TTCN-3 User Conference – 9 June 2011.
Discrete Optimization Lecture 2 – Part 2 M. Pawan Kumar Slides available online
1 Constraint Satisfaction Problems Chapter 5 Section 1 – 3 Grand Challenge:
Outline Schedule and scheduling Mathematical models
Constraint Programming in Operations Management
Chapter 5 Team Teaching AI (created by Dewi Liliana) PTIIK Constraint Satisfaction Problems.
Spatial Forest Planning with Integer Programming Lecture 10 (5/4/2015)
Using Constructive Search in Resource Scheduling By Andrei Missine.
Inference in Propositional Logic (and Intro to SAT) CSE 473.
Jobshop scheduling.
Scheduling with Constraint Programming
Introduction to Optimization
CLASSICAL LOGIC and FUZZY LOGIC
Introduction to Optimization
Integer Programming (정수계획법)
Chapter 1. Formulations (BW)
Introduction to Optimization
Integer Programming (정수계획법)
Chapter 1. Formulations.
Constraint based scheduling
Consistency algorithms
Presentation transcript:

 Resource Constraint Propagation (Non-Preemptive Case)

 Outline Classes of resources Constraint propagation models –Explicit time-tables –Disjunctive constraints –Energetic reasoning –Edge finding (task intervals) Comparison

 Classes of resources Unary resources Discrete resources State resources Energetic resources

 Unary resources AB C time Main resources in 4/10 problems Example: one individual machine or person

 Discrete resources Main resources in 5/10 problems Example: group of identical machines A B D time C

 State resources Main resources in 1/20 problems Example: oven with different temperatures D time A B C

 Energetic resources Main resources in 1/20 problems Example: number of man-days per week AB time C

 Constraint propagation models Explicit time-tables Disjunctive constraints Energetic reasoning Edge finding (task intervals)

 Explicit time-tables (UD) W A (t)  [start(A)  t  end(A)]  t,  A  W A (t) * capacity(A)]  capacity(t) AB C time C

 Explicit time-tables (S) W A (t)  [start(A)  t  end(A)]  t, W A (t) implies [state(A)  state(t)] D time A B C D

 Explicit time-tables (E)  A (I)  max(0, end min (A)  start(I))  A (I)  max(0, end(I)  start max (A))  (I)  end(I)  start(I)  (A)  duration min (A) W A (I)  min(  A (I),  A (I),  (I),  (A))  A  W A (I) * capacity(A)]  capacity(I)

 Explicit time-tables (E) AB time C

 Explicit time-tables: 2 models Discrete array Sequential table or binary tree time A B C D

 Explicit time-tables: extensions Minimal capacity constraints (UDE) Default state (S) Constraints between time-tables or between time-tables and other variables (UDES)

 Disjunctive constraints (U) [end(A)  start(B)] OR [end(B)  start(A)] [end min (A)  start max (B)] implies [end(B)  start(A)] [end min (B)  start max (A)] implies [end(A)  start(B)]

 Disjunctive constraints (U) Optional activities –Resource alternatives –Sub-contracts Transition times –Tool setups –Color changes –Cleaning

 Disjunctive constraints (U) [end(A)  ttime(A, B)  start(B)] OR [end(B)  ttime(B, A)  start(A)] OR [duration(A)  0] OR [duration(B)  0] OR [capacity(A)  0] OR [capacity(B)  0]

 Disjunctive constraints (D) Redundant (but insufficient!) constraint [end(A)  start(B)] OR [end(B)  start(A)] OR [duration(A)  0] OR [duration(B)  0] OR [capacity(A)  capacity(B)  capacity]

 Disjunctive constraints (S) [end(A)  ttime(A, B)  start(B)] OR [end(B)  ttime(B, A)  start(A)] OR [duration(A)  0] OR [duration(B)  0] OR [state(A)  state(B)]

 Energetic reasoning (UD)  A (I)  max(0, end min (A)  start(I))  A (I)  max(0, end(I)  start max (A))  (I)  end(I)  start(I)  (A)  duration min (A) W A (I)  min(  A (I),  A (I),  (I),  (A))  A  W A (I) * capacity(A)]  capacity(I)

 Energetic reasoning (UD) Habographs [Beck 92] –Intervals: [i .. j  ) or [  i ..  j  ) Energetic resources [Le Pape 94] –Intervals: [i .. (i  1)  ) or [  i ..  (i  1)  ) Energetic reasoning rules [Lopez 91] –Intervals: [start min (A).. end max (B)) or [start min (A).. x)

 Energetic reasoning (U) I  [start min (A).. end max (B))  (I)   C  A,B W C (I)   (A)   (B) implies [end(B)  start(A)] A[1..8  2  3..10] B[0..3  2  2..5] C[2..4  1  3..5] I  [1.. 5) [4  1  2  2] implies [2  start(A)]

 Energetic reasoning (U) start(I)  start min (A)  (I)   C  A W C (I)  min(  (A),  (I)) implies [start(I)   C  A W C (I)  start(A)] A[0..11  6  6..17] B[1..7  4  5..11] C[1..8  3  4..11] I  [0.. 11) [11  4  3  6] implies [7  start(A)]

 Edge finding (U) Basic idea Prove that an activity A executes before (or after) a set of other activities  Notations s min (  )  min B  start min (B) e max (  )  max B  end max (B) d min (  )   B  duration min (B)

 Edge finding (U) e max (  )  s min (  {A})  d min (  {A}) implies [s min (  ')  d min (  ')  start(A)] for every  ' included in  A[0..11  6  6..17] B[1..7  4  5..11] C[1..8  3  4..11]   {B C} [11  0  13] implies [1  7  start(A)]

 Edge finding (U) Jackson's Preemptive Schedule [Pinson 88] [Carlier & Pinson 90/94] –O(n 2 ) O(n*log(n)) Iterative algorithm [Nuijten 93/94] –O(n 2 ) with no specific data structure Task intervals [Caseau & Laburthe 94] –O(n 3 ) –Incremental –More deductions  more precise time-bounds

 Edge finding (U) "Not-first" deduction rule e max (  )  s min (A)  d min (  {A}) implies [min B  (s min (  )  d min (  ))  start(A)] [Nuijten 94] [Caseau & Laburthe 94] [Baptiste & Le Pape 96]: Complete application in O(n 2 ) time and O(n) space

 Edge finding (U) "Not-first" deduction rule with knapsack   s min (A)  d min (  {A})  e max (  )  implies [min  ' |  '  (s min (  ')  d min (  '))  start(A)] with  (  ') defined as [    ' OR   d min (  ')] Complete application in exponential time (includes the NP-complete knapsack problem) Partial application [Caseau & Laburthe 95]

 Comparison Theoretical results –Unique fixpoint semantics –Modelling power –Time and space complexity –Pruning power Experimental results

 Unique fixpoint semantics Time-tables YES arc-consistency (bounds) Disjunctive constraints YES arc-consistency (bounds) Habographs YES arc-consistency (bounds) Energetic resources YES arc-consistency (bounds) Energetic rules NO [Baptiste 95] Edge finding [CP90/94] YES proof in [Pinson 88] Edge finding [N93] YES proof in [Nuijten 94] Task intervals [CL94] NO [Baptiste & Le Pape 95]

 Modelling power (as of today) Explicit time-tables Disjunctive constraints Task intervals Energetic resources Habographs Energetic rules Edge finding

 Time and space complexity Time-tables O(n*h) O(n 2 ) Incr.O(h) O(n) Disjunctive constraints O(n 2 )Incr.O(n) Habographs O(n*(h/  ) 2 )Incr.O((h/  ) 2 ) Energetic resources O(n*h/  ) O(n 2 )Incr.O(h/  ) O(n) Energetic rules O(n 3 )O(n) Edge finding [CP90/94] O(n 2 ) O(n*log(n))O(n) Edge finding [N93] O(n 2 )O(n) Task intervals [CL94] O(n 3 )Incr.O(n 2 )

 Pruning power (U) Edge finding + not-first/not-last Disjunctive constraints Edge finding + disjunctive Energetic rules Edge finding (basic) Explicit time-tables Energetic resources Habographs

 MT06 CAR1 CAR2 CAR3 CAR4 CAR5 CAR6 CAR7 CAR8 MT10 Edge finding [Nuijten et al 93] Number of failsCPU time Energetic reasoning [Erschler et al 91] Number of failsCPU time Experiments (10/80)