Activity Splitting (cpme19)

 /****************************************************************/
 /*          S A S   S A M P L E   L I B R A R Y                 */
 /*                                                              */
 /*    NAME: CPME19                                              */
 /*   TITLE: Activity Splitting (cpme19)                         */
 /* PRODUCT: OR                                                  */
 /*  SYSTEM: ALL                                                 */
 /*    KEYS: CPM                                                 */
 /*   PROCS: CPM                                                 */
 /*    DATA:                                                     */
 /*                                                              */
 /* SUPPORT:                             UPDATE:                 */
 /*     REF: Example 19 from the CPM Chapter (PM User's Guide)   */
 /*    MISC:                                                     */
 /*                                                              */
 /****************************************************************/

 /* Activity-on-Node representation of the project */
data widgr19;
   input task $ 1-12 days succ $ 19-30 prodman hrdware minseg;
   datalines;
Approve Plan   5  Drawings       1  .  .
Approve Plan   5  Study Market   1  .  .
Approve Plan   5  Write Specs    1  .  .
Drawings      10  Prototype      .  1  1
Study Market   5  Mkt. Strat.    .  .  .
Write Specs    5  Prototype      .  .  .
Prototype     15  Materials      1  .  .
Prototype     15  Facility       1  .  .
Mkt. Strat.   10  Test Market    1  .  1
Mkt. Strat.   10  Marketing      1  .  1
Materials     10  Init. Prod.    .  .  .
Facility      10  Init. Prod.    .  .  .
Init. Prod.   10  Test Market    1  .  .
Init. Prod.   10  Marketing      1  .  .
Init. Prod.   10  Evaluate       1  .  .
Evaluate      10  Changes        1  .  .
Test Market   15  Changes        .  .  .
Changes        5  Production     .  .  .
Production     0                 1  .  .
Marketing      0                 .  .  .
;

title 'Activity Splitting';
title2 'Project Data';
proc print;
   run;

data widgrin;
input  per date7. otype $ prodman hrdware;
format per date7.;
datalines;
.         restype  1  1
01dec03   reslevel 1  1
10dec03   reslevel .  0
12dec03   reslevel .  1
;


data holdata;
format hol date7.;
input hol date7.;
datalines;
25dec03
01jan04
;

title 'Activity Splitting';
title2 'Resource Availability Data Set';
proc print data=widgrin;
run;

proc cpm date='01dec03'd
         data=widgr19 resin=widgrin
         holidata=holdata
         out=sched resout=rout
         interval=weekday collapse;
   activity task;
   duration days;
   successor succ;
   holiday hol;
   resource prodman hrdware / period=per obstype=otype
                              t_float f_float rcs avl;
   run;

title 'Activity Splitting';
title2 'Project Schedule: Splitting not Allowed';
proc print data=sched;
run;

proc cpm date='01dec03'd
         data=widgr19
         holidata=holdata resin=widgrin
         out=spltschd resout=spltrout
         interval=weekday collapse;
   activity task;
   duration days;
   successor succ;
   holiday hol;
   resource prodman hrdware / period=per obstype=otype
                              minsegmtdur=minseg
                              rcs avl;
   id task;
   run;

title 'Activity Splitting';
title2 'Project Schedule: Splitting Allowed';
proc print data=spltschd;
run;