sta.~e universl~y ~ul~lllment - virginia tech · the gap between unde.rs1:and1ng the princlpl.es...
Post on 29-Jun-2020
1 Views
Preview:
TRANSCRIPT
,A PEDAGOGICAL GAME IPO.R
PROJECT UANAGEMENT/
by
Thesis subanl ted to "the Graduate Facull ty
Virginia Polytechnic Institute and Sta.~e Universl~y
in partial ~ul~lllment of the requirements 1or the degree of
MASTER OF ARCHITECTURE
APP.ROVED:
e De (i-. \ w. w. Brown Kil.per
.August, 1978
Blacksburg, Virginia
ACKNOWLEDGEMENTS
The author wishes -to "'than.k the members o1 his committee
:for 1:heir cons-tructlve cri1:lcism .in 1:he course o:t' reviewing
1:bis 1:hesls. In particular, 1:be author would .like to thank
Dr. R. c. Heterick 1or bis ideas and advice which made this
"thesis possib.le. AcknowJ.edgement is a.l.so due to ' whoes insights in the area o:f programming s·trategy and da "ta
struc-tures were invaluable. Las-t:.ly,
grat:.i tude is extended 1:0 his wi£e,
1:he au1:hors deepest
1or her advice,
encouragement, and many correc-tions made -to -th.is text •
.i .i
CONTENTS
ACKNOWLEDGEMENTS • • • • • • • • • • • • • • • • • • • • .11
INTRODUCTION • • • • • • • • • • • • • • • .. • • • • • • • 1
THE GAME .. • • • • • • • • • • • • • • • • .. • • • • • • • 4 Ove.rvlew Data S"tructure Simu.lat.ion ModeJ. Cost, P roductlvl ty, and Duration Modi:f.lers Reports Schedu.l ing and AnaJ.ysls
EXAMPLE PLAY OF THE GAME • • • • • • • • • • • • • • • • .22
RECOMENDATIONS • • • • • • • • • • • • • ·• • • • • • • • .33 Environmental. Functions Game Manager Sc he du.led Events Shared Variab.les
SELECTED BIBLIOGRAPHY. • • • • • • • • • • • • • • • • • .39
APPENDIX A Workspace Listing • • • • • • • • • • • • • .41
APPENDIX B Topography and Cross .Re:ference. • • • • • • .93
APPENDIX c - Instructions. • • • • • • • • • • • • • • • 102
VITA • • • • • • • • • • • .. • • • • • • • • • • • • • • 123
ii.I
INTRODUCTION
Projec1: managemen1: is "the dynamic aJ.1oca1:ion o.:l'
resources 1:0 a Job in such manner as 1:0 reduce costs or
expedite comp1etion - the overail goal being to maximize
pro1i1: or mimimize 1oss. The complex nature 0£ this problem
requires the know1edge o1 several. analytic tools, since any
single "tool wh.lch can be used is o1ten insu.:f£iclen-t.
Successful proJec·'t management requires no1: only an
understanding 0£ -the anal.ytic tools hu1: a1so f:he.ir
appl.ica1:ion and con1ldence limits in a changing proJec"l
environment. In 1:he educational environment,
analy1:ic tools is o11:en the end o.:f the process.
"teaching "the
Learn.log to
appl.y -these methods .is 1e£1: -to 'the real.m oi'. "experience" in
the working environmen1:. A pedagogicai game played on a
co1nputer can be used as an educa·tiona.l "too1 -to he.lp bl"ldge
the gap between unde.rs1:and1ng the princlpl.es o:f a p.ro.Jec1:
management too.I, and 1:he app.lication o:f 11: i.n prac1:ice. The
game provides 1:he surrogate reali"ty where the pl.ayer can
"test anaJ.y1:1c 111e1:bods on a prob1em under cond.i tions o~ a
si·mula1:ed chan@ing env.lronmen1: beyond his di.rec1: contro.le
The use 0£ computer games :for deve.loping aanageaent
skil.ls ls no1: a new idea and, speci1ica.11y, a gaae 1or
consf:ruci:lon management has been aYa.i.1ahJ.e since 1972. Th.is
1
2
game, CONSTRUCTO, was a pi.lot cons-truc-tion management game
deve.loped by Daniel w. Ha.lpin and Rona.1d w. Woodhead a-t the
University o1 I.1linois(1]. Whi.l.e their work did make good
progress in1:o the areas o:f defining the need :for a
construction management game and estab.llshing the.Ir game ln
terms of a network, environmen"tal.., and resource .mode.l there
were several. areas where the game .l.acked .:f.lex ibl l.1 ty in l. ts
use. So.me o:f "the problems which made this game unacceptable
we.re: the game was playable only in ba-tch process.i.ng :for the
IBM computer version; the periods 0£ play were :fixed
reducing the amount o:t' direct contro.l a p.layer could exert
on 1:be project; there was no way to make a selection o:f the
period end reports. Most o.:f these were the resu1t o:f
.l.imi ta:tions .in t.he type 0£ computer hardware and the
programming .language used. These prob.lems reduced both the
1lexib.il.i.ty o:f its ·use :from a pedagogical. standpoint and
the sponi:anel~y o::f piay.
The game p.resented here ls a set o::f computer :func ti.ons
written in APL no~ai:ion. The player p.lays t:bis game by
invo.k.ing these :func-tlons i:o reques1: in:t:ormation, make
changes "t:o the project, and proceed wi t.b the proJect
simu.lation; with the objective o:f maximizing p.ro:fi ts. At
[ l] Danie.I W • Ha.lpin and Ronald w. Woodhead, CONSTRUCTO: A Heuristic ~ ~ Construction Management, (Urbana.: University o:f 11.linols Press, 1973)
3
a.11 1:lmes the player .invokes these functions from the
interact:i ve "desk caJ.cuJ.a-to.r11 mode oJ: APL and can pJ.ay "the
game wi·th as much or as 1.i"t"tle intervention as he desires.
Besides the requ.irements tha"t 1:he game be playab1e
i nterac ti ve.ly, several. other goa1s were set :for the
devel.opment of the game. These were:
o I""t must be simple to lea.rn
o It shou1d be :flexib.le di1~erent situations to objec"tlves
enough to be used in meet dl:f:ferent learning
o It should allow p.laying period wi"th the game
the player to de"termine the and the amount o:f interaction
o It should al1ow easy modi:flcations by 1uture use.rs :for improveaents or special lns-tructional. uses
WhlJ.e ""the game has yet to be pl.ayed in a classroom
situation~ pre.liminary tests indicate tha""t these goal.s have
been ac.beived.
THE GAME
Overv.iew
The project management game is wrl "t1:en .in "the APL
no-ta ti on{ 2]. It is contained in a single workspace, where
each student or group o:f s-tudents working on one game wouJ.d
have their own copy • These copies would be prepared by the
.instruci:or, or game manager, who woul.d wri-te and insert the
environmenta..l modi.:fier ::functions a:fi'.ecting cos-t esca.la-t.ion
and p.roductivity. Each workspace woul.d contain a proJect
based upon an "activity on arrow" ne1:work wi1:h related
information £or each activity such as duration, material.
costs, and resource requirements. This set 0£ project data
coul.d be deveioped by the s~uden1; as part o:f the game, or
1:he da1:a coul.d be given by 1:he game manager depending on 1:he
objectives of' the learning situation. A set o:f 1unc'ti.ons 1..n
the workspace aliows th.is data to be entered and updated by
the player. The heart o:f the game is a network £J.ow
simulation model. Th.is modeJ. con'tro1s ·the passage 0£ 'time.,
starting activities when predecessors are complete,
resources are avail.abJ.e., and player imposed schedul.es
pe;l"mii:. lt keeps the necessary statistics, updates actual
(2] x:. E. Iverson, A Programming Langua@e, (New York: John Wil.ey 1 1962); Ramond P. Polivka and Sandra Pakln, ~: 1:1!!! Language .!!.!!!! .!.!§ Usage, ( Eng.lewood C.ll:fts., N.J •: Pren'tice-Hal.l, Inc • ., 1975)
4
5
costs i.n the data base, and returns co.ntrol. to the pl.ayer at
the end o.:f his d:e:fined play period. To introduce 1:he e:f:i'.ect
o:f' the external. environment, t:here are several 1unctions
which can be de:fined by the manager o:f' the game to
s1:ochas-tical.1y or determinis1:1cal.ly vary 1:he actual. duration
o:f a Job and its produc-tivity during 'the sl.mu.la'tlon. To
deter.m.ine the sta'tus o:f the game between p.lays, there are
several report :functions which can be invoked by the pl.ayer
to retrieve and summar.ize in:i'.ormat.ion :f'rom "the project da-ta
base. In addition to "these, there are scheduling and
ana1ysis :functions covering the areas o:f 1im.ited :resource
scheduling and CPM analysis.
These game parts have been designed to be as
independent as possibl.e :for two maJor reasons. .First, this
simp.li:fles the teaching o:f' the game. A player can learn a
subset o:f the who.le game and later learn more parts as they
become use:fu.l. Second, modi:fications and additions to the
game are i:ar simpler when the l.n1:eractions between pa.r-ts are
minimized. The J.inkages which do exist between the various
parts are shown in diagramatic 1orm in Figure 1.
Data Structure
The most important aspect 0:1' the game in terms o:f its
structure is the way in which in.:forma:tion .is stored.
Approximatel.y twenty-five varlables are used by the game.
Environmental
Modifiers
6
Project Data Base
~~fH~ ~ ~ ~ ri rr---ttr-i
Simulation 1'1 .Reports . !] Schedule & . [·j Data Base .
Model I fl Analysis [.j. Manipu::Jlation 11
j : ... 1 I.: :-..... --t-"•-J--~~,___. tJ /1"-. Ll ---""':-.....
~.:::::===::::; .___ ___ __, c:::::J ,---------. c=:=i ,------------. I
Figure 1 Game Linkages
7
These variab1es :fit into :five major groups; activl ty
in:formation, resou.rc·e in:forma-t:ion, simul.a1:ion In:fo.rmatlon,
game in:formatlon, and schedu1e .in.:formation. In the
:foJ.1owing discussion, 1:he variables and the functions which
modiJ'.y 1:.he varlabl.es will. he examined :for each o.f these
groups.
Activity informatio.n is held in two variables, NET and
ACTN. ACTN .is a matrix o.f activi "ty names, one per row, wi -th
-the row .index correspond.ing to ·the ac-tlvi ty number. Numeric
in.formation concerning the activities ls be1d in the matrix
variab.le NET. Each column o:f NET contains -the information
:for one activity. The column index corresponds to the
activity number. Each row contains a di1:feren1: va.lue o.:f
in:formation. The def'ini"tion o:f the rows is as :foll.ows:
NET
1. S"tar-t node 2. End node 3. Estimated duration 4. Actual. si:art time 5. Actual. 1inlsb time 6. Status {O=stop, l=normal, 2=crash) 7. Material. cosi: 8. Aci:ual duration 9. Labor cos"t
10. Weather sensitivity (l=yes, O=no) 11. Economic index 12. .Resource requlremen-t - Each resource has a
• separa-te row con-ta.ining the quanti~y 0£ • resource used by the activi1:y • •
N. (N=11+1lpRES)
The values £or rows one, two, 1:hree, six, seven, and ten o1
NET may be en"tered and modi::fied using the :func-t.lons ADDACT,
8
DELACT, and CHANGEACT. The resource requirements may be
en1:e:red or changed using the £unctlon RESREQ• The values
1or rows :fou.r, :five, eight, nine, and el.even are controlled
and updated by the simul.atJ.on mode.le
Resource :requirements £or the activities are held in
the variable NET, but in::formation on the :resources ls he.id
in the variabl.es RES and RESN. RESN is a cha.racter matrix
containing the names, typically in abbreviated 1orm, o1 the
resources. The row indices 01: RESN correspond -to the
resou.rce numbers and -to the co1umn indices of -the ma-trix
RES. RES contains t:he numeric information :for -the
resources. Each co1umn represen-ts a di:f:ferent resource, and
each row is de:fined as f'ol1ows:
RES
1. Maximum avail.ab1e .limit :for the resou.rce 2. Resource cos1: pe.r hour
These variabJ.es are entered and modli'ied by the .:funci:lons
ADDRES, DELRES• and CllANGERES. The resource requ:i.remen-ts in
N.'ET are correl.a.~ed 'to 'the resources .in RES on a consecutive
basis. Row 12 o:f NET rel.ates to column l o1 RES; row 13 -to
col.umn 2 and so .forth. Because o:f this rel.atlonship "the
val.ues o1 RES and RESN must be c.reated be:f'ore NET and ACTN,
so that NET can be augmented to have the proper number o1
resource rows.
The third group o:f variabJ.es be.longs to the simul.ation
model. The model bas been written using a se-t 0£ J:unc-tlons
9
whlch comprise an Interactive Simu1atlon Metalanguage(3].
While a complete description 0:£ these variabJ.es can be :found
in the language description, a brle:f summary .fol.lows. !;_ is
the simulation clock. L is a pointer to the current
transact ion, or activity in this .speci:fic mode.l. EX ls the
exogenous events 1111atrlx. lln:formation on model :£.low based
on external. events., such as the occurence o:f weekends, and
period ends are kept in EX.) E. is the entity matrix, the
entities represent resources .in this model. T is the
transaction matrix and contains the ac't 1 vi:ty in.formation.
These 1ast two var.iables E. and 1:. contain some added rows of.
data which are peculiar to this simu.lation model., and whi1e
they are allowed .for by the Metalanguage, they are not part
of· it. Thls da·ta is held in the rows a:fter the fourth in
t:he variab.1e 1: and the rows a£1:er the second in E.•
t. Total resource si.ze 2. Current usage o1 resource
3. Back point:e.r 1:0 NET (row) 4. Cost per hour
[3] J. A. Gerth, R. c. Hetericky and Ne D. Huebner, "A Metalanguage For Interactive Simu1ation11 , Proceedings of .!h£ 1977 Winter Simulation Con~erencey Voi. 2• P• 558
10
t. S1:a tus .2. Next c1ock 3. Next l.ine 4. Priority
5. Days not worked this period 6. Time .le£-t to compl.ete 7. Productivity Index 8. Back pointer to NE1' {column) 9. Days not worked .for activi1:y
Some brle:f descriptions will hel.p to clari1y the values in
some o:f these rows. The third row o1 E ls the indices o:f
the rows in NET where 1:he resource requirements occur. The
eighth row o:f I .is a. poin-ter -to "the column in NET which
ho.Ids -the dai:a :for the ac-tivi ty w.hich 1:he "transact.ion
represen1:s in i:he mode.I.. For lns·tance, 1:he a.mount o1
resource o::f co.lumn one in !i. tha"t is used by "the curren"t
activity (transaction) wou.ld be:
The en-tries :for rows :£lve and nine in r are ::for the
Saturdays and Sundays not worked whi.le the ac 1:1 vi ty was
being per1ormed.
One other variab.le which £al.ls in "thi.s group, but is
not par-t o:f -the Metal.anguage 7 ls Q• Tbis vari.able i.s a
vec-tor which con-tains coun1:ers "to det'e:rmi.ne when each node
ls comple'te, so 'tba t the successor activi'ties can be
s-tarted.
The :fourth group o:f va.rlables contains 1.n:formatlon
specl:fic to the p.rojec't being slmul.a'ted. These are 'the game
11
variabl.es. The major use o:f -the variab1es is -to s-to.re
1 n:fornia. ti on :for use by the various report :func1:lons. The
:f_irst o:f these .is AALP, a numeric vec"tor con-taining a J.ist
0£ ac1:lvi ty numbe.rs that were act-ive in -the last p.lay
period. API, is a vector con-taining "the most recen-t
produci:ivi-ty index :for a_l1 activities. The project name ls
stored in the varlab1e APN, -the proJec1: star1: da1:e ls in
ASD. When a p1ayer de1ines a schedul.e using the SCHEDULE
:func1:ion, the schedule is .kept in the vector ASCH as a
series o:f s"i:ralght working day o:f:fse1: vaJ.ues[4]. The .las1:
the game varlab1es is AW De This variable con1:alns a
characteris1:ic, or iogica1, vec-tor o:f the working days 1or
'the project. .In this vector, 1 represen-ts normal. working
days, .Monday th.rough Friday, and 0 represen1:s Sa-turdays and
Sundays. AWD is used extensivly -to convert 1rom s1:ra.lgh1:
working day o:f:fsets (which are easier 1:0 use in analyt-ic
models) to calender day o~~se1:s used by the s•mu1ation
model. The START :fun ct ion in i tiaJ.lzes the 6WD vector and
i~s length is current1y set to 1000. 1£ a project is
expected to :run 1onger than 1000 ca.l.ender days, then "this
vec"tor shou.ld be extended.
Be:fore the last group o:f varia.bl.es is examined, a
[ 4] Straigh"t Wo.rking day .o:f:fsets are numbers 0£ elapsed normal working days since -the s1:art o:f the project. These are converted to da-tes by the function WD2D.
12
:futher 1ook at the question o:f di£1erent time sca1es wi11. be
use:fuJ.. There are three ways in which time is expressed i.n
the .game. Time can be expressed as a calendar date, as i't
is in all. o:f the repo.rt :functions. Time can be expressed as
an o:f:f'set number o:f days since the start o:f -the project.
This .is the ln"terna.l. representation used by the model and In
the data base. A third somewhat dl::f.:ferent representation is
the concept 01: time as co.nsecutive working days. This is
used .by the analy"tlc mode.ls. By treating the working time
as conti.nuous and not as work wee.ks broken up by weekends,
"the expository nature o1 the model is not obscured by
internal time conversions. 1£ aJ.J. activities are being run
a:t a norma.l s"tatus (no crashing), a correct convers.ion :from
straight working day c:f:fsets -to calendar day o11sets is:
CaJ.endar o:f:fse-ts - (+\AWD) & working days
Problems arise when activities a:re crashed, and work is done
on 1:bem seven days a week. To a-t1:ack tbi.s probl.em w.i-th 160%
accuracy wou1d require 1:bat al1 the analytic models work on
a. ca1endar schedule. To avoid this complexity in a
pedagog.ica1 environmen"l 1 a comp.romise, (which has 111:1:1.e
e1£ec1: on the overa11 accuracy), is to divide the dura"lion
o:f crashed activities by 2 and proceed norma.lly[S].
(5] The game treats crashing 1.5 shi~ts a day, 7 days a week. a week :for eras.bed over norma.i approximately 2.
as working the activity The ratio o:f work done in
is! (7x1.5)•{5x1) or
13
The las1: group o:f variab1es ls crea1:ed by the CPM
anal.ys is whi.ch i.s per:f'ormed -..hen a CPMRPT is requested.
This ana.lysis produces nine varlab.les which are availab.le to
-the p.layer.
ES L.F
EST EFT LST LFT ESP LSF TF
The va.r.iabl.es are as ::fol.lows:
Node Related Ear1y start time :for nodes Late :finish 1:.ime :for nodes
Activity Rel.a1:ed Early start -time Ear.ly :finish time Late start -time Late :finish time Early :float Late :f1oa1: Total :f1oat
The values o1 a.l.l o:f 'these variables are either in straight
working day o:f:fsets or in working day dura1:ions.
Simu.latlon Mode.I
The use o:f slmu.la1:ion in project p.l.anning is not
uncommon and indeed one project p.lannlng network modei
re:ferred to as GERT (Grapbica.l Evaluation and Review
Technique) i.s based on si.mul.ation techn.iques[6]. The .impac-t
o:f limited resources on networks has al.so been examined
using simu.lation models{7]. The simulation mode.l used by
[ 6] E. .R. C1ayton and Le J. Moore ~ Simu1.a1:ion: Fundamenta.ls ~ Applications Petroce1ii Char-ter, 1976)
Modeling ~ (New York:
[7] Thomas J. Schribner, Slmula1:.ion Using ~' (New York: John Wiley~ Sons, 1974), P• 466
14
"the game has a s1igbt.ly di:i'i'erent intention than these other
network ana1ysls mode1s. The project in those are simulated
hundreds o:f times to :find avera.ges and va.riati.ons in the
cost o.r comp.letion time o:f -the project. In the game, it ls
the indi.vidua1 varia-ti.ons a.nd "the p1ayers responses to 'them
which are important.
The si.mu.lation mode1 7 in the game workspace, .is a
:i'unc~ion ca11ed PLAY. .Each time PLAY is invoked the p1ayer
speci:i'i.es a period o::f play .in days or on the condition 0£
the end o~ a speci1ic activity. The mode1 simul.ates wo..-k on
the project untii the end o1 the period, or end 0£ the
project, and contro.1 J.s returned to -the player. Figu.re 2
describes i.n symbol.le :form the i'lo• o.:f logic -through the
model which an activity (-transaction) wou.ld take.
At each poin1: .in the mode1 where ~1ow o:f any one
activity ~s s1:oped or de.layed, the s.imu.lat .ion looks £or the
nex-t part 01: the model. wl-tb the J.owest c.lock time where Llow
can resume. Th.is search covers 1:wo di:f1'eren't parts of the
model., the active activities and the exogenous events.
Among the active activities, the nex1: event cou.ld be the
comp1etion o:f an ac1:ivi.ty, or an ac1:lvi-ty which is starting
a1ter a p.layers schedu.le in ascn de.layed it. At presen-t
'there are three possib.le exogenous eve.n1:s which can occur in
the model. These a.re; 1:he end o:f a period 0£ p.lay, the
occu.rence o:f a Saturday, the occurence o~ a Sunday. For
Scheduled Start Time?
Resources Available ?
Node Completed ?
Generate Activity
Yes
Perform Activity
' Free
Resources
Destroy Activity
15
Hold Until! Scheduled
Wait For Resources
No
~=============ll Generate Successors
Figure 2 - Activity Flow Path
16
each o:f these, there is a bra.nch -to a specl:fic point i.n the
model.. The end o:f a period o~ pl.ay requires bookkeeping
upda-tes -to the data base :for al.l o1 the active ac1:1vlties.
Saturday and Sunday branches require -that 11no-t working11
counters be updated :for ac-ti vi 1::ies not being crashed.
Severa.I 1'.unci: ions are used by PLAY -f:o keep the costs
and other statistics updated in the data base. PDBEGIN
initializes play .:for the period and checks 1or s-tatus change
made by the player[8]. HOLDACT checks -to see 11 the pl.ayers
scheduled start -time, i:f spec11ied, is J.a 1:e.r 1:ha t the
current time, i:f so, the activity is hel.d up un-til. that
-time. The a.c-ti vi. ty start time in NET is also updated by
this J'unctlon. GETRES makes sure that al.l resources
required by an act iv.i ty are aval1abJ.e, 11 they are not the
activity wil.l wait unti.l resources are :1'reed and -try again.
FREERES returns resources a-t the end o:f an ac-tivity and
no1:i£ies waiting ac-tivi."t.ies to try aga.in. Costs in the data
base are also updated by -this :function. PDEND per:forms -the
end o:f period bookkeeping and updates costs :for act.ivlt-ies
s-t 11.l active at- the period end. The .:function GENERATE
creates the successor activities to a completed node and
adds them to the mode1.
[8] Stopped activities have a game sta1:us o:f 0 but a. simul.ation status o:f 1. Actlvities with a simu.lation status o1 2 are waiting 1or resources.
17
Cost, Productivity, and Duration Modi:fiers
There are three :functions :for adding stochas1:1c o.r
de1:ermioistic variations into the mode1 which are not
directl.y controil.ed by the p1ayer. These :functions, which
are created by 1:be game manage.r, are ECONINDEX, PRODINDEX,
and DURFVNCTION. DURFUNCTION produces 1:he activity duration
in the GENERATE :function, when the activity is created.
This duration can be produced .in any manner which is
acceptable to the pedagogica.l situation being created. For
example, a. stochastlc duration based on a mean o:f the
expected dura·tion, pl.us or minus a uni:form distribution o1
10% would he:
V R-DURFUNCT.ION N (1) R-NET[3;N]+NET[3;N]x0.002x-50+?(p 9 N)p100
v
A :futhe.r modlfica ti on o:f the simulated duration ls the
productivity index. Th.is number ·rep.resents a composite o1
the environ.mental j'actors which can ef1ect productivi-ty.
The .rain and temperature -templates used by CONSTRUCTO are a
similar concept[9]. The activlty~s· sensitivity to weather,
row 10 in the variable NET, may be use1ul. in computing the
.index .. The :final simu.lated duration is the duration which
vras computed by the DURFUNCTION divided by the productivity
index, .generated by PRODI.NDEX. I:f an ac"tivi ty is spl.l t over
[9] Ha.lpln and Woodhead, CONSTRUCTO, P• 25
two or more periods,
computed each period.
18
a new productivity index vl.l.l be
These :first two .f'unct1ons a:f~ect
project costs
third ntodLfier,
indlrect1y through activity duration, the
ECONINDEX• a:f.:fects the projects costs £or
materla1 dlrect.ly as a cost multip1ier. Thls :function is
used to slmu.late the e.f':fect o:f in~.lation on the project.
The intent o1 these 1unctions is to provide a means by
which the game manager can insert environmental uncertainty
in-to 1:be game environment.
1unctions becone is based on
How simp1e o.r comp.lex these
the pedagogica.l objectives .f'or
which the game is being used.
Reports
Whlle playing the game, the p.layer may decide that he
needs ln~ormatlon on the current status o:f the system. l:f
the player had an unde.rstandlng o:f the data base structure•
he cou.ld simp.ly index the app.roplate varlab.le and .look at or
summerize the required in:for'matlo.n. To avoid burdening the
p.layer with knowl.edge of the data structure, and to make
accessing in1ormatlon .less awkward, a se-t o:f report
:f'unctions have been inc.luded with "the game. None o:Z. these
report 1'.unctlons are required to p.lay the game. They a.ll.
read 1rom the data base but none write to it. This al.lows
the beginning player to p.lay knowing only a 1ew o-.f them,
while the experienced p1ayer may know al1 0£ them, or even
19
add some o:f bis own. These 1unctions :fall. into two distinct
groups. The :first ta.kes a list o:f a.ctivi"ty or resource
numbers and disp.l.ays sets o:f in:t:ormation about -them in
tabular :fo.rm. The second group takes .owner.le ln:foraatlon
and produces a graphic disp.lay o:f it.
The £lrst group is composed o:f seven :functions;
LISTACT 1 LISTRESREQ, LISTRES 9 LISTSCH, STATUS, CPMRPT, and
COST.RPT. The syntax o:f the :fi.rs-t six o1 these are the same.
They are monadic. The right argument is a vector o:f
activity or resource numbers to be 1isted in the report. A
nu.l.1 vector, 1 1 o.r &0 in APL, as the right argument implies
that all o1 the resources or actlvi-tles are to be .listed in
the repor-t. The :functions in 1:his group and a brie:f
descrip-tion 0£ thei.r reports a.re listed be.low.
LISTACT Display oJ: including
activity related material., cos-ts, expected and ac"tua.l
duration and network in:forma1:ion.
LISTRESREQ Disp.lay of: activi~y resource requiremen"ts.
LISTRES Displ.ay 0£ in1'orma1:ion on the resources.
LISTSCR Disp1ay o:f pl.ayer imposed schedule.
STATUS Dlsp1ay 0:£ activi"ty lni:ormai:lon concern.ing the status o:f tbe slmul.ation mode.le
CPMRPT Display o'f CPM analysis.
COST.RPT Displ.ay 0:£ p.roJect leve.l
cost in:formatlon with -totals to
projected to i'inish.
a't the da1:e and
20
Th.is J.as-t :func"tion COS'l.'RPT has a di.£:ferent syntax than 1:he
rest o:f this group. I"t .is n.il.adic• having no arguments,
since it is at the projec1; level and no-t -the activi-ty o.r
.resource 1eve1.
The secound group oi' repor-t £unc1:ions are concerned
wi1:h g.raphic display o:.f in:formation. The three :functions in
-this group are BARCHART, HIST and COSTPLOT. BAR CHART
requires a .lis-t 01: ac-tlvi1:ies 7 and a schedule to produce a
harchart wi-th the cri·t.ical. path marked. H.IST 1 s major use ls
in producing resource u-t.i.llza-t.ion hi s1:ograms w.i -th -the
aux.iliary :function .RESUTIL. COSTPLOT is used :for p.lottlng
cumula-tlve cost curves with -the help o:.f auxi1iary functions
ACTUALDAYCOST and DA YCOST •
Scheduling and Ana1ysls
Provided wl th -the game are 'two .func-tions :for resource
sc bedul.i ng. Both of these heurls-tic 1unctions are based on
a1gorl thms .£rom Moder and Phillips( 10 ]. The ~lrst o:f these,
LEVEL~ at-tempts to 1evel. the ui:l1ization o:f a. resource by
starting with an ear1ysta.rt schedule and del.aying the starts
o:f act:i vi ties• wl thout increasing ·the project compl.etlon
time. The second o:l' these, CONSTRAIN, deve1ops a schedule
(10] Joseph J. Moder and Cecil R. Phillips, Project Management with CPM and ~' (New York: Reinho1d Publishing Corp., 1965)
21
which meets a maximum resource utll.izatlon leve.l and has a
minimum impact on the project dura"'tion. Two CPM ana1ysls
:functions, LATEF INISR and E'ARLYSTART, wh.ich are used by -the
:funct .ion CPMRPT, are available in -the wor.kspace. The use o.:f
any o:f these ~unctions is optiona.l. I.n a sl tua.tf,on where
s-tudents are deve.loplng their own analysis
1unc-tions cou.ld be removed.
too.ls -these
EXAMPLE PLAY OF THE GAM.E
An ex:amp:le o1 1:he game being p1-ayed has been inc.luded
1:0 cla.ri.:fy .how "the p.1ayer i.o"terac"ts •i 1:h 1:he various parts
o:.f -the game during p.la.y. While 1:be examp1-e problem, and -the
players responses to the various condition in the proJec1:
a.re no"t 01: any particular ln1:erest, the 1:ypes oi:
in1:erac1:1ons that the games a~1ords -the player and the
:f1exibi111:y 0£ "the p.lay are.
The 1isi:ing o:f 1:he exampie was produced by spoo.ling a
copy o:f an actual. termi.nal session to a print :file.
Exp.lanato.ry notes, which are e.ncl.osed in b.racke1:s "C ]", we.re
1.ater added to the listing.
22
)LOAD 2000 PMGAME SAVED 22:37:12 08/03/78
23
[The player loads a copy o:f "the game 'that has been prepared by the game manager to inc1ude suitable algorl thms :l'.or the i:bree env.lro.aaeat"aJ. :funcf:lons., DURFUNCTZON, ECONINDBX, AND PRODINDEX.]
AD DR ES 1 'MEN' 12 8.50 2 1 MACH 1 4 20 3
ADDACT 1 'ACTIVITY A' 2 'ACTIVITY B' 3 'ACTIVITY c• 4 1 DUMMY 1 3 4 5 'ACTIVITY B' 6 'ACTIVITY pt 7 •ACTIVITY G• 8 'ACTIVITY HP 9 'ACTIVITY H2 1
10 'ACTIVITY J' 11 'ACTIVITY K' 12
RESREQ 1 ti.EN 3 3 MEN 3 6 II.EN 5 7 ME.N 5 MACH t 8 MEN 4 9 MEN 3 11 MEN 2 2 MACH t 5 MACH 2 10 MACH 2
1 2 4 500 2 3 5 1 5 6 1000
2 4 2 2500 4 6 10 8500 3 6 13 4000
5 6 8 700 5 7 16 6 8 12 200 7 8 9 75 0
[The three :functions ADDRES, ADDACT, and RESREQ are used by -the player "to input hl.s project data base. These :l'.unc-t-ions input io:forma:tlon ~or the resources., ac'tlYity network, and act-ivlty resource requirements. In each case a blank line is eo-tered to exit the input portion 0£ these 1unctions.J
Figure 3 - Exampie PJay
LISTACT It
19:28 8/7/78 .NODE s E
1 ACTIVITY A l 2 2 ACTIVITY B 2 3 3 ACTIVITY c 1 5 4 DUMMY 3 4 5 .ACTIVITY E 2 4 6 ACTIVITY F 4 6 7 ACTIVITY G 3 6 8 A.CTIVITY Ht 5 6 9 ACTIVITY H2 5 7
10 ACTIVITY J 6 8 11 ACl'IVlTY K 7 8 --- - ----
LISTRESREQ I I
19:29 8/7/78 M M E A N c
H --------1 ACT.lVITY A 3 2 ACTIV.lTY B 1 3 ACT.lVITY c 3 4 DUMMY 5 ACTIVITY E 2 6 ACTIVITY F 5 7 ACTIVITY G 5 1 8 ACTIVIl'Y 111 4 9 ACTIVITY H2 3
10 ACTIVITY J 2 tt ACTIVITY K 2 ---- -------
l.,ISTRES •• 19:29 8/7/78
1 ME.N 2 MACH
LIMIT
12 4
24
DUB.AT ION STAT ws COST EST ACT JlATERIAL
4 1 l 500 5 1 1 0 6 1 1 1000 0 1 1 0 2 l 1 2500
10 1 1 8500 13 1 1 4000
8 1 1 700 16 1 1 0 12 1 1 200
9 1 0 75 ------
IN VSH
0 {)
COST/HR
a.so 20.00
LABOR
816 800
1224 0
640 3400 6500 2176 3264 3840
0
----------·------···· --(The p1ayer lisi:s bis proJect data base using i:hree 0£ the report: ~unctions. C..ISTACT lists the a.c'.tivl ty ne'.twork ln::forma tion, L.ISTRESREQ l.i st:s the actlv lty resource requirements, a.nd LISTRES .lists resource related in1ormation.J
Figure 3 - Example Play Continued
'EXAMPLE P H.OBLE.M' ST ART 78 1 NBTWOi~K HAS BEEN RENUMBE.RED
25
[The START j?unct .ion ln1 tla.lizes the game 1 'the player gives the na.llle BXAJIPLB PROBLBJI to the project and lnd.iea.tes the s'tart date as 78 1(1 January 1978). The STARr :function also sort-s the networ.k act-lvit:les by precedence, slnce t:his cbant1ed the activity numberiog a message ls issued.]
CPMRPT • • 19:32 8/7/78
c ACTIVITY DUR EARLY LATE p s B START FINISH START FINISH E ----
1*ACTIV.lTY A l 2 4 78- 1 78- 5 78- 1 78- 5 0 2*ACTIVITY B 2 3 5 78- 5 78- 12 78- 5 78- 12 0 3 ACTIVITY E 2 4 2 78- 5 78- 9 78- 13 78- 17 3 4 DUMMY 3 4 0 78- 12 78- 12 78- 17 78- 17 0 5 ACTIVITY c l 5 6 '78- l 78- 9 78- 4 78- 12 0 6*ACTIVITY G 3 6 13 78- 12 78- 31 78- 12 78- 31 0 7 ACTIV.ITY F 4 6 10 78- 12 78- 26 78- 17 78- 31 3 8 ACTIVITY Ht 5 6 8 78- 9 78- 19 78- 19 78- 31 8 9 ACTIVITY ll2 5 7 16 78- 9 78- 31 78- 12 '78- 34 0
10*ACT IV ITY J 6 8 12 78- 31 78- 47 78- 31 78- 47 0 11 ACTIVITY K 7 8 9 78- 31 78- 44 78- 34 78- 47 3
-----------------------~ -----'• BARCHART EST
19:33 8/7/78 1111111111222222222233333
1234567890123456789012345678901234 1 ACTIVITY A cccc .2 ACTIVITY B CCC CC 3 ACTIVITY E ** 4 DUMMY 5 ACTIVITY c ****** 6 ACTIVITY G ccccccccccccc 7 ACTIVITY F ********** 8 ACT.IVITY Ht ******** 9 ACTIVITY H2 ****************
10 ACTIVITY J cccccccccccc 11 ACTIVITY K. *********
FLOAT L TOT
0 0 0 0 6 6 3 3 3 3 0 0 0 3 s 8 () 3 0 0 0 3
(A CP.M report: ls requested by the p1ayer using the :function• CPJl.RPT (all dates are calendar dates). Thls :tu.net ion produces severa.l g.lobaJ. variables relating to the CPK analysis. One o:f these ls, EST, the early start time schedu1e (in straight worlt.ing day o£:fsets). The 1unction BARCHART ls used to produce a barchart of this schedule (tlmeline is in straigh"'t working day o.f£sets).]
Figure 3 - Exaapl.e Play Continued
0 50 HIST 1 11EN1 RESUTlL EST
17 ***** 16 ***** 15 ***** 14 ..... 13 ********** 12 ********** 11 ********** 10 ••••••••••
9 •••••••••• 8 ************* 7 **************** 6 •••• **************** 5 **** **************** 4 **** ............... . 3 ********************** 2 .............................. . 1 *******************************
17 16 15 14 13 12 11 10
9 8 7 6 5 4 3 2 1
1111111111222222222233333 1234567890123456789012345678901234
0 50 HIST 1 11BN1 RBSUTIL LST
******** ........ ........ ******** ..........
•••••••••• •••••••••• ........... •••••••••• •••••••••••••
************* * ............ . * ************* • • •••••••••••• .........................
•••••••••••••••••••••••••••••••••• **************************••••••••
1111111111222222222233333 1234567890123456789012345678901234
26
Piaure 3 - Exaaple Pl.a7 Con"tJ.nued
LEVSCH-LEVEL 'MEN'
0 50 H.lST 1 MEN 1 RESUTlL LEVSCH
17 ** 16 ** 15 ** 14 ** 13 ********** 12 ************* 11 ****•••••**** 10 *************
9 ************* 8 ************* 7 ************* 6 **** ************* 5 **** ************* 4 **** **************** 3 ************************* 2 ********************************** t **********************************
1111111111222222222233333 123456'1890123456789012345678901234
27
(The maximum le•el of the • JIEN' resource is 12. Checks o:f: 1:he early s'lari; and .late s1:ar1: schedu.les both indica.1:e a •aximum resource utlJ.lzation ot' 17. The LBVBL :func1:lon .is l.oYoked 1:0 see l 'f. a scheduJ.e can be constructed that w.11.1 J.eve.l the resource utl.llza-tlon below the ll•.i't of' 12. The resource utiJ_lzation histogram shows 1:hat the leve.1-ed schedule stil.l has a peak o:t: 17 on the l31:h and 14th working day.)
Figure 3 - ExampJ.e Play Continued
12 11 10
9 8 7 6 5 4 3 2 1
28
CONSCH-12 CONSTRAIN 'MEN'
0 50 HIST 'JI.EN' RESUTIL CONSCB
******** ******** ******** ******** **************** ***********************
**** *********************** **** *********************** **** *********************** ***************************** ******************************* *******************************
11111111112222222222333333333344 12345678901234567890123456789012345678901
{The CONSTRAIN 1unction provides a schedu1e with a aaxiaua 1evel o1 129 but the project 1en8;th bas been expanded "to 41 straigb't workia8 days. Aci:iYlt:y J, which uses none o1 the 'JI.EN' resource, ls the on1y activity active a1ter working day 32.)
3 2 1
0 50 H.lST 'MACH' RESVTIL CONSCR
** •• ***** ************
************************* 11111111112222222222333333333344
12345678901234567890123456789012345678901
[A check on the 'MACH• resource indicates •t.a1: its aaxlaua le•e.l o:f 4 is ao• exceeded by this scbedu.le.J
78 t WD2D 41 '18 59
•• SCHEDULE CONSCH
[The date conversion :function, WD2De ia used "to :find that the 41s1: working day a:fter the start date o1 78 1 wil.l :fal.l on 78 59. The :func1:1on9 SCRBDULB, is then used to estab.liab "this schedu.le as a set o:r ear11est possibl.e start i:laes in the s.lau.la'tloa.J
F.lgure 3 - Exa•p.le P.lay Con'tinued
29
LISTSCR I I
19!39 8/7/78 SCBEDULED START -- . - --
1 ACTIVITY A 78 1 2 A.CTlVITY B 78 5 3 ACTIVITY E 78 5 4 DUMMY 78 12 5 ACTIVITY c 78 1 6 ACTIVITY G 78 23 7 A.CTIVITY p '18 9 8 ACTIVITY Bl 78 9 9 ACTIV.ITY H2 78 9
10 ACTIVITY J 78 40 11 AC'.l'IVITY K 78 31 ------
[The -function LlSTSCH .li.sts -the players schedule., showing the start tlmes as ealenda.r dates.]
PLAY 14 PERIOD END: 78 15
{The 'function PLAY ls the simu.lation model. The argument of 14 indicates that "the player wants 1:0 slmuJ.ate work on the proJec1: for 14 ca.lendar days.)
STATUS AALP EXAMPLE PROBLEM SIMULATION CLOCK.:78 15 19:41 8/7/78 ACTIVITY ACTIVITY PCNT NAME START r'INISH COST CPLT STAT -- --
1 ACTIVITY A 78- 1 78- 5 1357 100 t 2 .ACTIVITY B 78- 5 78- 13 865 100 1 3 ACTIVITY B 78- 5 78- 9 3193 100 1 4 DUMllY 78- 13 78- 13 0 100 1 5 AC'J'IV.ITY c 78- 1 78- 9 2326 100 1 7 ACTIVITY F 78- 13 ••• 8962 13 1 8 ACTIVITY Rt 78- 9 ••• 1924 54 1 9 ACTIVITY H2 78- 9 ••• 918 28 1 ----- ----
Figure 3 - Exampie Play Continued
COST.RPT 19:42 8/7/78 EXAMPLE PROBLEM
COS7' TO DATE (78 15) - -- ----------------------
LABOR MATERIALS
TOTAL
6346 13200
19546
30
PROJECTED COM.BI NED TO FINISH
17799 24145 4275 17475
22074 41620 --------------------------------~----~-----------~---------ORIGINAL ESTIMATE 41359
[Two r~port "functions, STATUS and COSTRPT, are used to 'find out in:formation on the current state o~ the proJect.]
PLAY 14 PERlOD END: 78 29
(Another 14 calendar day pe.rlod is simu.lated. 1
STATUS AALP EXAMPLE PROBLEM SI JrlULATION CLOCK!78 29 19:44 8/7/ 78 ACTIVITY ACTIVITY NAME START FINISH COS.T --
6 ACTIVITY G 7 ACTIVITY F 8 ACTIVITY Ht 9 ACTIVITY H2 ------
LISTRES 11
1 9: 44 8/ 7 / 78 LHllT
'18-78-78-78-
----------1 MEN 2 MACH
12 4
24 ••• 13 78- 28
9 78- 20 9 •••
lN USE COST/HR --~~~--~-
8 1
a.so 20.00 ___ , _______ _
--6000
12297 3080 2958
PC.NT CPLT STAT --
24 1 100 1 100 1
84 1 -----
[The right argument to STATUS, .6ALP, is a game varla.bl.e contalnlng the nuabers o.~
actlvltles "that were act.ive ln 'the last play pe.rlod. The "in use" col.uan of the function,. LISTRES, shows that the peak period of utll.lzatlon :for 'AtEN' has passed.]
Figure 3 - Rxampl.e P1ay Continued
COSTPL01" ACT VALDA YCOST 19:45 8/7/78
31
351···························································· t I I
• • •
• • • • • •
• • • • • • • • • • • •
301············································~··············· I l I
• • • • • • • • • • • • • • • • • •
25J •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• • • • ••• • • • • • •• • • •
I I j • • • • • • • •
201 •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• I I I
• • •
• •• • •
• • • • • • • • • • •
1s1 •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• I
' I • • •
• • •
• • • • • • • • • • • •
101 •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• I I I
• • • •
•• •• • •
• • • • • • • • • • • sf ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
I • • • • l • • • • • • • • I • • • • o-----------------------------0 5
' t SCHEDULE 0
CRASH 6 10 11
10
COST (IN $1000)
15 20
VS TIME
EXAMPLE PROBLEM
• • • • • •
25 30
(Since the critical period :for resource utll.J.zat.ion is over 'the player expedite compl.etion by reaov.ing the resource constrained schedu.le activities 6 10 and 11]
Figure 3 - Example Play Continued
a'tte•pts 'to and crashing
32
PLAY 21,, UNTILENDACT 11 PROJECT: EXAMPLE PROBLEM COMPLETED: 78 47
{The player specifies two condiTions £or ending this last piay period. The passing o~ 21 days or the end of activity 11, wb.lcb ever occurs l'irs...-.)
COSTRPT 19:50 8/7/78 EXAMPLE PROBLE.JI.
COST TO DATE PROJECTED COMB:CNED (78 47) TO FINISH --- ------
LABOR 35902 0 35902 MATERIALS 17477 0 17477
TOTAL 53379 0 53379 ---------- ----- ----- --ORIGINAL ESTIMATE 41359
LISTA.CT •• 19:51 8/7/78
NODE DURATLON STAT ws COST s E EST ACT MATER CAL LABOR --------------- ----
l ACTIVITY A 1 2 4 4 1 1 500 851 2 ACTIVITY B 2 3 5 5 1 1 0 865 3 ACTIVITY E 2 4 2 2 1 1 2500 693 4 DUMMY 3 4 () 0 t 1 0 0 5 ACTIVITY c 1 5 6 6 l 1 1000 1326 6 ACTIVITY G 3 6 13 13 2 1 4000 13230 7 ACT.lVITY F 4 6 10 11 1 1 8500 3797 8 ACT.IV.I TY HI 5 6 8 9 1 1 700 2380 9 ACTIVITY 112 5 7 16 18 1 1 0 3586
10 ACTIVITY J 6 8 12 9 2 1 201 6255 11 ACTIVITY K 7 8 9 6 2 0 76 2912 ----
[These :fina.l two reports show 1:ha-t 1:be pl.ayer was ab.le "to comple~e the project: wi"lh1a an ear1y :finish scbedul.e but had a cost overrun o~ about 12,000 dollars.)
Figure 3 - Example P.lay Continued
RECOMENDATIONS
The game should be looked a"t as an in:fras1:ructure wb.ich
t:he game manager uses as a base "to bui1d on. The addi. ti on
o:f the environmenta1 1unc~ions :form a :first and required
s~ep in developing a game which ls tailored to a speci:flc
pedagogica..1 situation. Some more advanced optional
"techniques, which will he examined, allow the game manager
1:0 schedu.le ac-tual. events such as s1:rikes 1 storms, or
shortages that can direc-tl.y a:f:fec"t the project. The
possibl.e .future use o:f a shared variabl.e environment between
APL workspa .. c es may per.mi t the game manager 1:0 con t.rol. -the
progress o:f severa.l games direc-tly with an onl.lne
capab.ili-ty.
Environmeni:a-1 Func1:io.ns
The degree o:f real.ism which the game can ach.ieve is
dependen1: to a great dea.l on how the game manager de~ines
1:he three environmenta.l :func"tions, PRODINDEX, DURFUNCTION,
and BCON.IN.DEX • A :few sugges"tions and some speci.flc examp.l.es
:for these . :functions are presented here :from the many
varia~ions the are poss.ibie.
The product .ivl-ty index, PRODINDEX, represents a
composite lndlca"tor that can include many :£ac"tors such as
33
34
wea-t:her, J.ocal skill. leve1s, and lea.rning curves. I:f a
project .is being p.layed :f.or a l.ocation known to the game
manager, he should incJ.ude as much ac1:ua.l data into 1:hls
index as posslb1e. The duration 1'unction, DURFUNCT ION.,
provides a. way to add the varla1:ions experienced :1'.rom
project to project in -the expected comp.let.ion times :fo:r the
ac1:ivities. This is normal..ly done by sampling :fro:m one o.f'
any number o:f possible distributions. A di::f::ferent type 0£
duration :function cou1d be used in a case where severa.l
pl.ayers were working on the same project, and as part o:f the
game they were estima1:ing crew size, composJ. tion, and
expec"ted duration. For this si-tuation the game manager
might wri. te an "inte.l.J.lgen1:" DURFUNCTION which could access
the crew makeup 1or each ac-tivity and .based on data supplied
by the game manager concerning the quantity o.t: work i:or the
activities, -the 1unc1:ion would compute a duration -that wou.ld
be used by the simulation mode.I. In this si-tuatlon the
p1ayers expec-ted dura-t.ion ·wou.ld be use:ful only as a planning
tool to him, it would not a:f1'ect the simulation o:f hls
nei:wo.rk. The economic index, ECON.INDEX, is a cost
mul.tiplier :for ma-terial cost. The var.la -tlons ove.r the lize
oi' a proJec-t coul.d be such that issue o-f trading oi::f between
buying materials early and s-to:ring -them vs buying them when
they are needed, but at a higher price, could be brought to
the p.layers attention.
35
Game Manager Schedu.led Events
In 'the games basic scheme the game mana.ger control is
exercised through the various environmenta1 1unctions.
Whl.le "these are use1u.l in modi:fying 1:he progress o:f -the
network's overaI.l per:formance, they are lnappropiate for
simu.latlng discrete events such as shortage de.lays or
strikes. For even-ts such as these the game manager can
schedule an exogenous event that wi11 1 at 'the speci:fled
slmu.latlo.n time, branch to an added .line in the model, PLAY,
that contains an event :function written by the game manager.
This event :function can issue messages 1:c the p.layer., change
any o~ -the values ln -the game data base, or end -the current
period. With these options -the game manager .is 1.ree 1:0
slmu.late the e:f::fect o:f almost any event. The :f'o.l.lowing
brief description o:f bow to accomp1Ish this ls onl.y a
suggested mei:hod, howeve.r l:f the game manager does no-t have
a "firm unders-tanding o:f -the simu.latlon model, problems can
be avoided by :1'.o1lowing it- close.ly.
l.Wr.ite an even"t :function. I::f 1:be :func1:.ion :forces an end to the current per.iod i-t shoul.d cal..l -the :function PDEND -to upda-te the end o:f period cosi:s .for -the cur.rent.l.y ac-tive transac"tions.
2.Add a line to 1:he end 0£ the :funct.ion PLAY which ca.I.ls the even-t .:function. I:f -the even1: :fun-tion does no-t 1orce a period end the line "-NEXTEVENT" shou1d be added immedia"tel.y :fo1..low.ing 11:.
36
3.Add a l.ine at the end o:f the :function START to schedule the simu1ation time when the event occu.rs and the line number in -the .:function PLAY where 1:he event :function is .located. The syntax o:f this line should be "EXEVENT w", where w represents a 2 e.lement vector o:f the event time and line number.
An example of. an even-t .function 1:ha"'t simulates the e.:f:fec"ts
o:f a storm is shown in Figure 4.
Shared Variables
The con troJ. which the game manager can currently exert
with the environmental. :functions and scbedu.llng o:f specla.l
even1: :i:unc"tions ls substantia.l. One inconvenience with this
contro.l is the lack o:f direct access between the manager and
playe.r, during the actual. play o:f the game, :for control.,
changes, or mo.ni torlng. Since 1:he environmen-ta.l and event
£unctions have to be added to 1:he game workspace be:f.ore the
p.layer .initia1.ly l.oads 1-t, i:he game ma.nager has to have a
preconcep-tlon 0£ the aspects to he covered in the specllfic
game. The £uture ins~a.11ation o1 a workspace shared
variable processor may so.Ive this prob1em by a.I.lowing the
game manager direct access i:o the pl.ayers workspace as be
p1ays. This wi11 a11ow the manager to dynamica11y make
changes 1-o the game which re:f.lect ideas or concepts which
have deve1oped spontaneous1y du.ring class discussions.
These changes can presently be made only by the player
copying in the changed :functions, removing -the e.lement o:f
37
PROBL.EM STATEMENT
Dei:ine an event :function 1:ha't wi.11 s.i.111ulate the e:fJ'.ec't 01: storm damage. The :function should delay the work on all ac-t.ive acti.vit.ies which are wea-ther sensitive i'or two days and cha.rge $200 to their labor costs :for clean-up costs. The storm shou1d occur randomly between day 15 and 25 of the p.roject.
[ 1 ] [2] [3] [4] [5] [6] (7] {8] [9] (10] { 11] ( 12] l 13]
EVENT FUNCTION V STORM;J
A ASSIGN TO J THE INDICES OF THE' ACTIVE AND WS ACTS. J-(NET( lO;ACTIVE l=U I (1'.[ 1; J=O) I~ 1 tpl:
A EXIT IF NO ACTIVITIES ARE AFFECTED -(O=pJ)/O
A EXTEND FINISH DATES 2 DAYS 1'.[2;J]-2+,!:[2;J]
A .INCREASE DAYS NOT WORK.ED COUNTER BY 2 _![5 9;J]-,!:[5 9;J]+2
A ADD 200 TO LABOR COSTS NET{ 9;,![ 8; ,1] ]-200+NET[ 9;,!( 8 ;J]]
A NOTIFY PLAYER 'STORM DAMAGE ON •,,•dSD DO g '2 DAY DELAY .AND $200 CLEAN-UP FOR ACTS: •,~~[8;J]
v
ADDING CALLING LINES TO PLAY (27,28)
v R-PLAY PERIOD;J;N;o1o;PE'N;PS ( l] llALP-OpQI0-1
• • •
[26] SUN:-SUNDAY SUN ( 27] STORM { 28] -NEXTEVENT
v
.!fil! SCHEDULING LI NE TO START { 21 )
V NAME START SDATE;J;QIO;SAT;SUN;K ( 1] 010-1
[ 20] (21]
• • •
EXEVENT ( 7 J l-7-D:W SDATE) ,SUN EXEVBNT ( 14+?11), 27 v
Figure 4 - Creating a ~anager Scheduled Event
38
surprise a-£.:forded by t.he direc1: change. A workspace shared
variab.le p.rocessor wou1d al.so al1ow 1:he players prog.ress 1:0
be moni1:ored 7 allovlng the .game manager ·to ho.id up changes
until. p.layer have reached a checkpoint.
SELECTED BIB.LIOGRAPHY
Adrian, James M· Quantitative Methods in Management New York: Ame'l"ican El.sevier Company, Inc., 19'73.
Construe ti on Pub:lishlng
AntiJ.1, James J., and 'Woodhead, Ronal.d Methods .in Construct.ion Practice. Wlley-Interscience, 1967.
w. Critica.l ~ 2nd ed. New York:
C.layton, E. R., and Moore, Le Slmu.J.ation: Funda.mentals ~ Petroce11i Charter, 1976.
J. ~ Modeling and App1lca-t1ons. New York:
Gerth, J. A., Beterick 1 R. c., and Huebner, Ne D. "A Metalanguage :for Interactive Simulation." Proceedings o:J'. the 1977 Winter S.imu.lat ion Conference, Vol. 2 7
p.558
Gerth, J. A., and Heterlck, R. c. "APL! Once Over LightJ.y.n Unpubl.ished course notes.
Halpin, Daniel w., and Woodhead, Ronal.d w. CONSTRUCTO: ~ Rueristic ~ Jfor Const.ruction Mana.eement. Urbana: University o~ 111.inois Press, 1973.
Iverson, K. E. A Programmin_g Language. New York: John Wiley, 1962.
Moder, Joseph J., and PhiJ.1ips, Cecil. R. Pro.iec~ Management wlth CPM ,!!:nd PERT. New York: Reinhol.d Pub.lishing Co:rpora~i.on, 1965.
Nalor, Thomas H., Ba1int£y, Joseph L., Burdick, Dona1d s., and Chu, Kong. Computer Simul.ation Techniques. New York: John Wi1ey 8 Sons, Inc., 1968.
39
Poll vka., .Ramond P •, a.nd Its Usage. Inc., 1975.
Schr.ib.ner, Thomas J. Wi.ley and Sons,
40
and Pakin, Sandra. ~: The Language Eng.lewood C.li~ts, N.J.: Pren~lce-Hal.1 1
Slmu.lation Using ~· 1974.
New Yo.rk: John
APPEND.IX A
APL Workspace .Lisi: ing
f'o.r 'the
Project Managemenf: Game
41
42 Appendix A
WORKSPACE ATTRIBUTES
)WSID .IS PMGAME
)WSSIZE 242780
)FNS ACTIVE ACTUALDAYCOST ADDACT ADDRES AND CHANGEACT CHANGERES CONSTRAIN
BAR CHART COST PLOT
COST.RPT CPMRPT CRASH CREATE DAYCOST DELACT DELAY DELRES DESTROY DM DO DURFUNCTION DW EARLYSTART ECONINDEX EXEVENT FREE FREERES GD GENERATE GET GETRES HIST HOLDACT INITIALIZE JD LATEFINISH LEVEL LISTACT LISTRES LISTRESREQ NETRENUM NE:X.TEVENT NORMALIZE PAGE PDBEGIN PDEND PLAY PRINT PRODINDEX RESREQ RESUTIL SATURDAY SCHEDULE START STATUS STOP SUNDAY WD2D
7'IMESTAMP llCPLT llll.SCL
)VARS
)GRPS AUXGRP DATEGRP INPUt'G.RP REPORTGRP SCBEDGRP
)SYMBOLS IS 512; 2-34 IN USE
)STACK IS 512
)SINL
SYSTEM VARIABLES
OIO OLX !]PP []RL OCT OWA
1
6 282475249
lE-13 201336
VN.IQUE UNT.ILENDACT
ENV.IRONGRP SIMGRP
vs WD
META
43 Appendix A
v B-ACTIVE £11 R-!'.C8;CO=Ilt;J)/t.llp;tJ
v
Group: AUXGRP
Syntax: R-ACTIVE
Arguments: no.ne
Resu1t: A numeric vecto.r o:f the ac"tivltles "that are
currently be.log worked on.
Comments: none
v R-ACTUALDA YCOST; J; K;[J.Io;x [1] 0.10-1 [2] K-NET[.9;]~0
[3] J-(x,c 1.5]X-t.f£)>.>K/NET[4; J,[0.5]NET[5; ]+{f £)xNET(5; 1 =O
[4] J-Jx(pJ)p{K/NET(9;])*+7'J (51 R-+/J+(-+r"~J=O)etK/NET[7;JxNET[tt;]) 1 [1J 1 o HpJ)pO [ 6] R-+\R
v
Group: AUXGRP
Syntax: R-ACTUALDAYCOST
Arguments: none
Result: A vector 0£ cumulative dally costs, the l.ength
0£ which is: &f£•
Comm en ts: Thi.s :£unction provides a historic record o:f
costs to date o.n a daily bases :for the proJect.
It's purpose .is to provide da"ta £or the .:function
COST PLOT.
44 Appendix A
V ADDACT;L;LN;N {1] -(v/ 'NET' A•=~((1fp0NL 2),4)f0NL 2)/l.P [ 2 J ACTN- 0 0 p I I
[3] NET-({11+1fpRESN),0)p0 [4] LP!-{A/ 1 1 =L-~,Op[!J-{•1+1fpACTN), 1 ')/0 {SJ ACTN-( ( ( 11.pACTN) 1 N) tACTN) 1 {0IO] (N-( U.pACTN )f pLN) fLN-l -l
(*\' •• '=L) IL [6] NET-NET,(1fpNET)f(3fL) 1 0 0 1 1 (1f3lL) 1 1f4l(L.-J1{('"'*
L)A-•\ 1111 =L)/L),1 (7] -LP
v
Group: INPUTGRP
Syn1:ax: ADDACT
Argumen"ts! none
Result! none
Comments: This 1unctlon prot11pts the user -for actlvlty
re.lated in:formatlon 1:0 add 1:0 the var.lab.lea NET
and ACTN. The prompt message ls the next
activity number, the user responds Yith the
act 1 vi ty name enc.losed wi -th single quote ma.rks 1
s"tart node, end node 1 duration, and op'tlona11.y1
the ma-teria1s cost (de1ault=0) 1 and the weather
sensitivity (de~ault=t). A blank line ends the
input sequence.
45 Appendix A
V ADDRES;L;LN;N [l] -(v/ 'RES 1 A.=~((lfpONL 2),4)fCNL 2)/LP [ 2] RESN- 0 0 pt ' (3] RES- 2 0 pO [4] LP:-(A/ 1 '=L-~,Op~-t•1+1fpRESN),• ')/0 [ 5] RESN-( ( ( 1 fpRESN) ,N) tRESN) ,[0.lO] (N-{ llpRESN)f p/JN) fLN-1 l '*'' ... '=L) IL { 6] .RES-RES, 2 f L+-A ( (.I I I :/!L) .A-:#:\' I I '=L) /L [7] -LP
v
Group: INPUTGRP
Syntax: ADDRES
Arguments: none
Resu.lt: none
Comments: This :functi.on prompt:s 1:he user :for resource
rela1:ed in:formatlon 1:0 add 'to the varJ.abJ.es RES
and RESN. The prompt message is the next
:resource number, the user shou.ld respond wi. tb
the resource name encl.osed with slog.le quote
marks, the maximum amount o:i: resource avai..labl.e,
and the cost per hour :for the resource.
46 Appendix A
V R-A AND B [ 1] A-( { { { l=ppA) xt f _pA) ,3) pA VS& 1 fp,A), [OTO] ( ( ( 11"ppA) x 1 fpA)
,3)pA [ 2] B-( ( ( ( t=p_;oB) xt tpB} ,3) pB VS& t tp, B) 1 [ 0IO] ( ( ( l1"ppB) x 1 fpB)
,3)pB [3] R-B,(0lO]A
v
Group: AU.XGRP
Syntax: R-a AND w
Arguments: a and w are vectors o:f cumulative cost data. :f:rom
ACTUALDAYCOST or DAYCOST to be plotted together
by COSTP.LOT •
Result: Ma.tr.ix suitable :for plotting by COSTPLOT.
Comments: none
47
''ii R-c BARCHART w; z;o1o;x;N [ 1] 010-1 [ 2] c- ( t.1 f pACT N) eC, { 0= pC-, C) / f. 1 f pACTN (3] X-~ 3 0 •(X,1)pf.X-f /,W+NET[3;]
Appendix A
[4] R-~( 1 *C' )[1+((pZ)p1+TF=O)xZ-(N 7 [1.5JN-J.f/ 7 Z)>.>W,( 0.5JZ-W+NET{3;]]
I 51 R-( ( ( 3, 1 lpACTN}p' •) ,Z/X), Ct ]AC1'N, tz-(v\Z)Acj>V\<j>z-v+c+tst Z)/R
(6] R-( 1 1 1 ,C)r(((-lfpR).,3)f 3 0 •((tfpACTN),l)p&lfp ACTN), 1 1 ,R
[ 7 ] R-{ ( 1 l pR) t TI ME ST A MP) , [ 1 ]R v
Group: REPORTGRP
Syntax: R-cr BARCHAR.T w
Arguments: a is a l.ist o.:f activities -to he incJ.uded in the
harchart. w is a vector of s1:ar1: times £or a11
actlviti.es.
Resu.l t: .Barchar-t in cbarac1:e.r matrlx .:form.
Com.ments: This :func1:1on works with s-traight working day
o:f:fset schedules only. If the activl-ty .is
critical. (TF=O), the bar wll.l be denoted by the
le-t-1: er "C".
48 Append.ix A
V CHANGEACT J;L;LN;N [1] -(-v/ 'NET 1 Ae=~{(1fp0NL 2),4)f0NL 2)/ERR ( 2 ] -{ -J e A. 1 .i pN ET ) I ERR [3] LP:)!;+-{~lfJ), 1 1
[ 4] L,N+- N-( l .lpACTN} f pLN) fl..N+- U ( :#:\ 1 1 1 •=L) /L+-l!J [ 5] ACTN+-( ( 1 f_pACTN), N) fACTN [6] ACTN{ 11 pJ;]+-LN [7] NET(HpJ;]+-(lfpNET}f(3fL), 0 0 1 ,(lf~HL),1f4HL ... ~((
''''*L)A-*\1 ' 11 =L}/L),1 [ 8] -( O~pJ+-U,J)/LP {9] ERR: 1 INVAL.lD ACTIVITY NUMBER'
v
Group: INPUTGRP
Syntax: CHANGEACT w
Argumen"ts: w is a vector o:f ac-tivity numbers to be changed.
Resul:t: none
Comments: Correc~ed in:forma~ion is entered in the same
:format as the :function ADDACT.
[1] {2] [3] [4] {5] [6] (7] [8] [9] ( 10]
49
V ClJ.ANGERES J;L;LN;N -(-v/ 1 .RES 1 "•=~( (lfpQNL 2) 7 4} tQNL 2)/ERR -(-J€,tipRES)/ERR
LP: I!]-{ • 1 f J) , I I
LN ... (N-( 1lpRESN) f pLN) fLN-ti ( 7:\ 1 ' ' 1 =L )/L-i!J RESN-{(lfpRESN),N) tRESN RESN{ 1 'pJ; ]-LN RES(;. •pJ]-2fL-•( {I. ''*L)A-7"\' t. '=L)/L -< O*pJ-1 i.J> I LP -o
ERR! 'I.NVALID RESOURCE NUMBER' v
Group: INPUTGRP
Syn~ax: CHANGERES w
Appendix A
Argumen'ts: w ls a. vec-tor of' :resource numbers to be changed.
Result: .none
Commen~s: Corrected in:forma1:1on ls entered in the same
:format as -the :f'unction ADDRES.
[ l] [2] {3] {4] [5] {6] [7] [8] (9] ( 10] [ 111 I 121 [ 13] ( 14] l 15] [ 16] ( 17] [ 18] ( 19] ( 20] { 21] (22] [ 23] [ 24] { 25] [26]
50 Appendix A
v R-c CONSTRAIN NR;N;I;SV;DSET;ASST;ASFT;x;FA;T;P;CA;O IO
Oio-••.Pt,OpCPMRPT •• NR+- 1 'p(RESNA.=(1 lpRESN) t NR) /( ( 1 f pNET)-1 lpRES )+&1 fpRESN
STEP1:N-NET(;c-tf(ES(f/NET[2;]])-EST)-TF] STEP2:-(C<N[NR;])/0 STEP3:sv-OpDSET-(N{1;]=1)/&1ipN
FA-ASFT-ASST-(ltpN)pO STEP4:T-0
CA-C STEP5:-(0=pDSET)/STEP6
SV-SV, (O>X-CA-,N[NR;11DSET])tDSET DSET-(O>X) IDSET -(O>X)/STEP5 ASFT{lfDSET]-N{3;1tDSET]+ASST[lfDSET]-T DSET+-1 tDSET CA-X -STEPS
STEP6: ... ( O=pX- { T<ASFT) I ASFT) /END T-l/X
STEP7: P- ( x-T=ASFl' ) I NI 2; ] FA-T~ASFT
P+-( (+rNI 2; ]o.=P)=+r(FA/N[2;] )o.=P) IP DSET-VNIQUE SV,{N[t;JeP)/&1lpN sv-a.o CA+-CA++/X/N(NR;] -STEPS
END:R-,ASST(.I] v
Group: SCHEDGRP
Syntax: R-a CONSTRAIN w
Argumeni:s: « is 1:he aaximum avail.ab.le amoun-t o:f resource.
w is -tlie name 0£ -tbe resource.
Resul-t: A vec1:or con'taining "the ac-tivity s-tart 1:.imes :for
a resou.rce cons·trained schedul.e.
Commen1:s: This heurJ.s1:J.c aJ.gorlthm produces schedules wi'th
near minimal durations in mos't cases.
[ 1] [ 2) {3] [4) { 5] [6)
[7] 181 [9] [10] [ 11] [12] (13]
( 14] ( 15] ( 16]
( 17] [18]
51
v R+-COSTPLOT w;J;K;Q.Io;x;y;s;A;P A-OpQI0-1 W+-W, ( ( 1 t pW) , 2x 1=ppW) p ( c.1 t pW) t [ 1. 5] ( t fpW) t1 S-+-2tA,(pA+-,A+O)l 61 31 W[; 1] ... W[; 1 ]vP+-1000*1+1000000<f / ,w -(O*J+-1f24A)/S.KP1
Appendix A
J+-( J*S( 1 ]-1) I J-( ll / J) =J-JI S( l ]-1) /J-(3+f lO•f /I W( ;1] )-+ .. lS[ 1]-t-2
SKPt:-( O*K+-1 t3lA) ISKP2 K-(K*S{ 2]-1) /K.+-( ( l /K)=K+-KI S[ 2]-1) /K ... 3+c. LS( 2H·2
SKP2:X-ARSCL{ 1/W(; 2]), ( f /W(; 2]) ,l {S( 1 ]-1 )+J y ... ARSCL < i 1,wc; 11>,er1,wc; 11>,lfsc21-1 H·K J+-,(<\(l/X)=X+--/~X)+X,lJ K+-,(<\(1/Y)=Y--/~Y)+Y,LK S ... S,J{3],K[3],7t(41A),(Of-4+pA)l 1 0 0 ,J[ 1 2 ],K[ 1 2 ] R+-S l!CPLT W R-( (S-llpR) tTIMESTAMP) ,[ l]R R+- ( R, ( 1 ] 1 1 ) , [ l ] S t ' COST VS TIME' R+-R,{l]St 1 (IN $ 1 ,(l'P), 1 ) 1
R-R,(1]Sf((Or3S-L0.5xpAPN)p 1 1 ),APN v
Group: REPORTGRP
Syntax: R+-COSTPLOT w
Arguments: w is a vector o::f cumul.ative dally costs or a
matrix as produced by AND.
Result:: The resul 1; is the plot in cha.racter .ma trlx :fo.rm.
Commen-ts: The cos-t data :for this function can be gene.rated
by the :functions ACTUALDAYCOST or DAYCOST and
muitipie cos~ curves can be plotted -together by
using the :function AND.
[ 1 ] (2) [3] I 41
[ 5] [6] [7] [8]
[9]
[ 10] [11] [12]
52
v R+-COSTRPT;J;x;x;Qio;z;N OI0-1
Appendix A
K+-+/(-J+-A+NET{ 5 9 ;J=0)/NET[9;],[0e5]NET[7;JxNET[11;] N+-( ( 1 f pNET)-1 ipRES) ,O x-+I { O=NET[ s;]) I ( zx ( 2=NET[ 6; J) f-2) +Z-( 8xRBS[ 2; ]+. xN JNET ) xNET( 3;] x-x-+/ { O=NET{ s;]) I NE7'{ 9;] K-K 1 [1]+rK+-K,+/K+-K,(1.5]X,+/J/NET{7;]xBCONINDEX R+-(20tTIMESTAMP),45tdPN R-R,(0.5](2!llp1 9 ) 1 45t 1 COST TO DATE PROJECTED
COMBINED' R-R,(1]{20p 1 1 },45f{-15f 1 (' 1 (Y,ASD DO£},')'),' TO FINISH' J+- 3 20 t 3 9 p 'LABOR MATERIALSTOTAL 1
R+-R,[ 1 ] 1 - 1 ,[ l] 1 1 0 1 .liicJ, 15 0 1'K R-(R,[1]'-') 1 [1](20t 'ORIGINAL ESTIMATE'), 45 0 1'{+/ NET( 7; ]) ++I Z v
Group: REPORTGRP
Syntax: R-COSTRPT
Argumen1:s: none
Result: A :repori: o:f project cosi:s, projected and "1:0
date", in character matrix ~orm.
Comments: none
[ l] [2] [3] [4] (5] [ 6] (7] [ 8] (9] ( 10] [11] ( 12] [ 13] [14] [ 15] [16] { 17]
(18] [ 19] [ 20]
[ 21]
[ 22] [23]
(24]
53
V R-CP MRP T N ;IIEAD; C; X; 0.l 0 OI0-1 N-(&1tpACTN)eN,((pN- 7 N)=O)/t.1fpACTN C-NET( 5; ]# 0 R-~(3,-lfpNET) fNET R(C/,pC;3J-C/NET(8;] ES-EARLYSTART 0 R-R,WD2D,EST-ES[NET(1;]] R-R,WD2D,EFT-EST+NET[3; H·1+2=NET[6;] LF-LATEFINISR -lfES
Append.i.x A
R-R,WD2D,LST-{LFT-LF[NET(2;] ])-NET(3; H1+2=NET(6; J R-R,WD2D,LFT R-R,ESF-ES(NET[2;J]-EFT R-R,LSF-LST-LF[NET[l;]] R-R,TF-LST-EST R-( 3 0 4 0 5 0 , ( 16p 4 0 4 0 3 0 4 0 ) t 6p 4 0 ) 1'R R(;OIO+ 16 23 31 38 J-•- 1
x- 4 0 4 0 18 0 4 0 •(ASD DO C/NET{4;]),ASD DO C/NET[5 ; ] R(C/t.pC;12+,42J-X,((+/C) 1 12)p 1 '
R(C/t.pC; 17 39 ]-•-• HEAD- 'ACT IV.lTY DUR EARLY LATE FLOAT ' HEAD- 2 54 pli.EAD, 'S E START FINISH START FI NISH E L TOT' R-( ( ( 2, 1 lpACTN) p• '),HEAD), ( 010] 1 - 1 , [QIO ]N~ACTN,R R-(((-1fpR),3)f 3 0 •((pN),1)pN-N/t.1fpACTN),( 1 CP' ,N I'*' [l+(TF=O)A-C]),R R-( ( t ipR} tTIMESTAMP) ' [ 1 JR, [ 1 J ' I ',-4+1 ipR) p•-• v
Group: REPO.RTGRP
Syntax: R-CPMRPT w
Arguments: w .is a vecto.r o:i: ac-tiv.i-t:y numbers to be inc1uded
in the report. 11' "' l.s nu11 -then al..l activities
wl.1.1 :be .incl.oded.
ResuJ.t: A CPM report in character ma-trix form.
Comments: The CPM ana.lysis produces 9 g.loba.l varlab1es.
54
V R-CRASR N ( 1] -(-/\/R-(N-,N}ea.1 lpNET) /ERR [2] -O,R-0pNET(6;N]-2 [3] ERR:(•RIN)-, 1 NOT VALID ACTIV.lTY NUMBER'
v
Group: INPUTGRP
Syntax: R-CRAS.B w
Appendix A
Arguments: w is a vec1:or o:f activity numbers to be crashed.
Resu.lt: A nul1 vector l:f the activity numbers are va.lld
or an erro.r message i:f they are not.
Comments: CRASH aJ.ong with NOP.M.ALIZE and STOP a.ll change
the activity status.
V CREATE ARG;ES;N ( 1] ES-( 999=!:( t;]) / 1.1 lpT [2] T-!:,(O,pES)4ARG ( 3] T[ ;Nf ES]-ARG[; 1.N-{ 1 tpARG) lpES]
v
Group: META
Syntax: CREATE w
Arguments: w ls a matrix 0£ transactions to be added to ~·
Result: none
Comments: none
55 Appendix A
v .R-DAYCOST s;J;K;x;o1o;N c 1 J oro-1 ( 2] N- ( (1 f pNET )-1lpRES)t0 (3] K-{Xx2xNET[6;]=2)+X-8xRES[2; ]+.xNlNET C4 l J-(x, c 1.s1x-&.f 1, t o.s+x)>.>x-s,r o.sJs+NET[3; H·1+NETC6; l
=2 [ 5] J-Jx ( pJ) pK (6] R-+/.J+{-++l\~J=0)-0{NET[7;]xNET[11;]),[1] l 0 l(pJ)pO (7] R-+\.AWD[ ~ (-+\AWD) &pR]\R
v
Group: AUXGRP
Syntax: R-DAYCOST w
Arguments: w is a schedu.le o:f ac"tiY.i ty sta.rt times i.n the
:form o:f straigb-t working day o1:fsets.
Resu.l"'t: A projec1:ed cu•u1ative daily cos1: vector :for the
schedu.le w.
Comments: COSTPLOT can be used ~o p.lot this vector.
56
V R-DELACT N;X [1] -(-J\/R,...(N-,N)e&.llpNET)/ERR [ 2 ] R- { &. l J. pNET ) £ N [3] ACTN-R-fACTN (4] -O,R-OpNET-R/NET [ 5] ERR:R- 1 INVALID ACTIVITY NUMBER'
v
Group! INPUTGRP
Syntax: R-DELACT w
Append.ix A
Argumen1:s! w is a vector or activi~y numbers to be deleted
1rom NET and ACTN.
Result: A null vector 11 activity numbers are valid, an
error message i:f "they are not.
Comments: none
V LN-DELAY ARG (1] 1:{ 2 3 ;,.!]-( 2 1 )p(£+ARG[1])1ARG[2] [ 2] LN+-NEXTEVENT
v
Group: META
Syntax: R-DELAY w
Arguments: w .is a 2 e1ement vector, de1ay .length and l:lne
number :for processing to resume.
Result: Model line :for next eve.n1:.
Comments: n,one
57
V R-.DELRES N;X [1] -( .... l\/R-{N-,N)e1.llpRES)/ERR [ 2] R-.. ( ' 1 l pRE S) e N [ 3] RESN-R-fRESN [4] -O,R-OpRES-R/RES [ 5] ERR:R- I INVALID RESOURCE NUMBER'
v
Group: INPUTGRP
Syn-tax: R-DELRES IJ
Appendix .A
Arguments: w is a vector o:f resource numbers to be del.eted
from RES and RESN.
Resu.l t: A nu11 vector i:f resource numbers are valid, an
error message i.:f they are no-t.
Comments: none
V LN-DESTROY ARG;I { 1] I-( ( 1 f p;[), p,ARGjp( 1tp,!:)f999 [ 2] T[; ,ARG]-I [ 3 J ~-< ""'<1>" \4>999= .!'.£ 1; l ) IE. (4] LN-NEXTEVENT
v
Group: META
Syntax: R-DESTROY w
Arguments: w is a vec1:or o:f t.ransac-tion numbers (col.um.n
indi.ces) 1:0 be removed :fron the model.
Result-: The next l.ine lo the model. where processing is
1:0 resume.
Con1men1:s: none
58 Appendix A
V R-DM [ 1] R- 0 31 59 90 120 151 181 212 243 273 304 334
v
Group: DATEGRP
Syntax:
Arguments: none
Resu.lt: A vector o:f month starting days.
Comments: none
'iJ R-D DO w;x;y (1] Y-l(0.25><4JltD-1)++\5p365.25 [ 2] x-1w-t o. 5+W+ l J.D) 0 .-Y c 3J x-< t+/ X>O) <J>w,x)(; t J [4] W-(tfD)++/Wo.>Y {5] R-W,(1.S]X
v
Group! DATEGRP
Syntax:
Arguments: a is the start date (Julian) as a 2 el.ement
vector YY DDD. w is a vector o1 o1~set cal.endar
days.
ResuJ. t: A matrix o:f Ju1ian dates, column 1 .is the year,
coiumn 2 is the day.
Com.men ts: none
59 A.ppendlx A
V R-DURFUNCTION N {1] R-NET{3;N]+NET[39N]x0.002x-50+?(p,N)p100
v
Group: ENVIRONGRP
Syntax: R-DURFUNCTION w
Arguments: w is a vec to.r o:f acti vi 1:y numbers.
Result: The activity duration.
Comments: Th.is .is an e.xample only. The game manager
shou1d deve1op a ~unction sui tahl.e to the
pedagogica.l situation.
V R-DW W c 11 E-7lt36Sx1ool!'.CtJJ+ll (f!C 1J-t>+4l+!!I21+1
v
Group: DATEGRP
Syntax: R-DW w
Arguments: w is a ..Julian date ln vector :form YY DDD.
Result: The day o~ the week in numeric 1orm,
6=Fr.i.
Comments: none
O=Sat.,
60
v R-EARLYSTART w;c;QIO;J;K;X;E;N [ 1] o.ro ... 1 [2] J-(NET[5;]#0}/&1tpNET (3] K-{NET{5;]=0)/&14pNET ( 4] E-l o.s+NET( s;.JJ-( + \dWD=O) ( r NET[ 5;J]] [5] N-f INET{2;] [6] LP:-+(N=pR-W-,W)/0 [7] X-(C-NET[2;]=l+pW)(J]/E
Appendix A
[ 8] w-w, f I { W(C[ K ]/NET{ 1 ;K] l•C[K] /NET[3;KH·1+2=NE1'[ 6 ;K]), X [ 9] -LP
v
Group: REPORTGRP
Syntax: R-EARLYSTART w
Arguments: w is 1:be s ta.rt "time o:f -the :first node, typically
o. Resul-t: A vector 0£ node ear.ly start times.
Comments: The expression: R(NET(l;]] will produce a
vector o:f ea.r.ly s-ta.r1: times 1or the ac1:ivities.
These 1:imes are in s1:raight working day o:f:fsets,
the :func1:ion WD2D can conve.rt the.m to calendar
dates in Ju.l.ian £orm.
V R+-ECONINDEX [1] R-1+0.0075xl&•30
v
G.roup: ENV I RONG.RP
Syntax: R-ECONINDEX
Arguments: none
61 Appendix A
Result: The current economic index for use as a cost
multip1ler for material costs.
Comments: This is an example only.
shou.ld develop a f'unct ion
peda.,goglca1 situation.
V EXEVENT ARG [ 1] EX-JiK,ARG [2] EX-EX{;.EK(l;]]
v
Group: META
Syntax: EXEVENT w
The game manager
suitable to the
Ar!,7Uments: w ls a 2 element vector o~ the exogenous event
ti.me a.nd mode1 1ine 1:0 branch to.
Resul.t: none
Comments: none
62
V FREE ARG;K {1] E£2;ARG(1]J-g[2;ARG{1]]-ARG[2] [ 2] -ox.c.O=pK-( ARG[ 1]=£{1;]} I .c.1 lp.! {3] -SETx.c.g(t;ARG{l}]>t [4] K-1t(tf/I{4;K])=.![4;K])/K [5] SET!Z[ 1 2 ;,K]-~((p1 K),2)p0 9£
v
Group! META
Syntax: FREB w
Appendix A
Arguments: w is a 2 e1emen-t vec1:o,r o:f resource number and
the amount 1:0 be £reed.
Resu.11:: none
Comments: none
V FREERES ARG;.J [ 1] E[ 2; ]+-£( 2; ]-,NE.T{g{a;] ;.re 8;LJ 1 [2] R-EI4;]+.x(({lJpg.),pJ)p{ 8 16 )[NET{6;J]])xNET[g[3;J;J
-.rcs;LJl [3] NET{9;J]-NET[9;J]+{Rx(£-f /PS,[1.5]NET(4;J])-T[5;LJ)x
NET{ 11 ;J] [4] J-(ARG=1:[1;])/.c.1lpT [5] .![ 1 2 ;J]+-~((pJ),2)pO,£
v
Group: SIMGRP
Syntax: FREERES w
Arguments: w .is the :resource waiting status (current.ly 2).
Resu.lt: none
Comments: Th.ls .:function upda-tes resource costs in the NET.
63 .Appendix A
v E-GD f!;Y;N;M { 1] R-M., ( !f{ 2 ]-N{ M-+/-!!(2 ]<N-mf+( (4J Y)=O) xO, O, 10,pl]) t Y-100)
,!![ 1 ] v
Group: DATEGRP
Syni:ax:
Arguments: w i..s a Jul..ian date in vec-tor :form YY DDD.
Resu.11:: The eq:ival.ent Gregorian date in the :form MM DD
yy.
Comments: none
V ST GENERATE J;N [ 1] N-DURFUNCTIQN J [2] CREATE~{O=NET[6;J]),(((pJ),4)p£,ST 9 0 0 ),N,NET[4;JJ,J
,[ t.5]0 v
Group: Sl.M.GRP
Syntax: a GENERATE w
Arguments: a is the Iine number in the model where the
tranactions (activities) wil.1 start. w is a
vector 0£ ac-t-iv11:y num.be.rs to be sta.rted.
Result: none
Comme.nts: none
64
V LN-GET ARG;K [ 1] -CKSIZEx&O=pK+-(;[[ t; ]=ARG[ 1]) /1.lJpT ( 2] -WAITx &!:[ 4; I J<f /!:[4;K] [ 3] CKSIZE:-GOT x,g_[ 1;ARG[1]] ~( 2;ARG[ 1] ]+ARG[ 2] [4] WAIT!~[ 1 3 ;,Ll- 2 1 pARG[ 1 3 ] [ 5] -O,LN+-NEXTEVENT (6] GOT!E[2;ARG(1]]+-E[2;ARG[1]]+ARG[2] ( 7] l.N .. ,0
v
Group:
Syntax:
META
R-GET w
Appendix A
Ar,guments: w is a 2 element vecto·r, resource number and
amount •
Resu.lt: . Line number o:f nex-t event in model..
Comments: none
V R-GETRES ARG;J [1] -(A/1-+:!Ul 2;])~J!:.,NETCgca;1;T[8;.I]])/OK (2] !:I 1 3 ;+/~]-ARG[ 1 2 ] [ 3] -o ,R-NEXTEVENT [4] OK!§.[2; ]+-§.[2;]+J [ 5] R+-1.0
v
Group: SIMGRP
Syntax: R+-GETRES w
Arguments: w is a 2 element vec1:or of the wai"t status and
the po.in't .in the model. to resume •hen resources
become avai1ab.le.
Resul. t: Next point to branch t:o in model..
Comments: A.11 resources :for an activity must be avai.lab1e
1or the transaction (activity) to proceed.
V g-A HIST ?{;Y;x;OIO [1] OI0-1 (2] y-e~ ' *' (l+~o.~&f /~]
65
£31 x-*+< 2 1 PA+ o 1 >>.>(t,p~Jp,pW [4] Y-(-' 'A•=~Y)+Y-X/Y
Appendix A
[ 5) s_-( ( 11 fpX) ,5) fY( Y, 1 )~, Y-1 fpY) ,X-Y, ( 1 ]~1'( ( 11pY), 1) pX/, pX v
Group: REPORTGRP
Syntax: R-a HIST fJ
Arguments: a ls the range oJ: days 1:he histogram should
cover. w is a vecto.r 0£ daily data :f'or the
histogram.
Result: The histogram in matrix form.
Comments: RESUTIL can be used with :func1:lon to create
resource utiiization histograms.
V R-HOLDACT [ 1] R-40
66
[2] -(ASCH(!:[8;_!]]S+/H£) fAWD)/0 [3] NET[4;I[8;_!]]-T[2;I]-(+\AWD)&fASCH[!:(8;.I1l [4] R-NEXTEVENT
v
Group: SIJl.GRP
Syntax: R-ROLDACT
Arguments: none
Result: Line numbe.r o:f nex1: even't in model.
Appendix A
Comments: I:f the i:iee in ASCH is later -than 'the current
time, c, then the actlvi.ty is held, else i.1: is
passed. The times in ASCH are in straigb"t
working days.
67
V INIT .l.AL:CZE ARG { 1] A J:[ l=STATUS: 2=NXTCLK:3=NXTLN:4=PRIORITY] (2] A El1=SIZE!2=CONTENT] (3] T-((4+ARG(1]),0Jp0 (4] E-((2+ARG[2]),0)p0 cs1 gc1;11-L1c.1t,u- 2 t ,,c-o
v
Group: META
Syntax: INITIALIZE w
Appendix A
Arguments: ""' ls a. 2 e1emen1: vec1:o.r giving the number o-f
extra rows £or I and E• Resu1t: none
Comments: This :function lnl-t1a1izes the Me'talanguage
port lo n 0£ the model.
V R-JD W ( 1] B.-f:lOO Ji!C 3 ]J, ( (W( 2]+DM(.!f(1]]) +( W{ 1 ]>2) x ( 4J!![3])=0)
v
Group! DATEGRP
Syn1:ax: R-JD w
Arguments: w is a Gregorian date MM DD YY.
Result: The eqlval.en"t date in Julian :form YY DDD.
Comments: none
68 Appendix A
v R-LATEFINISll W;N;c;oro;J;K;E 111 c.co-1 (2] J-(NET[5;]*0)/c.1~pNET
(3] K-(NET(5;J=O)/c.1ipNET [ 4] E-l O. 5+NET[ 5 ;.1]-( +'\t.WD=O) [ f NET[ S;J]] [ 5] N-f I NET[ 2; ] [ 6] .LP:-( ( pR-<l>W-, W) =N) I 0 (7] x-(c-NET(l; ]=N-pW)[J]/E [ 8] W+-W, l / (W[ 1 +N-C[ K ]/NET{ 2;K] ]-(C[ K]) /NET[ .J ;K ]T 1+2=NET[6;
K]) ,X (9] -LP
v
Group: REPORTGRP
Syntax: R ... LATEFINISH w
Arguments: W is the ear.ly s1:art :time of 1:he last node of.
-the ne1:work.
Resu11:! A vector 0£ Aa~e 1lnish ~imes £or the nodes.
Comments: For .nodes -tha-t: have comp.le-ted, -the actua.l :f'inisb
1:lmes a.re used.
( 1 ] [2] (3] (4) ( 5] (6] (7] (8]
[9] [ 10] ( 11]
(12] (13] [14] [ 15] [16] I 17 J [ 18]
69
v w-LEVEL ttR;A;X;K;SL;Lw;o10 010-1
Appendix A
AR-'' .P(RESNI\ •= ( 1 lpRESN) f AR) I ( ( 1 f pNET )-1&pRES)+'1 f pRESN -(O=pAR)/0 AR-••pAR Lw-w-< EARL YSTART 0) [NET[ 1; ] ]
LP: A-1+-1 f,pNET RLSLP:-. (O~A-A-1 )/END SL-( ( (f /W+NET{ 3;] H l / ( NEl"[ 2;A]=NET[ 1;]) /W )-NET(3;A ])-W [A] .-{ O=SL) I RLSLP x-~(A=c.pW) o. xK--l+c.SL+ 1 x-{(X,(1.5JX-c.f/,X)>.>x-x,co.5]X+(pX-X+(pX)pW)pNET[3;] )+e><NET( AR;] x-<,<1>(L/X)=x-++X*2 x-xt<j>x W(A]-W{A]+X -RLSLP
END:-(A/W=LW)/0 .Lw-w -LP v
Group: SCBEDGRP
Syntax: R-LEVEL w
Arguments: w is "the name o:f the resource.
Resu1t: A resource 1eve1ed schedu1e in time units 0£
straight working day oi':fsets.
Comments: none
70 Appendix A
v R-LISTACT N;J;Qio;x [.1] 010-1 ( 2] -(-A/ (N-N, (O=p,l'l.'J,, 1.ipNET)e& UpNET) /ERR (3] R-(X-( 1 lpACTN)p' 1 ), ' NODE DURATION STAT WS
(4]
[5] [6]
[7]
(8] {9] [10] (11] [12] [ 13] [ 14]
COST 1
R-R,[O.sJx, 1 s E OR 1
EST ACT MAT ER .l AL LAB
R-R,[ 1] 1 - 1
J-(Jx(NET{6;N]=2)*3)+J-NET[3;N]x8xRES[2;J+.x(((lfpNET) -1JpRES)t0) lNET{ ; N] J-NET[ 3 8 6 10 ;NJ,{l](x+NET[ 7 11 ;N]),(0.5](NET(9;N ]x-J) + (J-NET( Si N]=O) xJ J- 6 0 4 0 6 0 4 0 10 0 7 0 -~J J[ (O=NET[S;N])/LpN;tOJ-• I
R-R,{l]ACTN[N;],( 3 0 3 0 •~NET[ 1 2 ;N]),J R-U(-tfpR),3) t 3 0 •((pN),l)pN), 1 1 ,R R-( ( tlpR) tTIMESTAMP) ,{ l]R,( 11 I ' t ,-4+1tpR)p1 - 1
-o ERR.:R- 1 INVAL.lD ACTIVITY NUMBER'
v
Group: REPORTGRP
Syntax! R-L.ISTACT w
Arguments: w is a vector o:f ac1:1vity numbers to be included
in "tbe report. I:f w is nul1 "then all actlvl."ties
are incJ.uded.
Result: A report o:f activi"ty ln:fcrma"tion in character
matrix :for.m.
Commen1;s: none
V R-LISTRES N;J;OIO o.co-1
71
-(-A/ ( N-N, ( O=p,N) I & 1 ipRES t £ & 1 lpRES) /ERR R-(Xe-(1lpRESN)p 1 1 ), 1 LIMIT IN USE R-R, [ 0.5] 1 - 1
J-0 -(2*0NC •g•)/SKP J-,t;:I 2; N]
Append.ix A
COST/HR.'
[1] [2] [3] [4] (5] [6] [7] [ 8] SKP:R-R,[l]RESN[N;J, 10 0 10 0 10 2 1'RES{t;N],J1 (1.5]
RES(2;N] [ 9] R- ( ( (- 1 f pR ) , 3} f 3 0 .- ( ( pN) , 1) pN) t 1 1 1 R [10] R-(UlpR)fTIMESTAMP),[1]R 1 [l] 1 1 ,(-4+1ipR)p 1 - 1
[ 11] -o ( 12] ERR!Re- 'INVALID .RESOURCE NUMBER'
v
Group: REPORTGRP
Syntax: R-LISTRES w
Ar.guments: w ls a vector o:f resource numbers to be included
in 1:he report. l:f w .is nu11 1:ben a1i resources
are included.
Resul.1:! A repor"t o::f resource .in:.formation in character
ma"t.ri.x "form.
Comments: none
72
V R-LISTRESREQ N;X;OIO;Y [1] 010-1 [ 2] -{-A/ (N-N, (O=p,N) I &.1 h>NET) E&. l lpNET) /ERR
A1.,pendix A
[3] R+-(((1 tpRESN),llpACTN)p' 1 ),({3><1fpRESN)p 0 0 1 )\~
RESN [4] [ 5] [6] [7]
[ 8] (9] ( 10] [ 11] [ 12]
R-R,( 1] 1 - 1
x- 3 0 •Y-lil( ( ( 1 tpNET)-1-lpRES) ,O) INET x- • 0123456789. 1 .. x R-R,(l]ACTN[.N;], '0123456789.- 1 [X+t1x((3><1fpRESN)p 0 0 1 )\Y=O] R-( { ( 1 lpACTN)pl),, Y, Y,( 1.S]Y-v-fY*O) /R R-(((-lfpR),3)f 3 0 •((pN),1)pN) 7 1 1 ,R R-((1lpR)fTIMESTAMP),[1]R"[1] 1 ',(-4+1lpR}p 1 - 1
-o ERR:R- 'INVALID ACT.IV.ITY NUMBER'
v
Group! REPORTGRP
Syntax: R-LLSTRESREQ w
Arguments! w J.s a vec-to.r o:f ac"tivi-ty numbers -to be incl.uded
in the report. I1 w is nul.1 then a11 activities
are l.nc.luded.
Result: A report o:f resource requirements in characte.r
ma-tr.ix :form.
Comments: none
[ 1] [2] [3] [4] [5] (6] [7] [8] [9) [ 10] [ 111 ( 12] [ 131 [14] ( 15]
v NETRENUM;w;x;R;c C-2x 1 l pR-W-NE1'[ 1 2 ; ]
73
LP:-< Oex-• •pl t ( >+w> I c. 1 lp'W) /END R-w.-( WxX=O )+X-( 'PW{ ;x]} +. xW[; X ]o.=W -< (O>c-c-1 )/ERR) ,LP
END: R-(+\R*-l~R-(,R)[.,R]){ •• ,R] .R-( 2, 0.5xpR) pR NET[ 1 2 ;J-R NET-NET( ; Jt-·NET[ 1; ] ] ACTN-ACTN( W; ] NET-NET[;W-·NET[2;]] ACTN-ACTN( W; ] -o
ERR: 'NETWORK LOGIC HAS LOOP' -v
Group: SIMGRP
Syntax: NETRENUM
A.rguments: none
Resu1 t: none
Appendix A
Cmnments: This .:function renumbers the nodes o:f the network
to be consectutive integers starting at 1. NET
and ACTN are a1so sorted.
74
V LN-NEXTEVENT;C ct 1 c-< u1TC2; cl >=rr 2;c u 1c-crc 1; 1=0> 11. tlpl".. { 2] -EXTx' 0=.l-1 f ( ( f /!:[ 4;C 1>=1:(4; C]) /C [3] ~-1:(2;.!]
{ 4 ] LN-1:[ 3 ; ! ] C 5 l -l ~<1pfil) IO [6] EXT!LN-1"6U £71 c-tp~ [8] EX- 0 1 I~
v
Group: META
Syntax: .R-NEXTEVENT
Arguments: none
Resu11:: .Line number o:f next even·t in mode1.
Comments: none
Appendix A
'ii R-NORMALIZE N; QIO [ t] 010-1 { 2] N-,N, ( O=p,N) /& 1 ipNET {3] -(-A/R-Nec.1.,pNET)/ERR [4] -o,R-OpNET[6;NJ-1
75
[5] ERR:(•R!N), ' NOT VALID ACTIVITY NUMBER' v
Group: lNPUTGRP
Syntax! R-NORMALIZE w
Appendix A
A.rguments: w l.s a vector o:f activity .numbers to be set to
nor.mal. status. 1£ w is nu1l. then al.l activities
are set to normal. status.
Result: A nu11 vec1:o:r i:f activii;y numbers are vaJ.idt an
er.ror message i:f -they are not.
Comments: NORMA.LlZE a.J.ong w l th CRASH and STOP change the
activity status.
V PAGE;CP [ 1] -{ 2*100 QSVO CP- 1 CP' ) /ERR [2] CP- 1 SP CON PAGE' [3] -o [4] ERR: 'SRARE IN PAGE FAILED'
v
Group: AUXGRP
Syntax: PAGE
Argume.nts: none
Result: none
Comments: This ~unction causes the next printed output to
begin on a new page. (see PRINT)
76 Appendix A
V R-PDBEGIN;J [1] E[2;J-O [2] T[1;(2=1:[1;])/&llpT]-O (3] T[ 1 3 ;J]-(0=NET[6;1'.[8;J-(1'.[1;]e 0 1 )/&.llp!:]]),[0.5]
ST c 4 J TC 2;Jl -~rTc 2; J-< o=.rr i; J> / &.tlpIJ (5] 1'.15;]-0 [ 6] PS- 1 'p!;_ [7] R-NEXTEVENT
v
G.roup: SIMGRP
Syntax: R-PDBEGIN
Arguments: none
Resu.lt: Line number o:f -the nex-t even~ in the .model.
Commen-ts: This :t:unc-tion per:form -the "bookkeeping" to sta.rt
a new per.iod.
77 Appendix A
V PDEND;I;J;R (1] EX-(PERIQDEND*EX(l;]}/EX ( 2] ,1'.( 9; J l-!:C 9; J-( 1=.!I l; ]) / &. 1 '-P.!] +£-PS (3] ,1'.[ 6 2 ;IJ-((1'(2;I]-£)x,1'.(7;.I-((0*T(7;])A0=_!(1;])/&.11p!:
]),[0.5]+/~
[4] R-gC4;]+.x(({1ipg),pJ)p( 8 16 )[NET[6;J]])xNET(g[3;J;J +-.![ 8; I]]
[ 5] NET( 9; J]+-NET{ 9; J] + (Rx {£-f /PS, [ 1. 5 ]NET(4; J] >-r.r s; I]) JC
NET[tt;J] v
Group: SI MG RP
Syntax: PDEND
Argumen"ts: none
Result: none
Comments: This ~unction upda~es period costs £or active
transac"tJ.ons and does end o"J: period Hhouse
keep.ing".
[ 1] [ 2] (3] [4] ( 5] [ 6]
(7] (8] [9] (10] [ 11] ( 12] ( 13) ( 14] ( 15] [ 16) ( 17] [18] l 19] ( 20] (21] (22] [ 23] { 24] ( 25] ( 26]
78
V R-PLAY PERIOD;J;N;QIO;PEN;PS AALP-Op0I0-1 EXEVENT(.£+1 tPERIOD) •PERIODEND PEN-{ -1 f PERIOD) xt *Pt PERIOD -PDBEGIN
ST:-HOLDACT
Appendix A
1:( 6 7 ;.!]- 2 1 p(,l[6;1.H·J) ,J-( 1 1.5 )(NET(6;I_(8;l.]]] xAP:r{ !.{ 8;.!.] ]-PROD INDEX NET[ l 1;_t[8 ;.!. ] J-ECONINDEX -GETRES 2,ltl].LC AALP-AALP,1:(8;1.] -DELAY,I_[6;£],l+lf[lLC FREERES 2 ~[Nl-Q[N-NET[2;T[8;1.]])+1
NET[ 8 S ;.t[8;J.]]- 2 1 p(.£-NET[4;T[8;1.]]+]:[9;£]),£ EX-((2,PEN=1:£8;~])~,PERIODEND),EX
-TERMxL(+/NET[2;J=N)>g[N] -sToPxc.O=pJ-(NET[l;J=N)/~llpNET
ST GENERATE J NET[4;J]-£
TERM:-DESTROY l. STOP:R- 'PROJECT: ' , APN, ' COMPLETED: ' , , lJASD DO C -o, O,pl'.[ 6; J-0
PERIODEND!R- 'PERIOD END: 1 ,,•ASD DOC PD END -o
SAT:-SATURDAY SAT SUN:-SUNDAY SUN
v
Group! SI MG RP
Syntax: R-PLAY w
Arguments: w con'taining the number o"f. days to be worked or
the .result o::f "the £unction UNTILENDACT or bo-th •
. Result: An end o1 per.iod or project message.
Comments: Th.is £unction is -the mode]. that simu.lated the
wor.ki.n;g ox the proJec1:.
79 Appendix A
v PRINT M;CP ( 1] -cu100 0SVO CP- •cp• )/ERR ( 2] CP- 'SP CON APL STAR7' NOT ERM' (3] M (4] CP- •sp CON STOP TERM' [5] -o [ 6] ERR: I SB.ARE IN PRINT 1-'AILED'
v
Group: AUXGRP
Syntax: PRINT w
Arguments: w is any character or nun1eric da1:a.
Resu1 t: .none
Comments: Report ha.:rdcopies can be made by using this
'.function to print their results.
V R-PRODINDEX ;1 1 R-,o l lWD2D(+nL£)fAWD)+c.fNET[3;,1:(8;!.]JllfPERIOD-PS-!;;, I 2 l R-to(( 290+R) ·H82.5) xo2 [3] R-o.txtO+{+/R)•pR [ 4] R-( 1,R )[ 0IO+NET[ 1O;T{8;!.]]]
v
Group: ENVIRONGRP
Syntax: R-PRODINDEX
Arguments: none
Resul-t: The productivity index 1'or the ac'tlvlty.
Co1Uments: This ls an example only. The game manager
should devel.op a -:function suitable to 'the
pedagogical si tua-t ion.
80 Append1x A
v RESREQ;V;I;J;K;Oio;z;L;N [1] oro-o [ 2] N-(1 fpNET)-1 fpRESN [3] LP:-(O=pL-1!])/0 14 l J--1+11 in--1 iI-1+ ( z/ c.pZ) ,,,z-• •=v-t Ivt<J>I-v:t• • > 1v-• •
,L [5] z-(pK}p( ,K-Jo.>c.f /J)\(-Z)/V {6] L-(J-( lfpZ)p 0 1 )+((tfpZ),3) fZ [7] z-(-J)+Z [ 8] NET[ N++/( ( pL) pc.l ipL) xL-LA.=t\:lRESN; Z[ 0 J-t J-t iz-.a,z, 1 1
[9] -LP v
Gr-0up: INPUTGRP
Syntax: RESREQ
Arguments: none
Resul. t: none
Comments: This :func1:lon is used 1:0 set or change the
resource requirements o:f the ac-tivit.ies. Ai:ter
the .:function is invoked 'the keyboard i.s ready to
accep-t input to the :func"tion. The user shouJ.d
en-ter the ac"t ivi. ty number, resource name and
amount, ••• • resource name and amount • The
user can enter as many J..ines as are neccessary,
ea.ch must be s1:ar-t with the ac-ti.v.1-ty number, a
null l.i.ne exits the :function.
81 Appendix A
V B-4 RES UT I.L ,!!; N [ 1] !'.!-( RESNA.=(-1 fpRESN) f4_) I ( (1 f pNET)-1 lpRES) +t.1 fpRESN [ 2 l -( O=p!i) I 0 [ 3] !'.!-" P!i [ 4] R-( ( N, { 1.s ]N .... r / ,f!J>. >!!-!'.t [ o. 5 J.!!+ (pf!) pNET[.3; ]) +. x' NET(
!'.!; ] v
Group: AUXGRP
Syntax: R-a RESUTIL w
Arguments: « is the naae o:f -the resource in character
vector :form. w is the schedule (in straight
worki.ng day o1:fse1:s) tha-t resource util.iza-tlon
data is required on.
Resu.l t: A vector o:f dai.ly resource u-tlJ.iza-tion.
Cmr.tments: The :function HIST can be used to p.lot -the resu.lt
o:f this :function.
82 Appendix A
V R-SATURDAY SAT;J;K;N c 11 .re 2; .11-.rc 2; J J+K-.t=NETC 6;.rr s; J-t < O"#=!.l 7; J > AO=rr 1; H / &1 lp
_!]] (2] .!{5;J]-_r(5;J]+K (3) .IC9;J]+-1:(9;J]+K (4] N-( (1 f pNET)-1JpRESJ.0 [5] NET[9;J]+-NET[9;J]+8x+/RES[2;]+.xNlNET(;J-(2=NET[6;J])/
J+-.I[8;J]] (6] EXEVENT(£+7),SAT [7] R+-NEXTEVENT
v
Group: SlMGRP
Syntax: R-SATURDA Y w
Arguments: w is the J.ine number in the simulation model.
(PLAY) wbere this i'u.nct: ion is caJ.J.ed.
Result: The J.ine 0£ the next event in the model..
Comments: This :function updated the "days not wo.rked11
coun~ers i'or activi~ies not being crashed and
costs :for crashed ac"tivlti.es.
V R-A SCHEDULE W [ 1] R-~o
[2] -(2~ppW)/OK
C3J w-opx-,w (4] LP:W--W,tiSD WD 2tX [5] -{O#pX-21X)/LP [6] ox:-(-A£,1fpACTN)/ERR
83
[7] ~SCH[A,(O=p,A)/,ltpACTN]-W
[8] -o [9] ERR:R- 1 INVALID ACTIVITY NUMBER'
v
Group: INPU.TGRP
Syni:ax: R-a SCHEDULE w
Appendix A
Arguments: a i.s a vector o.:f activi-ty numbers to receive
scheduled start 1: lmes, i::f' nu1.l al1 activities
are assumed. w is a vector o:i' schedule sta.rt
tiaes .in the .:form o:f straigh't working day
o:i':fsets (vector 1.ength matching the number o:f
activities in a), or a matrix o:i' schedule start
dates as produced by WD2D OR DO (the number of
.rovs matching the number o:f acti vi.~ ies in a).
ResuJ.1:: none
Comments: none
[l] [2] [ .31 [4] {5) [6] [7] (8] [9] { 10] ( 11] (12] { 13] { 14] l 15] (16] (17) [ 18] (191 [ 20]
84
V NAME Sl~RT SDATE;J;OIO;SAT;SUN;K oro-1 llWD-1000,p(DW llSD)<fl 0 0 l 1 1 1 1 llPN-NAME llSD-SDATE llSCR-llPl-( 1 fpACTN)pO
Appendix A
NET[ 4 5 6 8 9 11 ;J-~((1lpNET),6)p 0 0 1 0 0 1 K-NET[ 1 2 ;J NET REN UM -(A/,K=NET[ i 2 ;])/OK 1 NETWORK HAS BEEN RE'l.1UMBERED'
ox:INITIALIZE 5 2 E-(S!RES[ 1;], O, { ( ( 1 f pNET)-l lpRES) +&. l lpRES) 1 [ l.5 ]RES[ 2; ] .!-1 Q-U /,NET( 1 2 ; ] )pO 0 GENERATE J-(NET[1;]=1)/c.1ipNET NET[4;J]-C SAT-( 'SAT:• Ae=tQJ)/-l+c.1.fpJ-(0CR 1 PLAY 1 )[;c.4] SUN-( 1 SUN: 1 Ae=~J)/-1+&.lfpJ
EXBVENT( 7 I 7-DW SDATE) ,SAT EXEVENT{ 7J 1+7-DW SDATE) ,SUN v
Group: SIMGRP
Syntax: a START w
Arguments: a is a characi:er vector containing -the proJec-t
name. w is the start date in Julian :form YY
DDD.
Resul-t: none
Comments: 1£ NET is changed by NETRENUM a message is
prln ted. Tbi.s i'unct ion in.i tial.J.zes the Game,
only the :functions in the group INPUTGRP, w.i.11
work prior -to invoking this J:unc-tion.
[ 11 [2] [3] [4] (S] [6]
{7] [8]
{9] 110] {11] (12]
[13]
I 141
I 15] [ 16] [171
85
V R-STATUS A;QIO;PC;N;J;K OI0-1 A-(&lfpACTN)eA,(O=pA-,A}/&lfpACTN
Append.ix A
R-8-0fAPN, 1 1 , 'SIMULATION CLOCK:• 1 1J 1 ASD DO ~ R-R,{ O.S]80tTIMES7'AMP K-NET[ 9; ]+NET[ 7;] xNET[ 11;] N-((8p 6 0 4 0 ), 10 0 )•(ASD DO NET[4;]),(ASD DO NET[ S;]) .,K PC-100xO<NET[5;] PC[ACTIVE]-lOOxt-11 Of ( ( 0=1:[ 1; ] ) /T{ 6;] H-OCTf NET [ 3; ACTIVE] N[ ; 7 1 7 J - 1 - 1
N[ J;4+&6]-( (pJ-(PC=O) h.pPC) ,6)p ' • • • 1
N[ J; 14+1. 6]-( (pJ-{PC~100) /&pPC) '6 )p I • • • I
R-R,{ 1 ]80t 1 ACTIVITY 1 , (J-( 1+11pACTN)p' '), 1 ACTIV ITY' ,(15p1 1 ), 1 PCNT' R-R,[1]80f 'NAME' -,J, 'START FINISH COST CPLT
STAT' R-(R,{1] 1 ')-.[1]({+/A) 1 80)fA~ACTN,N,( 6 0 1JL0.5+PC,[ 1. 5]NET( 6; ]) R-(((-1fpR),3)f 3 0 ll((+/A),l)pA/&pA), 1 1 ,R R- (-<j>A \<j>11.,L. • =R) IR' [ 11 I • R{5 1 1fpR;4+&-4+1!pR]-1 - 1
v
Group: REPORTGRP
Syntax: R-STATUS w
Arguments: w .i.s a vector o.:f activity number-a to be included
in tbe repor~, 1~ nuli a11 activites are
included.
Resui-t: A repor-t o:t'. act:J. v.i-ty s-ta-tus J.n 'the model. l.n
characi:er matrix :form.
Comments: none
86
V R+-STOP N [ 1] -+( ... I\/ R .. ( N+-,N) e~ t ipNET) /ERR [2] -o,R-OpNET[6;NJ-o [3] ERR!R+-(-Ul/N), ' NOT VALID ACTIVITY NUMBER'
v
Group: INPUTGRP
Syn-tax: R-STOP w
Appendix A
Arguments: w is a vec-tor o1 activity numbers to be set to
s-topped status.
ResuJ.1:: A nu1J. vec ·tor .11 activl fy numbers are val.id, an
er.ror message i:f they are no-t.
Commen-ts: STOP al.ong wl th NORMALIZE and CRAS.H change the
ac-tlvity status.
87 Appendix A
V R-SUNDAY SUN;K;J;N r 1 J 1:r 2;J1-rc 2;JJ+x-1=NETC 6;1'.C s;J-< ( 01'1:C7; 1>AO=r.c1; 1>1 Lt Jp
1']] [2] 1'.[5;JJ-1:[S;J]+K ( 3 l 1'.U~; JJ-r,I 9; J ]+K ( 4] N-( ( l t pNET )-1 lpRES),,0 ( 5) NET{ 9; J]-NET{9; J)+8x+/RES( 2; ]+. xNtNET(; J-{2=NET(6;J J) I
J-T[8;J]] [6] EXEVENT(C+7) 1 SUN [7] R-NEXTEVENT
v
Group: SIMGRP
Syn-tax: R-SUNDAY w
Argumen-ts: is the line number in the simu1ation model
(PLAY) where -this :function is calJ.ed.
Resuit: The line o:f the next event in the model.
Comments: This :function updated the "days not worked•
counters 1'or ac"tlvl-ties no-t be.ing era.shed and
costs :for crashed activities.
v R-TIMBSTAMP;x;o1o;n [1] 010-1
88 Appendix A
[ 2 ] R- ( • • #R) IR- ( •IJ7' s [ 4 l ) ' • : • ., - 2 t I 0. ' ( I I 1=R ) I R-1'[]T s [ 5 ] [3] R-R,. I,(• •t:D)/D-(•0TS[2]), 1 / 1 ,(1'QTS(.J]), 1 / 1 ,2t 4
0 ,.{]TS[ 1] v
Group: REPORTGRP
Syntax! R-TIMESTAMP
Argumen'ts: none
Result: A character vector contain.Ing 1:he time of. day
and date.
Comments: none
V !!:.-UNIQUE W [1] B-(l,-(1l!!J=-11W)/W-!f[.!'.]
v
Group: SCREDGRP
Syntax: R-UNIQUE w
Arguments: w J.s a numeric vector.
Result: The unique eJ.eme.nts o:f w ln sor1:ed order.
Comments: Used by the :f:unc"tion CONSTRAIN.
V R ... UNT.ILENDACT N [1] R ... (l/&0),N
v
Group: AUXGRP
Syntax: R ... UNTILENDACT w
89 Appendix A
Arguments: w .is the activity number whoes comp.letion wi.l.l
end the play period.
Resu.l t: An input vec i:o r :for PLAY.
Comments: none
V R+-A VS B ( 1] R-A, [ OI0+0.5 ]( pA-,A) pB-,B [ 2] R-R, ( pA) p ( pB ) 11
v
Group: AUXGRP
Syntax:
Arguments: a and w are y and x data to be plotted.
Result: Data :formatted :for p.lotting :function.
Comments: Used by the :functions AND and COSTPLOT.
90 Appendix A
v R-A WD !f;N ( 1 ) !!-( 5 )( l N~ 7 ) ++ / 1 :$ ' 7 I N- ( + /( 4 I ( -1 +.& [ 1 ] ) h -1 +!! ( 1 ] ) = 0) + - 1 +!! (
2] + ( 36 5x (!f ( 1 J-.&C 1] ) ) -,:!( 2]) f ( 1 + DW A) <!>O, a. 6 v
Group: DATEGRP
Syntax: R-a WD w
Arguments: a is a start date a.nd w is a end date. Both in
Julian :form YY DDD.
Result: The number 0:£ normal working days be'tween a and
Con1ments: none
V R+-WD2D TtD; Y;X (1] R+-(()*WD)x(+\AWDJa.lWD+O.s (2] Y+-l (0.25x4J1 tASD-1)++'\5p365.25 (3] X+-(R+-R+1 lASD) o .-¥ [4] X+-{(+/X>0)4JR.,X)( ;t] (5] R+-(1fASD)++/Ro.>Y [ 6 ] R-R t [ 1 • 5 ] X
v
Group: DATEGRP
Syntax: R+-WD2D w
Arguments: w .is a vector o:f s-tralght working day o:f:fsets.
Result: The equivaJ.en"t ca.lendar dates that include the
number o:f work:ing days s'tartlng .:from the project
start date {ASD), in matrix :form.
Comments: none
( 1] {2]
[3]
(4] (5] [6] [7] ( 8] [9] [10] [ 111 ( 12] (13] [14] [ 15] (16] [ 17] (18] (19] {20] [21]
91
v .R ... A llCPLT w;oio;J;K;x;Y;XT;YT;SCALE Oio-1
Appendix A
A W IS A 3 COLUMN MATRIX OF Y .. X,FLAG.(FLAG SEPARATES 1iU LTIPLE PLOTS) J-0FX 2 25 p 1 R-S SCALE V R-(S+0CTf (f /V)-l / V) x V-l / V' R-A[ .2 1 ]pO
A AD.D X AXIS TO -R- IF 0 IN RANGE OF A(8 9] x-(OeA[ 8 9 ])vO>.>A[ 8 9 J R[; x-x11 fl 1. 5+ (- l+A[ 1]) SCA.LB O,A[ 8 9 ll-2
A ADD Y AXIS TO -R .. IF 0 IN RANGE OF A( 10 11] Y-{OeA[ 10 11 ])vO>.>A[ 10 11 ] R(Y-A[2]-Y/1fl0e5+(-l+A[2])SCALE O,A( 10 11 J;J-3
A FIND X AND Y T.IC MARKS XT-A[ 1Jf(1f-X-1)4> (A[ 1]+A[3]-A[ 3Jl A[ 1])pA[3] fl YT-A(2]f(1f-Y-1)~(A[2]+A{4]-A(4]jA[2])pA(4]f1
A ADD GRID IF SELECTED (A(5]=1) R- 1 R+ (R=O) xA[ 5] xtQ{XTo e=A{ 2]pl)v (A( 1 ]pl) o.=YT
A OVERLAY DATA ON COMPLETED BACKGROUND. J-t1.s+2u-1+A(l])SCALE A[ 8 9 1,wr;21 K-A(2]-ll.5+2l(-1+A[2])SCALE A( 10 11 J,,~W(;l] R[ ( (pK)pJ) +KxA{ 1] J-.3++\W( ;::)]
A CONVERT TO CHARACTER MATRIX. R-< • .1-• ,c• •••••• ,<2=0Nc •pc• >1 •,pc• >, ··~ve4• )[ l+A[ 2 l ]pR]
( 22] A COMPUTE AND ADD Y AXIS LABELS. ( 23] K-( { pK), 1) pK-A[ 10]+( (A{ 2]-YT I c.pYT HA[ 2 ]-1) x-/ A[ 11 10
] [24] K[ (YT/c.pYThY; J-O [ 25] R-(YT~A[ 7l•K) ,R {26] A COMPUTE AND ADD X AXIS LABELS. {27] J-((pJ),l)pJ-A[8]+({A[l]-XT/t.pXTH·A(1]-1)x-/A{ 9 8] (28] J((~XT/c.pXT)c.X;]-0 (29] J-Uc- (1 lpR) r (pJ)-+/A\1 1=J) tJ-,A[ 3 6 ]lteJ (30] R-(((1fpR),K)fR),{1]({(-A(5]).,-K)pKf 1 )' [XT+l]),[l]J
v
Group: REPORTGRP
Syn1:ax: R-a 6CPLT w
Argumen1:s: a and w as described above.
Result: Plot in character n1a1:rix £orm.
Commen1:s: Aux.illary :function to COSTPLOT.
[ 1]
[2] [3]
{4] (5] (6] {7]
[8] (9] [10]
( 11]
92 Appendi.x A
v R-ARSCL w;QIO;A;L;D;M1;u2;1;v A DEVELOP A READABLE SCALE FROM A LOW/HIGH RANGE (W[1 2
] ) ' A AND REQUESTED GRID INTERVAL(S) (21W). (pW)~3
A ALGORITB.M 463 (SCALE2) 1 COMMUNICATIONS OF THE .4£!!
' A VOLUME 16, NUMBER 10 0.10-1 L-(-A<l)+(xL)xLJL-lOCA-(-/W[ 2 1 ])~2iW I+-V(t.3].t.+/(<\(~(3,p,A)pA-J-10*L)S.l)xI-{cp3,p 1 A)p(V- 1 2 5 10 20 H.t.3] D-V[.l, [ le5]l+I]x10*L1( t.5]L I+-<\({2lW),[1.5]2JW)~(M2+-fW[2]+D)-Ml-lW(1]*D
R-R-( Ml xD)-(D-+/ IxD) xl ( ( 21W)-(M2-+/lxJt2 )-(Ml-+/IxMt)) -f-2 R-(RlW[1]),{1.5]W[2]fR+Dx2!W v
Group: REPOR'l'GRP
Syntax: R-ARSCL w
Arguments: w as described above.
Resu1t: Sca1e and grld intervai.
Comments: Auxi1l.ary J:unctio.n 1:0 COSTPLOT.
APPENDIX B
Struc~ura1 and Cross Reference Data
1.'or -the
ProJect Management Game
93
oACTUALDA YCOST oADDACT oADDRES oAN.D J ovs oBARCHART I oTIMESTAMP oCHANGEACT oCHANGERES oCONSTRAIN I oUN.lQUE oCOSTPLOT I I
oTIMESTAMP ot,.CPLT
I O/lRSCL oCOSTRPT I I I
ODO oECONINDEX oTIMESTAMP
oCPMRPT I I J t I
oDO oEARLYSTART oLATEF IN.ISR oTIMESTAMP oWD.2D
oCRASH oDAYCOST oDELACT oDELRES oFREE oGD j oDM oGET J oNEXTEVENT oHIST oJD I oDM oLEVEL J oEARLYSTART o.L.ISTACT J oTIMESTAMP oLISTR.ESREQ I oTIMESTAMP oLISTRES J oTIMESTAMP oNORMALIZE
94 Appendix B
Topographic Structure
Functions in the :firs1: co.lumn are invoked from the keyboard onJ.y. The -functions ca.1.1ed 1'rom another .function are 1isted ai:ter 1-t• and o1:fse-t one .levei to the right.
oPAGE oPLAY J oDELAY I I oNEXTEVENT f oDESTROY J I oNEXTEVENT I ODO J oECONINDEX I oEXEVENT I oFREERES I I I
oGENERATE I oCREATE I oDURFUNCT ION
I oGETRES J J oNEXTEVENT I oHOLDACT I J oNEXTEVENT I oPDBEG.lN I I oNEXTEVENT I oPDEND I I I t J I I I I
oPRODINDEX I oDO I oWD2D oSATURDAY I oEXEVENT I oNEXTEVENT oSUNDAY ) oEXEVENT I oNEXTEVENT
oPRINT oRESREQ oRESUTIL oSCHEDULE J oWD I J onw oSTART I oDW I oEXEVENT
95
f oGENERATE (ALREADY DETAILED) I 0 HHT IALIZE I oNETRENUM oSTATUS I oACTIVE I ODO J oT IMESTAMP oSTOP oUNTILENDACT
Appendix B
96 Appendix B
Cross Jl!e1erence Tab.le - page l o-r 6
T-Label FlAAAAABCCCCCCCCDDDDDDDDDBBBFFGGGGBBIJLLl..LLNNNPPPPPPRRSSSSSSTUuntWA6 L-LocaJ. ufCCDDNAHHOOOPRRABBBBMOCJWACXRRDBBBIONDAEIIIBEOADDLRRBBAC!TTUINNSDDCR G-G1obal n I TTDDDRAANSSJIABYLLLS I R ROBBB .NTTSLI rvsssrrRGBBAIOSSTBAAONMlT 2 PS s-G and L clIUARICNNSTTRSACAARTf F LNVBB BR rnr BBTTrRTMBBNYNDRUUBRTPDBQI D LC B-T and L ~IVACEIHGGTPRPHTOCYBRf U YIBR RB Al FLARRBBAIGD TIBTRDTU ASUL TL •-C and T tlBLTSIABBRLPT EST sot N SNNB AS CA .l CBBNVLII NQlDUIS YTBB I
of D IRARAOT r YI c rors r TL N TSSUB.lfN D LALi AIN I nl A ITCBIT I I TAB B l I R JINZ I B YBI MID I sl y I TSNJ I I l RX I z s B TEI x I P)A I
I c I J I I 0 Tf I B H a I I I tc I I 0 I J I I N I I I I I I I Ir I I s I I I I I I I I I I I I I
Naaes I r I I I I I I I I I I I I I +-+-+-+--• -·---·- • +---+---• . -·- • •+--
ACTIVE I I I I I I I J I I I JG I I G ACTN I G IGG I G le I I I I GG G I I GCG I I G ACTUALDAYCOSTI I I I I I I I I I I I I I • ADDA CT I I I I I I I I I I I I I I • ADDR..BS -·--··+---+---• ·----•----+----•----+----+- ·----· --· -+-• AND I I I a I I I I I I I I I • ARG I I LI L LI ILLL ILL L I I I I I I L ASFT I LI I I I I I I I I I I I L ASST I I LI J I I I I I I I I I I L A +-£--L-+---• -· • --+--L-+--+---+---L+ L--+-L;--LLL BARCRART I I I I I I I I I I I I I I • B I L I I I I I I I I I I I L I L CA I I LI I I I I l I I I I I I L CHANGBACr I I I I I I I I I I I I I I o CBANGBRBS----+----+----+--- • •· • -·- • +---+---+---·. -•-+-• CKS.lZB I I I I I I I r I I • I I I I r CONSrRAIN I I I I J J I I I I I I I I • cosrPLOT I I I I I I I I I I I I I I 0
COSTRPr I I I I I I I I I I I I I I • CPJIRPT -· I +-• I +---·---· +---+--+ -... -·-----· .. -+-• CP I I I I I I I J I L LI I I I L CRASH I I I I I I I I I I I I 1· I • CR BATE I I I I I I G I I I I I I I G c I IL LI L I I LI I I L ' L I ' I I I L DAYCOSr ·- • +-• ..----+----•----+-- +--+--+--+---•. --+-• DBLACT I I I I I I I I I I I I • DELAY I I I I I I I I G I I I I G .DBLRBS I I I I I I I I I I I I • DESTROY I ' I I I I I I G I I ' I G DJI -- -·-· --· -· . •• +---G+---+0---+----+--+- --+--+---+-G
97 AppeadJ.x B
Cross Re~erence Tabie - page 2 o1 6
T-La.bel F)AAAAABCCCCCCCCDDDDDDDDDBBBFFGGGGHHIJLLLLLNNNPPPPPPRRSSSSSSrUUV11'1tA6 L-Local u I CCDDNAHROOOPRRABBBE•OVWACXRRDBBB IONDABI.lIBBOADDLRRBBACrrruINNSDDCR G-Gl.oba.l. nlTTDDDRAANSS~YLLLSI R ROBEE NTTSLI TVSSST%RGBBAIOSSTHAAON•.Ir 2 PS s-G and L clIUARICNNSTTRSACAARTI F LNVBB BR TDT EBTTTRTllBBNYNDRUUBRrPDEQI D £C B-T and L tfVACBIBGGTPRPHTOCYERI U YIBR RE Al FLARRBBAfGD T.lBTRDTU ASUL TL x-G and T llELTSIAEERLPT EST SOI N SNNB AS CA I CEBNVLII NQIDUf S YTBB I
ol D IRARAOT r Yf c rnrs T TL N TSSUE.ljN D LALi Alli I nl A f rcBIT I I TAB B I I R llNZ I B YBI •lo I •I y I TSNI I I I RX I z s B TEI x I PIA I
I c I I I I o rl I BB Q I I I le I I 0 I I I I N I I I I I I I Ir I I s I I I I I I I ' I I I I I
Na•es I r I I I I I I I I I I I I I --·- +---+-+ +-•----·-- • +---+----+---+----+---+--DO I IGG I I I I I I G G IG I I G DSBT I LI I I I i I I I I I I L DVRFUNCTION I I I I c I I I I I • I G DJ!f I I J I I I I I I G I GI G D --+-+ -· -+- +L-1 ·- ·+----•----+----• -+--L+--L-+LL BARLYSTART I I I G I I I I I I I I I I I G ECONINDBX I J lc I I I I I I I G I I I I G EFT I I J G I I I I I I I I I I I G END I I rl I I I I I r I r I I I I I r BRR --+- -+-rr-+-r-+r-r-+ ·•- +-----t---rrr--rr---r+---r+-r--+ -+-r ESF I I I c I I I I I I I I I I I G EST I I GI G I I I I I I I I I I I G BS I I cl c; LI I I I I I I I I I I s EXEVENT I I I I I I I I I I G I G G G I I G EXT • --· I +-+--•--· ··+- + - +--T-t • -·----· +-7 E I I I I I LI I I L I I I I I I L FA I I LJ I I I I I I I I I I I L PREBRES I I I I I I I I I I G I I I I G FREE I I I I I I J I • I I I I I • GD -+--+--+-• -· • -+--+--+---•----+---+ -+-+-• GENERATE I I I I I I I I G I G I I G GBTRBS I I I I ' I I I G I I I I G GET I I I I I I I I I I I I • cor I I I I I r I I I I I I I r HEAD -+--+----+-L~t +- +---+--+--+---+---•- ·+--•- +-L HIST I I I I I I I I I I I I I • HOLDACT I I I I I I I I I G I I I I G INITIALIZE I I I I I l I I I I G I I G I I I LI I LI I I I I L IL I I ILL JD- -· I • - ' +-• . ---· --+---• --· ·-- • .. +-•
T-Label L-LocaJ. G-Globa.l S-G and L B-T and L x-G and T
Names
98 .Appendix B
Cross Reference Table - page 3 o:f 6
FIAAA.AABCCCCCCCC'fJDDDDDDDDEEEFFGGGGHRIJLLLLLNNNPPPPPPRRSSSSSSTUUVJnlAA u lcCDDNARHOOOPRRAEEEEMOUWACXR.RDBEE IONDAE.I I IBEOADDLRREEAC'l'TTUINNSDDCR nf TTDDDRAANSSll.A.EYLLLSI R ROEEE NTTSLI TVSSSTXR.GBEA.IOSSTHAAONllIT 2 PS c I IUAR ICNNSJ'TRSACAART I F LNVEE E.R TDT EETTTRTMEENYNDRVUERTPDEQI D LC t J VA.CE 1 HGGTPRPR.TOCYBR I U YlER RE AI FLARREEA. f GD r IETB.DTU ASUL TL llELTSiAEERLPT EST sot N SNNE AS CA I CEENVLJl NQIDUIS YTEE f ol 0 IRARAOT T YI C TDTS T Tl# N TSSUBIIN D LALi AIN I n J A I TCE IT I I T AE E I I R .llNZ I E YE I JI ID I s I y I TSN I I I 1 RX I z s E TE I x I p I A I
I c I I l I o rl I E H a I I I le I J o 1 I I I N I I J t I I I Ir I Is I I I I I I I I I I I I I IT I I I I J I I I I I I f I
----~---+--+ +--+---+---.--+---+-+---+----+---+---+---+--J K LATEFINISll
I .L I LL LL L I L I L LL I L .L I L I LLL I L L LL L I L L I L I LL L I LI L ' L I LL I I I L .L LL L I L L I J JG I I I I I J I I I I le
LEVEL I I I J I I I t I j l I I I 0
LFT---- -+--+--+-G--+--+---+----+---t---+---+---.. --+---+-+-G LF L.lSTACT LISTRESREQ LISTRES
I I Jc I I I I I I I I I I le I I I i I t l I I I t I l lo I I I 1 I I I I J I t I I 1° I I I I I I t I J I I I I 1°
LN-------+-LL+-Ll.-+---+-L-L+--+----+-L-+--+--L-+---+--+--+-+-L LP I TT I TT I I I r I I I rr I r I I T r I I I r LSF I I I G I I I I I I I I I I I G LST I I I G I I I I I I I I I I I G I.II I I I I I I I I L I I I I I I L L --+-LL.-LL-+ -+- · +- +-· -1 - · -+---+---+----+L-+--+---+t.L Mt I I I J I I I I l I I I I I LL M2 f I I I I I I I I I I I I I LL M NAME
I l I I t I LI I I l LI I I I L I I I I J I J I I I I L I IL
NETRENUM---+--+---+--a t- +----+---+----+----+---+---G---+-+-G NET I GG jGG GjGGG GG I G G) G GG GI GGGG G GIGGG GGGG GGGG I I G NE.KTEVENT I I I I G G J I I GG GI J JG I G I G I I G NORMALIZE I I I I I I I I I I I I I I • NR j I LI I I I t I I I 1 I I I L .N- • +-LL+LLLL+LLLLLL-L-+-L-L+---LL---+-L-LLL--L+--L-+LL.L-+-LLL-+L--L+-L OK I I I I I I I r I I J I rr I I r p AGE I I I ' I I t I j • I t I I 0 PC I J I I I I I I I I J 1 L I • L PDBEGIN I I I I I I I I j t G I I I I G PDENV--·-- -+----+----+--- -•~-+----+----+----+---· -+----+--G-+----+----+----+-G
T-Label L-Local G-Global S-G a.nd L B-T and l. ><-G and T
Names
99 Appendix B
Cross JZe:fe.rence Tab1e - page 4 of. 6
FIAAAAABCCCCCCCCDDDDDDDDDEEEFFGGGGHHIJLLLLLNNNPPPPPPRRSSSSSSTUUVWJfAA ufCCDDNAHHOOOPRRAEEEEJIOUft'ACXRRDEEE.IONDAEl IIEEOADDLRREEACTTTUlNNSDDCR nlTTDDDRAANSSJIAEYLLLSI R ROEEE NTTSLI TVSSSTXRGBEAIOSSTHAAONMIT 2 PS ciIUAR1CNNSTTRSACAARTI F LNVEE ER TDT EETTTRTli.EENYNDRUUERTPDEQ,l D £C tlVACEIHGGTPRPHTOCYERJ U YIER RE AI FLARREEAfGD TIETRD.TU ASUL TL .ilELTSJAEERLPT EST sol N SNNE AS CA .1 CEENYLII NQinufs YTEE I ol D jRARAOT T YI C TDTS T TL N TSSUEIIN D LALi AfN I n I A I TCE IT I i r .AB E I I R MNZ I B YE I 11 ID I sl Y I TSNI I I I RX I Z S E TEI X I PIA I
I c I I I I o Tl I E H Q I t I Jc I I 0 I I ' I N I I l J I I I IT I ts I I I I I J I I I I I I I Ir I J I I I I J I I I I t I +~~+-~+~+-~-· -+----• --+-~-+----+--~+----+----+~-+--
p EN I I I I I I I I I J L I I I I L PER.IODEND I I I I I I I I I I GT I I I I 0 PERIOD ! I I I I I I I I f L G l I I s PLAY I 1 I I I I J 1 1 I J I I t 0
PRLNT +- + -+--+--+--+--+---+---+--+---+--+-+--+-o PR.ODlNDEX I I I j I I I I I I G I I t ' G p s I I I I J j G I I I I GGL G I I I s p I t LL l I J I I I I I I I I L RESN I GG I GG I I G I I I l G GG I I GG t I J G RESREQ-~---+----+----+----+-~+~+----t- --+----+----+----+-~+~-•----+-•
RESUT.l.L I I I I I I I I I I I I I I 0
RES I GI GGIG G G I I I I GGGG I I GG G G I I G RLSLP I I I I I I I I T I I I I I I T R I L LL LLLLL LL L )LL LL L jL LI L LLLL LjLL.L L LLfLLLLfLLL LLL SATURDAY--+-+--+-• +---+----+---- t -+---+--G-+---+---+-+-G SAT I I I I I I I I I T I L L I I B SCALE I j J I t I I I I I I I L L SCBEDULE I I I I I I I I j J J I I • s DATE I I I I I I t I I J L I I L SET +-•· +---1 · --+-f---T-+--+---+----+---•- +---• ---+-T SKPl l I T I l I • I 1 I I I I I T SKP2 l I T I I I J I I J I I I I T SKP I t I I I I I I IT J ' I I I T SL I I I I J I J I L J I I I J I L ST ART---+--+---+--. - +---+----+----+----+---+---+-+---I - - +-• ST ATVS I I t I I t I J I I I I I 0
ST'BP l I I TI I J I I I 1 I I I I T STEP2 I I r I I I I I l I I I I I r STEP3 I J r J t I I I I I I I I I r STEP4 -+--+-T+---+---+---+---t · · --+----+----+----+---+----+--+-T
100 Append.Ix B
Cross Re1erence Tahl.e - page 5 o1 6
r-Label. FJAAAAABCCCCCCCCDDDDDDDDDEEEFFGCGGHH.l..IL£LLl.NNNPPPPPPRB.SSSSSSTUUV11114A £-Loca.l ulCCDDNAHHOOOPRRAEEBEJIOVltACXRRDEEElONDAEilIBEOADDLRREEACTTTUINNSDDCR G-Global nlTTDDDRAANSSJIAEYLLLSJ R ROBEE NTTSLI TVSSSTXRGBBAIOSSTHAAONJIIT 2 PS s-G and £ clIUARICNNSTTRSACAARTI F £NVBB E.R TDT EETTTRTJIEBNYNDRUUBRTPDEQ.l D £C B-T and L tf VACEIHGGTPRPHTOCYBRI U Y.IBR RE Al FLARRBEA I GD T IETRDTU ASUL TL •-G and T lf ELTSIABERLPT EST sol N SNNB AS CA l CEBNVLf .l NQIDUIS YTBB I
ol D IRARAOT T YI C TDTS r TL N TSSUEIJN D LALi AIN I nl A f rcEIT I I TAB B .I I R JINZ I E YBI lflD I sj y I TSNj I I .I RX I z s B TBI x I PIA I
I c I I I I 0 Tl I B H Q I I I le I I 0 I I I I N t I I I I I I IT I I s I I I J I I I I I I I I I
Names I T I I I I J I I I I I I I I -· -+-• - •-+-+-•- I +----· ·--- +---• ---+--STEPS I I r& I I I I I I I I I I I r STBP6 I I Tf I I I I I I I I I I I r STBP7 I I rJ I I I I I I I I I I I r STOP I t I I I I I I I I T I I I I r ST- - • +- • ·- ·--- £-• +---+G-T-+--1 --· . ... -...-. SUNDAY I I I I I I I I I G I I I I G SUN I I I I I I I I I r I L L I I B SV I I LI I J I I I I I I I I L s I I L L I I I I I I I I J I L TERll +--+--- ·- ·- + +---•- +---•- -+--T-t- . ·+----• --+-r TF I IG ct G I I I I I I I I I I I G T.lllESTAJIP I le GGG I I I I I GGG I I f G I I G r I I £1 I I I I I I I I I I I L UNIQUE I I G) I I I I I I a I I I I G UNTILBNDACT--+-•-·--+-----+----1- +---+--+-· +---+---+--• -· -+-• vs I G I I ' I I I I I I I I G v I I I I I I I I I IL I I ILL WAIT I I I I I I I r I I I I I I r 1'D2D I I I G I I I I I I G I I I G JfD -·-· + +-• -· - --+----+----+--- ... -+-G• +--L-+-S ,, I IL L I IL LI I I LL I L I I £1 I £LL xr I I I I I I I I l I I I I LL x I L 1£ LLLL LL L 1£ LI I £ I LLL£LL I I LI £1 £LL YT I I I I I I I I I I I • I ££ y. -·--·- £ +£~+---£+--L-•-· -L---+---t- t -+-L-L-£ z I IL IL I I I I I I I IL t I I £ A I I I I I I I LI I I I L I I £1 L c I G I IG I G I G GG G GG I G IGGG G G GG G I I G ll. I I j I I IG I G I G I GG I I I I G E.- -·----· •• --+--+- +-GG-+GG--9----+C---+GG--t· -+-G
T-Label L-Local G-G.lobal S-G and L B-T a..nd L x-G and T
Names
101 Appendix B
Cross Reference Tab.le - page 6 o.f. 6
FjAAAAABCCCCCCCCDDDDDDDDDEEEFFGGGGHHIJLLLLLNNNPPPPPPRRSSSSSSTUUVWJllAA uJCCDDNAHHOOOPRRAEEEBMOUWACXRRDEEEIONDABlllBEOADDLRREEACTTTUINNSDDCR nlTTDDllRAANSSNAEYLLLSI R ROEEB NTTSLI TVSSSTXRCBEAIOSSTBAAONMIT 2 PS cfIUARJCNNSTTRSACAARTf F LNVEE ER TDT EETTTRTMEENYNDRUUERTPDEQI D LC ~)VACEjHGGTPRPRTOCYERI U YIER RE Al FLARREEAfGD TIBTRDTU ASUL TL 1 I EL.rs JAEERLPT EST sol N SNNE AS CA I CEBNVLI 1 NQinuts YTBE I of D IRARAOT T YI C TDTS T TL N TSSUEIIN D LALi AfN I ni A JTCEIT I I TAB E l I R MNZI E YEI MID I sl Y I TSNI J I I RX I Z S E TEI X I PfA I
I c I I I I o rl I E H o I I I le I I o I I I I N I I I I I I i Ir I Is I J I J I I I l J I I I I Ir J I I I I I I I I l I I I --------+--•. ·+--+--+--+---·· ---+---+----+---+---+---•-+--
.! J I G I I G I GG G I G G G c I I G Jl I I I I I J G I G I I G R IL t L L I LI L IL I I L I .L LI L L JG I GI G GI J GG IGG GG G IGGG G G IG G I I G W--------+---.f---+--+---•--L-+---L+--L-+L--+--+-+-L-+-L-L+-L AALP ' I I I J I I I I I G I I I I G ACP.r.r I I G I I I I I I f I I I I c AP l I t I I I I I I I I G I G I t G APN I t GG 1 I I I I J t G t GG • I G ARSCL +--+-G·---+-+---+---+----•- -+---+---+----+-+-•-G AR I • I I I I t I L I I I I I t L ASCH I I J t I I I G I I I I GG I I G ASD I I f GG i I I I I I I G G GGG I G ' G AWD I 1 J G I GI I Gf G J I I G I G I G OCR- --+---+--+--• -- ·---+---+----+---+---+----+---G----+-+-G OCT I I I I I I I I I G I I G [JFX 1 J I I I I t I I J I G G 010 I LGGGL LLLL L I LI I L I LLLLL Li L GL LL LI G LLS OLc I I I I I I I I I I G I J I I c []NC-----+--• +-+---+---+----+--+----+G---+----+---+--+--G-G ONL I GG I GG J I t I I I I I I I I I G []RL I I I I I J I I l I I G I l G osvo I I I I • I j I I G GI I I I G OTS I j I j I I I I I I ' I GI I G -------+---+--+-+--+--+---+--+---+---+----+--+--+.--+--
APPENDIX C
Ins1:ructi.ons
1or "the
Pro,jec1: Management Game
102
103 .Appendix C
GAME MANAGER INSTRUCT:IONS
The game manager ls responsible .:fo.r crea'ting -the three
envlronmen1:al :functio.ns, DURFUNCTION, ECONINDEX, and
PROD INDEX. These :funct.io.ns shou1d be added to a copy of' the
master wol"kspace, which shou1d then be renamed to .Corm t-he
game workspace t-o be used by a. speci:fic group o:f p.layers.
The syntax of these :functions require that each return a.
resu1t when ca11ed. ECONINDEX and PRODINDEX are both
ni1ad1c, DURFUNCTION ls monadic, its right argument ls a
vector o:f activity numbe,rs :for which simul.at:lon durations
are required. The resu.lt o:f ECONINDEX is a scalar val.ue 'to
be used as a cost mu.ltip.ller :for material costs. The resu.lt
o:f PRODINDEX .is a scal.a.r val.ue to be used as a dul"a'tion
divider C-the h.lgber i:be productivity index the shor-ter the
resulting actua1 dura-tlon). The resul1: o:f DURPUNCTION is a
vector 0:£ actl vi i:y durai:lon t.imes to be used by the
simu:lation mode.l.
Nil.potent resul. ts :for these :func-t lo ns wou.ld be 1 :for
the index :functions and 1:he expected duration {NE7'(3;]) :i'or
the duration :function.
104 Appendix C
PLAYER INSYRUCTIONS
Con"ten"ts
ENTERING THE DAT A BAS.E Resource In:forma1:io.n • • • • • • • • • .. • • • • • Ac1:i vi 1: y In:forma"tion • • • • • • • • • • • • • • • Resource Requiremen"ts. • • • • • • • • • • • • • • Se1:ting 1:he Ac1:lvi1:y S"tatus. • • • • • • • • • • • Lls1:1ng the Project Data Base. • • • • • • • • • •
PLAYING THE GAM.E Initializing • •• Playing. • • • • •
. ·• .. • • • • • • • • . . .. . • • • • • • • • • • • • • • • • •
REPORTS Status and Cos"t Repor1:s. CPM Analysis and Repor-t. Cos1: vs Time Plots • ••
• • • • • •
• • ·• • • •
Ba·rcharts. • • • • • • • • • • • Resource Util.iza'tion Histograms. Printing Reports • • • • • • • •
RESOURCE SCH.EDUL ING Leveled Schedules. • • • • • • • Constrained Schedules. • • • • • Assigning Schedul.es to the Game.
DATE CONVERSIONS
• • • • . ·• • • • • • •
• • • • • •
Date Func1:ions • • • • • • • • • • • O:t::fset Fune tions • • • • • • • • • •
·• ·• • • • • • • • • • • • • • • • • • • • • • • • • • • • • . ·• .. • • • • • • • •
• • • • • • • • • . . ·• . • • • • • • • •
. . . . . - . •••••••
105 106 107 108 109
110 111
112 113 114 116 117 118
119 119 120
121 121
105 Appendix C
ENTERING THE DATA BASE
Resource In:formation
The game al1ows the pl.ayer to establ.ish a set o.:f
resources which are used hy the ac-ti.v.i ties in the project
network. The in:formation required :for -the resources is a
name, a maximum avail.ab.le amount, and a hourly cost per unit
o:f resource. The :function ADDRES is used to enter -th.is
in:formation into the project data base. When this :function
is .invoked it w.i1.l pr.ln"t the number o:f -the next resource to
be added, it then requires the resource in.:formation to be
entered in the :£ollowlng :form: 1) 1:he resou.rce naae
enc.losed in singJ.e quote marks, 2) the maximum 1lmit 3) the
cos-t per hour. ADDRES viJ .. l continue to prompt the pl.ayer
each time a line ls entered, the :func-tion .is exited by
en~ering a blank .line. As an exampl.e, suppose there are two
resources in a game, men and machines, with a maximum .llmi1:
o:t' 10 and 4, and an hour.ly cos-t o:r $8.50 and $20.00
respectively. The pl.ayer wou.lci enter 1:his as:
ADDRES 1 'MEN' 10 8.5 2 1 MACHlNES 1 4 20 3
Changes can be mde to this data with the :function
CHANGERES. This :fl..lnction is monadic, the right argument ls
106 Appendix C
a vector o:f resource numbers •hicb are to be changed. The
:functi.on prompts with "these resource numbers and the co.l"rect
da-ta is ente·red in the same :format as ADDRES requires. For
examp1e to change the name o:f resource 2 1~om MACHINE to
MACH the piayer wou1d enter:
CHANGERES 2 2 'MACB 1 4 20
Deleting resources is do.ne usi.ng the £unct.ion DELRES.
This ::function is monadic, the right argument ls a vec"tor o.:f
-the numbers of. the resources which are to be de1eted. This
.:funct.lon can change 'the nu111hering o:f other resources.
Activity In:formation
NOTE: The :function ADDRES must be invoked (even i:f there are
no resources), and all resources entered, be:fore
.ADDACT .is used.
Each game must have a proJect in •ac"tivlty on arrow"
:form i:o enter into the project data base using the 1uactlon
ADDACT. When this .i:unct.ion is .invoked it will p.rln"t out the
number o:f the next activ.lty to be en·tered. The pl.aye.I" -then
enters the ac"tivlty in:formation in "the 1o11ow.in.g .£orm: 1)
"the aci:lvi1:y name enclosed in single quote marks• 2) star't
node, 3) end .node, 4) expected dura"tlon, 5) material. costs
(optional - de£ault=O), 6) weather sensitl.vity, l=yes/O=no
107 Appendix C
(optiona.l - de1au.l1:=1). A blank l.ine exits tbe .function.
An example o~ how the data £or a 1ive activity network,
shown be.low,
Name
--->10---- Ac-tlvlty A A I . E \ Ac1:lvlty B .
I . v Ac1:iv.lty C . 5 D: 20 Dummy ( D)
\ . A Activity D . B \ v c I
--->15----
wouJ.d be entered, .ls as :foJ.l.ows:
ADDA CT 1 'ACTIVITY A' 5 10 16 650 2 'ACTIVITY B1 5 15 19 1000 3 'ACTIVITY C 1 15 20 9 700 0 4 'DUMMY (D) 1 10 15 0 5 'ACTIVITY E' 10 20 13 6
Exp Dur Ma"teria.l ws
16 650 1 19 1000 1
9 700 0 0
13 0 1
Changes and de.let.ions to the ac1:ivi-ty data are made
using two :functions, CHANGEACT and DELACT. They work in a
simil.ar manner 1:0 the :functions CHANGERES and DELRES
described in the previous section.
Resource Requirements
The required resource amounts ~or ea.ch ac-tivity are
entered with "tbe :function RESREQ. A.fter the .function is
invoked t"he keyboard is ready to accept input. The pl.ayer
shou.ld type the actlvi1:y number :first, .followed by as many
pa.lrs 0£ .resource names a.no amoun1:s used by that activity as
are necessary. The player can en-ter as many o:f these lines
108 Append.ix C
as needed, a b1ank line wi11 exit the 1unction. Continuing
the e:xampJ.e, I::f Activity A needs no resources, B needs .3 men
and 1 mach, C needs 2 mach, and E needs 2 men and 2 mach;
tbls cou1d be entered as:
.RESREQ 2 MEN 3 2 MACH 1 3 MACH 2 5 MEN 2 MACH 2
Changes are made simpJ.y by reinvoking the 1unction and
entering the correct val.ues in the same manner as above.
Setting the Actvity Status
There a.re three possih.1e set-tings :for the ac'tlvity
status; normal(!), crash(2), or stop(O). Normal. status
indicates the the activity w.111 be worked :five days a week
:for 8 hours a da.y. Crash status ind.icates that the act.ivity
wil1 be worked seven days a week :for 12 hours a day. Labor
cha.rges are doubled :for work do.ne Monday through Friday and
trip1ed £or work done on Saturday or Sunday, compared to the
cost o:f a norma.l day's work. Stop status i.nd.lcates that the
ac1:1vi1:y wil.l not be worked. This status va.lue aay be
changed at any ti111e during the game :for an activity using
the three :functions• CRASH, STOP, and NORMALIZE. Each o:f
these :functions is monadic and accep"ts a vector right
argument o:f the activity numbers which are to have the.ir
status se't. NORMALIZE has the added 1eature 1:hat l:f the
10S Appendix C
righ1: a·rgumen"t is a null. vector -then a.ll activ.itJ.es wi1.l be
se1: to norma.l s1:atus.
Listing -the Pro.iec-t ~ ~
List-ing 1:he 1n:forma ti on in -the proJec-t da:ta base is
done by using -the three report 1unc"tlons, LIST.RES, .LISTACT,
and LI STRESREQ. Each o:f these -t:unctlons is mooadlc
accepting a vec1:or o.:f resource or ac1:ivl ty numbers as
appropiate, and producing a -tab.le of resource, ac1:ivJ.ty, or
resource requirement ln:formation :for -those numbers. 1-.f the
righ"t argumen1: is a .nu.l.l. vecto.r, ( 11 o.r ~o in APL t then al.1
resources or activities will. be inc.luded. A -time stamp ls
included in al1 o:f these repor-ts. An example o1 listing the
resource requiremen"ts :£or activities 2 and 5 :from the
proceeding example would be:
LISTRESREQ 2 5 15:29 8/17/78
M M E A M C
H -----------2 ACTIVITY B 5 ACT.IV ITY E
3 1 2 2
110 Appendix C
PLAYING THE GAME
In.ltlal.izlng ~ ~
P-rlor to -the beginning o:L pl.ay on 1:be projec"t the game
must be lnl1:1a1ized by use 0£ the 1unction START. This
:function ls dyadic, the 1e:f·t: argumen-t ls a character vec1:or
containing the name of 1:he proJect and ·the right argument is
the project start date in the Julian form o:f a two element
numeric vec1:or o:f 1:he year and day o:f 1:he year. To
lnitia1lze 1:he pro.jec"t 1:.bat was en1:ered as e.xamp.les in the
previous section, using the name 'Examp1e P.roJect• and
star-ting on 78 205 (July 24, 1978) • the pl.ayer en-ters:
'EXAMPLE PROJECT' START 78 205 NETWORK HAS BEEN RENUMBERED
A warning message is .issued by START to indicate 1:ha1: the
.node numbe.rs or activl"ty numbers have been changed during
1:he initialization process. The "£unction LISTACT is used 1:0
show the new numbering 0£ the ne~work.
LIS7'ACT 11
15:58 8/17/78 NODE DURATION STAT ws COST s E EST ACT MATERIAL LABOR - -- -
1 ACTIVITY A 1 2 16 1 1 650 0 2 ACTIVITY B 1 3 19 1 1 1000 6916 3 DUMMY (D) 2 3 0 1 1 0 0 4 ACTIVITY E 2 4 13 1 1 0 5928 5 ACTIVITY C 3 4 9 1 0 700 2880 -----------
111 Appendix C
PJ.a:ying
The game is p1ayed by simulating work on the projec"t
1or a period o~ time. The 1unc1:ion which per:forms this
simul.ation is PLAY. As the right argument to this :function
the pl.ayer should speci:fy the number o:f days to be slmul.ated
on the proJeci:. An a..l terna;t ive to specLfylng the period
length as a number o:f days ls p.rovlded wl th the 1'.unction
UNTILENDACT. This :function a.llows the period J.ength to be
based on 'the compl.etlon 0:£ a specl:fied ac1:lvlty (by number)
which appea.rs as .its right argumen-t. PLAY norma.11.y returns
a message noting the date o:f tbe period end or end o:f 'the
project. The exampl.e ·projec1: p.layed :fo.r a length o:f 30 days
or "the end o:f ac ti vi ty 3., which ever occurs :fl.rat., is sho•n
beJ.ow:
PLAY 30., UNT ILENDACT .3 PERIOD END: 78 229
The ::function PLAY may be reln'Yo.ked as many times as
necessary -to comp.lete 1:he .ProJec1:.
112 Appendix C
REPORTS
Status and Cost Reports
To aid the p1ayer ln keeping tract o:f the state 0£ his
project between pl.ay perJ.ods, several. report :functions have
been included in 'the game workspace. Three repo.rt J'.unct.ions
£0.r hand1.ing .listing o:f the project data base, LISTRES,
LISTACT, and LISTRESREQ were examined in the :firsts section.
Two more report :functions, STATUS and COSTRPT, produce
reports directly re.lated to the current state o:f'. the
simu1a'tlon model.. STATUS is a monadic :function. The right
argument is a vector o:f activity number which are to be
included in the report. (A nu11 vector inc1udes a11
ac-tivities in "the report.) The output report is a tab.le 0£
int:orma.tlon re.lated to -the current sta1:e o:f the act.ivlties.
The s"ta1:us report :for 't.he curren't s'ta te o:f 1:he example
prob.lem i.s!
STATUS AA.LP EXAMPLE PROJECT SIMULATION CLOCK!78 229 20:06 8/17/78 ACTIVITY ACTIVITY PCNT NAME START FINISH COST CPLT STAT ---
1 ACTIVITY A 78-205 78-229 676 100 1 2 ACTIVITY B 78-205 ••• 7759 86 1 3 DUMMY ( D} 78-229 78-229 0 100 1 4 ACTIVITY E 78-229 ••• 14 0 1 ------------- ---
The varlab1e AALP appearing as 1:he rigb1: argument of
113 Appendix C
STATUS is a game variab1e. Its va1ue ls set by the :function
Pl.AY to be a vec-t:or o:f 1:he ac"t.ivi ty numbers which were
active in the 1ast p•ay period.
Another report :function which presents in£ormation on
the curren"t sta"te o:f the model 1.s COSTRPT. COSTRPT is a
niladic !'unction. The report returned by this :function is a
cost summary, at the project leve1, 0£ costs to date and
expected completion costs. The COSTRPT for the example
project at its current stage ls!
COSTRPT 20:06 8/17/78
LABOR MATERIALS
TOTAL
ORIG.INAL ES.T.IMATE
EXAMPLE .PROJECT COST TO DATE
( 78 229)
6733 1716
8449
PROJECTED TO FINISH
8991 728
9719 ~~~~~~~~~~·~~-~~
CPM Analysis Alli! Report
COMBINED
15724 2444
18168 a--- ---18074
The game provides a Cr.iti.cal Pa1:h Me"thod (CPM) anal.ysi.s
and report capablll-ty combined in one function, CPMRPT. The
:function ls monadic. The right argument .is a vector o1
nunbers of' ac-ti vi ties to be inc1uded in -the report, a11
activities are inc1uded i~ it is nu11. A11. 0£ the dates
appearing in 'the report a:re cal.endar dates in Julian :form.
The CPM report :fo.r the exampl.e wou.ld be:
CPMRPT I I
18: 37 8/ 18/78
114
c p
ACTIVITY DUR EARLY S E START F.TNISH
1 ACTIVITY A 1 2 18 78-205 2 ACTIVITY B l 3 19 78-205 78-230 3 DUUMY ( D) 2 3 0 78-229 4*ACTIVITY E 2 4 13 78-229 78-248 5 ACT.IVTTY C 3 4 9 78-230 78-243
Appendix C
LATE START FINISH
78-229 78-208 78-235
78-229 78-229 78-248 78-235 78-248
FLOAT EL T
0 0 3
0 0 0 3 0 3
The analysis portion o:f ~be £unc"1:1on p.rovides nlne
globa1 variables which are available to "1:he p.layer. These
a.re:
ES Node Ear1-y Start Times LF Node Lai:e Finish Times EST Act ivi-ty Earl.y Start Times EFT Activity Early Finish Times LST Activity La1:e S"tart Times LFT Act.ivi ty Late Finish Times ESF Activity Early Fl.oat LSF Activity La1:e F.loa1; TF Acti.vlty Total Fl.oat
The units :£or all o:f' these variables ls in straight work.log
day o.:f:fse-ts or working day durations, ( 10 st.ra.igh't worki.ng
days represents 14 ca1endar days).
The :report :func-t.ion COSTPLOT along wl.1:h the auxiliary
:functions ACTUALDAYCOST and DAYCOST provide a me-thod o::f
producing cos1: vs time plo-ts. COSTPL.OT is a monadic
1func1:ion. The right argument i.s a vec'tor (or ma1:rix as
produced by the :func1:ion AND) o:f cumula"tive da.i.ly cos-ts.
These cos-t vec1:ors can be produced by -the two -functions
115 Appendix C
ACTUALDAYCOST and DAYCOST. ACTUALDAYCOST ls .ni.J.ad.ic and
re1:urns as a result a vec1:or o:f cumul.a1:ive his-toric costs 1:0
date. DAYCOST is monadic, its right argument is a vector 01:
sc hedu.led s "tart t.imes :for the act lvi t:ies, in st.raigh1:
a projected working day o:f:fse'ts ::form. The resul 1: is
cumulative cos1: vecto.r ~o.r that schedule. The .resu1 ts o1
bo1:h o:f these .functions represen1: ca.lendar day costs. AND
i.s a dyadic :function which can be used to ,join the resu.l 1:s
0:£ these :functions :for display on one graph. A co.st vs 1:1 me
pJ.01: :for the examp.le p:roJect showing the two curves o:f
ac1:ua1 cos-ts
schedul.e is:
and projected cos1:s with an early sta.r't 1:.ime
116
COSTPLOT ACTUALDA YCOST AND DAYCOST ES1' 19:20 8/18/78
201 •••••••••••••••••••••••••••••••••••••••• I j I
• • •
• • •
• • • • ••• • • ••• •
I • • • • • • 15f ••••••••••••••••••••••••••••••••••••••••
I t I I
• • • •
• • • •
• • •• • • •• • • • • • •••• • 101 ••••••••••••••••••••••••••••••••••••••••
I • • • • • I • • ·~ • • • I • ·~ • • • I • ·~mi;. • • •
s 1 ••• • ••• ••g~ ..... •. • .... :••• •• • • • • • • ••• •. • I I ••l!l~· J •al!i • I~ •
• • • •
• • • • • • • • • • • • 0-·-------------------·--------·
0
Barcharts
The
10 20
COS7' (IN $1000)
vs
30 40
TIME
EXAMPLE PROJECT
:function BA RC HART is a
50
dyadic
Appendix C
::function which
produces a. barchar-t £or a scbedu1e in -the straight working
day :£orm. T.he le::ft argument is a vector o1 numbers o:f
activities which are to be inc1uded .in "the ba.rchart"e 1£ i't
is null. then a1.l ac-tivities wll1 be incl.uded. The rigb't
argument is the schedule ln the :£orm 01: stra.i@bt wo.rklng day
o££sets. Critical activities are shown as a "C" in t.he
chart. An exampl.e barchar'l o:f an early sta.rt t.ime schedu.le
:for the exampl.e project is:
'' BARCRART EST 19: 37 8/ 18/78
117
11111111112222222222 12345678901234567890123456789
1 ACTIVITY ACCCCCCCCCCCCCCCC 2 ACTIVITY B******************* 3 DUMMY ( D) 4 ACTIVITY E 5 ACTIVITY C
ccccccccccccc *********
Appendix C
No-te that the ti.me sca1e :for the barchart is in straight
wo.rking day o:f:i:sets.
Resource Utll.i:zat.ion Histograms
A graphic disp1ay o:f 1:he uti.1izatlon o1 a resource over
ti.me is avai.lable with the two func1:ions HIST and RESUTIL.
RESUTIL is a dyadic 1unction. Its le:tt argument ls a
character vector containing the resource name, the .right
argument is a schedu1e in straight working day o.f1set :form.
The result is a vector o:f dai.ly .resource ut.1.lizations
I eve.ls. This vector can be g.raphi.ca.11.y dispJ.ayed with the
:function HIST. HIST ls aJ.so a dyadic £unction. I ts l.e.:ft
argument is two numbers 1:ha set ~he fange 0£ days which wiII
be lnc.luded in the histogram, the right argument is the
resul.tant vector :from the ::function RESUTIL. The resource
ut.i.lization histogram f.rom day 10 through the end o:f the
project: :for 1:he resource 'MEN' in the examp.le w.i th an .late
s-tart schedule is:
118
10 99 HIST 'MEN' RESUTI.L LST 5 **** 4 **** 3 *********** 2 ******************** 1 ********************
11111111112222222222 01234567890123456789
Printing Reports
Appendlx C
Printed ba.rdcopies o:f any of the reports may be
ofrtained by preceeding the ca.J.1 o1 the report :function with
the :function PRINT. The report wll.l not appear at the
1:ern1lnal. Another :function, PAGE, ca.uses the :fol..lowing
print out to begin on the top o:f a new page. To print a
listing o1 the activities and a CPM report, each on a
seperate page, the p1aye.r 11o•ou1d enter:
PAGE PRINT LISTACT 11
PAGE PRINT CPMRPT ' 1
119 Appendix C
RESOURCE SCHEDULING
Leveied Schedul.es
When projec1: resource demand exceeds 1:he availabJ.e
11.mit an at1:empt to l.evel. the peak demand to an acceptable
1imit shouid be tried. The :function LEVEL is a hueris1:ic
algorithm which wi11 1:ry to l.eve1 a resource demand by
shi:fting the activity start times between those set in the
early start and I.ate s1:ar1: schedu1es. Th.is :function ls
monadic. The righ1: argument is a character vec1:or o.:f 1:he
name o:f the resource which is to he leve1ed. The result is
a vec1:or o:f the 1evel.ed schedul.e star-t times in -the :form o1
s-t.ralgh"t •orking day o.:f£sets. This function will. produce
optimal. or near optimal schedules in most cases. Due to the
nature o.:f this algor:itba the execution time (and cost) can
be high :fo.r networks exceeding 25-30 actlvi ties.
Constrained Scbedu.les
When 1eveling is not su1£icient to .lower a resource
demand another approach which can keep demand be.low or equa.l
to a ~ixed 1imlt 9 but at ~he cos1: 0£ extending the project
duration, is constrained schedu1ing. The function CONSTRAIN
ls a hueristic a.lgori thm which wll.l produce a constrained
schedul.e with a minimum or near mini.taum impact on project
120 Appendix C
duration in most cases. This :function is dyadic. The 1e:ft
argument is the I.eve.I o:f maximum availabl.11 ty o:f the
resource. The right argument ls a character vector o:f the
name 0£ the resource which is being constrained. The resuJ.t
is a vector o:f the constrained schedule start times in the
1orm o:f straight working day o1:fsets.
Assignin~ Schedu.les .!.!!. ~ ~
The :function SCHEDULE, can be used to set an ear.liest
a.llowable start time 1or an activity. This .function is
dyadic. Its le.:ft argument is a vector oJ: activity numbers
which are
act.i vlt:les.
start times.
to be scbedul.ed, a nu1.l vector i.ncl.udes a11
The Ie:ft argument are the earliest al.Iowab.le
These times may be specl:fied in two ways, as a
vector 0:£ straight working day o:f:fsets, or as matrix o:f
dates, with co1umn 1 as the year and column 2 the day o::f the
year. The scbedu.le is kept: ln the :t:orm o::f a vector o1
straigh"t work.Ing day o:f:f'se"ts in the game varlab1.e ASCH.
The report func·tion LISTSCH can be used to produce a
report o:f the schedul.ed start times in Ju.Ii.an da"te :form.
LJ:STSCR J.s monadic, its right argument is a Yector o::f the
numbers of the activi'tles which are to be
is nul1 7 a.11 activities are inc.luded.
incl.uded. 11: it
121 Appendix C
DATE CONVERSIONS
Da-te :functions
Two :functions are available 1or converting between the
Julian a.nd Gregorian date systems. The :first is the naonadic
-function JD which takes a Gregorian date in the 1orm of: a
three ele.ment vector MM DD YY and returns the date in the
Julian t'orm YY DDD. The second o::f these is GD it takes a
right argument in Jul.Ian :form and re1:urns a Gregorian date.
Oi'-fset Functions
There are two :functions :for the conversion o:f o:f:fset
day vectors to dates. The :first of these is the dyadic
:func ti o.n DO. The J.e:f't argument .is a starting date in Julian
:form YY D.DD, the right is a vector o.:f o:f:fsets o:f caJ.endar
days. The result is a matrix o:f da-te which the start da-te
pl.us the o:f:fset number would equal.. For example the dates
oi: the day wbi.ch are 9 and 30 days a:f"ter a start da-te o'f 78
221 (Aug 9, 1978) would be!
78 221 DO 9 30 78 230 78 251
Ano1:her similar :£unc1:ion is WD2D. T.be differences here
are that the o11sets are in straight working days, and the
start date is assumed to be 1:be project s"tart da1:e, making
122 Appendix C
1:he function monadic. Retrying 1:be examp.le but to 1ind 'the
date o:f -the 9th and 30-th working day a:fter 'the project s1:art
date 0:£ 78 221, you wou.ld enter:
WD2D 9 30 78 234 78 263
The vita has been removed from the scanned document
A PEDAGOGICAL GAME FOR
PROJECT MANAG.EMENT
by
Nathan Da.nl el Huebner
(ABSTRACT)
An inte.rac-tive computer game :for teaching project
management sklJ..ls using networ.k models ls
game ls wri.tten i.n APL noi:ation.
presented. The
The game is based on a discrete simulation mode.l 0£ the
project network. The p.layer s.imu.la tes the proJec t -fo.r a
period o:f time and can then so11.cit reports,
resource schedu.l i.ng or CPM analysis, and make changes in
responce to the current environmental conditions. The
instructor .interacts with 'the game through -the environmental
modl:fing ::functions and the scheduling o:f exogenous events.
This allows him to create a
speci.:flc pedagogical. sl tua-tion. Descrlp-t.ions o.t: -techniques
used to add these opt.ions and some suggestions £or "the.m are
incl.uded.
top related