Presentation is loading. Please wait.

Presentation is loading. Please wait.

 Resource Constraint Propagation (Preemptive Case)

Similar presentations


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

1  Resource Constraint Propagation (Preemptive Case)

2  Outline Constraint propagation models –Explicit time-tables –Disjunctive constraints –Energetic reasoning –Edge finding (task intervals) –Network flows Comparison

3  Constraint propagation models Explicit time-tables Disjunctive constraints Energetic reasoning Edge finding (task intervals) Network flows

4  Explicit time-tables (UD) W A (t)  [t  set(A)]  t,  A  W A (t) * capacity(A)]  capacity(t) C AB time AB B A

5  Explicit time-tables (S) W A (t)  [t  set(A)]  t, W A (t) implies [state(A)  state(t)] time A B CAA A C B

6  Explicit time-tables (E) pos(A) = {t such that W A (t) can be 1} slack(A) = |pos(A)|  duration min (A) nec A (I) = {t  I such that W A (t) is 1} pos A (I) = {t  I such that W A (t) can be 1} W A (I)  max(|nec A (I)|, |pos A (I)|  slack(A))  A  W A (I) * capacity(A)]  capacity(I)

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

8  Disjunctive constraints (U)  t, [t  set(A)] OR [t  set(B)] Redundant constraint [start(A)  duration(A)  duration(B)  end(B)] OR [start(B)  duration(B)  duration(A)  end(A)] OR [start(A)  duration(A)  duration(B)  end(A)] OR [start(B)  duration(B)  duration(A)  end(B)] Remove third disjunct if B cannot interrupt A Remove fourth disjunct if A cannot interrupt B

9  Disjunctive constraints (U) Optional activities –Resource alternatives –Sub-contracts Transition times –Tool setups –Color changes –Cleaning

10  Disjunctive constraints (U)  t A t B ) such that [t B  t A  ttime(A, B)] and [t A  t B  ttime(B, A)] [t A  set(A)] OR [t B  set(B)] OR [capacity(A)  0] OR [capacity(B)  0]

11  Disjunctive constraints (U) Redundant constraint duration(A  B)  duration(A)  ttime(A, B)  duration(B) duration(A  B  A)  duration(AB)  ttime(B, A) [start(A)  duration(A  B)  end(B)] OR [start(B)  duration(B  A)  end(A)] OR [start(A)  duration(A  B  A)  end(A)] OR [start(B)  duration(B  A  B)  end(B)] OR [capacity(A)  0] OR [capacity(B)  0]

12  Disjunctive constraints (D) Redundant (but insufficient!) constraints  t, [t  set(A)] OR [t  set(B)] OR [capacity(A)  capacity(B)  capacity] [start(A)  duration(A)  duration(B)  end(B)] OR [start(B)  duration(B)  duration(A)  end(A)] OR [start(A)  duration(A)  duration(B)  end(A)] OR [start(B)  duration(B)  duration(A)  end(B)] OR [capacity(A)  capacity(B)  capacity]

13  Disjunctive constraints (S)  t A t B ) such that [t B  t A  ttime(A, B)] and [t A  t B  ttime(B, A)] [t A  set(A)] OR [t B  set(B)] OR [state(A)  state(B)]

14  Disjunctive constraints (S) Redundant constraint duration(A  B)  duration(A)  ttime(A, B)  duration(B) duration(A  B  A)  duration(AB)  ttime(B, A) [start(A)  duration(A  B)  end(B)] OR [start(B)  duration(B  A)  end(A)] OR [start(A)  duration(A  B  A)  end(A)] OR [start(B)  duration(B  A  B)  end(B)] OR [state(A)  state(B)]

15  Energetic reasoning (UD) pos(A) = {t such that W A (t) can be 1} slack(A) = |pos(A)|  duration min (A) nec A (I) = {t  I such that W A (t) is 1} pos A (I) = {t  I such that W A (t) can be 1} W A (I)  max(|nec A (I)|, |pos A (I)|  slack(A))  A  W A (I) * capacity(A)]  capacity(I)

16  Energetic reasoning (UD) Habographs –Intervals: [i .. j  ) or [  i ..  j  ) Energetic resources –Intervals: [i .. (i  1)  ) or [  i ..  (i  1)  ) Energetic reasoning rules –Intervals: [start min (A).. x) or [x.. end max (A))

17  Energetic reasoning (U) start(I)  start min (A)  (I)  end(I)  start(I)  (A)  duration min (A)  (I)   C  A W C (I)  min(  A),  (I)) implies [start(I)   C  A W C (I)   (A)  end(A)]

18  Energetic reasoning (U) 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 [13  end(A)]

19  Edge finding (U) Basic idea Prove that an activity A starts before (or ends 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)

20  Edge finding (U) e max (  )  s min (  {A})  d min (  {A}) implies [s min (  '  {A})  d min (  '  {A})  end(A)] for every  ' included in 

21  Edge finding (U) A[0..11  6  6..17] B[1..7  4  5..11] C[1..8  3  4..11]   {B C} [11  0  13] implies [0  13  end(A)]

22  Edge finding (U) Jackson's Preemptive Schedule [Baptiste 95] –Generalization of [Pinson 88] [Carlier & Pinson 90] to the mixed case Iterative algorithm [Le Pape & Baptiste 96] –Generalization of [Nuijten 93/94] to the mixed case –No specific data structure –More deductions: e max (  )  s min (  {A})  d min (  ) implies [e max (  )  start(A)]

23  Edge finding characterization (U) When A is not preemptable, computes: –the earliest time at which A could start –the latest time at which A could end if all the other activities were preemptable When A is preemptable, computes: –the earliest time at which A could end –the latest time at which A could start if all the other activities were preemptable

24  Network flows (U) Bipartite graph G(X, Y, E) for each resource R X  set of activities which require R Y  partition of the time horizon into n intervals [s i e i ), with e i  s i  1, such that the set {s 1... s n e n } includes all the time points at which information about W x (t), x  X, changes E  set of pairs (x, y), x  X, y  Y, such that x can execute during y

25  Network flows (U) A[0..5  5  5..10] B[0..8  4  7..12] [0 3) forbidden interval [3 6) A [3 5) C[5..12  3  14..15] B [5 6) forbidden interval [6 12) C [6 10) D[0..13  2  2..15] D [10 12) forbidden interval [3 6) [12 15)

26  Network flows (U) Minimal and maximal edge valuations  (x,y)  E, c min (x, y)  |y| if x is constrained to execute over y, c min (x, y)  0 otherwise  (x,y)  E, c max (x, y)  |y|

27  Network flows (U) The resource constraint is satisfiable if and only if there exists a compatible flow f such that:  x  X,  y such that (x, y)  E f(x, y)  duration(x)  y  Y,  x such that (x, y)  E f(x, y)  |y|  x,y)  E, c min (x, y)  f(x, y)  c max (x, y)

28  Network flows (U) A[0..5  5  5..10] B[0..8  4  7..12] [0 3) forbidden interval [3 6) A [3 5) C[5..12  3  14..15] B [5 6) forbidden interval [6 12) C [6 10) D[0..13  2  2..15] D [10 12) forbidden interval [3 6) [12 15)     

29  Network flows (U) Adjustment of edge capacities (AEC) For each edge (x, y), determine the minimal flow f min (x, y) and the maximal flow f max (x, y) that can pass through (x, y) f max (x, y)  0 implies  t  y, W x (t)  0 f min (x, y)  |y| implies  t  y, W x (t)  1 f min (x, [s i e i ))  d  0 implies [start(x)  e i  d] f min (x, [s i e i ))  d  0 implies [s i  d  end(x)]

30  Network flows (U) Global update of time bounds (GUTB) –Given activity x, find the minimal integer k such that there exists a compatible flow with f(x, y i ) = 0 for k  i –Find the minimal flow f min (x, y k ) under the constraint f(x, y i ) = 0 for k  i –Under these conditions, s k  f min (x, y k ) is the best possible earliest end time for x

31  Comparison Theoretical results –Unique fixpoint semantics –Modelling power –Time and space complexity –Pruning power Experimental results

32  Unique fixpoint semantics Time-tables YES arc-consistency (bounds) Disjunctive constraints YES arc-consistency (bounds) Edge finding [B95] YES proof in [Baptiste 95] Network flows (AEC) YES arc-consistency (bounds) Network flows (GUTB) YES arc-consistency (bounds)

33  Modelling power (as of today) Disjunctive constraints Explicit time-tables Energetic resources Habographs Energetic rules Edge finding Network flows

34  Time and space complexity Time-tables O(n i *h) O(n i 2 ) Incr.O(h) O(n i ) Disjunctive constraints O(n i 2 )Incr.O(n i ) Habographs O(n i *(h  ) 2 )Incr.O((h  ) 2 ) Energetic resources O(n i *h  ) O(n i 2 )Incr.O(h  ) O(n i ) Energetic rules O(n i 3 )O(n i ) Edge finding [B95] O(n i 2 )O(n i ) Edge finding [LB96] O(n i 2 )O(n i ) Network flows (AEC) O(n i 3 *h)Incr.O(n i 2 ) Network flows (GUTB) O(n i 3 *h)Incr.O(n i 2 )

35  Pruning power (U) Explicit time-tables Disjunctive constraints (standard) Edge-finding (  start min / end max ) Network flows (GUTB on all bounds) Energetic resources Habographs Disjunctive constraints (with redundant) Edge finding (basic)

36  MT06 CAR1 CAR2 CAR3 CAR4 CAR5 CAR6 CAR7 CAR8 MT10 Disjunctive constraint [Baptiste 95]Number of fails CPU time (RS6000) Network flow (GUTB) [Baptiste 95]Number of fails CPU time (RS6000) Edge finding [Le Pape & Baptiste 96]Number of fails CPU time (PC) 2525 2 10 2 15 Experiments (10/43)


Download ppt " Resource Constraint Propagation (Preemptive Case)"

Similar presentations


Ads by Google