5.125. disjoint_tasks
DESCRIPTION | LINKS | GRAPH |
- Origin
- Constraint
- Arguments
- Restrictions
- Purpose
Each task of the collection should not overlap any task of the collection . Two tasks overlap if they have an intersection that is strictly greater than zero.
- Example
-
FigureΒ 5.125.1 displays the two groups of tasks (i.e.,Β the tasks of and the tasks of ). Since no task of the first group overlaps any task of the second group, the constraint holds.
Figure 5.125.1. The solution to the Example slot with at most one distinct colour in parallel (tasks in have the pink colour, while tasks in have the blue colour)
- Typical
- Symmetries
Arguments are permutable w.r.t. permutation .
Items of are permutable.
Items of are permutable.
One and the same constant can be added to the and attributes of all items of and .
- Arg. properties
Contractible wrt. .
Contractible wrt. .
- Remark
Despite the fact that this is not an uncommon constraint, it cannot be modelled in a compact way with a single constraint. But it can be expressed by using the constraint: We assign a first colour to the tasks of as well as a second distinct colour to the tasks of . Finally we set up a limit of 1 for the maximum number of distinct colours allowed at each time point.
- Reformulation
The constraint can be expressed in term of reified constraints. For each task and for each task we generate a reified constraint of the form . In addition we also state for each task an arithmetic constraint that states that the end of a task is equal to the sum of its origin and its duration.
- Systems
- See also
generalisation: Β (tasks colours and limit on maximum number of colours in parallel are explicitly given).
specialisation: Β ( replaced by ).
- Keywords
constraint type: scheduling constraint, temporal constraint.
- Arc input(s)
- Arc generator
-
- Arc arity
- Arc constraint(s)
- Graph property(ies)
-
- Arc input(s)
- Arc generator
-
- Arc arity
- Arc constraint(s)
- Graph property(ies)
-
- Arc input(s)
- Arc generator
-
- Arc arity
- Arc constraint(s)
-
- Graph property(ies)
-
- Graph model
is used in order to generate the arcs of the graph between all the tasks of the collection and all tasks of the collection . The first two graph constraints respectively enforce for each task of and the fact that the end of a task is equal to the sum of its origin and its duration. The arc constraint of the third graph constraint depicts the fact that two tasks overlap. Therefore, since we use the graph property 0 the final graph associated with the third graph constraint will be empty and no task of will overlap any task of . FigureΒ 5.125.2 shows the initial graph of the third graph constraint associated with the Example slot. Because of the graph property 0 the corresponding final graph is empty.
Figure 5.125.2. Initial graph of the constraint (the final graph is empty)
- Signature
Since is the maximum number of arcs of the final graph associated with the first graph constraint we can rewrite . This leads to simplify to .
We can apply a similar remark for the second graph constraint.
Finally, since 0 is the smallest number of arcs of the final graph we can rewrite 0 to 0. This leads to simplify to .