Example 9.1 Line-Printer Network Diagram
This example uses the data set WIDGET
that was used in Example 4.2 in ChapterĀ 4: The CPM Procedure, to illustrate the Activity-on-Node representation of the project. The following program invokes PROC NETDRAW twice. First,
the activity data set WIDGET
is used as input to the procedure. The activity and successor information is identified using the ACTIVITY= and SUCCESSOR=
options in the ACTNET statement. The LINEPRINTER option is specified, producing the line-printer network diagram shown in
Output 9.1.1.
data widget;
format task $12. succ1-succ3 $12.;
input task & days succ1 & succ2 & succ3 & ;
datalines;
Approve Plan 5 Drawings Study Market Write Specs
Drawings 10 Prototype . .
Study Market 5 Mkt. Strat. . .
Write Specs 5 Prototype . .
Prototype 15 Materials Facility .
Mkt. Strat. 10 Test Market Marketing .
Materials 10 Init. Prod. . .
Facility 10 Init. Prod. . .
Init. Prod. 10 Test Market Marketing Evaluate
Evaluate 10 Changes . .
Test Market 15 Changes . .
Changes 5 Production . .
Production 0 . . .
Marketing 0 . . .
;
title 'Widget Manufacture';
options ps=32 ls=78;
proc netdraw data=widget lineprinter;
actnet / activity=task successor=(succ1 succ2 succ3);
run;
Output 9.1.1: Line-Printer Network Diagram
-------------- --------------
-->|Drawings |--- -->|Materials |---
| -------------- | | -------------- |
| | | |
| | | |
| | |------------------+--
| | | |
| | | |
-------------- | -------------- | -------------- | -------------- |
|Approve Plan|--+->|Write Specs |---->|Prototype |--+->|Facility |---->
-------------- | -------------- -------------- | --------------
| |
| |
| |
| |
| |
| -------------- -------------- |
-->|Study Market|---->|Mkt. Strat. |------------------------
-------------- --------------
|
--------------
-->|Test Market |---
| -------------- |
| |
| |
----------------| |
| |
| |
-------------- | -------------- | -------------- --------------
|Init. Prod. |--+->|Evaluate |---->|Changes |---->|Production |
-------------- | -------------- -------------- --------------
|
|
|
|
|
| --------------
------------------>|Marketing |
--------------
|
Next, PROC CPM is invoked to schedule the project, and the resulting Schedule data set is used as input to the NETDRAW procedure.
In addition to the ACTIVITY= and SUCCESSOR= options, the DURATION= option is used in the ACTNET statement. The DURATION= option
adds the values of the DURATION variable within each node of the network. The procedure also displays the values of the E_START
, E_FINISH
, L_START
, L_FINISH
, T_FLOAT
, and F_FLOAT
variables within each node. The network is displayed in Output 9.1.2.
proc cpm data=widget out=sched
date='1dec03'd;
activity task;
successor succ1 succ2 succ3;
duration days;
run;
options ps=45 ls=90;
title2 'Schedule Information';
proc netdraw data=sched lineprinter;
actnet / activity=task
successor=(succ1 succ2 succ3)
duration = days;
run;
Output 9.1.2: Project Schedule
-------------------------
|Drawings Dur:10|
-->|ES:06DEC03 EF:15DEC03|--- -->
| |LS:06DEC03 LF:15DEC03| | |
| |TF: 0 FF: 0 | | |
| ------------------------- | |
| | |
| | |
| | |--
| | |
| | |
------------------------- | ------------------------- | ------------------------- |
|Approve Plan Dur: 5| | |Write Specs Dur: 5| | |Prototype Dur:15| |
|ES:01DEC03 EF:05DEC03|--+->|ES:06DEC03 EF:10DEC03|---->|ES:16DEC03 EF:30DEC03|--+->
|LS:01DEC03 LF:05DEC03| | |LS:11DEC03 LF:15DEC03| |LS:16DEC03 LF:30DEC03| |
|TF: 0 FF: 0 | | |TF: 5 FF: 5 | |TF: 0 FF: 0 | |
------------------------- | ------------------------- ------------------------- |
| |
| |
| |
| |
| |
| ------------------------- ------------------------- |
| |Study Market Dur: 5| |Mkt. Strat. Dur:10| |
-->|ES:06DEC03 EF:10DEC03|---->|ES:11DEC03 EF:20DEC03|-----
|LS:05JAN04 LF:09JAN04| |LS:10JAN04 LF:19JAN04|
|TF:30 FF: 0 | |TF:30 FF:30 |
------------------------- -------------------------
|
------------------------- -------------------------
|Materials Dur:10| |Test Market Dur:15|
|ES:31DEC03 EF:09JAN04|--- -->|ES:20JAN04 EF:03FEB04|---
|LS:31DEC03 LF:09JAN04| | | |LS:20JAN04 LF:03FEB04| |
|TF: 0 FF: 0 | | | |TF: 0 FF: 0 | |
------------------------- | | ------------------------- |
| | |
| | |
---------------------------+-----------------------------| |
| | |
| | |
------------------------- | ------------------------- | ------------------------- |
|Facility Dur:10| | |Init. Prod. Dur:10| | |Evaluate Dur:10| |
|ES:31DEC03 EF:09JAN04|---->|ES:10JAN04 EF:19JAN04|--+->|ES:20JAN04 EF:29JAN04|---->
|LS:31DEC03 LF:09JAN04| |LS:10JAN04 LF:19JAN04| | |LS:25JAN04 LF:03FEB04|
|TF: 0 FF: 0 | |TF: 0 FF: 0 | | |TF: 5 FF: 5 |
------------------------- ------------------------- | -------------------------
|
|
|
|
|
| -------------------------
| |Marketing Dur: 0|
----------------------------------------------------------->|ES:20JAN04 EF:20JAN04|
|LS:09FEB04 LF:09FEB04|
|TF:20 FF:20 |
-------------------------
|
------------------------- -------------------------
|Changes Dur: 5| |Production Dur: 0|
|ES:04FEB04 EF:08FEB04|---->|ES:09FEB04 EF:09FEB04|
|LS:04FEB04 LF:08FEB04| |LS:09FEB04 LF:09FEB04|
|TF: 0 FF: 0 | |TF: 0 FF: 0 |
------------------------- -------------------------
|