Previous Page | Next Page

The CLP Procedure

Activity Data Set

You can use an activity data set in lieu of, or in combination with, an ACTIVITY statement to define activities and constraints relating to the activities. The activity data set is similar to the activity data set input to the CPM procedure in SAS/OR software and is specified using the ACTDATA= option in the PROC CLP statement.

The activity data set enables you to define an activity, its domain, and any temporal constraints. The temporal constraints could be either time-alignment-type or precedence-type constraints. The activity data set requires, at the minimum, two variables: one to determine the activity, and another to determine its duration. The procedure terminates if it cannot find the required variables. The activity is determined with the _ACTIVITY_ variable, and the duration is determined with the _DURATION_ variable. In addition to the mandatory variables, you can also specify temporal constraints related to the activities.

Time Alignment Constraints

The _ALIGNDATE_ and _ALIGNTYPE_ variables enable you to define time-alignment-type constraints. The _ALIGNTYPE_ variable defines the type of the alignment constraint for the activity named in the _ACTIVITY_ variable with respect to the _ALIGNDATE_ variable. If the _ALIGNDATE_ variable is not present in the activity data set, the _ALIGNTYPE_ variable is ignored. If the _ALIGNDATE_ is present but the _ALIGNTYPE_ variable is missing, the alignment type is assumed to be SGE. The _ALIGNTYPE_ variable can take the values shown in Table 1.3.

Table 1.3 Valid Values for the _ALIGNTYPE_ Variable

Value

Type of Alignment

SEQ

Start equal to

SGE

Start greater than or equal to

SLE

Start less than or equal to

FEQ

Finish equal to

FGE

Finish greater than or equal to

FLE

Finish less than or equal to

Precedence Constraints

The _SUCCESSOR_ variable enables you to define precedence-type relationships between activities using AON (activity-on-node) format. The _SUCCESSOR_ variable must have the same type as that of the _ACTIVITY_ variable. The _LAG_ variable defines the lag type of the relationship. By default, all precedence relationships are considered to be finish-to-start (FS). An FS type of precedence relationship is also referred to as a standard precedence constraint. All other types of precedence relationships are considered to be nonstandard precedence constraints. The _LAGDUR_ variable specifies the lag duration. By default, the lag duration is zero.

For each (activity, successor) pair, you can define a lag type and a lag duration. Consider a pair of activities (A, B) with a lag duration given by lagdur. The interpretation of each of the different lag types is given in Table 1.4.

Table 1.4 Valid Values for the _LAG_ Variable

Lag Type

Interpretation

FS

Finish A + lagdur Start B

SS

Start A + lagdur Start B

FF

Finish A + lagdur Finish B

SF

Start A + lagdur Finish B

FSE

Finish A + lagdur = Start B

SSE

Start A + lagdur = Start B

FFE

Finish A + lagdur = Finish B

SFE

Start A + lagdur = Finish B

The first four lag types (FS, SS, FF, and SF) are also referred to as finish-to-start, start-to-start, finish-to-finish, and start-to-finish, respectively. The next four types (FSE, SSE, FFE, and SFE) are stricter versions of FS, SS, FF, and SF, respectively. The first four types impose a lower bound on the start/finish times of B, while the last four types force the start/finish times to be set equal to the lower bound of the domain. This enables you to force an activity to begin when its predecessor is finished. It is relatively easy to generate infeasible scenarios with the stricter versions, so you should use the stricter versions only if the weaker versions are not adequate for your problem.

Resource Constraints

The activity data set cannot be used to define resource-requirement-type constraints. To define these constraints, you must specify RESOURCE and REQUIRES statements.

Variables in the ACTDATA= data set

Table 1.5 lists all the variables associated with the activity data set and their interpretations by the CLP procedure. The table also lists for each variable its type (C for character, N for numeric), the possible values it can assume, and its default value.

Table 1.5 Activity Data Set Variables

Name

Type

Description

Allowed Values

Default

_ACTIVITY_

C/N

activity name

   

_DURATION_

N

duration

 

0

_SUCCESSOR_

C/N

successor name

same type as _ACTIVITY_

 

_ALIGNDATE_

N

alignment date

 

0

_ALIGNTYPE_

C

alignment type

SGE, SLE, SEQ, FGE, FLE, FEQ

SGE

_LAG_

C

lag type

FS, SS, FF, SF, FSE, SSE, FFE, SFE

FS

_LAGDUR_

N

lag duration

 

0


Note: This procedure is experimental.

Previous Page | Next Page | Top of Page