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.
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.
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 |
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.
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.
The activity data set cannot be used to define resource-requirement-type constraints. To define these constraints, you must specify RESOURCE and REQUIRES statements.
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.
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.
Copyright © 2008 by SAS Institute Inc., Cary, NC, USA. All rights reserved.