Example 4.26 Multiple Alternate Resources
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
Plans & Reqts |
2 |
. |
1 |
2 |
3 |
2 |
. |
. |
Product Design |
. |
3 |
2 |
4 |
5 |
1 |
. |
. |
Test Plan |
3 |
. |
3 |
6 |
7 |
. |
. |
. |
Documentation |
1 |
2 |
4 |
9 |
. |
1 |
. |
. |
Code |
1 |
10 |
5 |
8 |
. |
1 |
. |
. |
Test Data |
5 |
. |
6 |
8 |
. |
. |
. |
. |
Test Routines |
5 |
. |
7 |
8 |
. |
. |
. |
. |
Test Product |
6 |
. |
8 |
9 |
. |
1 |
. |
. |
Finish |
0 |
. |
9 |
. |
. |
. |
. |
. |
. |
resrcdur |
|
1 |
1 |
1 |
. |
altrate |
Programmer |
. |
1 |
1 |
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
1 |
|
|
2 |
. |
. |
12APR04 |
13APR04 |
12APR04 |
13APR04 |
12APR04 |
13APR04 |
1 |
Programmer |
FIXED |
2 |
. |
2 |
. |
. |
12APR04 |
13APR04 |
12APR04 |
13APR04 |
1 |
John |
FIXED |
2 |
. |
1 |
12APR04 |
13APR04 |
. |
. |
. |
. |
1 |
Chris |
FIXED |
2 |
. |
1 |
12APR04 |
13APR04 |
. |
. |
. |
. |
2 |
|
|
3 |
. |
. |
14APR04 |
16APR04 |
14APR04 |
16APR04 |
14APR04 |
16APR04 |
2 |
Programmer |
RDRIVEN |
3 |
3 |
1 |
. |
. |
14APR04 |
16APR04 |
14APR04 |
16APR04 |
2 |
Chris |
RDRIVEN |
3 |
3 |
1 |
14APR04 |
16APR04 |
. |
. |
. |
. |
3 |
|
|
3 |
. |
. |
14APR04 |
16APR04 |
14APR04 |
16APR04 |
21APR04 |
23APR04 |
4 |
|
|
1 |
. |
. |
19APR04 |
20APR04 |
19APR04 |
20APR04 |
07MAY04 |
10MAY04 |
4 |
Programmer |
RDRIVEN |
2 |
2 |
1 |
. |
. |
19APR04 |
20APR04 |
07MAY04 |
10MAY04 |
4 |
John |
RDRIVEN |
2 |
2 |
1 |
19APR04 |
20APR04 |
. |
. |
. |
. |
5 |
|
|
1 |
. |
. |
19APR04 |
30APR04 |
19APR04 |
30APR04 |
19APR04 |
30APR04 |
5 |
Programmer |
RDRIVEN |
10 |
10 |
1 |
. |
. |
19APR04 |
30APR04 |
19APR04 |
30APR04 |
5 |
Chris |
RDRIVEN |
10 |
10 |
1 |
19APR04 |
30APR04 |
. |
. |
. |
. |
6 |
|
|
5 |
. |
. |
19APR04 |
23APR04 |
19APR04 |
23APR04 |
26APR04 |
30APR04 |
7 |
|
|
5 |
. |
. |
19APR04 |
23APR04 |
19APR04 |
23APR04 |
26APR04 |
30APR04 |
8 |
|
|
6 |
. |
. |
03MAY04 |
10MAY04 |
03MAY04 |
10MAY04 |
03MAY04 |
10MAY04 |
8 |
Programmer |
FIXED |
6 |
. |
1 |
. |
. |
03MAY04 |
10MAY04 |
03MAY04 |
10MAY04 |
8 |
Chris |
FIXED |
6 |
. |
1 |
03MAY04 |
10MAY04 |
. |
. |
. |
. |
9 |
|
|
0 |
. |
. |
11MAY04 |
11MAY04 |
11MAY04 |
11MAY04 |
11MAY04 |
11MAY04 |
Copyright © SAS Institute Inc. All rights reserved.