The CPM Procedure

Nonstandard Precedence Relationships

A standard precedence constraint between two activities (for example, activity A and an immediate successor B) implies that the second activity is ready to start as soon as the first activity has finished. Such a relationship is called a finish-to-start relationship with zero lag. Often, you want to specify other types of relationships between activities. For example:

  • Activity B can start five days after activity A has started: start-to-start lag of five days.

  • Activity B can start three days after activity A has finished: finish-to-start lag of three days.

The AON representation of the network enables you to specify such relationships between activities: use the LAG= option in the SUCCESSOR statement. This enables you to use variables in the Activity data set that specify the type of relationship between two activities and the time lag between the two events involved; you can also specify the calendar to be used in measuring the lag duration. See the section SUCCESSOR Statement for information about the specification. Example 4.11, Nonstandard Relationships, in the section Examples illustrates a nonstandard precedence relationship.

This section briefly discusses how the computation of the early and late start schedules, described in the section Scheduling Subject to Precedence Constraints, changes in the presence of nonstandard relationships.

For each (predecessor, successor) pair of activities, the procedure saves the lag type, lag duration, and lag calendar information. Suppose that the predecessor is A, the immediate successor is B, the durations of the two activities are durA and durB, respectively, and the activity’s early start and finish times are pes and pef, respectively. Suppose further that the lag type is lt, lag duration is ld, and lag calendar is lc. Recall that the basic forward and backward passes described in the section Scheduling Subject to Precedence Constraints assume that all the precedence constraints are standard of the type finish-to-start with zero lag. Thus, in terms of the notation just defined, the early start time of an activity is computed as the maximum of pef for all the preceding activities. However, in the presence of nonstandard relationships, the predecessor’s value used to compute an activity’s early start time depends on the lag type and lag value. Table 4.5 lists the predecessor’s value that is used to determine the successor’s early start time.

Table 4.5: Effect of Lag Duration and Calendar on Early Start Schedule

Lag Type


Value Used to Compute Successor’s E_START



pef $+$ ld



pes $+$ ld



pes $+$ ld $-$ durB



pef $+$ ld $-$ durB

The addition of the lag durations (ld) is in units following the lag calendar lc; the subtraction of durB is in units of the activity B’s calendar. The backward pass to determine the late start schedule is modified in a similar way to include lag durations and calendars.