Introduction to Project Management |
Example 1.7: Sequential Scheduling of Projects
Suppose the
schedule displayed in Output 1.6.4 is
not acceptable; you want
the first book to be finished as soon as possible and do not want
resources to be claimed by the second book at the cost of the first
book. One way to accomplish
this is to allow activities related to the second book to be split
whenever the first book demands a resource currently in use by the
second book. If you do not want activities to be split, you can
still accomplish your goal by sequential scheduling.
The structure of the input and output
data sets enables you to schedule the two subprojects sequentially.
This example illustrates the sequential scheduling of subprojects
BOOK1 and BOOK2.
The following program first schedules the subproject BOOK1 using the
resources available. The resulting schedule is displayed in
Output 1.7.1. The Usage data set bk1out is also displayed in
Output 1.7.1.
/* Schedule the higher priority project first */
proc cpm data=book1 resin=resource
out=bk1schd resout=bk1out
date='1jan93'd interval=week;
act act;
dur dur;
succ succ;
resource editor artist / per=avdate avp rcp;
id id;
run;
Output 1.7.1: Sequential Scheduling of Subprojects: Book 1
Schedule for sub-project BOOK1 |
Obs |
act |
succ |
dur |
id |
editor |
artist |
S_START |
S_FINISH |
E_START |
E_FINISH |
L_START |
L_FINISH |
1 |
B1PEDT |
B1REV |
1 |
Preliminary Edit |
1 |
. |
01JAN99 |
07JAN99 |
01JAN99 |
07JAN99 |
01JAN99 |
07JAN99 |
2 |
B1PEDT |
B1GRPH |
1 |
Preliminary Edit |
1 |
. |
01JAN99 |
07JAN99 |
01JAN99 |
07JAN99 |
01JAN99 |
07JAN99 |
3 |
B1REV |
B1CEDT |
2 |
Revise Book |
1 |
. |
08JAN99 |
21JAN99 |
08JAN99 |
21JAN99 |
15JAN99 |
28JAN99 |
4 |
B1GRPH |
B1CEDT |
3 |
Graphics |
. |
1 |
08JAN99 |
28JAN99 |
08JAN99 |
28JAN99 |
08JAN99 |
28JAN99 |
5 |
B1CEDT |
B1PRF |
1 |
Copyedit Book |
1 |
. |
29JAN99 |
04FEB99 |
29JAN99 |
04FEB99 |
29JAN99 |
04FEB99 |
6 |
B1PRF |
B1PRNT |
1 |
Proofread Book |
1 |
. |
05FEB99 |
11FEB99 |
05FEB99 |
11FEB99 |
05FEB99 |
11FEB99 |
7 |
B1PRNT |
|
2 |
Print Book |
. |
. |
12FEB99 |
25FEB99 |
12FEB99 |
25FEB99 |
12FEB99 |
25FEB99 |
Resource Usage for sub-project BOOK1 |
Obs |
_TIME_ |
Reditor |
Aeditor |
Rartist |
Aartist |
1 |
01JAN99 |
1 |
0 |
0 |
1 |
2 |
08JAN99 |
1 |
0 |
1 |
0 |
3 |
15JAN99 |
1 |
0 |
1 |
0 |
4 |
22JAN99 |
0 |
1 |
1 |
0 |
5 |
29JAN99 |
1 |
0 |
0 |
1 |
6 |
05FEB99 |
1 |
0 |
0 |
1 |
7 |
12FEB99 |
0 |
1 |
0 |
1 |
8 |
19FEB99 |
0 |
1 |
0 |
1 |
9 |
26FEB99 |
0 |
1 |
0 |
1 |
|
The Usage data set produced by PROC CPM
has two variables, Aeditor and Aartist, showing the
availability of the editor and the artist on each day of the project,
after scheduling
subproject BOOK1. This data set is used to create the data set
remres, listing the remaining resources available, which is then used
as the Resource input data set for scheduling the subproject
BOOK2. The following program shows the DATA step and the
invocation of PROC CPM.
The schedule for publishing BOOK2 is displayed in Output 1.7.2.
The Usage data set bk2out is also displayed in Output 1.7.2.
Note that this
method of scheduling has ensured that BOOK1 is not delayed; however,
the entire project has been delayed by two more weeks, resulting
in a total delay of six weeks.
/* Construct the Resource availability data set */
/* with proper resource names */
data remres;
set bk1out;
avdate=_time_;
editor=aeditor;
artist=aartist;
keep avdate editor artist;
format avdate date7.;
run;
proc cpm data=book2 resin=remres
out=bk2schd resout=bk2out
date='1jan93'd interval=week;
act act;
dur dur;
succ succ;
resource editor artist / per=avdate avp rcp;
id id;
run;
Output 1.7.2: Sequential Scheduling of Subprojects: Book 2
Schedule for sub-project BOOK2 |
Obs |
act |
succ |
dur |
id |
editor |
artist |
S_START |
S_FINISH |
E_START |
E_FINISH |
L_START |
L_FINISH |
1 |
B2PEDT |
B2REV |
2 |
Preliminary Edit |
1 |
. |
12FEB99 |
25FEB99 |
01JAN99 |
14JAN99 |
01JAN99 |
14JAN99 |
2 |
B2PEDT |
B2GRPH |
2 |
Preliminary Edit |
1 |
. |
12FEB99 |
25FEB99 |
01JAN99 |
14JAN99 |
01JAN99 |
14JAN99 |
3 |
B2REV |
B2CEDT |
2 |
Revise Book |
1 |
. |
26FEB99 |
11MAR99 |
15JAN99 |
28JAN99 |
22JAN99 |
04FEB99 |
4 |
B2GRPH |
B2CEDT |
3 |
Graphics |
. |
1 |
26FEB99 |
18MAR99 |
15JAN99 |
04FEB99 |
15JAN99 |
04FEB99 |
5 |
B2CEDT |
B2PRF |
1 |
Copyedit Book |
1 |
. |
19MAR99 |
25MAR99 |
05FEB99 |
11FEB99 |
05FEB99 |
11FEB99 |
6 |
B2PRF |
B2PRNT |
1 |
Proofread Book |
1 |
. |
26MAR99 |
01APR99 |
12FEB99 |
18FEB99 |
12FEB99 |
18FEB99 |
7 |
B2PRNT |
|
2 |
Print Book |
. |
. |
02APR99 |
15APR99 |
19FEB99 |
04MAR99 |
19FEB99 |
04MAR99 |
Resource Usage for sub-project BOOK2 |
Obs |
_TIME_ |
Reditor |
Aeditor |
Rartist |
Aartist |
1 |
12FEB99 |
1 |
0 |
0 |
1 |
2 |
19FEB99 |
1 |
0 |
0 |
1 |
3 |
26FEB99 |
1 |
0 |
1 |
0 |
4 |
05MAR99 |
1 |
0 |
1 |
0 |
5 |
12MAR99 |
0 |
1 |
1 |
0 |
6 |
19MAR99 |
1 |
0 |
0 |
1 |
7 |
26MAR99 |
1 |
0 |
0 |
1 |
8 |
02APR99 |
0 |
1 |
0 |
1 |
9 |
09APR99 |
0 |
1 |
0 |
1 |
10 |
16APR99 |
0 |
1 |
0 |
1 |
|
Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.