Multiproject Scheduling with Limited Resources: A Zero

advertisement
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.
Download