resource scheduling constraints - uppsala universityresource scheduling • problem: tasks subject...
TRANSCRIPT
![Page 1: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/1.jpg)
Resource Scheduling Constraints
Nicolas BeldiceanuSICS
Lägerhyddsvägen 5SE-75237 Uppsala,
Sweden([email protected])
![Page 2: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/2.jpg)
Resource scheduling constraints
1. Overview2. Cumulative3. Cumulatives
![Page 3: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/3.jpg)
Resource scheduling
• Problem: tasks subject to temporal andresource constraints
• Most successful area of CP• LP is usually poor on this type of problems• Two main categories of resources:
- renewable- non-renewable
![Page 4: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/4.jpg)
Resource scheduling constraints
1. Overview2. Cumulative3. Cumulatives
![Page 5: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/5.jpg)
ARGUMENTS :ctr_arguments(cumulative,
[TASKS-collection(origin-dvar, duration-dvar, end-dvar, height dvar),LIMIT-int]).
PURPOSE :The cumulative constraint enforces that at each point in time,the cumulated height of the set of tasks that overlap that point,does not exceed a given limit.
ORIGIN : [AggounBeldiceanu93]
EXAMPLE :cumulative([[origin-1, duration-3 , end-4 , height-1],
[origin-2, duration-9 , end-11, height-2],[origin-3, duration-10, end-13, height-1],[origin-6, duration-6 , end-12, height-1],[origin-7, duration-2 , end-9 , height-3]],8)
Cumulative
![Page 6: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/6.jpg)
Cumulative
INITIAL GRAPH
![Page 7: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/7.jpg)
Cumulative
1 2 3 4 5 6 7 8 9101112
≤≤≤≤ 8
( 3+1+1+2 ≤≤≤≤ 8 )
7
![Page 8: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/8.jpg)
ARGUMENTS :ctr_arguments(coloured_cumulative,
[TASKS-collection(origin-dvar, duration-dvar, end-dvar, colour-dvar),LIMIT-int]).
PURPOSE :The coloured_cumulative constraint enforces that at each point intime, the number of distinct colours of the set of tasks that overlapthat point, do not exceed a given limit.
ORIGIN : Derived from cumulative and nvalues.
EXAMPLE :coloured_cumulative([[origin-1, duration-2 , end-3 , colour-1],
[origin-2, duration-9 , end-11, colour-2],[origin-3, duration-10, end-13, colour-3],[origin-6, duration-6 , end-12, colour-2],[origin-7, duration-2 , end-9 , colour-3]],2)
Coloured_cumulative
![Page 9: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/9.jpg)
Coloured_cumulative
INITIAL GRAPH
![Page 10: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/10.jpg)
Coloured_cumulative
1 2 3 4 5 6 7 8 9101112
≤≤≤≤ 2
3 2 3 2 1
nvalues([3,2,3,2],≤≤≤≤,2)
7
![Page 11: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/11.jpg)
Definition of cumulative
cumulative(Origins,Durations,Heights,Limit)ListDvars ListDvars ListDvars Int
time
quantityof resource
Limit
task
origin
height
duration
![Page 12: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/12.jpg)
Example of cumulative
O1 in 1..2, O2 in 3..3, D1 in 2..3, D2 in 2..2, H1 in 1..4, H2 in 2..3
cumulative([O1,O2],[D1,D2],[H1,H2],4),
labeling([leftmost,up],[O1,D1,H1,O2,D2,H2]).
[1,2,1,3,2,2] [1,3,1,3,2,3][1,2,1,3,2,3] [1,3,2,3,2,2][1,2,2,3,2,2] [2,2,1,3,2,2][1,2,2,3,2,3] [2,2,1,3,2,3][1,2,3,3,2,2] [2,2,2,3,2,2][1,2,3,3,2,3] [2,3,1,3,2,2][1,2,4,3,2,2] [2,3,1,3,2,3][1,2,4,3,2,3] [2,3,2,3,2,2][1,3,1,3,2,2]
![Page 13: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/13.jpg)
Main applications of cumulative
1 2 3
1
Renewable resource
• disjunctive scheduling
• cumulative scheduling
Non renewable resource
• producer consumer
Bin-packing
Necessary condition for placement
![Page 14: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/14.jpg)
Producer-Consumer
Final Stock
Consumed Quantity C
Stock production task
Consumer task
Initial stock
Produced Quantity P
![Page 15: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/15.jpg)
Cumulative for placement
We want to place the 8 followings rectangles in a 12 x 4 rectangle :R1(5×2), R2(8×3), R3(6×1), R4(5×1), R5(2×1), R6(3×1), R7(2×2), R8(1×2) .
There exists a cumulative solution (by cutting R8 into two pieces) but there is no solution with a non-overlapping constraint on rectangles.(proof : M. Hujter, On the dynamic storage allocation problem, Manuscript, Computer and Automation Institute Hung. Acad. Sci. (1990))
4
3
2
1
00 1 2 3 4 5 6 7 8 9 10 11 12
R8
R1 : 5 × 2
R2 : 8 × 2
R1 : 6 × 1
R8
R4 : 5 × 1
R5
R6:3 × 1
R2 : 2 ×××× 2
![Page 16: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/16.jpg)
Resource scheduling constraints
1. Overview2. Cumulative3. Cumulatives
![Page 17: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/17.jpg)
The cumulatives constraint
The original cumulative constraint:
Restrict the resource consumptionat each point in time.
The generalized cumulatives constraint:
A pool of cumulative resources ,Height of a task can be negative ,Maximum or minimum resource consumption ,Holds for time-points crossed byat least one task.
1 2 3 4 5 601234
12
3 4
time
resource consumption ≤≤≤≤ 4
time
resource consumption
1 2 3 4 5 6-2-1012-101
Cumulatedprofiles
2
13
45
76 ≥≥≥≥ 0
≥≥≥≥ 0
![Page 18: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/18.jpg)
Parameters• Tasks:
• Origin• Duration• End• Height• Machine
1 2 3 4 5 601231
time
Origin EndDuration
HeightMachine
ConsumptionResource 2
Resource 1
Origin+Duration=End
0 0
• Constraint:
• upper• lower 1
231
≤ 1231
≥
• MachineId• Limit
01231
LimitIdentifier
• Resources:
task(O,D,E,H,M)
machine(M,L)
bound(Ctr)
![Page 19: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/19.jpg)
DEFINITION
For all tasks :
For all time-points crossed by task :
Let be the machine where task is assigned ,
For all tasks which both cross point , and are assigned to :
The sum of the height of tasks is not greater (less)
than the capacity of machine .
tt
ti
ms i m
ms
time
resource consumption
-2-1012-101
3
5
76 ≥≥≥≥ 0
≥≥≥≥ 0
Machine 1
Machine 2
1
2
4
1 2 3 4 5 6
EXAMPLE
![Page 20: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/20.jpg)
Original cumulative constraint
1 2 3 4 5 6
01234
12
3 4
time
resource consumption
Maximum capacity
({machine-1 origin-2 duration-2 height-2machine-1 origin-4 duration-2 height-1machine-1 origin-3 duration-1 height-1machine-1 origin-5 duration-1 height-3},{id-1 capacity-4},
≤≤≤≤)
cumulatives
![Page 21: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/21.jpg)
cumulative constraint withmachine choice
({machine-1 origin-2 duration-3 height-1,machine-1 origin-3 duration-2 height-2,machine-2 origin-2 duration-4 height-1,machine-1 origin-6 duration-1 height-2},{id-1 capacity-3,id-2 capacity-1},
≤)
cumulatives
resource consumption
Machine 2 with capacity 1
Machine 1 with capacity 3
1 2 3 4 5 601231
time
1
2
3
4
![Page 22: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/22.jpg)
Uninterupted minimum levelof resource consumption
({machine-1 origin-2 duration-4 height-0,machine-1 origin-2 duration-4 height-1,machine-1 origin-2 duration-2 height-1,machine-1 origin-4 duration-2 height-2,machine-1 origin-4 duration-1 height-1},{id-1 capacity-2},≥≥≥≥)
cumulatives
1 2 3 4 5 601234
time
resource consumption
23
45
1
Minimum consumption is 2
First use Last use
![Page 23: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/23.jpg)
Minimum level ofresource consumption
({machine-1 origin-2 duration-2 height-1,machine-1 origin-2 duration-1 height-2,machine-1 origin-3 duration-1 height-1,machine-1 origin-5 duration-2 height-2},{id-1 capacity-2},≥≥≥≥)
cumulatives
1 2 3 4 5 601234
time
resource consumption
No constraint at this point
31
2
4
Minimum consumption is 2
![Page 24: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/24.jpg)
Producer-consumer
cumulatives machine-1 origin-1 duration-3 height-2,machine-1 origin-1 duration-4 height-3,machine-1 origin-1 duration-6 height-1,machine-1 origin-5 duration-2 height-4},
({
{id-1 capacity-7},
≤)
time
resource consumption
No negative stock
1 2 3 4 5 601234567
1 4
2
3
Stock at thispoint in time
![Page 25: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/25.jpg)
Producer-Consumer withmultiple resources
cumulatives
{id-1 capacity-4,id-2 capacity-3},≤ )
time
resource consumption
No negative stock on resource 2
1 2 3 4 5 601234123
Stocks at thispoints in time
3
1
2
4
5 No negative stock on resource 1
machine-1 origin-1 duration-1 height-1,machine-1 origin-1 duration-3 height-2,
machine-2 origin-1 duration-3 height-1,
machine-2 origin-3 duration-4 height-2}
machine-1 origin-3 duration-4 height-1,
,
({
![Page 26: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/26.jpg)
Workload covering
cumulatives
{id-1 capacity-0},≥)
time
resource consumption
Green tasks”cover” yellow tasks
1 2 3 4 5 6-4-3-2-10123
Cumulatedprofile
machine-1 origin-2 duration-2 height-(-2),machine-1 origin-4 duration-2 height-(-3),
({
1
3
2
45
6
machine-1 origin-1 duration-4 height-1,machine-1 origin-5 duration-2 height-1,machine-1 origin-2 duration-4 height-1,machine-1 origin-3 duration-3 height-1},
![Page 27: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/27.jpg)
Workloads covering
cumulatives
{id-1 capacity-0,id-2 capacity-0}≥ )
({
time
resource consumption
1 2 3 4 5 6-2-1012-101
Cumulatedprofiles
2
13
45
76
machine-1 origin-2 duration-2 height-(-2),
machine-1 origin-1 duration-4 height-1,
machine-1 origin-4 duration-2 height-(-1),
machine-1 origin-2 duration-3 height-2,machine-1 origin-5 duration-2 height-2,
machine-2 origin-3 duration-2 height-(-1),
machine-2 origin-1 duration-4 height-1},
Green tasks”cover” yellow tasks on
both resources
![Page 28: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/28.jpg)
Exercise: project scheduling
Each task requires a given number of persons.Knowning that you have at most 7 persons,find the earliest end.
T12-1
T21-3
T34-3
T42-2
T53-4
T61-6
T70-0
![Page 29: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/29.jpg)
Exercise: project scheduling (load)
Each task requires a given load (duration x needed resource).Knowning that you have at most 7 persons, modify your previous programin order to find the earliest end.
T11
T23
T312
T44
T512
T66
T70
![Page 30: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/30.jpg)
Exercise: perfect square
Write a program for finding a solution for placing21 squares of respective size [50,42,37,35,33,29,27,25,24,19,18,17,16,15,11,9,8,7,6,4,2]) into asquare of size 112 without overlap.
![Page 31: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/31.jpg)
Exercise: machine scheduling
Each task has to run on a given machinechosen from a set of machines. Each machinecan only run one task at a time and each taskshould not be interrupted. Find the earliest end.
T12-{1,2}
T21-{1,3}
T34-{1,3}
T42-{2,3}
T53-{1}
T61-{1,3}
T70-{}
![Page 32: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/32.jpg)
Exercise: machine scheduling(quotient labeling)
Create a specialized labeling which, for eachtask, creates a compulsory part (intersection of the task positioned at its earliest start andof the task positioned at its latest start) ofsize 1. Justify the use of this heuristics.
![Page 33: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/33.jpg)
Exercise: machine scheduling(variable speed)
The effective duration of a task is now computedby multiplying the ”duration” by a fixed coefficient(2 of M1, 1 of M2, 3 for M3).Modify your program to handle this factor.
![Page 34: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/34.jpg)
The Sweep Algorithm: Fixed Tasks
resource
timeEvent pointsMinimum level to reach
for those instants wherethere is at least one task
Current positionof the sweep line: 3
Sweep-linestatus
01234
Task 1
Task 2 Task 3
• nb_task=1• sum_height=2
1 2 4 5
Sweep line status:number of tasks
sum of the height
•
•which overlap the sweep line
Event points:start of each task
end of each task
•
•
• nb_task=2• sum_height=3
•••• nb_task=0•••• sum_height=0
• nb_task=1• sum_height=4
• nb_task=0• sum_height=0
![Page 35: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/35.jpg)
Not Yet Fixed Tasks
Preconditions for a Check Event
max(origin[t])<min(end[t])
min(machine[t])=max(machine[t])=r
max(height[t])<max(0,Limit[m])
•
•
•
machine[t]
: nb_task=nb_task+1
: nb_task=nb_task−−−−1
Start
End
QUESTIONANSWER
ACTION
: which instants to check ?: those instants for which there is a task which can cause a problem
: count the number of such tasks which overlap the sweep line
![Page 36: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/36.jpg)
Not Yet Fixed Tasks (continued)
Preconditions for a Bad Profile Event
max(origin[t]) < min(end[t])
min(machine[t]) = max(machine[t]) = r
max(height[t]) < 0
•
•
•
r
: sum_height=sum_height+max(height[t])
: sum_height=sum_height −−−−max(height[t])
Start
End
QUESTIONANSWER
ACTION
: how to build an ”optimistic” resource consumption profile ?: consider the ”bad” and ”good” tasks
: sum up the height of such tasks which overlap the sweep line
Preconditions for a Good Profile Eventr ∈∈∈∈ dom(machine[t])
max(height[t]) > 0
•
•
r
: sum_height=sum_height+max(height[t])
: sum_height=sum_height −−−−max(height[t])
Start
End
![Page 37: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/37.jpg)
10. if nb_task≠0 and sum_height<limit to reach then return fail
1. Scan the tasks and generate the check and profile events
2. Sort the events in increasing order
3. Set nb_task and sum_height to 0 and d to the smallest date
The Sweep Algorithm: Main Loop(simplified version: one resource, no pruning)
4. while there still exist an event E do
9. Extract the next event E (if it exists)
INITIALIZATION
CHECK
MODIFY SWEEP STATUS
CHECK
5. if d≠date of E then
6. if nb_task≠0 and sum_height<limit to reach then return fail
7. Set d to date of E
8. if type of E=check then add E.inc to nb_task else add E.inc to sum_height
![Page 38: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/38.jpg)
Principle of the Generalization Algorithm
1 2 3 4 5 60
1
2
3
1
time
1
2
3
4
Machine 1
Machine 2
1 2 3 4 5 6
?
?
Removes 3,4 from origin of task 4
![Page 39: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/39.jpg)
Task Interval
DEFINITION: At each instant: ΣΣΣΣ heigths ≥≥≥≥ Capacity
NECESSARY CONDITION: ΣΣΣΣ surfaces ≥≥≥≥ utilisation of interval x Capacity
IDEA: sum up over each instant where we have at least one task
time1 2 3 4 5 6-4-3-2-10123
≥≥≥≥ 1
time
resource consumption
1 2 3 4 5 6-4-3-2-10123
13
2
456
≥≥≥≥ 1
interval ≥≥≥≥ (1+1+1)X1(3-1)+(1+1+1-2)+(1+1+1-2)
![Page 40: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/40.jpg)
Task Interval (atleast case)
• For tasks with negative height
• For tasks with positive height
• If non-negative capacity
• If negative capacity
: minimum intersection with interval
: maximum intersection with interval
: minimum utilization in time of interval
: maximum utilization in time of interval
CHECKING THE NECESSARY CONDITION
• Forbid to cover more than a given surface in an interval
• Force to cover at least a given surface in an interval
PRUNING ACCORDING TO THE NECESSARY CONDITION
![Page 41: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/41.jpg)
Minimum Intersection of a Task with an Interval
interval
T at its earliest startand minimum duration
T at its latest endand minimum duration
2 1
Compute the size of the intersection withthe interval of these two instances,
and take the minimum
Result is 1
![Page 42: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/42.jpg)
Key ideas of most algorithms forresource scheduling: compulsory part
DEFINITION : The Compulsory Part CP (A. Lahrichi PhDthesis 1979) is the intersection of all feasibleinstances of the task T
INTEREST : No need to wait until all the variables(start, duration, resource consumption) of task T are fixed to deduce some information about resource consumption of T over time.The other tasks will not have access to that resource amount � pruning
MAIN QUESTION : How to efficiently compute the CP?
![Page 43: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/43.jpg)
To compute CP, we need to compute only the intersection of the two followings instances of the rectangle task :
Imin= task at its earliest date with minimum duration Imax= task at its latest date
Compulsory part
Startmin Startmax Startmin + Durationmin
Durationmin
Durationmax
CP of a rectangle task
![Page 44: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/44.jpg)
3TTT CPCPCP21
∪∪Startmax
Startmin
T1 T2T3
T1 T2T3
321 TTTCP ∪∪
∅=1TCP
∅=2TCP
CP of the “global” task
CP of a sequence of rectangles
![Page 45: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/45.jpg)
Scheduling Problem under Labour Constraints
resource
time0 1 2 3 4 5 6 7 8 9 10 11 12
6543210
Compulsory part of T2
� T1 can not start at positions 0,1,2 and 6
T2T1• Starting time of of T2 within [1, 3]
• No restriction on the starting time of T1
• Resource capacity equal to 6
Use of CP for pruning
![Page 46: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/46.jpg)
Plane task (LT)
Smax Emin
∞
Smin Smax Emin Emax
Earliest startImin
Latest endImax
Task
CP of a task with valleys
CP = Imin∩ Imax ∩ LT
![Page 47: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/47.jpg)
Key ideas of most algorithms forresource scheduling: task interval
IDEA : Compute the intersection of all feasible instancesof a task T with a given interval and take the minimum.Repeat the previous step for all tasksCumulate all the minimum intersections and checkthat it does not exceed the available surface
MAIN QUESTION : How to efficiently compute the minimumintersection with an interval?
![Page 48: Resource Scheduling Constraints - Uppsala UniversityResource scheduling • Problem: tasks subject to temporal and resource constraints • Most successful area of CP • LP is usually](https://reader030.vdocuments.net/reader030/viewer/2022041008/5eb220bb26c5eb1adf754c18/html5/thumbnails/48.jpg)
Exercise: maximum intersection
Consider a cumulative scheduling problem where one needs to use almostall the resource availability (i.e. the sum of the surface of the tasks is almostequal to the resource availability).
Question 1: consider a fixed interval low..up and a task t characterizedby its origin, duration and end (3 domain variables).Come up with a method for computing the maximum intersectionin surface (or a lower approximation) of task t with intervallow..up.
Question 2: how could you use the result of question 1 to perform somepruning in the context of the cumulative constraint ?