- 60 Views
- Uploaded on
- Presentation posted in: General

Temporal Constraint Propagation (Preemptive Case)

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Temporal Constraint Propagation(Preemptive Case)

- New variables
- Definition
- Implementation

- Relations between the variables
- Temporal constraints

- set(A) = {t such that A executes at time t}
- WA(t) = 1 when tÎset(A), 0 otherwise
- start(A) = mintÎset(A)(t)
- end(A) = maxtÎset(A)(t + 1)
- duration(A) = |set(A)|
- span(A) = end(A) - start(A)

- Three possible implementations for set(A)
- Explicit set variable set(A)
- Explicit Boolean variables WA(t)
- Dynamic list of intervals Ii(A) = [si(A), ei(A)) with
- W(Ii(A)) = 1 if "tÎ[si(A), ei(A)), tÎset(A)
- W(Ii(A)) = 0 if "tÎ[si(A), ei(A)), tÏset(A)
- W(Ii(A)) = unknown otherwise

- Explicit or implicit integer variables for start(A), end(A), duration(A), and span(A)

- end(A) = start(A) + span(A)
- duration(A) £ span(A)
- duration(A) = |set(A)|
cardinality constraint

specific implementation for a list of intervals

- start(A) = mintÎset(A)(t)
start(A)Îset(A)

[t = startmin(A) = startmax(A)] implies [tÎset(A)]

[t = startmin(A)Ïset(A)] implies [t < start(A)]

[t = startmax(A)Ïset(A)] implies [start(A) < t]

"tÎset(A), start(A) £ t

[tÎset(A)] implies [start(A) £ t]

[t < startmin(A)] implies [tÏset(A)]

- end(A) = maxtÎset(A)(t + 1)
(end(A) - 1)Îset(A)

[t = endmin(A) = endmax(A)] implies [(t - 1)Îset(A)]

[t = (endmin(A) - 1)Ïset(A)] implies [(t + 1) < end(A)]

[t = (endmax(A) - 1)Ïset(A)] implies [end(A) < (t + 1)]

"tÎset(A), t < end(A)

[tÎset(A)] implies [t < end(A)]

[endmax(A) £ t] implies [tÏset(A)]

- pos(A) = {t such that WA(t) can be 1}
- |{t'Îpos(A) such that t' < t}| < durationmin(A)
implies [t < end(A)]

- |{t'Îpos(A) such that t £ t'}| < durationmin(A)
implies [start(A) < t]

- Constraints between start and end variables
Similar to the non-preemptive case when start(A) and end(A) are explicit

- Other constraints
"tÎset(A), tÎset(B) (inclusion)

"tÎset(A), tÏset(B) (exclusion)

"tÏset(A), tÎset(B) (coverage)