Resources

Landfill Site Project

 /****************************************************************/
 /*          S A S   S A M P L E   L I B R A R Y                 */
 /*                                                              */
 /*    NAME: PMEX06                                              */
 /*   TITLE: Landfill Site Project                               */
 /* PRODUCT: OR                                                  */
 /*  SYSTEM: ALL                                                 */
 /*    KEYS: CPM                                                 */
 /*   PROCS: CPM,PRINT,NETDRAW,GANTT                             */
 /*    DATA:                                                     */
 /*                                                              */
 /* SUPPORT:                             UPDATE:                 */
 /*     REF: Example 6 of Project Management Examples Book       */
 /*    MISC:                                                     */
 /*                                                              */
 /****************************************************************/

goptions border hpos=80 vpos=43
         fby=swiss
         ftitle=swiss
         htitle=2
         ftext=swiss
         htext=1.5;

pattern1 v=solid c=blue;
pattern2 v=e c=blue;
pattern3 v=solid c=red;
pattern4 v=e c=red;
pattern5 v=x2 c=red;
pattern6 v=solid c=green;
pattern7 v=e c=magenta;
pattern8 v=solid c=magenta;
pattern9 v=x1 c=cyan;

title 'Landfill Site Project';

data site;
input act s1 s2 dur task & $35. l1 $ id & $12.;
cards;
1  2  5   1    Prepare screening criteria               .     Scrning Crit
2  3  .   0    Mtg 1:Presentation of criteria         FS_1    Meeting 1
3  4  .   0    Mtg 2:Working session on screening     FS_1    Meeting 2
4  6  .   0    Mtg 3:Public review of screening       FS_1    Mtg 3 (Pub)
5  6  7   2    Prepare ranking and weighting            .     Rank/Wght
6  8  7   0    Mtg 4:Adopt screening                  FS_1    Meeting 4
7  9  .   2    Perform initial screening                .     Do Screening
8  9  .   0    Mtg 5:Working session on ranking       FS_1    Meeting 5
9  10 11  0    Mtg 6:Public review of screening         .     Mtg 6 (Pub)
10 12 .   1    Issue public notice                      .     Pub Notice
11 12 13  2    Prepare 10-15 candidate sites            .     Cand Sites
12 14 .   0    Mtg 7:Review 10-15 candidate sites     FS_1    Meeting 7
13 19 .   1    Prepare first interim report             .     Int Report 1
14 15 .   0    Mtg 8:Visit candidate sites            FS_1    Meeting 8
15 16 .   0    Mtg 9:Final work session on sites        .     Meeting 9
16 17 19  1    Select 2-5 finalist sites                .     Select Sites
17 18 .   0    Mtg 10:Public review of finalists      FS_1    Mtg 10 (Pub)
18 20 .   0    Mtg 11:Select sites for geotech          .     Meeting 11
19 24 .   2    Prepare second interim report            .     Int Report 2
20 21 22  2    Conduct geotech investigations           .     Geotech Inv
21 22 .   0    Mtg 12:Present geotech findings          .     Meeting 12
22 23 24  2    Prepare engineering evaluations          .     Engin Evals
23 24 .   0    Mtg 13:Present engin evaluations         .     Meeting 13
24 25 .   1    Prepare third interim report             .     Int Report 3
25 26 .   0    Mtg 14:Public input for final site       .     Mtg 14 (Pub)
26 27 .   1    Make selection of final site             .     Final Site
27 28 29  0    Mtg 15:Review site with committee      FS_1    Meeting 15
28 .  .   0    Mtg 16:Review site with board            .     Meeting 16
29 .  .   2    Prepare final report                     .     Final Report
;

proc cpm data=site out=siteout date='01may90'd interval=month;
activity act;
successor s1 s2/lag=(l1);
duration dur;
id task id;
baseline/set=late;
run;

title2 'Initial Schedule';

proc gantt graphics data=siteout;
chart/compress mininterval=month nojobnum scale=7
vmile="P" hmile=1 fmile=marker
duration=dur hconnect;
id id;
run;


data updates;
format start finish date7.;
input act @5 start date7. pct @19 finish date7.;
cards;
1   01may90   .   14jun90
2   07jun90   .   07jun90
3   12jul90   .   12jul90
4   01aug90   .   01aug90
5   15jul90   .   25sep90
6   15sep90   .   15sep90
7   15sep90   .   30dec90
8   13oct90   .   13oct90
9   05jan91   .   05jan91
10  15jan91   50    .
11  06jan91   25    .
;

data siteupd;
merge site updates siteout (keep=act b_start b_finish);
by act;
run;


proc cpm data=siteupd out=siteout1
date='01may90'd interval=month;
activity act;
successor s1 s2/lag=(l1);
duration dur;
id task id;
actual/a_start=start a_finish=finish
pctcomp=pct timenow='01feb91'd;
baseline/compare=late;
run;

title2 'Schedule Updated with Actual Dates';

proc print data=siteout1 noobs;
var id l_start l_finish b_start b_finish s_var f_var;
format l_start l_finish b_start b_finish date7.
       s_var f_var 4.1;
run;

proc gantt graphics data=siteout1;
chart/compress mininterval=month
vmile="P" hmile=1 fmile=marker
duration=dur scale=5
combine wtnow=3 nojobnum
timenow='01feb91'd hconnect;
id id status;
run;

pattern1 v=e;
title2 'Timescaled Network';

proc netdraw graphics data=siteout1;
actnet/activity=act succ=(s1 s2) id=(id e_start e_finish)
nodefid linear compress align=e_start
timescale mininterval=qtr showstatus font=simplex;
format e_start e_finish date7.;
run;

pattern1 v=s;