Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: " Resource Constraint Propagation (Non-Preemptive Case)"— Presentation transcript:

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

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

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

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

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

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

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

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

9  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

10  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

11  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)

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

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

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

15  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)]

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

17  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]

18  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]

19  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)]

20  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)

21  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)

22  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)]

23  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)]

24  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)

25  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)]

26  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

27  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

28  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]

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

30  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]

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

32  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 )

33  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

34  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) 2525 2 10 2 15


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

Similar presentations


Ads by Google