Top Banner
1 Resource Constraint Propagation (Non-Preemptive Case)
34

Resource Constraint Propagation (Non-Preemptive Case)

Mar 23, 2016

Download

Documents

karsen

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 - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Resource Constraint Propagation (Non-Preemptive Case)

1

Resource Constraint Propagation(Non-Preemptive Case)

Page 2: 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

Page 3: Resource Constraint Propagation (Non-Preemptive Case)

3

Classes of resources

• Unary resources• Discrete resources• State resources• Energetic resources

Page 4: Resource Constraint Propagation (Non-Preemptive Case)

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)

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)

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)

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)

8

Constraint propagation models

• Explicit time-tables• Disjunctive constraints• Energetic reasoning• Edge finding (task intervals)

Page 9: Resource Constraint Propagation (Non-Preemptive Case)

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)

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)

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)

12

Explicit time-tables (E)

A B

time

C

Page 13: Resource Constraint Propagation (Non-Preemptive Case)

13

Explicit time-tables: 2 models

• Discrete array

• Sequential table or binary tree

time

AB

CD

Page 14: Resource Constraint Propagation (Non-Preemptive Case)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

27

Edge finding (U)

• "Not-first" deduction ruleemax() 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)

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)

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)

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)

31

Modelling power (as of today)

Explicittime-tables

Disjunctiveconstraints

Taskintervals

Energeticresources

Habographs

Energetic rulesEdge finding

Page 32: Resource Constraint Propagation (Non-Preemptive Case)

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)

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)

3

MT06 CAR1 CAR2 CAR3 CAR4 CAR5 CAR6 CAR7 CAR8 MT10

Edge finding [Nuijten et al 93] Number of fails CPU timeEnergetic reasoning [Erschler et al 91] Number of fails CPU time

Experiments (10/80)

25

210

215