Chapter Contents
Chapter Contents
Previous
Previous
Next
Next
The CPM Procedure

Example 2.1: Activity-on-Node Representation

cpmnet1.gif (5677 bytes)

Figure 2.6: Network Showing Task Relationships in Activity-on-Node Format

The following DATA step reads the project network in AON format into a SAS data set named WIDGET. The data set contains the minimum amount of information needed to invoke PROC CPM, namely, the ACTIVITY variable, one or more SUCCESSOR variables, and a DURATION variable. PROC CPM is invoked, and the Schedule data set is displayed using the PRINT procedure in Output 2.1.1. The Schedule data set produced by PROC CPM contains the solution in canonical units, without reference to any calendar date or time. For instance, the early start time of the first activity in the project is the beginning of period 0 and the early finish time is the beginning of period 5.

   /* Activity-on-Node representation of the project */
   data widget;
      input task $ 1-12 days succ1 $ 19-30 succ2 $ 33-44 succ3 $ 47-58;
      datalines;
   Approve Plan   5  Drawings      Anal. Market  Write Specs
   Drawings      10  Prototype
   Anal. 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
   ;

   /* Invoke PROC CPM to schedule the project specifying the */
   /* ACTIVITY, DURATION and SUCCESSOR variables             */
   proc cpm;
      activity task;
      duration days;
      successor succ1 succ2 succ3;
      run;

   title 'Widget Manufacture: Activity-On-Node Format';
   title2 'Critical Path';
   proc print;
      run;

Output 2.1.1: Critical Path

Widget Manufacture: Activity-On-Node Format
Critical Path

Obs task succ1 succ2 succ3 days E_START E_FINISH L_START L_FINISH T_FLOAT F_FLOAT
1 Approve Plan Drawings Anal. Market Write Specs 5 0 5 0 5 0 0
2 Drawings Prototype     10 5 15 5 15 0 0
3 Anal. Market Mkt. Strat.     5 5 10 35 40 30 0
4 Write Specs Prototype     5 5 10 10 15 5 5
5 Prototype Materials Facility   15 15 30 15 30 0 0
6 Mkt. Strat. Test Market Marketing   10 10 20 40 50 30 30
7 Materials Init. Prod.     10 30 40 30 40 0 0
8 Facility Init. Prod.     10 30 40 30 40 0 0
9 Init. Prod. Test Market Marketing Evaluate 10 40 50 40 50 0 0
10 Evaluate Changes     10 50 60 55 65 5 5
11 Test Market Changes     15 50 65 50 65 0 0
12 Changes Production     5 65 70 65 70 0 0
13 Production       0 70 70 70 70 0 0
14 Marketing       0 50 50 70 70 20 20


Alternately, if you know that the project is to start on December 2, 1991, then you can determine the project schedule with reference to calendar dates by specifying the DATE= option in the PROC CPM statement. The default unit of duration is assumed to be DAY. The architecture of PROC CPM enables you to include any number of additional variables that are relevant to the project. Here, for example, you may want to include more descriptive activity names and department information. The data set DETAILS contains more information about the project that is merged with the WIDGET data set to produce the WIDGETN data set. The ID statement is useful to carry information through to the output data set. Output 2.1.2 displays the resulting output data set.

   data details;
      input task $ 1-12 dept $ 15-27 descrpt $ 30-59;
      label dept =  "Department"
            descrpt = "Activity Description";
      datalines;
   Approve Plan  Planning       Finalize and Approve Plan
   Drawings      Engineering    Prepare Drawings
   Anal. Market  Marketing      Analyze Potential Markets
   Write Specs   Engineering    Write Specifications
   Prototype     Engineering    Build Prototype
   Mkt. Strat.   Marketing      Develop Marketing Concept
   Materials     Manufacturing  Procure Raw Materials
   Facility      Manufacturing  Prepare Manufacturing Facility
   Init. Prod.   Manufacturing  Initial Production Run
   Evaluate      Testing        Evaluate Product In-House
   Test Market   Testing        Mail Product to Sample Market
   Changes       Engineering    Engineering Changes
   Production    Manufacturing  Begin Full Scale Production
   Marketing     Marketing      Begin Full Scale Marketing
   ;

   /* Combine project network data with additional details */
   data widgetn;
      merge widget details;
      run;

   /* Schedule using PROC CPM, identifying the variables */
   /* that specify additional project information        */
   /* and set project start date to be December 2, 1991  */
   proc cpm data=widgetn date='2dec91'd;
      activity task;
      successor succ1 succ2 succ3;
      duration days;
      id dept descrpt;
      run;

   proc sort;
      by e_start;
      run;

   options ls=90;

   title2 'Project Schedule';
   proc print;
      id descrpt;
      var dept e_: l_: t_float f_float;
      run;

Output 2.1.2: Critical Path: Activity-On-Node Format

Widget Manufacture: Activity-On-Node Format
Project Schedule

descrpt dept E_START E_FINISH L_START L_FINISH T_FLOAT F_FLOAT
Finalize and Approve Plan Planning 02DEC91 06DEC91 02DEC91 06DEC91 0 0
Prepare Drawings Engineering 07DEC91 16DEC91 07DEC91 16DEC91 0 0
Analyze Potential Markets Marketing 07DEC91 11DEC91 06JAN92 10JAN92 30 0
Write Specifications Engineering 07DEC91 11DEC91 12DEC91 16DEC91 5 5
Develop Marketing Concept Marketing 12DEC91 21DEC91 11JAN92 20JAN92 30 30
Build Prototype Engineering 17DEC91 31DEC91 17DEC91 31DEC91 0 0
Procure Raw Materials Manufacturing 01JAN92 10JAN92 01JAN92 10JAN92 0 0
Prepare Manufacturing Facility Manufacturing 01JAN92 10JAN92 01JAN92 10JAN92 0 0
Initial Production Run Manufacturing 11JAN92 20JAN92 11JAN92 20JAN92 0 0
Evaluate Product In-House Testing 21JAN92 30JAN92 26JAN92 04FEB92 5 5
Test Product in Sample Market Testing 21JAN92 04FEB92 21JAN92 04FEB92 0 0
Begin Full Scale Marketing Marketing 21JAN92 21JAN92 10FEB92 10FEB92 20 20
Engineering Changes Engineering 05FEB92 09FEB92 05FEB92 09FEB92 0 0
Begin Full Scale Production Manufacturing 10FEB92 10FEB92 10FEB92 10FEB92 0 0

Chapter Contents
Chapter Contents
Previous
Previous
Next
Next
Top
Top

Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.