for Scheduling with Leads, Lags and Windows
This description assumes an activity-on-node
project network representation, since this representation is much easier to use
with complicated precedence relationships. The possible precedence
relationships accommodated by the procedure contained in Table 2-9 are
finish-to-start leads, start-to-start leads, finish-to-finish lags and
start-to-finish lags. Windows for earliest starts or latest finishes are also
accomodated.With an activity-on- node representation, we assume that an
initiation and a termination activity are included to mark the beginning and
end of the project. The set of procedures described in Table 2-9 does not
provide for automatic splitting of activities.
The first step in the scheduling algorithm is to
sort activities such that no higher numbered activity precedes a lower numbered
activity. With numbered activities, durations can be denoted D(k), where k is
the number of an activity. Other activity information can also be referenced by
the activity number. Note that node events used in activity-on-branch
representations are not required in this case.
The forward pass calculations compute an earliest
start time (ES(k)) and an earliest finish time (EF(k)) for each activity in
turn (Table 2-9). In computing the earliest start time of an activity k, the
earliest start window time (WES), the earliest finish window time (WEF), and
each of the various precedence relationships must be considered. Constraints on
finish times are included by identifying minimum finish times and then
subtracting the activity duration. A default earliest start time of day 0 is
also insured for all activities. A second step in the procedure is to identify
each activity's earliest finish time (EF(k)).
The backward pass calculations proceed in a manner
very similar to those of the forward pass (Table 2-9). In the backward pass,
the latest finish and the latest start times for each activity are calculated.
In computing the latest finish time, the latest start time is identified which
is consistent with precedence constraints on an activity's starting time. This
computation requires a minimization over applicable window times and all
successor activities. A check for a feasible activity schedule can also be
imposed at this point: if the late start time is less than the early start time
(LS(k) < ES(k)), then the activity schedule is not possible.
result of the forward and backward pass calculations are the earliest start
time, the latest start time, the earliest finish time, and the latest finish
time for each activity. The activity float is computed as the latest start time
less the earliest start time. Note that window constraints may be instrumental
in setting the amount of float, so that activities without any float may either
lie on the critical path or be constrained by an allowable window.