An Algorithm For Finding Optimal or Near-Optimal Solutions To The Production Scheduling Problem G. H. Brooks, C. R. White (1965)
An Algorithm For Finding Optimal or Near-Optimal Solutions To The Production Scheduling Problem G. H. Brooks, C. R. White (1965)
An Algorithm For Finding Optimal or Near-Optimal Solutions To The Production Scheduling Problem G. H. Brooks, C. R. White (1965)
ABSTRACT @ A procedure has been developed for finding optimal solutions to the scheduling prob-
lem for a wide variety of possitle criteria and constraints, Ay most practical problems are muck
larger than could be soloed economically by this. procedure, the idea of using the lower bound as a
decision rule Jor developing a single near optimal solution was developed. The experiments on
these decision rules showed that they might profitably be used in place of other rules for certain
applications,
@ lv industrial situations the need to determine the se- all commodities will be combined into a single arraycalled
quence in which jobs should be processed on machines the sequence array and denoted by 8. In general this will
offen arises. It is hoped that the procedure presented here be as follows:
will help in finding sequences that are either better than a
[411 Miz * + = Mtn |
shop foreman ean make up by hand or, if only as good, } }
may be generated more economically, Often the hand S=|: jap Beg t+ «Bap |
schedules may not anticipate difficulties, and few persons
will try to improve a sequence once one has been decided
eet as ~~" faa)
upon. The procedures to be shown. here for finding. se-
quence are applicable to companies haying stall size where#,; is the order in whieh the ith job will be processed
business computers such as the [BM 1400 series data on the jth machine, For example,if a given three jobs will
processing systems, The procedures and results estah- be processed on four machines, and if each will be se-
lished here are developed from an algorithm by Giffler quenced on four machines in the same order, then
and Thompson (1). The solution closely resembles a
123 4
branch and bound algorithm developed independently
by Little, Murty, Sweeney and Karel (3) to solve the S=/1 234
traveling salesman problem, 1 23 4)
This sequenee array specifies that all three jobs will be
processed first on machine 1, second on machine 2, third
On a shop routing sheet the technological ordering of 4
on machine 3, and fourth on machine 4, All three jobs
job or commodity ix given, One job may be processed first
have the sume ordering in order to sitnplify the calcula-
on machine 1, second on machine 2, and third on machine
tion for illustration. The solution procedure would be
3. Another job may be processed first on machine 3,
exactly the same if different orderings were used for the
second an machine 2, and third on machine 1. In the solu-
different jobs.
tion to be developed, all jobs are assumed to have the
Now that the technological ordering is specified, the
technological order specified completely, although they
process times for each job on each machine must be given.
do not need to have the same ordering, This ordering for
Standard time is a predetermined estimate of the time
’ Now Professor of Industrial and Systems Engineering, Uni- required to process, set up, and clean up a job on a given
versity of Florida. machine, and it is assumed that standard times are given
* This presentation is based in part on research performed for a
doctoral dissertation by Charles K. White, under sponsorship by
as integer values. The assumption is made that the se-
the Purdue Research Foundation and under the direction of quenee of the jobs has no effect on the standard time.
Thomas L. Bartlett, These times are specified into a single array called the
BS
facility array and denoted by F. In general this will be as row 2; hence, the third operation on job 2 is performed on
follows: machine 3.
fin fis +--+ San) The assumption is made that no two joba may be
pan Fe fra Son | processed on a given machine at any common interval of
time. In the example, the problem array indicates that
job | is tentatively scheduled for the time interval (0, 6),
Mf Sais:*'* Som) job 2 is in (0, 1) and job 3 is given the interval (0, 4). By
this assumption, this schedule is not possible. When more
where f,, is the time to process the ith job on the jth
than one job is scheduled for the same machine at some
machine, A simple example will be considered. In this
common interval of time, the jobs are said to be in con-
sample problem the following facility array is assumed:
flict. In order to resolve this conflict the jobs must be
6 8 O 4) placed in a sequence. Finding a procedure for obtaining
i i
Feil 3 9 6} the best sequence over all jobs and machines is the central
problem of scheduling and of this presentation.
45 3 6, One more factor must be considered before attempting
Forexample, job | on machine | takes 6 units of time to to solve this problem. A method must be devised to
complete, and job 3 on machine % takes 3 units of time. evaluate a sequence to determine if it is better than an-
By the cumulation of the rows of F the ordering and other sequence. The criterion used to evaluate the se-
times can be shown in one array called the problem array quences developed in this sample problem will be that of
and denoted by 7’. In general this will be as follows: minimizing the total time to complete all jobs on all ma-
chines. Other criteria will be developed later,
Pur Pure * Pw)
Procedure to solve the sample problem
Pa fe Pa Pe
The first step to solve the sample problem is to set up a
work array or linear array. A work orlinear array is the
‘Pat Puss * * Pow array in which the solution is developed and appears as
follows:
January-February, 1965
In the foregoing there are still conflicts; however,
there is no conflict for the time interval (0, /). Through-
out the solution there will be no conflict for jobs ending
at any time less than 7, where 7 is increased every
iteration until the solution is obtained. The schedule is
completely defined for jobs ending at times less than T
in the solution,
As the conflict is resolved about 6, the lower bound for 6
will be found. Note that the greatest time must be found
on machine 4 as all orders are processed last on machine 4.
The minimum time is 27; however, the lower bound can be
found only by observing that the three commodities on
machine 4 do conflict. The arrival times of the three com-
modities on machine 4 are 23 for commodity 1, 19 for
commodity 2, and 18 for commodity 3. (These times are
the completion times for machine 3.) By arranging these
start times in ascending order, the minimum overall time
can be found. As these are all minimum possible arrival
times, commodity 3 cannot be complete before calendar
time 24 and commodity 2 cannot be completed before
calendar time 244-6= 30, and commodity 1 cannot be
completed before 30+4=34 units of time. This deter-
mination of bounds only applies if the minimum time to
complete all jobs on @ machine is the objective. The num-
ber 34 is larger than 27, and this number will be used as
the lower bound for conflict resolved about C\. If the
Within facility block, 1, commodity 2 ends at time 1,
commodities do not all have the same routing, the same
As shown previously, this is in conflict with commodity|
procedure is followed to find a minimum completion time
and commodity 3, that is, commodities 1, 2, and 3 over-
for each machine, then the greatest of these minimum
lap on the same machine,
times for each machineis the lower bound.
Step 2. Cheek all members of conflict for constraints,
Repeating the same procedure by choosing the second
As no constraints were placed on any commodities, this
member of the conflict set, the original problem array
stop can be omitted for this problem. This step will be
nf eu
would become the following:
explained more fully in the second example.
Step 3. Find an estimate of the lower bound for each 15 24 28
member of the eonfliet, Resolve the conflict about the 43
member having the least lower bound.
There are three members in the conflict that is to be re- 5 WB WW,
solved. This conflict should be resolved to give the best Observe that in finding the lower bound the problem
chance of arriving at an optimal or near optimal sequence array is only temporarily updated. After the least lower
over all jobs and machines. One way is to establish a bound is found, it will be permanently updated, The
lower hound in terms of total time for each member of the minimum time to process all jobs on machine four is
contliet. If this lower bound relates closely to the criteria, 19+6+4=29. Hence, a lower bound about conflict mem-
the least lower bound of the three would give basis for re- ber 2 is 29.
solving the conflict. By resolving the confliet about each Again for the third member of the conflict the problem
member and then finding the minimum possible time to array becomes:
completion, such a lower bound is established. 10 18 2 a
For example, by resolving the conflict under considera- P='5 8 WT B
tion about commodity 1, C, is seheduled for the time in-
terval (0, 8) while Cy must take the interval (6, 7) and (; 4912 8B
has (6, 10). In the problem array all times which follow The minimum time to complete commodity 2 is 24 if
(and Cy on machine | must be increased by 6, The prob- the overall time is to be minimized. The minimum time for
lem array becomes changed as follows: commodity | is 31 and not 244+4=28. Care should be
6 4 3 2 taken to avoid missing such idle time in finding lower
bounds. The lower bound about the third member of the
Pei7 0 19 %) confliet is 31.
10 15 18 By The procedure for finding a lower bound can be sum-
bound is the greatest of these times taken over all ma- 5 a ‘te bt Nou
4 un ws Nk
chines.
7 wa
As 20 is the least of the three lower bounds, the conflict . » n * [ar] x
should be resolved permanently about this member.
ca 2
The possibility of also resolving the remaining conflict
should be considered, If only one solution is to be found,
the immediate resolution of this remaining conflict
is desirable; however, if an optimal solution is desired or , 1 {
iterative improvements are to be made in the solution,
then it is more convenient for caleulation to resolve only
‘| —
one member at a time,
Now that the resolution is made it is desirable to keep ’ a |
track of this resolution and the lower bounds. This can be
done most easily in a manual solution by representing the le pp —
decision by a node and the three members of the conflict
by branches generating from the node as shown at the top © 3; » # WkRRH HOD BAaAAS AR
of Figure 2. Referring to Figure 2, the numbers on the left Figure 2. Decision tree and Gontt chart for problem one.
hand side are referred to as levels. Across from level 1 the
three lower bounds just calculated are shown.
array and the calculation returns to Step 1.
In the sample calculation T’=4 is the next higher
integer, and T is set equal to 4.
As there ix no conflict involving jobs ending at time
JT =4, the calculation returns to step 4 where the next
facility to process commodity 2 is found to be facility 3.
Under facility 3 and commodity 2, the number 13 is
It takes a minimum of one decision to arrive at the nodes entered.
labeled 34, 29, 31; hence, the conflict level is the minimum At this point the problem will iterate through the same
number of decisions to arrive ata given node in the deci- steps until there is no higher integer T’. When there is no
sion tree, The decision tree is the entire diagramat the higher integer T’, a solution has been found with a total
top of Figure 2, and it represents all the decisions made to time equalto 34. In Figure 2 the decisions to arrive at this
arrive at a solution of the sample problem. The nodes solution can be traced. Note that the lower bounds never
with the square boxes represent final solutions and are decrease as the conflict level down a given path increases.
called terminal nodes, The nodes with the letter z below If all lower bounds down all paths from a given node are
themindicate that no better solution can be found by con- greater than the lower bound of this originating node,
tinuing down this path. A path is a series of branches con- then the lower bound of the originating node can be re-
necting nodes of increasing conflict levels, vised and set equal to the least of the lower bounds over
Step 3 is now complete as there are no more conflicts in- all paths generating from this node. Hence, at conflict
volving jobs ending at time T=1 in the work array, level 2 for the decision between 15 and 16, the lower
Step 4. Find the next facility, if any, to process the bound ean be changed from 29 to 34. By a series of such
commodity with value 7 and enter 7 plus the process revisions all paths in the decision tree are exhausted. The
time for this next operation in the corresponding box of last solution found must be the optimal solution to the
the next facility. problem as the revised lower bounds at conflict level 1
The work array in Figure | indicates that commodity 2 will all be greater than or equal to this solution.
on machine | has a completion time of T=1. Machine 2 Step 6. At the previous conflict level, all lower bounds
processes commodity 2 next, andit has a process time of 3 should be compared to the solution. If any lower bound is
units of time; thus +3 = 4 is entered into the work array leas than the solution, return to Step 3. If all lower bounds
under facility 2 and commodity 2. Note that this value of are greater than or equal to the last solution found, back
4 can be obtained directly from the problem array. up one level and repeat this step. When all levels are ex-
Step 6. Test to see if T is the largest entry in the work hausted the optimal solution has been found.
array.If it is, the calculation goes to step 6. Ifit is not, T Again in Figure 2, the conflict level 4 has two branches.
is set equal to the next higher integer, 7’, in the linear One branch leads to the solution just found, and the other
itateet
Ll alee 14 7. The lower bounds for conflict, are L,= (31-20) =11 and
L, = (39 —30) +-(27 —20) = 16. Neither of these is better than the
sivlialrlz taleley 1 ae presentsolution,
- -+— tees a=} neem - liens
Computationol experience
Even for moderate size problems, the foregoing proce-
Figure 3. The solution and decision tree of problem two, dure is too long to do on existing computers. The proce-
dure does allow one to come as close to the solution as
The assumptions used are the same as before and the time and cost permit. Instead of using the lower bounds to
solution follows the algorithm precisely, The solution of eliminate solutions, it may be desirable to use the lower
the problem is shown in Figure 3. The resolution of the bound as a decision rule to develop a single solution
conflicts can be summarized as follows: which, while it may not be optimal, will usually be at
1, At conflict 1, the resolution was around Cy because it is least a near-optimal solution. In developing this idea,
work in proces and precedes rush jobs, several sample problems were run for both minimizing
2 At conflict 2, the resolution was around (, because it is a lateness and for minimizing total schedule time. The re-
rush job.
4. At conflict 4, lower bounds were caleulated for C, and C;, If
sults showed the initial solution for the minimizing late-
the conflict were resolved about C, then the earliest time C, could ness rule usually involved less total time than the mini-
be completed would be 9484944 =30 and C, would be 1245 mum time rule itself, As it did not appear profitable to
Table 3
Comparison of dispotch rules for various size problems
Sorwory-Febrvory, 1965
Table2
Compertson of peta née for 510 cise problems
Stentor
»
MIs
Cheers Funrtice Lotenens
Rad OP,
*
|
LONG Min |
Masipne Séle Time
RAK
Tne
om. OF. tore
\ z165
2489
5
3485
2468
759
2°
4250
boo
483
teop
1283
1257
2235
«*
90
0
745
ges
5
817
1006
«°
747
2
3 yarh) ns 3506 36) 4483 108 1746 2212 1003 710 46 1011 T72
4 dow 3233) Wi guia a7 asta zine aso 614 B51 we 7h
& z |
ee 2a MMI Bil |
1417 100 1833 O74 825 sau
Avernge 2247 7 44091] 4 4752.6 7 1650.3 1995. 1302.8 722.5 91.8 870.4,
782.4
Mid, Dev. |
554.9 ABLE) 674.3 7.0 387.7, 413.4) 40.4} 87.0; 76.7 17 |
288
*
No Kolutinn,
**
Seo fuutaute on Table 1.
A
procedure has heen developed for finding optimal
solutions for a wide variety of posatble criteria and con-
is An Engineer's
Biggest Ascot ane
pan!
la basic dest, glen.
ments on these ecision rules showed that they might Sr. Aasocigte indvetrial Enginesring of
nee Sidy.,
231 Frith nine meee Feb.,
Pe anner"
ae
profitably be used in place of other rules for ertain appii- te
taro Jeanette Emad,
conte? Chienge Manager, 30 16. Michigan Ave..
cations. Ciage