Download presentation
Presentation is loading. Please wait.
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)
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.