`
`t or
`
`Resource Allocation and Multi-Project Scheduling
`
`Jack Moshman, Jacob Johnson, and Madalyn Larsen
`C-E-I-R, INC.
`1200 Jefferson Davis Highway
`Arlington 2, Virginia
`
`INTRODUCTION
`Some Recent Developments
`
`Work planning, a never-ending management
`responsibility, has been aided tremendously in
`recent years by the development of a new tech(cid:173)
`nique commonly referred to as networking or
`arrow-diagramming. Today, the network
`is
`widely accepted by business, scientific, and
`governmental organizations as a worthy re(cid:173)
`placement for the Gantt chart and other less
`flexible and less meaningful methods of plan(cid:173)
`ning work.1"3-!) 1-
`PERT,4-10 Critical Path Method (CPM),78
`and many other similar systems5-6 use esti(cid:173)
`mates of the time required to complete each
`activity as the basis for determining the work
`schedule. The scheduling system sequences all
`the activities in the network and calculates the
`earliest and latest completion dates for each
`activity. These dates are then woven together
`to form a schedule for the total project.
`In
`some instances the scheduling function is auto(cid:173)
`mated, that is, an electronic computer is used
`to perform the calculations; in others the sched(cid:173)
`ule is determined manually and monitored with
`the aid of a computer.*
`RAMPS, a system for Resource Allocation
`and Multi-Project Scheduling, was recently de(cid:173)
`veloped by C-E-I-R, INC. and now is an opera(cid:173)
`tional IBM 7090 digital computer program.
`RAMPS retains many of the basic concepts of
`
`its predecessors; it uses the network for work
`planning and relies on a careful analysis of the
`needs of each individual activity, but it also has
`unique features not found in other systems.
`Two of these are readily apparent in its name—
`Resource Allocation and Multi-Project Sched(cid:173)
`uling.
`
`Activity Resource Requirements
`Major differences among many networking
`systems lie in the information provided for each
`activity and ultimately used in the work sched(cid:173)
`uling function. In most systems, this informa(cid:173)
`tion includes estimates of the time needed to
`complete each activity and the total cost of the
`activity or a related group of activities. Where
`a schedule is produced, it attempts to reflect the
`most desirable time-cost relationships.
`WThile RAMPS includes time and cost con(cid:173)
`siderations in its work schedules, it also incor(cid:173)
`porates the resource requirements of each ac(cid:173)
`tivity and the availability of these resources at
`the time the activity is to be scheduled—both
`extremely vital factors
`in any meaningful
`scheduling system.
`
`Multi-Project Schedules
`A unique feature of RAMPS is its ability to
`schedule simultaneously more than one work
`
`* A comprehensive bibliography is to be found
`Voress, et al.11
`
`in
`
`17
`
`CiM Ex. 1039 Page 1
`
`
`
`18
`
`PROCEEDINGS—SPRING JOINT COMPUTER CONFERENCE, 1963
`
`project. The projects to be scheduled may differ
`in size, type of work, importance and starting
`times. They are related only in their reliance
`on a common pool of resources.
`RAMPS recognizes and responds to estab(cid:173)
`lished priorities for the projects and competi(cid:173)
`tion among activities within all projects for
`limited quantities of available resources. The
`system also strives to meet established target
`completion dates by applying larger quantities
`of available resources
`to critical activities
`within all projects.
`
`Competition for Available Resources
`In addition to denning the work and resources
`requireu uy tue various activities, nie RAMPS
`user provides the system with a knowledge of
`the quantity of each resource type that is avail(cid:173)
`able to all projects. Provision is also made for
`using overtime or additional units of a given
`resource at a premium cost.
`There may be many activities in all projects
`competing for the same resources during the
`same work period. RAMPS weighs the needs
`of each activity individually and in relation to
`the other activities before deciding how the
`resources are to be allocated.
`
`Management Controls
`Under the many constraints imposed by com(cid:173)
`pletion deadlines, specified resource limits and
`project priorities, RAMPS must weigh many
`factors before deciding how best to schedule
`each project. Frequently, there are many pos(cid:173)
`sible routes that RAMPS could follow, each
`with a different effect on the schedules pro(cid:173)
`duced. There is, for example, the route that
`
`minimizes project completion time, but perhaps
`at an increased cost because of the use of over(cid:173)
`time. Another route may assure a minimum
`of idle resources throughout the lives of the
`projects, and another might maximize the total
`number of activities being worked on during
`each scheduled work period. In instances such
`as these, RAMPS relies on control information
`provided by the RAMPS user to determine
`which course of action is most desirable. This
`ability on the part of management to influence
`and guide the scheduling function is one of the
`major features of the RAMPS system.
`
`ESTABLISHING THE NETWORKS
`General Description
`The foundation of the RAMPS system is the
`network—a graphic display of a plan. The net(cid:173)
`work portrays an orderly step-by-step series of
`actions which must be performed successfully
`in order to reach a specific, definable objective.
`Simply stated, a network
`is a work flow
`diagram.
`
`Concurrency in the Network
`In almost every real situation, there are many
`activities that can be carried on concurrently;
`others must be accomplished in a purely serial
`fashion. By planning to allow several related
`efforts to proceed simultaneously and converge
`at the proper event, the manager is able to
`reach his stated objective in a much shorter
`period of time. Since the network is a work
`plan, those activities which logically can be
`worked on in parallel should be shown in the
`network as concurrent activities. The concept
`of serial and concurrent activities is shown in
`Figure 1.
`
`/ - >. REPAIR
`
`O
`
`-(5
`
`REMOVE OLD BASE *® ERECT BASE FORMS
`
`SERIAL WORK FLOW
`<g
`^<D
`©ORDER REPAIR PARTS /-^DISMANTLE EQUIPMENTWTRANSFER TO SHOP
`CONCURRENT WORK FLOW
`^DISMANTLE EQUIPMENT , - V R E M O VE OLD BASE
`
`8&
`&>
`^ XW
`
`^^ERRECT BASE FORMS x-vPOUR CONCRETE
`-<3j
`»(6)
`
`/^ASSEMBLE EQUIPMENT
`K7) —
`
`•®
`
`\TRANSFER EQUIPMENT ^ REPAIR
`TO SHOP
`
`.TRANSFER EQUIPMENT
`*§>
`TO SITE
`
`Figure 1. Concept of Concurrent Work Flow and Serial Work Flow.
`
`CiM Ex. 1039 Page 2
`
`
`
`RAMPS—A TECHNIQUE FOR RESOURCE ALLOCATION AND MULTI-PROJECT SCHEDULING
`
`19
`
`It is obvious that a considerable amount of
`effort must be expended to determine which
`activities may be concurrent and which must
`proceed alone. But it is this effort at the plan(cid:173)
`ning level that saves time and money later when
`the actual work is done.
`
`ESTIMATING TIME AND RESOURCE
`REQUIREMENTS
`General Description
`Although the importance of an accurate and
`well-planned network cannot be over-empha(cid:173)
`sized, there is perhaps no other function in the
`total application of RAMPS that is more im(cid:173)
`portant than obtaining accurate estimates of
`the time and resources required by each activity.
`Because RAMPS bases many of its scheduling
`and resource allocation decisions on this infor(cid:173)
`mation, the validity of the schedules produced
`hinges on the thoroughness with which time and
`resource requirements are estimated. It is im(cid:173)
`perative that these estimates be made by those
`individuals who are most familiar with the
`work to be accomplished by each activity.
`
`Determining Amount-of-Work
`With the preliminary networks drawn and
`available as work guides, the next step in ap(cid:173)
`plying RAMPS can begin: determining the
`amount-of-work required by each activity in the
`networks.
`Amount-of-work is derived from multiplying
`the number of unit time periods required to
`complete an activity under normal working con(cid:173)
`ditions by the number of units of resource re(cid:173)
`quired per time period. The unit time period
`may be an hour, day, month, or any unit of
`time that defines the smallest period within
`which work will be scheduled and resources
`allocated.
`Although it is not necessary to record amount-
`« i - n u ia in i/nc HCIWUIJV, li is nequtJiiwy uene-
`ficial because it provides a ready visual display
`of the time and resource estimates for each
`activity as illustrated in Figure 2. The amount-
`of-work figures are enclosed in boxes below the
`activity lines. The units of resource required
`per time period are recorded beside the amount-
`of-work boxes. The estimated number of time
`periods needed to complete each activity can be
`quickly determined by dividing the units of
`resource figure into the amount-of-work.
`
`PROJECT A
`MODERNIZE PLANT
`
`AMOUNT-OF-WORK-
`
`2 ^ ? / T ,UP
`
`\ NUMBER OF UNITS OF
`., f RESOURCE REQUIRED
`
`PROJECT B
`RENOVATE OFFICE
`
`Figure 2. Amount-of-Work and Alternate Resource
`Utilization Rates in the Networks.
`
`If we assume that under normal conditions
`activity 3-6 of Project A will require three days
`to be completed and will consume the work of
`two painters during each day, the amount of
`work for the activity would be six units.
`the
`The amount-of-work concept provides
`system with unique flexibility in work sched(cid:173)
`uling and resource allocation. By including two
`additional resource utilization rates to the nor(cid:173)
`mal rate already established, this flexibility can
`be further increased.
`Establishing Alternate Utilization Rates
`Under normal conditions, activity 3-6 would
`require three time periods to be completed and
`would use two painters per time period. To
`provide for the possibility of doing the job
`faster or slower than normal, one can provide
`two other estimates. The first is a resource
`utilization rate under accelerated work condi(cid:173)
`tions, speed-up; the second is a resource utiliza(cid:173)
`tion rate under relaxed or extended work con(cid:173)
`ditions, slow-down. The work efficiency at other
`than the normal rate is introduced to account
`for the absence of precise linear relationships.
`
`CiM Ex. 1039 Page 3
`
`
`
`20
`
`PROCEEDINGS—SPRING JOINT COMPUTER CONFERENCE, 1963
`
`Once the amount-of-work has been deter(cid:173)
`mined for an activity, it should be the guiding
`factor in determining desirable speed-up and
`slow-down utilization rates. It is necessary to
`"tailor" utilization rates and work efficiencies
`for a given resource to the individual activity
`to which the resource is to be applied. Each
`activity in the network and the resources it
`needs are considered as autonomous units for
`purposes of estimating amount-of-work,
`re(cid:173)
`source utilization rates, and work efficiency at
`the three utilization rates.
`Scheduling and Allocating Flexibility
`The three rates of resource utilization pro(cid:173)
`vide RAMPS with great flexibility in manipu(cid:173)
`lating
`time anu resources requirements 01
`each activity
`to meet resource availability
`levels. The same flexibility extends from the
`activity level to the project level where the
`speed-up, normal, and slow-down rates allow
`the system to adjust work accomplishment rates
`to meet project completion deadlines.
`As shown in Figure 3, Project A could be
`completed in as few as 9 time periods at the
`speed-up rate, or as many as 32 time periods
`at the slow-down rate. At the normal rate, the
`project could be completed in 16 time periods.
`Note that the use of each rate requires a differ(cid:173)
`ent peak work force. The total work force re(cid:173)
`quired reaches peaks of 20 men during period
`5 at speed-up, 10 men during period 8 at nor(cid:173)
`mal, and 6 men during period 15 at slow-down
`rates.
`If all the needed resources were available,
`it is likely that RAMPS would schedule a proj(cid:173)
`ect at the speed-up rate. However, in real
`situations, all the needed resources are rarely
`available at all times, especially when there
`are several projects involved.
`Let us assume, therefore, that only 7 men
`are available for work on Project A. Under
`this restriction, we can examine the steps taken
`by RAMPS in developing a schedule for that
`project considered in isolation. We will also
`see how the three utilization rates are inter(cid:173)
`mixed in the schedule produced.
`
`the Critical Path
`Determining
`One of the first uses RAMPS makes of the
`amount-of-work values is in determining the
`critical path within each project. The critical
`path is the longest path or sequence of activi-
`
`TIME PERIODS
`| , |2| 3 | 4 | » | 6 | 7 | . | ,|
`O © 0 © ©©
`tamtam*!
`© ©
`fgigl
`© ©
`
`SPEED-UP
`
`© ©
`EH
`
`TIME PERIODS
`
`| I | 2 | 9 ] -4 | 3 j 6 | 7 | • | 9 j )OJ II 112[ IS|!-«] IS 11« |
`
`© © ©
`©
`© ©
`|2!2i2|2i2!2!2i4!4!4S4F^4|2^j
`
`l&
`
`{&
`
`flsflsfrfl
`© NORMAL
`©
`
`© © EH
`
`3 3 1616 2 0 1 1 9 64
`
`2 2 2 8 88 8 1 0 1 0 6 6 6 4 42 2
`
`TIME PERIODS
`| I | 2 | 3 | 4 | 5 16 17 j 8 | S ||01II 1121 tf| 14 jt»jis|l71 ia|l9 |go|2l |22|z3|z4|z5|e«|27|2«|2»{3o| 31|w|
`©
`©
`®
`©
`©
`©
`I.!.!. !•!.!. 1.!.!.!.!.!. !.:.k:2!2!2!2!2!2!2|2!2!2!2!2!2|.!i!.!.|
`©
`©
`J2j2J2j2j2J2j2|2_[i]
`©
`©
`J2|2[2j2j2]2j2J2jSt|
`®
`
`sinw-nnwN
`
`©
`
`I I I I I 1 5 5 5 5 5 5 5 5 6 3 3 3 3 3 3 2 2 2 2 2 2 21 I I I
`
`Figure 3. Possible Project Completion and Workforce
`Requirements at each Rate of Homogeneous Resource
`Utilization (Project A, Figure 2).
`
`ties, in terms of total time required, from the
`starting to the ending activity.
`All activities on the critical path are critical
`activities. As shown in Figure 2, there are
`three possible work paths in Project A, the
`longest of which requires 16 time periods at
`normal rates and travels through events 1, 2,
`4, 5. 6, and 7. This path is the critical path;
`any delay in the completion of a critical activity
`will cause an equal delay in completion of the
`project. If any or all of the activities not on
`the critical path are completed ahead of sched(cid:173)
`ule, there could be no time gained in project
`completion. On the other hand, time gained
`along the critical path means time gained in
`project completion. Thus, the critical path cal(cid:173)
`culation provides the following information:
`1. The duration of the project if all activities
`on the critical path are scheduled at the
`normal resource utilization rate, and
`2. The identity of those activities which are
`critical and therefore must receive pref(cid:173)
`erence when they are competing for a
`limited resource with activities that are
`not on the critical path.
`
`CiM Ex. 1039 Page 4
`
`
`
`RAMPS—A TECHNIQUE FOR RESOURCE ALLOCATION AND MULTI-PROJECT SCHEDULING
`
`21
`
`Therefore, the next step in developing a
`schedule is determining when there will be com(cid:173)
`petition between critical and non-critical activi(cid:173)
`ties for the 7 men that are available. This is
`done by establishing the earliest possible start
`times for the non-critical activities so that the
`total resource requirements for all activities in-
`each time period can be determined. Figure 3
`shows the earliest periods at which work on
`each activity in the project can begin. Note
`that beginning in period 4, the resources re(cid:173)
`quired at normal rates exceed the quantity
`available.
`It can be seen that by using the slow-down
`utilization rates during periods 4 through 9, a
`schedule could be produced that stays within
`the limits of the available resources. However,
`this can be done only at the expense of extend(cid:173)
`ing the project completion time.
`Since RAMPS strives to complete each proj(cid:173)
`ect as quickly as possible, the use of slow-down
`rates on critical activities is essentially a last
`resort. Therefore, another alternative must be
`considered: delaying the start of the non-criti(cid:173)
`cal activities so that the resources they would
`otherwise consume can be diverted to the criti(cid:173)
`cal activities. This is called "floating" an
`activity.
`Determining Activity Float
`Activity float is the difference in time peri(cid:173)
`ods between the earliest time an activity can be
`completed and the time it must be completed
`without extending the project completion time.
`An activity float analysis for Project A is
`shown in Figure 4. Note that the critical activi(cid:173)
`ties have zero float—they cannot be delayed
`without delaying project completion.
`
`TIME PERIODS
`
`FLOAT
`
`The float for activity 2-6 is five time periods.
`The earliest time it can be completed is period
`9; it must be completed during period 14 to pre(cid:173)
`clude a delay in the start of activity 6-7. This
`kind of float is called free float because the
`activity can be delayed without interfering in
`any way with the float of other activities.
`Conversely, activity 2-3 has two periods of
`float. Since it must be completed
`interfering
`before activity 3-6 can begin, 2-3 can be delayed
`one or two time periods, but only with an equal
`reduction in the float of activity 3-6. For this
`reason, the float of activity 2-3 is said to inter(cid:173)
`fere with the float of an activity that is to be
`started later.
`
`Producing a Schedule
`With the combined power of the float analysis
`and the three rates of resource utilization,
`RAMPS is now equipped to produce an efficient
`schedule that meets the work requirements of
`each activity, minimizes project completion
`time, and stays within the limits of available
`resources. An idea of how this power is used
`can be gained from Figure 5 which shows the
`schedule produced for Project A.
`By delaying the start of activity 2-6 and
`using the speed-up and slow-down rates where
`necessary, RAMPS has scheduled the project
`for completion in 15 time periods using a total
`work force of only 7 men. Note, too, that idle
`resources have been minimized where possible.
`Although this small example serves to illus(cid:173)
`trate how RAMPS schedules work, a better idea
`of the scheduling power of RAMPS can be
`gained when one considers that this example
`takes into account only one project and only
`
`| I ( 2| 3 | « {s [e | ?'|a | 9 |lo| H | l 2 | l 3 | l « | l 9 | f ef
`TOTAL FREE
`0
`©
`©
`® © ©
`2]i|
`2 22 2!2!2!2 44 4 4 44 4
`©
`©
`i T~r~!
`, 1 , 1 , 1 , 1 , 1 , r ~i
`3,3,3;3;3,3| I j j j j
`<D
`3 ; 3 ; 3 ; 3 ; 3 ; 3 | g|
`
`5
`
`5
`
`oo
`
`INTERFERING.
`
`MOOCNMZE PLANT
`
`o
`
`JMULABLE WORK FORCE. 7 man
`
`Tim* Periods
`
`| 2 | 3 | 4 | 5 | 6 | 7 | e J 9 | K > | l l | l 2 | l 3 | l 4 | s|
`© @©
`©©_©
`?' J , ' 4 «U
`©
`
`©
`
`®
`
`£
`®
`
`® ©
`ESUIi
`
`RESOURCES AVWLABLE
`RESOURCES ASSIGNED
`IDLE RESOURCES
`
`7 7 7 7 7 7 7 7 7 7 7 7 7 77
`3 3 7 7 7 7 7 7 7 7 7 7 4 44
`4 4 0 0 0 0 0 0 0 0 0 0 3 33
`
`Figure 4. Activity Float Analysis.
`
`Figure 5. Derived Work Schedule for Project A Using
`Float and Combined Resource Utilization Rates.
`
`CiM Ex. 1039 Page 5
`
`
`
`22
`
`PROCEEDINGS—SPRING JOINT COMPUTER CONFERENCE, 1963
`
`one resource type: men. Looking again at the
`network for Project A, one sees that although
`men are required in each activity, they have
`different skills. There are carpenters, painters,
`electricians, and other skills involved. There(cid:173)
`fore, in scheduling this project, RAMPS would
`not only have to consider total work force, but
`also the availability levels of each of the skills
`in each time period.
`
`RESOURCE TEAMING
`
`In our discussions to this point, we have in(cid:173)
`cluded only the contingency of an activity re(cid:173)
`quiring one resource type. There is a need, of
`course, for a means of applying several differ(cid:173)
`ent resources to the same activity while still
`maintaining the amount-of-work concept.
`In
`the RAMPS system, this need is fulfilled by
`resource teaming.
`When an activity requires several different
`resource types, they are combined to form a
`resource team for the activity. Each resource
`team is composed of a lead resource and one or
`more trailing resources.
`The lead resource can be considered the re(cid:173)
`source in the team upon which the greatest
`overall demand is levied. It then is used to
`determine the amount-of-work for the activity
`and the slow-down and speed-up completion
`rates. The trailing resources are those "sub(cid:173)
`ordinate" resources that are needed to support
`the work to be done by the lead resource. Al(cid:173)
`though trailing resources may actually perform
`work on the activity, they do not enter into the
`amount-of-work calculation. Amount-of-work
`for resource teams is derived solely from the
`lead resource date but all resources must be
`available before the activity can be scheduled.
`
`DETERMINING RESOURCES AVAILABLE
`
`Having covered the first two steps in the
`application of RAMPS:
`1. Project planning and network prepara(cid:173)
`tion, and
`2. Amount-of-work estimates and resource
`requirements for each activity in each
`project,
`one must form the resource pools from which
`RAMPS will allocate the needed resources to
`
`is
`
`type
`
`the various activities and projects. The task
`is to determine:
`1. How much of each resource
`available,
`2. When and how long this quantity is avail(cid:173)
`able, and
`3. The resource cost.
`For each resource, these questions must be
`answered from two points of view. First, we
`must determine
`the answers under normal
`working conditions or at normal cost. Then we
`must establish the various means by which ad(cid:173)
`ditional resource units could be provided if
`needed. The possibilities include overtime, sub(cid:173)
`contracting, and hiring or acquiring additional
`units.
`These additional units are called premium
`resources and, as the name implies, their unit
`costs are usually higher than those of the nor(cid:173)
`mal resources.
`Obviously, normal availability data is re(cid:173)
`quired by the RAMPS system; if work is to be
`scheduled, resources must be provided. Pre(cid:173)
`mium availability data is not required, but it
`is important in providing RAMPS with further
`flexibility in accomplishing the required work.
`Certainly
`the application of additional
`re(cid:173)
`sources, derived by any means, will contribute
`to the completion of the required work in a
`shorter period of time, but at an additional cost.
`This data is particularly important when man(cid:173)
`agement is willing to incur greater expense to
`complete a project in a minimum amount of
`time. The quantity of any resource may be con(cid:173)
`stant over the total scheduling period or may
`vary in level as a function of time.
`Additional resource information needed in(cid:173)
`cludes the unit cost per time period, the availa(cid:173)
`bility of additional premium resources, and the
`cost of premium resources.
`Although RAMPS strives to avoid allocating
`premium resources, it may use them under
`either of the following two conditions:
`1. To meet a project completion deadline
`when no other means exists for accom(cid:173)
`plishing the required amount of work
`within the time specified.
`2. To alleviate an otherwise untenable sched(cid:173)
`uling bottleneck caused by an acute short(cid:173)
`age of one or more resources during one
`or more time periods.
`
`CiM Ex. 1039 Page 6
`
`
`
`RAMPS—A TECHNIQUE FOR RESOURCE ALLOCATION AND MULTI-PROJECT SCHEDULING
`
`23
`
`SETTING MANAGEMENT CONTROLS
`AND OBJECTIVES
`General Description
`The next, and final, step before operating on
`the data accumulated so far is the setting of the
`objectives to be reached in the schedules that
`are produced. The use of the various controls
`determines project priority and provides an(cid:173)
`swers to such questions as: "In scheduling all
`projects, should cost be minimized? Is time im(cid:173)
`portant? Should idle resources be minimized?"
`Establishing Project Priorities
`In perhaps every instance of multi-project
`scheduling, management can pinpoint
`those
`projects which, when completed, will be more
`beneficial to the company as a whole. Naturally,
`if these benefits are to be realized as early as
`possible, these projects must be given priority
`when all projects are competing simultaneously
`for a limited quantity of available resources.
`Project priority can also be viewed from a
`slightly different angle: "How much is it going
`to cost if this project is not completed on time?
`How much can be saved or gained if it is com(cid:173)
`pleted ahead of time?" The answers to these
`questions are crucial in the many areas of busi(cid:173)
`ness where work projects are negotiated under
`bonus-penalty agreements.
`The relative importance of the various proj(cid:173)
`ects is injected into RAMPS decision-making
`by providing the system with three facts: proj(cid:173)
`ect start dates, desired project
`completion
`dates, and project delay penalties.
`Establishing project starting dates is the
`first step in exercising control over the sched(cid:173)
`ules produced by RAMPS. This is done merely
`by specifying the earliest time period at which
`work may begin on each of the projects to be
`scheduled.
`Tire desired completion date is expressed in
`the same manner as the starting dates—the
`time periods during which the projects are to
`be completed. In many instances, it is difficult
`to provide a knowledgeable estimate of how
`much time, from start to finish, a project should
`require, particularly when the work is unprec(cid:173)
`edented. In others, experience will allow rea(cid:173)
`sonably accurate completion dates to be set.
`By providing RAMPS with the costs incurred
`in delaying each project, we can identify those
`projects with the higher priorities and thus
`
`provide the basis for deciding which projects
`are to be completed on the deadlines indicated
`if all targets cannot be met.
`
`Control Factors
`While the start date, completion date, and
`delay penalties provide a means for expressing
`priority among projects, there is also a need
`for expressing other criteria that are to be
`observed in the schedules that are produced for
`all projects. For example, in addition to recog(cid:173)
`nizing the relative importance of projects, man(cid:173)
`agement may also recognize a need to minimize
`project costs, minimize idle resources, or maxi(cid:173)
`mize the total number of activities being worked
`on at all times. These and other needs can be
`conveyed to RAMPS through the use of the
`management control factors.
`It should be emphasized that RAMPS at(cid:173)
`tempts to complete each project as soon as
`possible by making the most efficient and ap(cid:173)
`propriate use of time and resources. More spe(cid:173)
`cifically, RAMPS continually strives to:
`1. Start and complete each activity at the
`earliest possible time.
`2. Achieve a smooth rate of work accom(cid:173)
`plishment and resource utilization by
`"looking ahead" for possible bottlenecks.
`3. Minimize idle resources.
`4. Work simultaneously on as many activi(cid:173)
`ties as possible.
`5. Give priority to critical activities.
`6. Avoid interrupting work on an activity
`once it has been started.
`In forming a schedule of work during a
`given time period, RAMPS is almost always
`confronted by conflicts among these objectives;
`rarely can they all be achieved at the same time.
`When there is conflict, the program must deter(cid:173)
`mine which of these objectives are to be satis(cid:173)
`fied at the necessary expense of excluding
`others. For example, consider the following
`situation: there are four activities that could
`be started in the current time period and there
`are adequate resources at the normal utilization
`rates to start all of them. However, one of the
`activities is on the critical path and in order to
`meet the desired project completion time, it
`must be scheduled at the speed-up rate. This
`will mean delaying one of the other projects so
`that the resources it would otherwise consume
`can be diverted to the critical activity. In addi-
`
`CiM Ex. 1039 Page 7
`
`
`
`24
`
`PROCEEDINGS—SPRING JOINT COMPUTER CONFERENCE, 1963
`
`tion, another activity must be completed during
`the current time period to avert a probable
`work bottleneck in the subsequent time period.
`To avoid the bottleneck, a second activity must
`be delayed so that the activity preceding the
`possible bottleneck can be accelerated.
`Of the four activities that could be started,
`only two can begin if a work bottleneck is to be
`averted and a critical activity is to be given
`priority. The decision to be made is whether
`the first and fourth objectives are more impor(cid:173)
`tant than the second and fifth objectives.
`Certainly these considerations and decisions
`are common to any scheduling system. Indeed
`they are made every day by one means or
`another. In most instances, however, they come
`from an individual who is thoroughly familiar
`with the project being planned and is therefore
`able to judge the relative importance of each
`of the considerations.
`The control factors that are a part of RAMPS
`offer a means for expressing the relative im(cid:173)
`portance of the many items that bear on sched(cid:173)
`uling decisions. Through their use, those who
`are most familiar with the work to be done and
`the environment in which it will be done, can
`provide RAMPS with a means for determining
`the best course of action when there is a con(cid:173)
`flict in the overall scheduling objectives.
`Thus, the discretionary use of management
`controls in the situations we have just discussed
`exercises a direct influence and control over the
`schedule produced.
`
`Weighting the Control Factors
`
`Influence of RAMPS' scheduling decisions is
`exercised by preparing a table of
`relative
`weights for the following six factors:
`1. Free Float
`4. Work Continuity
`2. Total Float
`5. Number of Jobs
`3. Look-Ahead
`Scheduled
`6. Idle Resources
`As shown in Figure 6, each of these factors
`can be used to exercise a unique influence on
`the scheduling functions and thus satisfy one
`of the management objectives mentioned earlier
`in this section.
`The degree to which the schedule is affected
`by any one factor depends upon its weight rela(cid:173)
`tive to the weights assigned to the other factors.
`
`CONTROL
`FACTOR
`
`Total Float
`Free Float
`
`Look-
`Ahead
`
`Work
`Continuity
`
`EFFECT ON SCHEDULE
`
`Gives priority to those activities
`which cannot be delayed without
`delaying project completion.
`
`Gives priority to those activities
`upon whose completion many
`activities are waiting.
`
`MANAGEMENT
`OBJECTIVE
`SATISFIED
`
`• Minimizes Project
`Completion Time
`• Gives Priority to
`Critical Activities
`
`• Avoids Work
`Bottlenecks
`
`Gives priority to those activities
`which were started earlier and
`are incomplete.
`
`• Avoids Activity
`Work Interruption
`
`Number of
`Jobs
`
`Gives priority to starting as
`many new activities as possible.
`
`• Maximizes the
`Number of Job
`Being Worked On
`
`Idle
`Resources
`
`Gives priority to assigning all
`available resources.
`
`• Minimizes Idle
`Resources
`
`Figure 6. Control Factors.
`
`For example, if the paramount consideration in
`accomplishing the work on a project is keeping
`idle resources at a minimum, the idle resource
`factor might be assigned an over-whelmingly
`high weight in relation to the weights assigned
`to the other factors. This would indicate to the
`system that highest emphasis is to be placed
`on minimizing idle resources in making sched(cid:173)
`uling decisions.
`
`Using the Control Factors
`RAMPS first examines the three utilization
`rates prescribed for each of the competing ac(cid:173)
`tivities and lists all the possible assignment
`combinations. The weighted control factors are
`then consulted in deciding which combination
`is the most desirable. In evaluating the possible
`assignments that can be made, RAMPS must
`also consider the indicated project completion
`dates, project delay penalties, and activity in(cid:173)
`terrupt penalties.
`Occasionally, these items override one or
`more control factors. This might occur, for
`example, when a project has a high delay pen(cid:173)
`alty so that it becomes imperative from a cost
`standpoint to give priority to critical activities
`even though the free and total float control fac(cid:173)
`tors carry a relatively small weight. In another
`instance, an activity with an extremely low
`interrupt penalty may be interrupted even
`though the interrupt control factor is shown to
`be most important. However, the management
`control factors are used in scheduling every
`time period and will therefore dominate sched-
`
`CiM Ex. 1039 Page 8
`
`
`
`RAMPS—A TECHNIQUE FOR RESOURCE ALLOCATION AND MULTI-PROJECT SCHEDULING
`
`25
`
`uling decisions and directly control the schedule
`produced.
`Four of the control factors, free float, total
`float, work continuity, and look-ahead, are used
`to evaluate individual activities that are com(cid:173)