This example illustrates the use of the MULTIPLEALTERNATES option. The Activity data set printed in Output 4.26.1 is a slightly modified version of the data set in Example 4.25. The difference is in the resource requirement for the first activity in the project. The 'Plans and Requirements' task requires
2 programmers. By default, when alternate resources are used, the CPM procedures cannot use multiple alternate resources to
substitute for any given resource. In this example, however, you would like the procedure to use both Chris and John for the
first task. The Resource data set resmult
is also printed in Output 4.26.1, showing that both Chris and John are alternates that can be substituted at the same rate as the primary resource.
Output 4.26.1: Multiple Alternates
Software Development |
Use of Multiple Alternate Resources |
Activity Data Set |
Obs | Activity | dur | mandays | act | s1 | s2 | Programmer | Chris | John |
---|---|---|---|---|---|---|---|---|---|
1 | Plans & Reqts | 2 | . | 1 | 2 | 3 | 2 | . | . |
2 | Product Design | . | 3 | 2 | 4 | 5 | 1 | . | . |
3 | Test Plan | 3 | . | 3 | 6 | 7 | . | . | . |
4 | Documentation | 1 | 2 | 4 | 9 | . | 1 | . | . |
5 | Code | 1 | 10 | 5 | 8 | . | 1 | . | . |
6 | Test Data | 5 | . | 6 | 8 | . | . | . | . |
7 | Test Routines | 5 | . | 7 | 8 | . | . | . | . |
8 | Test Product | 6 | . | 8 | 9 | . | 1 | . | . |
9 | Finish | 0 | . | 9 | . | . | . | . | . |
Software Development |
Use of Multiple Alternate Resources |
Resource Data Set |
Obs | per | otype | resid | Programmer | Chris | John |
---|---|---|---|---|---|---|
1 | . | resrcdur | 1 | 1 | 1 | |
2 | . | altrate | Programmer | . | 1 | 1 |
3 | 12APR04 | reslevel | . | 1 | 1 |
To enable PROC CPM to use multiple alternates, use the MULTIPLEALTERNATES option, as shown in the following invocation:
proc cpm data=softmult out=sftmult rsched=rsftmult resin=resmult date='12apr04'd interval=weekday resout=routmult; act act; succ s1 s2; dur dur; res Programmer Chris John / work=mandays obstype=otype period=per resid=resid multiplealternates rschedid=Activity; id Activity; run;
The resulting schedule is printed in Output 4.26.2. Note that both programmers are used for the activity 'Plans and Reqts'.
Output 4.26.2: Multiple Alternates: Resource Schedule Data Set
Software Development |
Use of Multiple Alternate Resources |
Resource Constrained Schedule |
Activity | act | RESOURCE | DUR_TYPE | dur | mandays | R_RATE | S_START | S_FINISH | E_START | E_FINISH | L_START | L_FINISH |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Plans & Reqts | 1 | 2 | . | . | 12APR04 | 13APR04 | 12APR04 | 13APR04 | 12APR04 | 13APR04 | ||
Plans & Reqts | 1 | Programmer | FIXED | 2 | . | 2 | . | . | 12APR04 | 13APR04 | 12APR04 | 13APR04 |
Plans & Reqts | 1 | John | FIXED | 2 | . | 1 | 12APR04 | 13APR04 | . | . | . | . |
Plans & Reqts | 1 | Chris | FIXED | 2 | . | 1 | 12APR04 | 13APR04 | . | . | . | . |
Product Design | 2 | 3 | . | . | 14APR04 | 16APR04 | 14APR04 | 16APR04 | 14APR04 | 16APR04 | ||
Product Design | 2 | Programmer | RDRIVEN | 3 | 3 | 1 | . | . | 14APR04 | 16APR04 | 14APR04 | 16APR04 |
Product Design | 2 | Chris | RDRIVEN | 3 | 3 | 1 | 14APR04 | 16APR04 | . | . | . | . |
Test Plan | 3 | 3 | . | . | 14APR04 | 16APR04 | 14APR04 | 16APR04 | 21APR04 | 23APR04 | ||
Documentation | 4 | 1 | . | . | 19APR04 | 20APR04 | 19APR04 | 20APR04 | 07MAY04 | 10MAY04 | ||
Documentation | 4 | Programmer | RDRIVEN | 2 | 2 | 1 | . | . | 19APR04 | 20APR04 | 07MAY04 | 10MAY04 |
Documentation | 4 | John | RDRIVEN | 2 | 2 | 1 | 19APR04 | 20APR04 | . | . | . | . |
Code | 5 | 1 | . | . | 19APR04 | 30APR04 | 19APR04 | 30APR04 | 19APR04 | 30APR04 | ||
Code | 5 | Programmer | RDRIVEN | 10 | 10 | 1 | . | . | 19APR04 | 30APR04 | 19APR04 | 30APR04 |
Code | 5 | Chris | RDRIVEN | 10 | 10 | 1 | 19APR04 | 30APR04 | . | . | . | . |
Test Data | 6 | 5 | . | . | 19APR04 | 23APR04 | 19APR04 | 23APR04 | 26APR04 | 30APR04 | ||
Test Routines | 7 | 5 | . | . | 19APR04 | 23APR04 | 19APR04 | 23APR04 | 26APR04 | 30APR04 | ||
Test Product | 8 | 6 | . | . | 03MAY04 | 10MAY04 | 03MAY04 | 10MAY04 | 03MAY04 | 10MAY04 | ||
Test Product | 8 | Programmer | FIXED | 6 | . | 1 | . | . | 03MAY04 | 10MAY04 | 03MAY04 | 10MAY04 |
Test Product | 8 | Chris | FIXED | 6 | . | 1 | 03MAY04 | 10MAY04 | . | . | . | . |
Finish | 9 | 0 | . | . | 11MAY04 | 11MAY04 | 11MAY04 | 11MAY04 | 11MAY04 | 11MAY04 |