Chapter Contents |
Previous |
Next |
The CPM Procedure |
PROC CPM computes the early start schedule as well as the late start schedule for the project. The project start date is used as the starting point for the calculation of the early start schedule, while the project completion date is used in the computation of the late start schedule. The early start time (E_START) for all start activities (those activities with no predecessors) in the project is set to be equal to the value of the DATE parameter (if the FINISHBEFORE option is not specified). The early finish time (E_FINISH) for each start activity is computed as E_START + dur , where dur is the activity's duration (as specified in the Activity data set). For each of the other activities in the network, the early start time is computed as the maximum of the early finish time of all its immediate predecessors.
The project finish time is computed as the maximum of the early finish time of all the activities in the network. The late finish time (L_FINISH) for all the finish activities (those activities with no successors) in the project is set to be equal to the project finish time. The late start time (L_START) is computed as L_FINISH - dur. For each of the other activities in the network, the late finish time is computed as the minimum of the late start time of all its immediate successors. If the FIXFINISH option is specified, the late finish time for each finish activity is set to be equal to its early finish time. In other words, the finish activities are not allowed to float to the end of the project.
Once the early and late start schedules have been computed, the procedure computes the free and total float times for each activity. Free float (F_FLOAT) is defined as the maximum delay that can be allowed in an activity without delaying a successor activity. Total float (T_FLOAT) is calculated as the difference between the activity's late finish time and early finish time; it indicates the amount of time by which an activity can be delayed without delaying the entire project.
An activity that has zero T_FLOAT is said to be critical. As a result of the forward and backward pass computations just described, there is at least one path in the project network that contains only critical activities. This path is called the critical path. The duration of the project is equal to the length of the critical path.
If the FBDATE= option is also specified, the project finish time is set equal to the value of the FBDATE= option. The backward pass computation is initiated by setting the late finish time for all the finish activities in the project to be equal to fbdate. If the project finish time, as computed from the forward pass calculations, is different from fbdate, the longest path in the network may no longer have 0 total float. In such a situation, the critical path is defined to be the path in the network with the least total float. Activities with negative T_FLOAT are referred to as supercritical activities. Note: An important requirement for a project network is that it should be acyclic (cycles are not allowed). A network is said to contain a cycle (or loop) if the precedence relationships starting from an activity loops back to the same activity. The forward and backward pass computations cannot be performed for a cyclic network. If the project network has a cycle, the CPM procedure stops processing after identifying the cycle.
Chapter Contents |
Previous |
Next |
Top |
Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.