Project ManagementResources Scheduling
Prof. Mauro Mancini
e-mail: [email protected]
tel.: +39-02-23994057
POLITECNICO DI MILANO
Department of Management, Economics and Industrial Engineering
Mauro Mancini © 2
Resource Scheduling
Project Management: “The planning, monitoring and control of all
aspects of the project and the motivation of all those involved in it to
achieve the project objectives on time and to the specified cost, quality
and performance”. (Project Management Institute - PMI)”
Mauro Mancini © 3
Resource Scheduling
• Project scheduling with infinite capacity
• Resources allocated profile evaluation
• Comparison between resources requirements / availability
• Resource leveling
• Resource constrained project scheduling problem (RCPSP): fixed
times or resources
Mauro Mancini ©
Project disaggregation in more activities
Precedence relationships among activities
Trade - off
Length activities/ resources allocation
Project’s resources
reallocation
CPM Project length
assessment
Resources requirements /
availability evaluation
Plan execution
Reporting
4
Resource Scheduling
Mauro Mancini © 5
Precedence constraints among activities
“Natural” Constraints Constant
Resources Constraints Dynamic
•Natural
•Environmental (ex. resources availability constraints)
•Preferential
Mauro Mancini © 6
CPM vs. Resource Scheduling
CPM Resource Scheduling
Consider infinite capacity Consider limits on resources availability
Precedence relationships
are stable
Embodying all the kinds of relationships,
consider that they may be dynamic and
temporary
Critical chain is a function
of time and natural
precedence
Critical chain is a function of time, all the kinds
of relationships, resources need and availability,
access priority of the activities to the resources
Activities floats depend
only on project duration
Activities floats depend on resources need and
availability
Mauro Mancini © 7
Steps to apply a Resource Management
methodology
1. Infinite capacity programming
2. Aggregate resource need evaluation
3. Cumulative resources need evaluation
4. Finite capacity programming (Resource Constrained
Project Scheduling Problem)
5. Levelling resources need profile (Resource Leveling)
Mauro Mancini © 8
Schedulation Types
Overload Fixed time
Fixed resources
Resources
LevellingResources
Time
LimitationResources
Time
Time
Mauro Mancini © 9
Resource Levelling
Resource leveling aims to minimize the period-by-period
variations in resource loading by shifting tasks within
their slack allowances.
The purpose is to create a smoother distribution of resource
usage.
Advantages:
• much less hands-on management is required if the use
of a given resource is nearly constant over its period of
use. The PM ― can arrange to have the resource available when needed
― can have the supplier furnish constant amounts
― can arrange for a backup supplier if advisable
• resource usage is leveled, the PM may be able to use a
“just-in-time” inventory policy without much worry that
the quantity delivered will be wrong
Mauro Mancini © 10
Resource Levelling advantages
• when resources are leveled, the associated costs also
tend to be leveled
• it is a procedure that can be used for almost all
projects, whether or not resources are constrained
Mauro Mancini © 11
Resource Constrained Project Scheduling
problem (RCPSP)
� Optimization techniques
Limits:
• heavy computation
•“static” definition of the problem
•difficulty to determine “optimality” criteria, considering
several possible objectives in contrast.
Mauro Mancini © 12
Resource Constrained Project Scheduling
problem (RCPSP)
� Heuristic approaches
Limits:
•they can pursue only one objective for every scheduling
•they obtain different performance according to the network
characteristics to which they are applied
•they are based on priority rules (to solve conflict between
activities that require common resources) fixed a priori,
without the possibility to adapt them to the project
characteristics.
Mauro Mancini © 13
Resource Constrained Project Scheduling
problem (RCPSP)
Heuristic approaches
Evaluation of conflicts among activities to the access to
shared resources
One time and at local level
Mauro Mancini © 14
RCPSP
In each step:
•Determination of the activities’ list with precedence
constraints verified (in competition with shared resources)
•Activities’ group selection with the resource availability
having:
ominimum delay of project’ completion
opriority rules
•Parallel approach, forward, early start (front loading)
Mauro Mancini © 15
RCPSP
Heuristic Approach
•In series approach (static)
oOrdinate list of starting activities
oIt tends to advance by paths, in order of criticality
•In parallel approach (dynamic)
oOrdinate list of activities updated at each step
oIt tends to advance by temporal intervals
Mauro Mancini © 16
RCPSP
•In parallel approach
•Rolling wave approach
•Different priority rules (problem’s dependent)
•Splitting / interrupting
•Multi-resources vision
•“What if” analysis
Mauro Mancini © 17
RCPSP
�HOW TO INCREASE RESOURCES
� Working Overtime
� Working Shifts
� Increase Productivity
� Job and Knock
� Learning Curve
� Sub-Contractors
� Scope of Work
Mauro Mancini © 18
RCPSP
� HOW TO REDUCE RESOURCES
� Move unemployed resources to other activities
� Move unemployed resources to R&D jobs
� Hire out resources internally or externally
� Pre-manufacture components before they are needed
� Maintenance of equipment during slack periods
� Train workforce during slack periods to gain new skills
which will make them more productive and
flexible in the future
� Send the under utilized workforce on leave
Mauro Mancini © 19
Series – Parallel Approach
Critical Path
Series approach
Parallel approach
P1 P2 P3
Mauro Mancini © 20
Priority rules
MIN TF (Minimum Total Float)
The conflict to access to shared resources by different
activities is solved giving priority to the activity with
minimum float
It’s possible demonstrate that, using a parallel
approach, the MIN TF is equivalent to the MIN LST rule
that grades activities according to the increasing values
from the starting time at the latest
Mauro Mancini © 21
Priority rules
The precedence is given to the activity characterized by
the minimum value for the dij parameter. It corresponds
to the project duration increment that occurs when the
j activity follows the i activity with:
RSM (“Resource Scheduling Method”)
dij = max [0; EFTi-LSTj]
Where:
EFTi = Earliest finish time for the i activity
LSTj = Latest start time for the j activity
Mauro Mancini © 22
Priority rules
RSM (“Resource Scheduling Method”)
The comparison is made among all the pairs belonging to
the sets of activities in conflict for the access to shared
resources. This rule gives results similar to the MIN LFT rule.
dij
EFTiLSTi
MIN LFT (“Minimum Late Finish Time”)
This rule sequences the activities giving precedence to
activities characterized by minimum late finish Time.
Mauro Mancini © 23
Priority rules
GRD (“Greatest Resource Demand”)
It use the priority criterion of unit’s resource requirements
(considering all the demanded resources) associated to each
activity , giving precedence to the activities characterized by a
greater requirements (they can potentially create bottlenecks).
The priority grade associated to each activity is computed in this
way:
Where:
dj = j activity duration
rij = i type resource requirements for each unit of time by the j
activity
m = number of the different types of resources
Priority = di • Σ rij
m
i =1
Mauro Mancini © 24
Priority rules
GRU (“Greatest Resource Utilization”)
This rule gives the priority, in each program step, to the
combination of activities that obtaining the maximal possible
saturation for the available resources. The rule implementation
requires the resolution of a linear programming problem of
integer number (0,1).
SIO (“Shortest Imminent Operation”)
The priority is given to the activities with shortest duration. This
rule comes from job-shop scheduling problem.
Mauro Mancini © 25
Priority rules
This rule gives the priority to the combination of activities
that allows to program the maximum possible number of
activities in each programming step.
It differs to the GRU rule because the determination of the
maximum possible number of activities considers only the
feasibility, that is the availability of resources, and not
their saturation level.
MJP (“Most Job Possible”)
Mauro Mancini © 26
Series – Parallel Approach Exercise
Considering a project composed by the following activities
A 32 0
B 04 2
C 62 0
E 41 0
L 03 5
F 24 0
D 05 2
H 48 4
G 31 0
I 53 0
M 25 0
N 22 0
Att. RaDur. Rb
Mauro Mancini © 27
Series – Parallel Approach Exercise
1. To compute the EST, EFT, LST, LFT and the resource
allocated temporal profile
2. Using the “min total float” with fixed time levelling and
resource availability of 7 units/day for the A resource
(and infinite availability for the B resource) to schedule
the activities with:
Series approach
Parallel approach
3. Like at point 2, but levelling with fixed resources
respecting the availability for the A and B resources (6
units/day)
Mauro Mancini © 28
Series – Parallel Approach Exercise
From the provided data is possible to obtain:
2
6
1
7
A 32 0
6
8
3
11
B 04 2
2
1
1
2
C 62 0
7
12
7
12
E 41 0
14
13
12
15
L 03 5
11
9
8
12
F 24 0
7
4
3
8
D 05 2
10
3
3
10
H 48 4
1
7
1
7
G 31 0
4
8
2
10
I 53 0
15
11
11
15
M 25 0
17
16
16
17
N 22 0
EFT
LST
EST
LFT
A 32 0
Mauro Mancini © 29
Series – Parallel Approach Exercise
Attività EST EFT LST LFT TF Ra Rb
A 1 2 6 7 5 3 -
B 3 6 8 11 5 - 2
C 1 2 1 2 - 6 -
D 3 7 4 8 1 - 2
E 7 7 12 12 5 4 -
F 8 11 9 12 1 2 -
G 1 1 7 7 6 3 -
H 3 10 3 10 - 4 4
I 2 4 8 10 6 5 -
L 12 14 13 15 1 - 5
M 11 15 11 15 - 2 -
N 16 17 16 17 - 2 -
Mauro Mancini © 30
Series – Parallel Approach Exercise
A
B
C
D
E
F
G
H
I
L
M
N
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Mauro Mancini © 31
Series – Parallel Approach Exercise
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Resource - A
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Mauro Mancini © 32
Series – Parallel Approach Exercise
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Resource - B
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Mauro Mancini © 33
Series Approach – Fixed Times
2. The activities are scheduled considering the min total
float
Activity C H M N D F L A B E G I
TF 0 0 0 0 1 1 1 5 5 5 6 6
The activities are scheduled considering the network diagram
Available ACG � C
Available AGDH � H
Available AGD � D
Scheduling order
1° 2° 3° 4° 5° 6° 7° 8° 9° 10° 11° 12°
C H D F A B E L G I M N
Mauro Mancini © 34
Series Approach – Fixed Times
Programming phase (fixed times)
The C activity has been programmed (days 1-2 with 6 days delay resp. A)
The H activity has been programmed (days 3-10 with 4 days delay resp. A)
The D activity has been programmed (days 3-7 with 0 days delay resp. A)
The predetermined order is closely followed
Mauro Mancini © 35
Series Approach – Fixed Times
A
B
C
D
E
F
G
H
I
L
M
N
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Mauro Mancini © 36
Series Approach – Fixed Times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
C
H
A G
F
I
F
M N
Resource A (series)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
I
E
M
In order to respect the project deadline is necessary to have an overload (I)
Mauro Mancini © 37
Parallel Approach – Fixed Times
Algorithm’s step:
1. Creation the list of programmable activities
2. Re-compute the relative TF and EST
3. Tidy up the list activities
4. Collocated one at a time following the point 3 order
5. Come back to point 1
Mauro Mancini © 38
Parallel Approach – Fixed Times
Step 1 DATEAVAILABLE
ACTIVITIES TOTAL FLOATRESURCE A
REQUIREMENTS
C 0 6
1° d. A 5 3
G 6 3
Step 2
H 0 4
3° d. D 1 -
A 3 3
G 4 3
AVAILABLE
ACTIVITIES
UPDATED
TOTAL FLOATRESURCE A
REQUIREMENTSDATE
H, D, A start. G has been postponed because of lack of resources
Mauro Mancini © 39
Parallel Approach – Fixed Times
Step 3 DATEAVAILABLE
ACTIVITIES
UPDATED
TOTAL FLOATRESURCE A
REQUIREMENTS
G 2 3
5° d. B 3 --
The available resource is not enough, but is necessary starting the I
activity the 6° day, in fact in order to respect the resource constraint,
should be postpone I to the 11° day, with 3 days project’ delay
Step 4 DATEAVAILABLE
ACTIVITIES
UPDATED
TOTAL FLOATRESURCE A
REQUIREMENTS
6° d. I 2 5
Mauro Mancini © 40
Parallel Approach – Fixed Times
Step 6
M 0 211° d.
E 1 4
AVAILABLE
ACTIVITIES
UPDATED
TOTAL FLOATRESURCE A
REQUIREMENTSDATE
H, D, A start. G has been postponed because of lack of resources
Step 5 DATEAVAILABLE
ACTIVITIES
RESURCE A
REQUIREMENTS
F 0 29° d.
E 3 4
UPDATED
TOTAL FLOAT
Mauro Mancini © 41
Parallel Approach – Fixed Times
Step 8
N 0 216° d.
AVAILABLE
ACTIVITIES
UPDATED
TOTAL FLOATRESURCE A
REQUIREMENTSDATE
Step 7 DATEAVAILABLE
ACTIVITIES
RESURCE A
REQUIREMENTS
L 10 -12/13° d.
UPDATED
TOTAL FLOAT
Mauro Mancini © 42
Parallel Approach – Fixed Times
A
B
C
D
E
F
G
H
I
L
M
N
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Mauro Mancini © 43
Parallel Approach – Fixed Times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
C
H
A G
F
F
M N
Resource A (Parallel)
1 23 4 5 6 7 8 9 10 11 12 13 14 15 16 17
I E
M
Mauro Mancini © 44
Series and Parallel Approach – Fixed
Resources
3.
In case of fixed resources programming the project’
deadline constraint is not considered, but it is no longer
possible having overload.
The series and parallel approach stay unchanged.
The same schedule remains or the series approach .
Mauro Mancini © 45
Parallel Approach – Fixed Times
1
2
3
4
5
6
7
8
9
C
H
A G
F
F
M N
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
E I
18 19 20 21 22
Resource - A
1
2
3
4
5
6
7
8
9
H
D B
B
L
Resource - B
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Mauro Mancini © 46
Series Approach – Fixed Resources
A
BC
D
E
F
G
H
I
L
M N
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
Mauro Mancini © 47
Series Approach – Fixed Resources
A
BC
D
EF
G
H I
L
M N
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
Mauro Mancini © 48
Parallel Approach – Fixed Resources
1
2
3
4
5
6
7
8
9
H
D B
B
L
Resource - B
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
1
2
3
4
5
6
7
8
9
C
H
A GF
M N
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
I
18 19 20 21 22
Resource A
F
E
Mauro Mancini © 49
Suggestions
To obtain the best results it is convenient to adopt the
following expedient:
• to use preferably parallel approach
• to attempt different priority rules
• to execute resource leveling along a limited temporal
period (according to a rolling wave approach)
• to use options available on the software (splitting,
interrupting, reprofiling, etc.)
• to verify the possibility to maintain a “multi-resource”
vision of the utilization resources profile coming
from scheduling
• to led what-if analysis, hypothesizing possible corrective
actions