resource constraint propagation (non-preemptive case)
Post on 20-Dec-2015
223 views
TRANSCRIPT
![Page 1: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/1.jpg)
1
Resource Constraint Propagation(Non-Preemptive Case)
![Page 2: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/2.jpg)
2
Outline
• Classes of resources
• Constraint propagation models– Explicit time-tables– Disjunctive constraints– Energetic reasoning– Edge finding (task intervals)
• Comparison
![Page 3: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/3.jpg)
3
Classes of resources
• Unary resources
• Discrete resources
• State resources
• Energetic resources
![Page 4: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/4.jpg)
Unary resources
A B
C
time
• Main resources in 4/10 problems
• Example: one individual machine or person
![Page 5: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/5.jpg)
5
Discrete resources
• Main resources in 5/10 problems
• Example: group of identical machines
A
B
Dtime
C
![Page 6: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/6.jpg)
6
State resources
• Main resources in 1/20 problems
• Example: oven with different temperatures
D
time
A
B
C
![Page 7: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/7.jpg)
7
Energetic resources
• Main resources in 1/20 problems
• Example: number of man-days per week
A B
timeC
![Page 8: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/8.jpg)
8
Constraint propagation models
• Explicit time-tables
• Disjunctive constraints
• Energetic reasoning
• Edge finding (task intervals)
![Page 9: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/9.jpg)
9
Explicit time-tables (UD)
• WA(t) [start(A) t end(A)]
• t, AWA(t) * capacity(A)] capacity(t)
A B
C
time
C
![Page 10: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/10.jpg)
10
Explicit time-tables (S)
• WA(t) [start(A) t end(A)]
• t, WA(t) implies [state(A) state(t)]
D
time
A
B
C
D
![Page 11: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/11.jpg)
11
Explicit time-tables (E)
• A(I) max(0, endmin(A) start(I))
• A(I) max(0, end(I) startmax(A))
• (I) end(I) start(I)
• (A) durationmin(A)
• WA(I) min(A(I), A(I), (I), (A))
• AWA(I) * capacity(A)] capacity(I)
![Page 12: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/12.jpg)
12
Explicit time-tables (E)
A B
time
C
![Page 13: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/13.jpg)
13
Explicit time-tables: 2 models
• Discrete array
• Sequential table or binary tree
time
A
B
C
D
![Page 14: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/14.jpg)
1
Explicit time-tables: extensions
• Minimal capacity constraints (UDE)
• Default state (S)
• Constraints between time-tables or between time-tables and other variables (UDES)
![Page 15: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/15.jpg)
15
Disjunctive constraints (U)
• [end(A) start(B)]
OR [end(B) start(A)]
• [endmin(A) startmax(B)]
implies [end(B) start(A)]
• [endmin(B) startmax(A)]
implies [end(A) start(B)]
![Page 16: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/16.jpg)
16
Disjunctive constraints (U)
• Optional activities– Resource alternatives
– Sub-contracts
• Transition times– Tool setups
– Color changes
– Cleaning
![Page 17: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/17.jpg)
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]
![Page 18: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/18.jpg)
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]
![Page 19: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/19.jpg)
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)]
![Page 20: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/20.jpg)
20
Energetic reasoning (UD)
• A(I) max(0, endmin(A) start(I))
• A(I) max(0, end(I) startmax(A))
• (I) end(I) start(I)
• (A) durationmin(A)
• WA(I) min(A(I), A(I), (I), (A))
• AWA(I) * capacity(A)] capacity(I)
![Page 21: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/21.jpg)
21
Energetic reasoning (UD)
• Habographs [Beck 92]– Intervals: [i .. j) or [i .. j)
• Energetic resources [Le Pape 94]– Intervals: [i .. (i1)) or [i .. (i1))
• Energetic reasoning rules [Lopez 91]– Intervals: [startmin(A) .. endmax(B)) or [startmin(A) .. x)
![Page 22: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/22.jpg)
22
Energetic reasoning (U)
• I [startmin(A) .. endmax(B))
• (I) CA,BWC(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)]
![Page 23: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/23.jpg)
23
Energetic reasoning (U)
• start(I) startmin(A)
• (I) CAWC(I) min((A), (I))
implies [start(I) CAWC(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)]
![Page 24: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/24.jpg)
2
Edge finding (U)
• Basic ideaProve that an activity A executes before (or after) a set of other activities
• Notationssmin() minB startmin(B)
emax() maxB endmax(B)
dmin() B durationmin(B)
![Page 25: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/25.jpg)
25
Edge finding (U)
• emax() smin({A}) dmin({A})
implies [smin(') dmin(') 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)]
![Page 26: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/26.jpg)
26
Edge finding (U)
• Jackson's Preemptive Schedule [Pinson 88] [Carlier & Pinson 90/94]– O(n2) O(n*log(n))
• Iterative algorithm [Nuijten 93/94]– O(n2) with no specific data structure
• Task intervals [Caseau & Laburthe 94]– O(n3)
– Incremental
– More deductions more precise time-bounds
![Page 27: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/27.jpg)
27
Edge finding (U)
• "Not-first" deduction rule
emax() smin(A) dmin({A})
implies [minB(smin() dmin()) start(A)]
• [Nuijten 94] [Caseau & Laburthe 94]• [Baptiste & Le Pape 96]: Complete application in
O(n2) time and O(n) space
![Page 28: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/28.jpg)
28
Edge finding (U)
• "Not-first" deduction rule with knapsack smin(A) dmin({A}) emax() 0
implies [min' | '(smin(') dmin(')) start(A)]
with (') defined as [ ' OR dmin(')]
• Complete application in exponential time (includes the NP-complete knapsack problem)
• Partial application [Caseau & Laburthe 95]
![Page 29: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/29.jpg)
29
Comparison
• Theoretical results– Unique fixpoint semantics– Modelling power– Time and space complexity– Pruning power
• Experimental results
![Page 30: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/30.jpg)
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]
![Page 31: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/31.jpg)
31
Modelling power (as of today)
Explicittime-tables
Disjunctiveconstraints
Taskintervals
Energeticresources
Habographs
Energetic rulesEdge finding
![Page 32: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/32.jpg)
32
Time and space complexity
Time-tables O(n*h) O(n2) Incr. O(h) O(n)
Disjunctive constraints O(n2) Incr. O(n)
Habographs O(n*(h/)2) Incr. O((h/)2)
Energetic resources O(n*h/) O(n2) Incr. O(h/) O(n)
Energetic rules O(n3) O(n)
Edge finding [CP90/94] O(n2) O(n*log(n)) O(n)
Edge finding [N93] O(n2) O(n)
Task intervals [CL94] O(n3) Incr. O(n2)
![Page 33: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/33.jpg)
33
Pruning power (U)
Edge finding+ not-first/not-last
Disjunctiveconstraints
Edge finding+ disjunctive
Energeticrules
Edge finding(basic)
Explicittime-tables
Energeticresources
Habographs
![Page 34: Resource Constraint Propagation (Non-Preemptive Case)](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d4c5503460f94a2a1c6/html5/thumbnails/34.jpg)
3
MT06 CAR1 CAR2 CAR3 CAR4 CAR5 CAR6 CAR7 CAR8 MT10
Edge finding [Nuijten et al 93] Number of fails CPU time
Energetic reasoning [Erschler et al 91] Number of fails CPU time
Experiments (10/80)
25
210
215