Multiproject Scheduling with Limited Resources: A Zero-One Programming Approach Author(s): A. Alan B. Pritsker, Lawrence J. Watters, Philip M. Wolfe Reviewed work(s): Source: Management Science, Vol. 16, No. 1, Theory Series (Sep., 1969), pp. 93-108 Published by: INFORMS Stable URL: http://www.jstor.org/stable/2628369 . Accessed: 26/01/2012 08:27 Your use of the JSTOR archive indicates your acceptance of the Terms & Conditions of Use, available at . http://www.jstor.org/page/info/about/policies/terms.jsp JSTOR is a not-for-profit service that helps scholars, researchers, and students discover, use, and build upon a wide range of content in a trusted digital archive. We use information technology and tools to increase productivity and facilitate new forms of scholarship. For more information about JSTOR, please contact support@jstor.org. INFORMS is collaborating with JSTOR to digitize, preserve and extend access to Management Science. http://www.jstor.org MANAGEMENT SCIENCE Vol. 16, No. 1, September, 1969 Printed in U.S.A. MULTIPROJECT SCHEDULING WITH LIMITED RESOURCES: A ZERO-ONE PROGRAMMING APPROACH*** A. ALAN B. PRITSKER1, LAWRENCE J. WATTERS2, AND PHILIP M. WOLFE$ A zero-one (0-1) linear programming formulation of multiproject and job-shop scheduling problems is presented that is more general and computationally tractable than other known formulations. It can accommodate a wide range of real-world situations including multiple resource constraints, due dates, job splitting, resource substitutability, and concurrency and nonconcurrency of job performance requirements. Three possible objective functions are discussed: minimizing total throughput time for all projects: minimizing the time by which all projects are completed (i.e., minimizing makespan); and minimizing total lateness or lateness penalty for all projects. Introduction Severalyears have passed since the pioneeringwork of Bowman [3], Wagner[24], and Manne [13] with their mathematicalprogrammingformulationsof scheduling problems.These and other mathematicalschedulingmodels are discussedby Sisson [22],by Conway,Maxwell,and Miller [4], and by Muth and Thompson[17]. Recent researcheffortshave concentratedon simulationapproachesto scheduling[4, 6, 8, 15, 26, 27]; however, another look at the problem from a mathematicalprogramming point of view seemsin order,especiallyin light of recentdevelopmentsin 0-1 programming 17,9, 18, 251. The schedulingproblemsconsideredhere deal with determiningwhen a job should be processed,given limited availabilities of resources, e.g., men, equipment, and facilities.The wordsjob and projectwill be used throughoutto denote the two levels of work aggregationbeing considered.A project consists of a set of jobs. In other literature describingschedulingresearch,the following equivalent descriptorsmay be found: Job Project task operation project product job program The modelconsidersonly the job level and the projectlevel. Considerationof three or morelevels, e.g., operation,job, and project,only complicatesthe notationalproblem. The Manne[13]formulationuses integervariablesto indicatein which time period the job is started, and the Wagner [24] formulationuses 0-1 variables to indicate whether or not a job is assigned to a specific order-positionon a specific machine. Neither formulation,however, accomm( tes multiple resource constraints. The * Received March 1968and revised December 1968. Any views expressed in this paper are those of the authors. They should not be interpreted as reflecting the views of the RAND Corporation or the official opinion or policy of any of its governmental or private research sponsors. Virginia Polytechnic Institute, Blacksburg, Virginia (consultant to the RAND Corporation). 2The RAND Corporation. 'Motorola, Inc., Phoenix, Arizona. ** 93 94 A. A. B. PRITSKER, L. J. WAKTERS, AND P. M. WOLFE Bowman[3]formulationuses 0-1 variablesto indicatefor eachperiodover a scheduling horizonwhether or not a job is being processed.His formulationdoes not expressly providefor multipleresourceconstraints,althoughsuch an extensioncould be made. The resultingformulationwould be larger (in terms of the numberof variablesand constraintsinvolved) than the one presented here. The following formulationuses 0-1 variables to indicate for select periods (dependingupon job arrival time, due dates, sequencing relationships,etc.) whether or not a job is completed in those periods.A similar formulation[19] uses 0-1 variables to indicate for select periods whetheror not a job has been completedprior to those periods.For a given type of schedulingenvironment,alternativeformulationsoften may be devised. An efficient formulation,however,will dependupon a judiciouschoice of definitionfor the variables. Indeed, the selection of a definitionfor the variablesand the synthesis of objective functionsand constraintsconstitute a challengingproblemin design. The design aspects of mathematicalformulationare discussedin [20]. Determiningwhen the jobs shouldbe processeddependsupon the desiredobjective. Three are consideredhere: 1. Minimizetotal throughputtime (time in the shop) for all projects; 2. Minimizethe time by which all projectsare completed (i.e., minimizemakespan); and 3. Minimizetotal latenessor latenesspenaltyfor all projects. Equations are developed to ensure that a schedule meets the following constraints when they are imposed: 1. Limitedresources; 2. Precedencerelationsbetweenjobs; 3. Job splitting possibilities; 4. Project and job due dates; 5. Substitutionof resourcesto performthe jobs; 6. Concurrentand nonconcurrentjob performancerequirements. i j t gi ei a5, dii Definitions = project number, i = 1, 2, * , I;I = number of projects. = job number, j = 1, 2, ** , N,; Nt = number of jobs in project i. = time period, t = 1, 2, *** max Gi; Gi = absolute due date. Project i must be = = = = ij, = uij = k = r.k= Rkt xit= = completedin or before period G,. If an absolute due date is not specified,G, becomesthe last periodin the schedulinghorizon. desireddue date. Project i is not late if it is completedin or beforeperiodg5. earliestpossibleperiodby which projecti could be completed. arrival period of job j, project i. Arrivals occur at the beginningof periods. numberof periodsrequiredto performjob j of project i. It is assumedto be knownwith certainty. the earliestpossibleperiodin which job j could be completed. the latest possibleperiodin which job j could be completed;viz., an absolute job due date. resource or facility number, k = 1, 2, * , K; K = number of different resource types. amountof type k resourcerequiredon job j of projecti. amountof type k resourceavailablein periodt. a variablewhich is 1 if job j of project i is completedin periodt; 0 otherwise. x,stneed not be treated as a variablein all periods,since it equals0 for t < li, and for t > u;,. MULTIPROJECT SCHEDULING WITH LIMITFD 95 RESOURCES a variable which is 1 in period t if all jobs of project i have been completed by period t (i.e., completed in or before period t - 1); 0 otherwise. xit need not be treated as a variable in all periods, since it equals 0 for t < ei and 1 for t > G6. To illustrate the nature of the definitions, the scheduling of five jobs belonging to two projects requiring two resources is shown in Fig. 1. The figure depicts arrival periods, job durations, due dates, precedence requirements, and values of xi., and xi, variables. xit= ARRIVAL PERIODa ABSOLUTE DUEDATEGI a21 a222 a,2 1 a13 2 3 - - -'o _ _ _ 45 6 PROJECT 8 9 10 11 0l 0 00 liit xllt 7 _ 1 k ooo1o 0i~ o 1?1 X13t l PROJECT EEO 0 -\- o - _ ~ i 1|||1||| o 0 o , o 4, t 3 4 tII 5 6 ? ? ? 13 14 15 TIME I 7 8. 9 10 11 12 16 MUST PRECEDEJOB (1,3) ARRIVALPERIODOF JOB j, PROJECTi (ARRIVALSOCCUR AT THE BEGINNING OF PERIODS) X EARLIEST POSSIBLEPERIODIN WHICH JOB j COULD BE COMPLETED LATESTPOSSIBLEPERIODIN WHICH JOB j COULD BE COMPLETED - EARLIEST POSSIBLEPERIODBY WHICH PROJECTi COULD BE COMPLETED G LATESTPOSSIBLEPERIODBY WHICH PROJECTi COULD BE COMPLETED g G DESIRED DUEDATE DUEDATE ABSOLUTE 1 INDICATESJOB IS COMPLETEDIN PERIODt O INDICATESJOB IS NOT COMPLETEDIN PERIOD t - , JOB DURATION U e o -?o ASSUMEJOB.(l,l) | 0 ~~~~~~~~~~~f 1I 22 * o _ X2t l_ 0 IAl 0~~~~~01 0 |_ 2~ a d 0 a21~~~~~~~~~~~~~~~~~~ 7U1 1t ix2t kEY: o 0 2 NOTE: o . t TIME 15 16 o o O 12 13 14 TO EQUAL ZERO INDICATESTHEVARIABLEIS PREDETERMINED FIG. 1. Hypothetical scheduling situation for two projects. 96 A. A. B. PRITSKER, L. J. WA[TERS, AND P. M. WOLFE There is one unit of resourceavailable for each of the two types of resources;i.e., 1 for k = 1, 2 and for all t. The resourcerequirements,rijk, for each job are assumedto be: Rkt = Resource Requiroments,risk ij 1 2 11 12 13 21 22 1 1 1 0 0 0 1 1 1 0 As an exampleof the calculationsof lij and uij for sequencedjobs, dG l- Uii= 3 = 11 and 113= max f{an + di, + d13- 1, a13+ d13- 1} = 9. The informationdepictedin Fig. 1 representsknowninputs at the time of scheduling. (In a job-shop environment where additional projects arrive, reschedulingcould take place when such inputs becomeknown.) Objective Functions Jobs are to be scheduledin a mannerthat optimizessome measureof performance, or objectivefunction, subject to certain environmentalrequirementsand limitations. The choice of an appropriateobjective function may differ for various scheduling environments.Severalcommonones are selected for explicit formulation. MinimizingTotalProjectThroughputTime Individualproject throughputtime is definedas the elapsed time between project arrivaland project completion,where project completionoccurswhen all jobs of the projectare completed.If ai is the arrivalperiodof the ith project,throughputtime for that projectis Gi- t +1i-xit+ a,. (For example,throughputtimes for Projects 1 and 2 in Fig. 1 are 13 and 10, respectively.) Minimizingthroughputtime for a single projectis equivalentto maximizing the numberof periodsremainingafter the projectis completed,wherethis numberof periodsis Et-i xi,. Therefore,the objective function for minimizingthe sum of the throughputtimes for all projectscan be written as Maximizez = (1) 11 i'sxit Ordinarily,jobs are startedas soon as possibleif doingso does not increasethroughput time. This can be accomplishedby maximizing (2) Z - t/ - ?ti tXit whereM is a positive numbersufficientlylarge to ensurethat the contributionof the additionalterm is less than that of any xit. A suitablechoicefor M wouldbe MULTIPROJECT WITH SCHEDULIN LIMITED 97 RESOURCES MinimizingMakespan An alternativeobjectivefunctionis to minimizethe time by which all projectsare completed;i.e., minimizemakespan.Define a variable xt as follows: xt = 1 if all projects are completed by period t, = 0 otherwise. Minimizingmakespanthen correspondsto maximizing (3) z -= E ax6 , . This objective function could also be augmentedto start jobs as soon as possible, thus making the desired objective function (4) - z 3tma= XG - i (1/M) Eui;ij tXit. MinimizingTotalLatenessor LatenessPenalty A projectis late if it is completedafterthe desireddue-dateperiod,gi. Equivalently, the projectis late if xit = 0 in those periodst weregi < t < Gi. If total projectlateness is to be minimized,this latenesscan be written as E't9si9i+( - xit). If a penalty of pit is assessedwhen the projectis not completedby periodt, the total latenesspenalty can be written as DIi= (E1 E't g;+lpit( xit ). This expressionfor total lateness penalty reduces to total project lateness if all pit are 1. Thusfor both casesan equivalentformof the objectivefunctionis the maximization of = z( EGt i+1 PitXit. The formulationcan accommodatea rather wide range of environmentalrequirements and limitations.Some of these are now discussed. Job Completion Each job has exactly one completionperiod. (6) = 1, 2, ...,I; S8;xs-1(i j 1, 22, @N). Notice that in eachconstraint,the value of any one xijtcan be determinedby the values of the others in that constraint. To use this relationshipto full advantage, replace Constraint(6) by (7) ut-ii t < 1 t, 1, and define Xj()- Xit Replacing xij(uij) by its definitional equivalence can be used to reduce the total number of variablesin the formulation. ProjectCompletion Formulationsinvolving xit variables (e.g., objective functions (1), (2), and (5)) requirethat the xit variablesfor each projectbe zerountil all of its jobs have been com- 98 A. A. B. PRITSKER, L. J. WATTERS, AND P. M. WOLFE pleted.That is, projecti cannot be completedby periodt until E Ni jobs of projecti. This requirementcan be written as (8) xit x (1/Ni) (i = 1, 2, e. **, I; t = e,, E` X2j=?l I,j xi> = 1 for all + 1, **,). In formulationsinvolvingxt variables (e.g., objectivefunctions(3) and (4)), the above constraintsare replacedby (9) xt ? (1/IlNi) EL, E'JYtEt-1 (t = max ei, ***, max G,). Sequencing A sequencingconstraintis requiredwhen a job cannot be started until one or more otherjobs have been completed.For example,on projecti, assumejob m must precede job n. If tim and tin denote the completion periods of jobs m and n respectively, then tim + din < tin. Note that tim = Et'=z,,mtximt and tin = Et=lintxint. Therefore, the appropriate sequencingconstraintbecomes (10) Et=i'.m tximt + din < Et-tnn tXint . Sequencingrelationshipsreducethe numberof xijtvariablesfor whichit is necessary to obtain values from the formulation,since (1) Xint= 0 fort < max {ain+ din - 1; max1ePin(ai1 + dij + din - 1)J where Pinis the set containingother jobs of project i that must precede job n, and (2) ximt = 0 for t > mrinj Fim{G,-dijwhere Fimis the set containing other jobs of projecti that must follow job m. The numberof xit variables might also be reduced,since ei might be increasedas a result of sequencingrelationships. ResourceConstraints The value r,j; specifiesthe numberof resourceunits of type k requiredfor the performanceof job j, projecti. Thus, if r;ji = 3 and ri2 = 2, then 3 units of type 1 are used in conjunctionwith 2 units of type 2 duringthose periodswhen the job is being performed.Resourcesrequiredon a job are assumedin use until the job ends. If this assumptionis not appropriate,slightreformulationis required.For example,if a certain resourceis in use only duringthe first p periodsof the job wherep < dij, then treat the job as two sequenced "subjobs"with differingresourcerequirementsand with durationsof p anddij - p, respectively.If the subjobsareto be performedcontiguously, replacethe < by = in Constraint (10). The approachcan apply to any division of a job into two or more subjobs. In any given period, the amount of resourcek used on all jobs cannot exceed the amountof resourcek available.A job is being processedin periodt if the job is completedin periodq wheret < q ? t + dij - 1. Thereforethe resourceconstraintcan be written as (ll)~ ~~~~~~~~- S.j-1 E= rijkxij, (t = min aj, Ri Rt maxGi; k 1, 2, * , K). Implementationof this constraint necessitates recognizingpredeterminedvalues of xijt. (Namely,xijt 0 for t < lij and xijt 0 for t > u;j). MULTIPROJECT SCHEDULING WITH LIMITED 99 RESOURCES If the availabilityof a resourceis constant over the schedulinghorizon,then some periodsmay involve redundantresourceconstraints.Using the schedulingsituation describedby Fig. 1 as an example,the resourceconstraintsassociatedwith periods1, 2, and 3 (viz., t < min {aij + dij} - 1) would be redundantwith those of period4, and thereforeremovable.A more generalobservationis that if the resourceavailability, Rkt, is constantfor the first t' periodswhere mini,j;rijk>0 {ai1+ dij} ? t' < max Gi, then Constraint (11) need not be imposed for periods t < mini,JrTijk>o{aij + dij} - 1. On the other hand if Rkt is constant for the first t' periodswhereminijrijk>o {aij}_ t' < min;j 9rijk>o{aij + dij}, then Constraint (11 ) need not be imposed for periods t < t,-1. Substitutability of Resources It may be possibleto use alternativeresourcesto accomplishsomejobs. For example a man with a higherskill can be substitutedfor a man with a lowerskill on particular jobs. If resourcesubstitutionis permittedon job j, projecti, then Constraint (11) must be modifiedto account for the resourcesubstitution and potential differencesin job durationswhen the job is performedby differentresources.To handle this condition, definea set of mutuallyexclusivejobs, only one of which must be performed.For example,if two alternativemethods (or resourcecombinations)exist for performingjob j definethe two alternativesas jobs jl and j2 with durationsdij and dij2, and with u;j, = uij, = uij'. Requirecompletionof eitherjl or j2 , but not both, anytime before the end of periodu,j, . To do this, replaceConstraint (7) by (12) (X1jlq + Eq-ninu11ij11,ij2) Xij2q) 1, and retain xij(uifj) in the formulation (i.e., do not replace xij(uij') by its definitional equivalent). The modifiedproject completionconstraintcorrespondingto Constraint (8) wouldbe (13) xig ? (1/1N)[A jij,11 q-Zij Xijq + ?.-jmin1liq1Zi j2) + (Xijlq Xij2Q)]. A similarmodificationcould be made to Constraint (9). Concurrencyand Nonconcurrencyof Jobs A concurrencyconstrainton jobs m andn ensuresthat they mustbe performedsimultaneously. It can be obtained by requiring ximt = xint, or by combining resource re- quirementsand treatingm and n as a single job. A nonconcurrencyconstrainton jobs m and n ensuresthat they must not be performedsimultaneously,but permitsthem to be performedin any order.Job m is being performedin periodt if and only if diim-Ximq 1, and similarly for job n. Thus the desired constraint is (14) =td Ximg + Qtin71 xi, _ 1 (t = max {lm , lin}, ... , min {uim, ui} ). Job Splitting Theoretically,total job-splittingcapabilitycould be accomplishedby treating each job as dii subjobs (eachsubjobhaving one periodduration)and by imposingappropriate sequencing constraints on these subjobs. Pragmatically,however, job-splitting capabilitywouldseldom be fully exercisedbecause of setup costs, the desirabilityof A. A. B. PRITSKER, 100 L. J. WATTERS, AND P. M. WOLFE maintainingjob continuity,etc. Hence, definingsubstantiallyfewer than dij subjobs for a particularjob may providesufficientsplitting flexibility without requiringan inordinatenumberof subjobs. Supposejob j can be split, and its subjobsare sequencedin accordancewith Constraint (10). Whentwo of its sequencedsubjobs,say m and n, are not performedcontiguously (i.e., whenthe largerjob of whichthey are a part is allowedto split), then (15) Tmn =E ~it=in t=limt tXint-din tXint representsthe durationof the split. Tmnis the slackvariableof Constraint(10). Penalty Costs. If a penalty cost, cn, is incurredper time periodof split, then CnTmn is the job-splittingpenalty cost. If a penalty cost, Cn, is incurredfor the split regardless of split duration,then CnTnis the job-splittingpenalty cost whereTnis a 0 - 1 variable such that Tn = 1 if a split occurs; i.e., Tmn> 0 = 0 otherwise. The appropriatevalue of Tnis obtainedby requiring (16) Tn > Tmn/Gi (17) Tn ? 1 + and (rmn - 1)/Ga. Both types of job-splittingpenalty costs can be used with a cost objectivefunction. Duration Extension. If net job durationincreasesas the result of a split, the Tnvariable can be used to modify the resourceconstraints.Specifically,if Win is the duration penalty when subjobn does not immediatelyfollow subjob m, then the terms in the appropriateresourceconstraintsfor subjobn become [(1 (18) ) +-t Xinq + Tn EQ+t . Xinqjrink This modificationrequiresthat only the first sum of (18) will be representedin the appropriateresourceconstraintwhen a split does not occur (i.e., when rn = 0) and only the second sum of (18) -willbe representedwhen a split does occur (i.e., when 1). n TABLE 1 Sequencing, Arrival Times, Job Durations, Due Dates, and Resource Requirements Resource Requirements Project (i) | ProjetM JobU) (j) Jb Precedence Relations (s, j) ArrivalTime (ajj) Duration (dG,)Du DueDate Date___- |_ __ k= 1 1 1 2 2 2 3 3 1 None 2 (1, 1) None 3 1 None 2 None 3 (2,1) 1 None 2 None Amount of resource k available in 1 4 8 1 3 8 1 3 8 2 3 9 2 2 9 2 2 9 3 5 9 1 3 9 each time period (Rks) 5 0 2 1 2 2 2 1 8 __ ___ k-3 Ik=2 3 1 0 1 0 2 1 3 5 2 1 2 1 0 0 1 0 4 MULTIPROJECT SCHEDULING WITH LIMITED RESOURCES 101 The above expressioncan be put into a linearform by defining if yinq = 1 TnXinq = 1, 0 otherwise. = Using a techniqueWatters [25] developed,the followingconstraintsare obtained to insure that the conditions imposed on yinq are satisfied: (19) Yinq _ rn + x,nq - (20) Yinq< (n + Xinq)/2. 1, and Expression (18), in terms of y,., becomes (21) + X[nqd_n-lt yinq]rinic. +di Problem Example Scheduling A three-project,eight-job, three-resource-typeproblem will be formulatedusilng RESOURCE AVAILABILITY REQUIREMENTS RESOURCE Rkt k= 1 7 10 13 8 4 4 2 0 0 8 k 2 3 4 8 5 4 4 *2 0 O 5 k =3 4 5 6 4 2 2 2 0 0 4 G1T8 (1,2) (1,3) G2= 9 (2,1) I !~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (2,2) I I~~~~~~~~~~~~~~~~~~~~~~~~~~~~ I (2,3) -I G3-9 (3,1) , (3,2) 1) a1j a2j 2)3 4 5 6 7 8 9 a3j FIG. 2. Earliest start and completion times, unlimited resources. 102 A. A. B. PRITSKER, L. J. WATTERS, AND P. M. WOLFE the job completion, project completion, sequencing, and resource constraints. Jobs are to be scheduled so as to minimize total project throughput time. In addition, jobs are to be started as soon as possible if doing so does not increase total project throughput time. Table 1 contains sequencing relationships, job arrival and duration times, due dates, resource requirements, and resource availabilities. For comparative purposes, solutions provided by several standard dispatching rules are presented. DispatchingRules Resource requirements for jobs and limited resource availability preclude jobs from being started immediately. Immediate dispatch, as depicted by the schedule in Fig. 2, would cause resource requirements to exceed resource availability. As seen from Fig. 2, minimum throughput times for Projects 1, 2, and 3 are seven time units, five time units, and five time units, respectively. Thus, any feasible solution to the scheduling problem could not yield a total throughput time of less than 17 time units. The following dispatch examples observe arrival and sequencing constraints as resource conflicts are resolved. In some cases, the due dates are not met. RESOURCE REQUIREMENTS RESOURCE AVAILABILITY Rkt k =3 4 4 4 2 3 3 11 G1=8 ,I (1,1) (1,2) , III (1,3) G2 9 (2,1) (2,2) (2,3) , G3=9 (3,1) > ; a1j I z Ij 2/ a2j a3j 3 I 4 ~ 4 (3,2) I 5 I 6 ~~ I I 7 I I 8 9 10 - _ FIG. 3. FCFS, Breaking ties with shortest job first. MULTIPROJECT SCHEDULING WITH LIMITED RESOURCES 103 First-Come-First-Served. Figure 3 indicates a schedule obtained when the jobs are processed on a first-come-first-served basis; arrival ties are broken by processing the .shortest job first. This rule produces a schedule for completing Projects 1 and 2 on time, but Project 3 is late by one time unit. Total throughput time is 22 time units. If ties are broken by processing the longest job first instead of the shortest job, the schedule in Fig. 4 results. No lateness occurs, and total throughput time is 21 time units. Minimum-Project-Slack-First. Priority is determined by project slack (the time between the earliest and the latest permissible project completion time). From Fig. 2, Project 1 slack = one time unit; Project 2 slack = three time units; Project 3 slack = two time units. Therefore, under the minimum-project-slack-first dispatch rule, jobs of Project 1 are RESOURCE REQUIREMENTS 5 4 54 RESOURCE AVAILABILITY Rkt 1 k 7 7 78 k=2 3 3 3 5 3 3 4 .3 3 k =3 4 4 4 4 3 3 2 1 0 4 G1=8 (1,1) , I (1,2) (1,3) G2=9 I I (2,1) (2,2) I (2,3) G -9 (3,1) (3,2)' a,j i 1 20 a2j a3 3 . 4 5 6 7 8 9 FIG. 4. FCFS, Breaking ties with longest job first. 104 A. A. B. PRITSKER, L. J. WATTERS, AND P. M. WOLFE RESOURCE AVAILABILITY REQUIREMENTS RESOURCE Rkt k =I 7 7 7 7 5 S 3 3 - k =2 3 3 3 4 5 4 5 2 1 1 2 2 5 = 3=i~~~~~~~~~~~~i= kk 4 4 2 4 3 2 2 2 1 _ ? O 4 -1 2 2 8 (1,1 ) I (1,2) (1,3) G2=9 (2,1 )I (2,2) (2,3) I -q G3=9 (3,1) l (3,2) 1,~~~~~~~~~~~~~~~~ tXl / 1 2, a11 a2j 3 ~I I I I I I z t ; 4 5 6 7 I I 8 9 10 I I 11 12 a3i FIG. 5. Minimum project slack first. scheduledfirst, then those of Project 3, and finallythose of Project 2. Figure5 depicts the resultingschedule.projects1 and 3 are completedon time, but Project2 is late by three time units. Total throughputtime is 24 time units. Formulation of Example Variables required in the formulation are numbered as follows: Variable No. Variable 1 2 3 4 5 6 7 8 9 X114 X127 X13s X134 X185 X136 X137 X214 X215 X210 10 Variable No. 11 12 13 14 15 16 17 18 19 20 Variable X223 X224 X225 X226 X227 X22a X236 X287 X238 X317 Variable No. 21 22 23 24 25 26 27 28 29 30 Variable X318 X323 X324 X325 X326 X327 X828 Xis X27 Xa8 Variable No. 31 32 33 Variable Xs2 X38 X3g s4 _ V lIV VliViVl 0 _ _ _ } Vill _ 4_ o _o 0 --'-0 o0 0 cc eq _c e c q eq o cc 0 eq eq - C4 -e VlVV ' tl lll VtlV Vil llVI V llVi V tl Vtl V\A tl l Vi VilVil VllV llV tI\l Vll Vll I VilVil I Vll Vll Vll Vtl I Vil Vii .,Vii I \ _ co c e '- q --- I C*I Vi. w--- _ \0 iT . \|0 1 ccl 14-4 ccci~~~~~~~~~~~ -1 eq -c1I -4 -~~~~~~~~~~~~~~~ eq e ~~~~~-4- cc i I I_,, . ~ ~ ~ 1- - e 0 os q- v __ - .q Y - _ I I _ __ _ , , _ ' __ _ - cc _ ,_ __ _ __ __ _ . , _,q e if _ eq_ cc _l _ 'eq - II - I _ S cc _ _ __ - cc 4 I _ _ - _ eq_ _ _l _ eq_ eq _ . - cc eq W_ e eq_ - _l e C cccccc I ci 0 4 , cc c .. eq ' ' 1 105 eqC c ~ l -I, eq % e4C 1_1 11111 ~ ~~~~ I CI % % q I tP I _ I ""11 , II ' qe ~~~~~~~~~~~~~~ II. __ eqeq eq _4 _ - cccc eq4cq rp~c I No e I- - ccl o I e eqeq II _ N | 1111 eqq ,,, _ I, I ~~eqeq Th iCY I > , - _ccccc - _ I eq -q co I I I II_____ I -4 C* o eqeq I I eq 1- -4 " G , -cc- -4 C* I I4 4 ~ eq -cc q eq _ O_ ~ I> - ,> . cc II I.c Io eq 1- v1 - C1- -- -~~~~~~~~~ cc ~ >-l~~~~~~~~~~~~~~~~~7eq -c -v m -- I q ~~~ e q -- c eq --- I?qwwqc 106 A. A. B. PRITSKER, L. J. WATTERS, AND P. M. WOLFE All xij(uij) variables (viz., x115, X128, X138, x217,x229, x239, X319, x329)are expressedin terms of their definitionalequivalents. Maximizingobjective function (2) provides minimumtotal throughputtime and startsjobs as soon as possiblewithout otherwiseaffectingthroughputtime, provided >2i 1 M > I: = ui 64. The value M = 65 will be used. Table 2 containsthe coefficientsof the objectivefunction (multipliedby M so that they are all integer) and the constraints.The constraintsare arrangedas follows: 1-8 are job completionconstraints; 9-14 are projectcompletionconstraints; 15-16 are sequencingconstraints;and 17-37 are resourceconstraintsfor periods t 2 min (ai; + dij} - 1 = 3. Note that some constraintsin Table 2 are nonbinding(viz., 1, 2, 34, 35, and 37) and may be deleted from the formulation. Solution Using a 0-1 Code The problemwas solved with a 0-1 integer linear programmingcode developedby Geoffrion[7] and programmedfor RAND's IBM 7044. Executiontime is 2.3 seconds. The optimalsolutionis presentedin Table 3. The optimumschedulethus determined is presentedin Fig. 6. Projects 1, 2 and 3 are completed one, three, and two time periodsahead of their respectivedue dates. Total throughputtime is 17 time units. For this examplethe mathematicalprogrammingsolution representsa substantial and miniimprovementover the solutions obtained from the first-come-first-served mum-project-slack-first dispatch rules. One dispatch rule that did yield the optimal rule that determines priority as the time solution was a minimum-job-slack-first betweenthe earliest and the latest permissiblejob completiontime. However,no attempt was made to test or evaluate dispatchrules exhaustively. TABLE 3 Solution to Example Variable t 1 Xi. XZ12 - 2 1- 4 3 5 6 7 .8 1 0 0 0 1 0 0 9 - 1?1 Xist 0 0 X21t X22t 1 0 0I 0 - 0 0 0 1 0 0 0 0 1 0 0 1 1 1 0 0 1 0 0 X23t? ? X32g ()indicates ? ? X2t()? X31t? ? ? ? ? ??? 0 0 0 the variable is predetermined to equal zero. MULTIPROJECT SCHEDULING WITH LIMITED RESOUJRCES RESOURCE REQUIREMENTS 107 RESOURCE AVAILABILITY k=i 5 6 8 8 8 8 5 0 O Rkt 8 k=2 3 4 5 5 4 4 5 0 O 5 k-3 2 3 4 4 4 4 4 0 O 4 GI=8 (1,2) I (1,3) I II G2=9 (2,2) (2,3) G3=9 (3,1) (3,2) 4 al ,__ X l~~~~~~~~I 1/ 2/ a2j a3j 3 4 5 I 6 7 I111t 8 9 FIG. 6. Optimal solution. This problem, when formulated in terms of the variables Bowman [3] uses and extended to accommodate multiple resources, would involve 72 variables and 125 constraints. If predetermined variables are eliminated, the Bowman formulation could be reduced to 50 variables and 94 constraints, still larger than the 33-variable, 37-constraint formulation presented here. Conclusion A zero-one linear programming formulation of scheduling problems has been developed which can accommodate a wide range of conditions. The formulation is more efficient than previously reported models in terms of the number of variables and the number of constraints required to model a scheduling situation. One general comment on the size of the formulation is that it is favorably affected by an increased amount of sequencing, by relatively long jobs, and by close proximity of the scheduling horizon (or absolute due date) to the optimal project completion date. This research coupled with the immense research on zero-one programming codes should yield practical procedures for obtaining optimal solutions to certain types of scheduling problems. 108 A. A. B. PRITSKER, L. 3. WATTERS, AND P. M. WOLFE Reference 1. BALAS, E., "An Additive Algorithm for Solving Linear Programs with Zero-One Variables," OperationsResearch,Vol. 13, No. 4 (July-August 1965), pp. 517-546. 2. BALINSKI, M. L., "Integer Programming: Methods, Uses, Computation," Management Science, Vol. 12, No. 3, November 1965, pp. 253-313. 3. BOWMAN,E. H., "The Schedule-Sequencing Problem," Operations Research, Vol. 7, No. 5 (September-October1959), pp. 621-624. 4. CONWAY,R. W., W. L. MAXWELL,AND L. W. MILLER, Theory of Scheduling, Addison-Wesley Publishing Co., Inc., Reading, Massachusetts, 1967. 5. DAVIS,E. W., "Resource Allocation in Project Network Models-A Survey," Journal of Industrial Engineering, Vol. 17, April 1966, pp. 177-188. 6. FENDLEY,L. G., "The Development of a Complete Multi-Project Scheduling System Using a Forecasting and Sequencing Technique," Ph.D. Dissertation, Arizona 1959. University, 1967. 7. GEOFFRION,A. M., An Improved Implicit Enumeration Approach for Integer Programming, The RAND Corporation, RM-5644-PR, June 1968. 8. GERE, W., "Heuristics in Job-Shop Scheduling," Management Science, Vol. 13, No. 3, November 1966, pp. 167-190. 9. GLOVER,F., "A Multiphase-Dual Algorithm for the Zero-One Integer Programming Problem," OperationsResearch,Vol. 13, No. 6. (November-December 1965), pp. 879-919. 10. HILLIER, F. S., Chance-ConstrainedProgramming with Zero-One or Bounded Decision Variables, Technical Report 4, Contract NONR-225 (89), Stanford University, Stanford, California, August 1966. 11. LAMBOURN,S., "RAMPS-A New Tool in Planning and Control," The ComputerJournal, Vol. 5, No. 4, (January 1963), pp. 300-304. 12. LAWLER,E. L., "On Scheduling Problems with Deferral Costs," Management Science, Vol. 11, No. 2, November 1964, pp. 280-288. 13. MANNE, A. S., "On the Job-Shop Scheduling Problem," Operations Research, Vol. 8, No. 2 (March-April 1960), pp. 219-223. 14. McNA-UGHTON,ROBERT, "Scheduling with Deadlines and Loss Functions," Management Science, Vol. 6, No. 1 (October 1959),pp. 1-12. 15. MIZE, J. H., "A Heuristic Scheduling Model for Multi-Project Organizations," Ph.D. Thesis, Purdue University, 1964. 16. MODER, J. J., AND C. R. PHILLIPS, Project Management With CPM and PERT, Reinhold Publishing Company, New York, 1964. 17. MuTH,J. F., AND G. L. THOMPSON(EDS.), Industrial Scheduling, Prentice-Hall, Inc., Englewood Cliffs, New Jersey, 1963. 18. PETERSEN,C. C., "Computational Experience with Variants of the Balas Algorithm Applied to the Selection of R&D Projects," ManagementScience, Vol. 13, No. 9, (May 1967), pp. 736-745. 19. PRITSKER,A. A. B., AND L. J. WATTERS,A Zero-OneProgramming Approach to Scheduling with Limited Resources, The RAND Corporation, RM-5561-PR, January 1968. 20. --, AND P. M. WOLFE, "Mathematical Formulation: A Problem in Design," Proceedings of the 19thAnnual Institute Conferenceof AIIE, Tampa, Florida, May 1968. 21. ROOT,J. G0., "Scheduling with Deadlines and Loss Functions on k Parallel Machines," Management Science, Vol. 11, No. 3, January 1965,pp. 460-475. 22. SISSON, R. L., "Sequencing Theory" in Progress in OperationsResearch, Vol. I, R. L. Ackoff (ed.), John Wiley and Sons, Inc., New York, 1961. 23. SMITH,R. D., ANDR. A. DUDEK, "A General Algorithm for Solution of the n-Job, M-Machine Sequencing Problem of the Flow Shop," Operations Research, Vol. 15, No. 1, JanuaryFebruary 1967, pp. 71-82. 24. WAGNER,H., "An Integer Linear Programming Model for Machine Scheduling," Naval ResearchLogistics Quarterly,Vol. 6, No. 2, (June 1959),pp. 131-140. 25. WATTERS, L. J., "Reduction of Integer Polynomial Programming Problems to Zero-One Linear Programming Problems," OperationsResearch,Vol. 15, No. 6, November-December 1967, pp. 1171-1174. 26. WIEST, J. D., "Some Properties of Schedules for Large Projects with Limited Resources," OperationsResearch,Vol. 12, May-June 1964, pp. 395-418. "A Heuristic Model for Scheduling Large Projects with Limited Resources," Manage27.-, ment Science, Vol. 13, No. 6, February 1967, pp. B-359-377.