a solution to one type of the n-job, m-machine sequencing
TRANSCRIPT
1
A SOLUTION TO ONE TYPE OF THE
N-JOB, M-MACHINE SEQUENCING PROBLEM
by
RICHARD DOWLEN SMITH, B.S. in Military Science
A THESIS
IN
INDUSTRIAL ENGINEERING
Submitted to the Graduate Faculty of Texas Technological College in Partial Fulfillment of the Requirements of
the Degree of
MASTER OF SCIENCE
IN
INDUSTRIAL ENGINEERING
ADDroved
Accepted
m AC
ry
/Uo. m
ACKNOWLEDGEMENTS
I am deeply indebted to Professor Richard
A. Dudek for his direction and help in the prepar
ation of this thesis, and to the other members of
my committee, Professors P. M. Ghare, A. A. Gioia,
V. P. Luchsinger. Also appreciation is gratefully
expressed to my wife, Carolyn, for her aid in the
preparation of this manuscript and her encouragement
during the research.
TABLE OF CONTENTS
LIST OF TABLES
LIST OF ILLUSTRATIONS
lo INTRODUCTION . . . . . . . . e 2
Purpose e . c , . . . 3
Review of Previous Research . . . 4
Geometric Model . . . 5
Branch and Bound Models . . . . . . . . . 5
Combinatorial Analysis Models 7
Approximate Models 8
Definition of Special Case to be Considered. . 9
Method of Approach . . . . . . 11
II. DEVELOPMENT OF THE ALGORITHM 12
Definition of Symbols 12
Dudek-Teuton Algorithm .13
Counter-Example to the Dudek-Teuton
Algorithm . » . , ; . . . . . 20
Development of New Algorithm 23
Statement of Algorithm . c . . . . . . . . . 26
III. PROOF OF OPTIMALITY . . . . . . . . 34
General Form of Proof . . 34
Procedure to be Followed in Proof of
1 ii 0 O 1 G i n S « o » » o e » « c e « e o » o O '
n-Job, 2-machine Case . . . . . . 40
Table of Contents (con't.)
n-Job, 3-Machine Case c . . . . 42
Inductive Proof of m-Machine Decision Rules . . 54
Additional Feature of 3-Machine Case . . . 55
Inductive Assumptions , . . . . , . . . . 59
Inductive Proof - Critical Sequence . . . 61
Inductive Proof - Post-Sequence 73
Transitivity of Comparisons . » 76
IVo DEVELOPMENT OF THE ALGORITHM .79
Simplification of Decision Rules 79
m-Stage Algorithm o . . . . . . 84
Example Problem c . . . . . . . . . . . . . . . 87
Vo RESULTS AND CONCLUSIONS . . . . . . . . . . . . 97
Analytical Verification . . . c 97
Machine Programs . . . . . . . . 98
Proposed Algorithm . . . . . . . . . . . . 98
Dudek-Teuton Algorithm , . 98
Enumeration , . . . . . . . . . . . . . . 99
Conclusions Based on Results of Verification. .100
Number of Sequences .100
Time Required for Calculations 106
Comparison of Efficiency to Other
Known Algorithms .110
General Conclusions „. . . . . . . .111
Recommendations for Further Research .112
Summary of Results . .113
Table of Contents (con't.)
LIST OF REFERENCES o o o o o o e 114
APPENDIX o e o o o o • c e e 116
Appendix A: Individual Problem Data 117
Appendix B: Programs and Instructions for Use . . .130
Appendix C: Sample Input and Output 151
^
LIST OF TABLES
TABLE I: Known Conditions (3-Machine Case) 45
TABLE II: Known Conditions (n-Machine Case) 63
TABLE III: Conditions to be Proven (n-Machine) . . . . 67
TABLE IV: Kh.i(N)" - Kj (N) ' vs. Kj(N)" - Kj+i(N)'. . . 70
TABLE V: Summation of Calculations (j=l, job "a" = 2) . . 83
TABLE VI: Summation of Calculations -
Presequence 2 _ (j=2 Job "a" =5) . . . . 90
TABLE VII: Summation of Calculations -
Presequence 5_ (j=2 Job "a" =2) . . 90
TABLE VIII: Summation of Calculations -
Presequence 25_ _ _ (j=3 Job "a" = 1 ) . .91
TABLE IX: Summation of Calculations -
Presequence 52 (j=3 Job "a" = 1) . . . 92
TABLE X: Summation of Calculations (n-l " and
n^^ positions) 95
TABLE XI: Average Number of Sequences
Generated (m=3) 101
TABLE XII: Average Number of Sequences
Generated (m=5) . . . . . . 101
TABLE XIII: Average Number of Sequences Generated
With Dudek-Teuton With Dominance
Check (m=3) 105
TABLE XIV:: Average Number of Sequences Generated
With Dudek-Teuton With Dominance
Check (m=5) 105
)
List of Tables (con't.)
TABLE XV: Time Required (m=3) 107
TABLE XVI: Time Required (m=5) 107
TABLE XVII: Time Required With Dudek-Teuton
With Dominance (m=3) 109
TABLE XVIII: Time Required With Dudek-Teuton
With Dominance (m=5) . . 110
TABLE XIX: Sequences Generated and Time
Required (m=3) . . . . . . . . . 118
TABLE XX: Sequences Generated and Time
Required (m=5) . . . . . . . . 125
LIST OF ILLUSTRATIONS
!
Figure 1: Gantt Chart (3-Machine) 14
Figure 2: Flow Chart of Decision Rules . . . . . . . 27
)
CHAPTER I
INTRODUCTION
In the field of operations research, one of the "classic"
problems has been that of sequencing "n" jobs through "m"
machines. Sequencing means the determination of the order
in which each machine will process the n jobs so that some
specific criteria will be maximized or minimized.
In this problem there are nl possible ways to order
the jobs on each machine and a total of (nl)" possible se
quences .
There are several different optimizing criterion that
can be used. A few of these are:
1. Minimization of time required from the start
of the first job until completion of the last
job on each of the machines
2. Minimization of the total time required for the
entire series of jobs to be completed
3. Minimization of the total idle time on the machines
4. Maximization of profit from meeting due dates
and not incurring penalties involved in late
delivery
5. Minimization of in process inventory costs
In regard to the general sequencing problem very
little progress has been made toward the development of a
practical algorithm or set of rules which can be followed
to arrive at an optimal solution. A more detailed history
of work in this area will follow.
In this chapter the purpose of this thesis will be
discussed and a historical resume of progress in this area
will be set forth. Finally a detailed definition of the
specific area of the general sequencing problem which is
to be investigated will be presented.
Purpose
This research deals with one specific type of the
general sequencing problem. This problem is characterized
by n jobs and m machines. If machines are designated by
capital letters, each job must be processed on the machines
in the order A, B, C, ..., M. Also each machine must pro
cess the jobs in the same order. For this problem there are
only nl possible sequences.
The criterion considered in this research is minimum
total elapsed time. This is defined as the time from the
start of processing by the first machine on the first job
in the sequence until completion by the last machine of
the last job in the sequence. The time required for each
machine to jg rocess each job must be given and must be inde-
: vuuciii or Trie 0>der in which the jobs are processed.
It IS intended to develop a completely general al
gorithm and demonstrate the efficiency of this algorithm by
solving several problems on a computer and comparing the
times required for computation using this algorithm, enum
eration, and the Dudek-Teuton algorithm.
Review of Previous Research
The efforts of researchers in developing algorithms
to solve sequencing problems have been meager. The first
notable advance made m sequencing was by S. M. Johnson in
1954. He developed an algorithm to solve the n job, 2 mach
ine problem with minimization of total time as the criteria.
Also he developed an algorithm for one special type of the
n job, 3 machine problem. This problem is characterized by
the fact that the smallest processing time for the machines
"A" and "C" is at least as large as the largest processing
time on machine "B". (6)
From 1954 to 1963 very little research of a practical
nature was reported. Some research was performed in three
distinct areas--combmatoi ial solutions, integer linear pro
gramming solutions, and solutions through simulation. All
of this research is reported m a June 1963 thesis submitted
by Oo Fo Teuton to Texas Technological College. (11)
Since the start of 1963 four notable approaches have
been made to the sequencing problem. These include a geo
metric asJima J ^ a "branch and bound" approach, a combina-
torial uii.iiysLs apjiroach, and an approximation approach.
Geometrical Model
A geometric model and a graphical algorithm for a
sequencing problem were advanced by William W. Hardgrave
and George L. Nemhauser (4) in 1963. The problem which
they considered was one where there were n jobs and m
machines and the machine order of processing for each job
was known but not necessarily the same for all jobs.
Neither did each machine have to process the jobs in the
same order. By the use of a graphical approach the authors
are able to show how an optimal solution in terms of total
time can be determined.
Since it is necessary to portray a network in graph
ical form this algorithm is generally limited to 3-dimen-
sions. Each job adds a dimension and therefore it is feasible
only for 3-job and m-machines.
"Branch and Bound Models"
The "branch and bound" technique was developed by
Little, et. al., (9) to solve the classic "traveling sales
man" problem. This problem involves the ordering of cities
for travel in such a way to minimize total distance traveled.
There are (n-l)! possible solutions. In the "branch and
bound" algorithm a pair of cities is ordered together. A
subset of possible routes with these cities in this order
and a subset of routes with these cities not in this order
are then created. For each of these subsets a lower bound
on distance traveled is established. From the first subset
wi^il '--
two more subsets are created using another pair of cities.
This branching is continued until one order of travel is
fixed and its distance is less than any lower bound of a
subset from which no branching has occurred.
This method was extended to the sequencing problem
in two separate research efforts. Ignall and Schrage (S)
published an article using this method. Also Lomicki (8)
used this concept to develop an algorithm applicable to the
sequencing area. Both articles use the "branch and bound"
/ method of calculations in a similiar manner. All possible
jobs are placed into the first sequence position and lower
bounds on total time are calculated^ From the subset having
the lowest bound another group of subsets is created by
placing all other jobs in the second sequence position.
Again a lower bound is calculated for each of these new
subsets. This procedure is continued until one sequence
is dictated and its total time is less than the lower
bound of any subset from which no branches have been created.
Both of these articles are applicable only to the
n-job, 3-machine case. In each the objective criterion is
the minimization of total time. Also both articles are
concerned with the case where the n-jobs do not have to be
processed in the same order on each machine^ But an initial
proof IS that for the 3-machine case each machine would
process the jobs in the same order in an optimal solution.
This means that there are only n! possible sequences.
^^^ji^-
Another sequencing approach using the "branch and
bound" principles was published by Brooks and White (1).
This article outlined a procedure for the n-job, m-machine
case where the machine sequence for each job was specified
but not necessarily the same for all jobs. Also all jobs
need not be processed m the same order on all machines.
This algorithm is based on the following procedure. All
jobs are first listed as if they start at time zero and
proceed uninterrupted until conclusion. Then each conflict
(two jobs on the same machine at the same time) is resolved
by establishing lower bounds for the various alternatives.
This procedure is continued until all conflicts have been
resolved and the various lower bounds indicate that no better
solution is possible.
Three different objective criteria were used--mini-
mizmg idle time, minimizing lateness, and minimizing total
time. Since the procedure set forth was too long for com
puters to work even moderate size problems an approximation
method based on the same principles was presented. This
approximation follows essentially the same procedure with
fewer checks on lower bounds.
(]£mbiriatorial Analysis Models
A significant advancement was made in the area of
sequencing with the development of an algorithm which used
idle time on the various machines to determine an optimal
sequence in the n-job, m-machine problem. This idle time
1 / ^ fca- •-
8
was used to develop decision rules whereby a sequence is
determined in a position by position analysis. This was
first published in a thesis by 0. F. Teuton, Jr. (11) and
later expanded in an article by R. A. Dudek and Teuton (2).
These writings were concerned with the case where the jobs
go through each machine in the same order and each machine
processes the jobs in the same order. Even though this
algorithm first appeared to be completely general a counter
example was found in which the algorithm would not select
the optimal sequence. This work forms the basis for this
research and is commented on in more detail in Chapter 2.
Approximate Models
An approximate model for the sequencing problem was
published by D. S. Palmer (10) in 1965. This article deals
with the n-job, m-machine problem where each machine pro
cesses the jobs in the same order and each job proceeds
through the machines in the same order. The approximation
is based on giving priority to those jobs which have in
creasing processing time as they go through the machines.
A mathematical formula is presented which furnishes a deci
sion rule on the order m which the jobs should be processed.
An absolute lower bound is calculated to give the analyst an
indication of how good the sequence generated is. By inter
changes of jobs this lower bound is more closely approximated
Another article by Giglio and Wagner (3) considered
various approximations to the n-job, 3-machine scheduling
problem where each job proceeds m the same order through
the machines. The approaches considered were
1. integer linear programming
2. rounded integer linear programming
3c Johnson approximation
4. Monte Carlo approach
Definition of Special Case to be Considered
The topic of this research is a special case of the
general n-job, m-machine sequencing problem. It can be
formally stated as follows: n-jobs are to be processed
through m-machines in the order A, B, C, ...M with no pass
ing allowed. The objective criterion to be used is to mini
mize the total time required from the time the first job in
the sequence enters machine A until machine M completes
processing the last job.
Certain assumptions are to be made concerning this
problem. These are the same as are found in the Dudek-
Teuton article (2) and are:
"A, Assumptions regarding machines:
1. No machine may process more than one job at
any given time and each job, once started,
must be processed to completion.
2. A known, finite time, is required to per
form each operation and the time intervals
for processing are independent of the order
m which the operations are performed.
^M.'i
10
B. Assumptions regarding jobs:
1. All jobs are known and are completely
organized for processing before the period
under consideration begins.
2. All jobs are considered equal in impor
tance, i.e., there are no due dates,
3. Jobs are processed by the machines as soon
as possible and m a common order,
C= Other:
Ic The time required to transport jobs between
machines may be considered negligible or
as a part of the processing time on the
preceding machine.
2. In process inventory is allowable,"
It is realized that one of the more restrictive
assumptions is B3e However in the 3 machine case this
assumption is not necessary since it was shown by Johnson
(6) that the optimal time for all sequences in the 3-mach
ine case is when all machines share a common order of jobs.
Ignall and Schrage (5) proved that this is not necessarily
true for more than 3 machines.
The objective criterion used could also be modified
with a minimum of effort to include a minimization of total
idle time. However total time is the most common reference
and will be used for this research.
A/i*
11
Method of Approach
Chapter 2 will cover a discussion in depth of the
algorithm proposed by the Dudek and Teuton writings. From
this a theoretical development of the 3-machine and finally
the m-machme decision rules will be shown. Chapter 3 will
be comprised of a detailed mathematical proof of the opti-
mality of the sequence with the m.inimum total time of those
generated by the algorithm. Chapter 4 will include develop
ment of the algorithm to working terms and a simple statement
of the algorithm. Also a sample problem will be included.
\The algorithm is to be checked for analytical efficiency by
working sample problems on the computer. The time required
to work the algorithm will be compared to time required for
enumeration of all possible sequences and the time required
to work the Dudek-Teuton algorithm. Also the number of
sequences generated in each case will be investigated. The
results of this analytical testing and conclusions and re
commendations will be included in Chapter 5.
CHAPTER II
DEVELOPMENT OF THE ALGORITHM
This research has as a basic point of departure
the Dudek-Teuton writings previously mentioned. This chap
ter will start with a discussion of their work and the reason
for Its lack of generality. From this point the logical
development of the proposed algorithm will be presented.
Several revisions were made as a result of insights gained
during the proof of optimality. These will be pointed out
during the discussion. The concluding section is a state
ment of the algorithm.
Definition of Symbols
The following symbols and terms will be used in the
discussion of both the Dudek-Teuton work and this research.
Since any arbitrary number ot jobs (n) and any arbitrary
number of machines (m) are being considered it will be
assumed that all of the jobs are processed first on a machine
called "A" and then proceed in the order A, B, C, c.,., M.
Let:
A - the time requited by job j on Machine A
B. = the time required by job j on Machine B
12
13
M. = the time required by job j on Machine M
IB = idle time on machine B if the jobs follow a
given sequence.
IB_ = idle time on machine B after the (j-1)^^
position and before the j position of
the sequence. Similarly IC, ...., IM are
defined..
No restrictions are imposed on the size of A , B.,
,.c. , M. except that they be greater than or equal
to zero where i is any job 1, 2, 3, ..., j, ...n.
This means that the problem is completely defined
by a matrix of machine times such as:
Job i Machine A B M
1
2
a
o
j
e
n
Al
A2
0
0
A. 3
0
A n
^
B 2
0
e
B. 3
0
\
e
0
e
o
0
e
•
e
0
e
c
0
c
0
h I
2 o
«
I j
o
In
0
c
o
o
0
0
0
c
o
e
•
0
o
o
" l
"2
0
0
M. 3
c
M n
Dudek-Teuton Algorithm
The Dudek-Teuton (2, 11) writings was one of the
first serious approaches to the n-job, m-machine sequencing
problem. This algorithm was originally thought to be com
pletely general but a counter-example was found to exist (7)
Still the percentage of counter-examples has been very small
14
(approximately 1%) when problems with randomly selected
machine times have been worked. problems have been worked
by computer and by hand using this algorithm in a graduate
Industrial Engineering class. It has been shown in this
manner to be efficient both in time of calculations and in
the number of sequences examined. Also its capacity for
solving correctly a majority of the sequencing problems has
been demonstrated. For these reasons this work was chosen
as a basic point of reference.
The Dudek-Teuton writings are concerned with the
same problem that this research covers. The assumptions
stated in Chapter I are also appropriate to their algorithm.
In order to proceed with the development of a revised
algorithm it is first necessary to understand some of the
essentials of the Dudek-Teuton work. To do this the dis
cussion must first consider the objective criterion. Total
time required to process all jobs can be expressed as T.
Machine A
Machine B
Machine C
^Figure 1, Gantt Chart [3 Machine)
A-2.
A4 A.
ft
IB £1_,
ICi
B- B7 IB^B, B. IBr Br — Z J —5t 6 t—tM — — o — I 3-
Cl C2 IC5
Notice from Figure 1 that T can be written as: 5 5
T = Z C. - Z IC. . 1 = 1 i = l
15
(If there is no idle time on an arbitrary machine M before
job i, then IM. is defined as 0) Since the first term of 1
this expression for T is a constant regardless of the order 5
of jobs, T can be minimized by minimizing Z IC. i = l ^
or the total idle time on the last machine regardless of the
number of machines.
Also from Figure 1 it can be observed that:
IC-L = B + IB-j
and
n u u-1 Z IB. = max [ Z A. - Z B. ] ,
i=l ^ l^u^n i=l 1 i=l 1
n u u-1 V v-1 Z IC. = max [ Z B. - Z C. + max ( Z A. - Z B.)].
i=l ^ l^u^n i=l ^ i=l ^ 1 V u i=l ^ i=l ^
Extending these equations to a general m machine case:
u u-1 a a-1 (1) IM= max { Z L. - Z M. -»- max [ Z I. - z L. + max (
l^u^n i = l i = l i^a^u i = l " i = l "'' 14b4a
k k-1 ...... * niax [ Z A . - ZB.])]}.
14k <m i = l ^ i = l ^
For notational simplicity the following quanities
are now defined:
j J - 1 (2) K.(B) = Z A. - Z B
3 1=1 ^ i=l ^ j j~l u u-1
K (C) = Z B. - Z C ^ max ( Z A. - Z B ) j i=l ^ i=l ^ I4U4J i=l ^ i=l i
and similarly for K . (D) ,•••"'"•• ,K . (M) .
Then idle time can be expressed as:
16
(3) IB = max K^iB), l^u^n
IC = max K (C), l<u<n
IM = max K^(M). 1 u^n
The Dudek-Teuton algorithm gives a decision rule to
decide if job "a" should precede job "b" in sequence pos
itions j and (j+1). To make this determination two se
quences are examined. These will be noted by S' and S".
(4) S' = 1, 2, 3, . . ., j-1, a, b, j+2, . . . =, n
O ~ X, Z, J, . . a, J ~ l , Q , a> 3 9 " ' • " f
Notice that these sequences are identical except for an
interchange of jobs "a" and "b" in the j^^ and (j+1)^^
positions. The jobs placed in the first (j-1) positions
are already scheduled and both sequences have identical
idle times through this position. This idle time on
machine B is denoted by Q(B) and idle time on machine C
by Q(C). Similar definitions are made for Q(D), .,.,Q(M).
Jobs in the (j+2)^^ position through the n^^
position are arbitrary as long as they are not in the
presequence and are not jobs "a" or "b". The symbols S'
and S" then represent all possible orderings of these jobs
The first case to be considered is the 3-machine
case. If all quantities pertaining to the S' sequence
are designated by (') and all quantities pertaining to the
17
S" sequence are designated by (") the following expressions
can be stated:
(5) I C = max [Q(C), K • (C) ' , K.^^(C)',. . . ., Kn(C)'],
IC" = max [Q(C), K.(C)", K.^^(C)",. . . ., Kj^(C)"].
If all sums are written in terms of summations over the
S' sequence: j j-1
(6) Kj(C)' = Z Bi - Z Ci + max [Q(B), Kj(B)'], i = l i = l
3+1 j Kj+i(C)' = Z Bi - Z Ci + max [Q(B), K-: (B) ' ,
i=l i=l
Kj+2(C)'
Kj+i(B)'],
j+2 j+1 Z Bi - Z Ci + max [Q(B) , K-j (B) ' ,
i = l i = l
u u-1 K-j+i(B)' , max ( Z Ai - Z Bi)] • j + 24u4j+2 i = l i = l
n n-1 Kj^(C)' = Z Bi - Z C. + max [Q(B), K.(C)', K . , T ( C ) ' ,
i = l i = l •^ •^ ^
u max ( Z - i •
j+24U4n i=l
u-1 Z Bi)]
i = l
And from the S" sequence:
J J-1 (7) Kj(C)" = Z Bi - Ba + Bb - I Ci + max [Q(B), K.(B)"],
^ i=l i=l ^
J+1 J Kj+i(C)" = Z B, - ( Z C
i = l 2 C - C + C ) +max [Q(B) i=i 1 a b
K.CB)", K.^^(B)"]
18
j+2 j+1 Kj + 2(^^)" = ^ B^ - Z C^ + max [Q(B) , K.(B)",
i = l i = l -
u u-1 K.^i(B)", max ( Z A^ - Z B^) ]
j+24U4n i=l i=l
K (C)" = Z B^- Z Ci + max [Q(B) , K.(B)", K.^-,(B)" i = l i = l - -
u u-1 max ( Z A^ - Z B^)] .
j+24U4n i=l i=l
Notice that if max [Q(B), K• (B) ' , K.^-^(B)'] = max [Q(B) ,
K.(B)", K.^i(B)"],then K-^2^C)' = Kj+2^^^"
• • • ; K (C)' = K (C)". Also if n n
max [Q(B), K^(B)' K^^^(B)'] < max[Q(B) f
i Kj(B)", K.^i(B)"],then K.^2^C)' 1K.^2^C)'' %
. . . . ; K^(C)' 4 K^(C)".
From this observation and equation (5) it can be
stated that:
IC 4 IC" if
(8) max [K^.(C)', K.^i(C)'] < max [K. (C)", K.^^(C)"]
(Condition 1)
and
(9) max [Q(B), K . (C) ' , K^^^(C)'] 4 max [Q(B) , K^(C)",
i^
19
K.^^(C)"J . (Condition 2)
These then are the 2 decision-making rules that the
Dudek-Teuton algorithm uses as a basis for the 3-machine
problem. Job"a" should precede job "b" in the sequence if
these conditions hold.
From these 3-machine conditions the decision-making
rules for the m-machine case are evolved. They are:
Job "a" precedes job "b" in a sequence if the
following m-1 conditions are met:
(lOj Condition 1*. max [K-(M) ' , K.^i(M)'] < max [K.(M)",
Kj,i(M)"],
Condition 2: max [Q(L), K•(L)', K.^i(L)'] 4
max [Q(L), K^(L)", Kj^^(L)"],
Condition (m^l): max [Q(B), K (B) ' , K. - (B)']
4 max [Q(B), K. (B)", K.,-^(B)"].
The algorithm essentially has the following steps.
All jobs are checked against all others until the one
which satisfies Condition 1 in all comparisons is found.
It IS then a candidate for the j sequence position.
Conditions 2 through m-1 are then checked for all compari
sons and any job which while in the (j^i)^"^ sequence
i
20
position of the S' sequence causes one of these conditions
to fail is also considered as a candidate for the j
position.
th
Counter-Example To The Dudek-
Teuton Algorithm
A counter-example to the Dudek-Teuton algorithm
was found and published by Karush in March 1965 (7).
The counter-example given here was the following 3-job,
3-machine problem:
Machine
J o b
1
2
3
A
3
22
20
B
22
20
14
C
2
20
18
In this case the application of the algorithm
yielded a solution of 1-2-3 with a total elapsed time of
83. Enumeration shows that the optimal sequence is 2-3-1
with a total elapsed time of 82. It is not possible to
infer that all counter-examples are of the type where the
algorithm places the job which should be in the last
sequence position m the first. Other counter-examples
have been found to exist that place jobs, which, in the
optimal solution are in a position other than last, in
some previous position.
Karush's article advances some reasons as to why
•i
21
the algorithm is not completely general. He represents
the presequence as r, the two jobs being compared as i
and j, and the rest of the jobs not scheduled as a. If
the conditions are then met the expressions for idle time
are complete and correct for the sequences Tiija and
TTJiOc Karush then further states that the algorithm
fails to consider what happens in ^aij and aji.
This reasoning is not entirely correct. If the
job which meets all tests for Condition 1 is noted by i
and each job that is compared is noted by j it can be
seen that j at one time becomes every other job in the
set Oo Therefore the set of jobs of the form -naij is at
least partially considered.
Actually the lack of generality stems from the
fact that ^ijo is compared to ^jia but not to ^jci and
rja'ic" where a' and a" are subsets of a. To look at
this in more detail consider the 4-job case where the
Dudek-Teuton algorithm generates only 1 feasible sola
tion of the order 1 2 3 4. In checking jobs for the first
sequence position the following sequence comparisons are
made:
Sequences 1 2 3 4 1 2 4 3_
Sequences 1 3 2 4 1 3 4 2_
Sequences 1 4 2 3 1 4 3 2
are better than
are better than
are better than
2 1 3 4 2 1 4 3
3 1 2 4 3 1 4 2
4 1 2 3 4 1 3 2
22
Note that only 12 of the 24 possible sequences are consi
dered. In general 2/n of the total sequences will be
consideredo
If this type of analysis is continued further the
following comparisons are made when the second sequence
position is filled:
Sequence 1 2 3 4 is better than 1 3 2 4
Sequence 1 2 4 3 is better than 1 4 2 3.
Note that of the reduced set which was determined after
selecting the first sequence position, only 4 of those 6
sequences were considered in filling the second sequence
position. This proportion is generally 2/n-lc
For the next-to-last and last sequence positions
the following comparison is made:
Sequence 1 2 3 4 is better than 1 2 4 3.
I ' I
This includes all of the jobs in the reduced subset formed jt ::f
by filling the second sequence position. Generally this
will always be true of the (n-1)^^ and n^^ positions of
a sequence.
The proportions stated above are correct only if
one feasible solution is generated. If more than one
candidate is obtained because of the failure of a job to
meet one of Conditions 2 through m-1 these proportions
can change significantly. But unless (n-1)! sequences
are generated the algorithm as presently stated will not
consider all sequences and cannot guarantee an optimal
t*
23
solution. To devise a counter-example it is only neces
sary to find a problem where all conditions are satis
fied m the form TTIJO and the optimal solution has the
form nioj or -rria'ja".
In order to develop a completely general algorithm
with the Dudek-Teuton work as a basis it is necessary to
free job "a" from the (j*!)^^ position of the S" sequence.
From the example previously used it can be seen that for
the first position calculations the 12 possible sequences
not considered all have the characteristic that job 1 is
in the third or fourth position. This then is the approach
to be taken in the development of a new algorithm. De
cision rules will be developed which will compare sequences
where job "a" is allowed to be in any position from the
(j+1)^^ to the n^^ position in the S" sequence.
Development of New Algorithm
The separation of development of the new algorithm
and proof of optimality of this algorithm is largely a
superficial one. Some changes were made to the decision
rules as a result of knowledge gained during the optimality
proof. These will be commented on specifically.
As discussed previously the Dudek-Teuton algorithm
must be revised to allow job "a" to be in any position
from the (j*l)^^ " ° ^^ n^^. The sequences to be compared
are then:
%
:.
24
(11) S'
j j l Y i
X X X a b . O O 0 0 0 0
S " = x x x b . . o . a o o o .
The presequence (represented by x's) may contain some
jobs in which case they are the same for both sequences
or it may be void if j is the first sequence position.
The portion of the sequence from j to k will be called
the critical sequence. k is allowed to vary from j+1
to n. Also each job in this critical sequence m S'
corresponds to the same job in the S" sequence m the
following manner:
The job m S' in the h position is the same
as the job in S" in the (h-1)^^ position (j+l<h4k)o
This critical sequence may be void or contain some
jobs. The post sequence (represented by o*s) may have
some jobs in it m which case they are the same m both
sequences and in the same order or it can be void. The
critical and post sequences represent all possible order
ings of jobs not m the presequence or not under consider
ation
The most obvious modification to the Dudek-Teuton
conditions ( equation 10) is the elimination of K- -| (B)",
„ , , , , K- ,(M)". The calculation (see equation 7) of
these quantities is dependent on job "a" being in the
y^ljSt position of the S" sequence. Since this can no
longer be required these quantities are dropped from the
tef
25
conditions.
Also after delving in the proof of optim.ality it
became necessary to eliminate Q(B), . . , ., QCM-1) from
Conditions 2 through m-l. This is necessary since if they
are included no definite statement can be made about idle
time during the critical sequence.
Another change made to the Dudek-Teuton algorithm
involved the last two positions. In these positions only
one condition is required by the Dudek-Teuton method.
This is: "Job 'a' precedes job 'b' if:
max [K_|(Mj', Kj - (M)*j <max [K . (M) ",K • - (M) "] " .
A minor revision was made here in the addition of Q(M) to
both sides of the expression. In this case max [Q(M),
K o (M) ' J K« -,(M)'j is an accurate statement of the total
idle time of the last machine in S'. The same is true of i
the other side of the expression in relation to S"c This |
new restriction has the advantage of generating fewer 'J*
feasible solutions and is therefore preferable.
Another addition made to the Dudek-Teuton algorithm
involves a sequence dominance check. This sequence domi
nance check is made when several partial sequences are
generated. If one partial sequence is simply a different
permutation of the jobs in another partial sequence and
the idle time on each machine using the first partial
sequence is less than or equal to the idle time on the
corresponding machines using the second partial sequence.
inr
26
the second partial sequence can be eliminated from consider
ation. Such a dominance check has the advantage of re
ducing the number of sequences generated by a considerable
number and therefore reducing the time required for compu
tation. This becomes especially important in problems
involving a large number of jobs.
The algorithm developed still uses m-1 conditions.
The necessity for this number of conditions is explained
in the Dudek-Teuton writings and need not be repeated
here o
A more complete picture of the workings of these
revisions will be seen in the next section and in the
chapter concerning the proof of optimality.
Statement of Algorithm
The basics of this algorithm will be presented in
simple terms. However, because of the computational
difficulty in applying these steps a working version will
be presented in Chapter 4 and used for computational
purposes.
For simplicity of presentation the algorithm is
divided into three separate parts. The first two parts
are two different "dominance" checks--a job dominance
check and a sequence dominance check. The last part is
the special case of the last two jobs to be sequenced.
The algorithm is shown in a flow cha^t form m Figure 2
lie
ir
27
Figure 2
FLOW CHART OF DECISION RULES
rt 1 (Job Dominance Check)
Select jobs as "a" and "b"l ^
Condition met Condition 2
not met
met^.. Condition m-1
not met
met
not met
^Retain both jobs as candidates
for the J ^ position
Eliminate job "b" from
consideration for the j^^ position
Repeat the preceding steps for all
possible combinations of "a" and "b"
Repeat this part for all of the
presequences involved
Go to part 2
•••I
28
Part 2 (Sequence Dominance Check)
Select 2 partial sequences as S' and S"
Check if they are permutations of the same jobs no
yes Select 2 other partial
sequences and repeat
LJQ(B) '4Q(B)"|.^L£^(C) '4Q(C)"|ye,'>. . ..y^QCM) '4Q(M)"
no no no
Eliminate S' from consider
ation
Retain both S' and S" in set
of candidate partial sequences
no
T no
^ Q(C}" Q(C)' ..xg. 0 . .ygsjQ(M)" QfM) ' ye.s».
Eliminate S' frcm
consideration
1 ± Repeat part 2 until all paiiS
of partial sequences are
compared
Repeat parts 1 and 2 for first
n-2 sequence positions
i|
I .
ij5
[GO to p a r t 5 |
art 3 (n-l^t and n^h Positions)
29
Designate one of the remaining
jobs as "a" and the other "b"
1 max [Q(Mj, K_(M)', K=,2(M)'] 4 max [Q(M), K_(M)", K. .(Mj"
yes
S' is a feasible sequence
no
S" is a feasible sequence
n Total time = Z M^ +
i = l
max [Q(M),Kj(M)',K-j,i(M)']
Total time = n Z M.
1 = 1
max [Q(M),Kj(M)",Kj.i(M)"]
Repeat above for other
necessary presequences
The feasible sequence with
lowest total time is
optimum
<i
/
0
and a discussion will follow.
The first part of the algorithm is the job dominance
check. Jobs are selected for jobs "a" and "b" (see
equation 11) and the following conditions are checked.
(12) (Condition 1) max [K.(B)', K. .(B)'] ^K-(B)" J J -'- J
(Condition 2) max [K» (C) ' , K -,(C)'] 4K.(C)" J J J
(Condition m-1) max [K.(M)', K. ^(M)'] 4 K^(M)"
The quantities used in these conditions are defined as:
j~l (13) Kj(B)' = Z Ai + Aa
i = l
j-1 Z Bi , i = l
j-1 3-1 Kj (C) ' = Z B:; + B^ - >:
i = l 1 . , a .'-. Ci * max LQ(B), KJ(B)' I
i = l
j-1 j l
•3 i = l
. I Mi + max [Q(L), Kj(L)'], 1 = 1
j-1 (14) K_ -.(B)' = Z Ai
3 ^ 1 = 1 Z A. ^ A. ^ A^ - (_I B^ + BJ,
a
j-1 z i=l
j-1 j ' 1 K. i(C)' = Z B^ ^ B^ + B^ - ( Z C + CJ " max J i=l 1-1
[Q(B), K.(B)', K.^^(B)'],
£^
51
j-1 j-1 Kj+i(M)' = z Li ^ La + Lb - ( Z Mi ^ Ma)
i-l i=l
max [Q(L), K-(L) ' , Kj.^^(L)'],
j-1 j-1 (15) K.(B)" = z A. + A, - Z B. ,
^ i=l 1 b .^^ 1 >
j-1 j-1 Kj(C)" = Z Bi + Bb - Z Ci + max [Q(B), K.(B)"],
i = l i = l -'
j-1 j-1 K-(M)" = Z Li + Lb - Z Mi + max [Q(L), K. (L)"].
i = l i = l -
These terms are identical to those used in the
Dudek-Teuton writings.
If all m-1 conditions are met then job "a" can be
said to have dominated job "b" and job "b" is no longer
considered for sequence position j. This is repeated by
using all possible jobs as job "a" and other jobs as "b"
until no further dominance can occur. All jobs left in
the possible set are then considered as candidates for
the j^^ sequence position.
The second part of the algorithm is the sequence
dominance check. If two partial sequences are permuta
tions of each other the following check is made:
S" is no longer considered as a candidate partial
(
32
St
sequence if another partial sequence S' exists which is
a different permutation of the same jobs as S" and the
following conditions are met:
(Condition 1) IB' 4 IB",
(Condition 2) IC 4 IC",
(Condition m-1) IM' 4 IM".
All combinations of sequjences are checked in this step.
The final part of the algorithm involves the (n-1)
and the n^^ positions. In this case one of the two re
maining jobs is assigned to the (n-1)^ or the j^ posi
tion and the other job is assigned to the n or (j+1)^
position in the S' sequence. The S" sequence is identical
except for an interchange of the last two jobs. One con
dition is then checked:
max [Q(M), Kj(M)', Kj+i(M)'] 4 max [Q(M), Kj(M)",
Kj,i(M)"]
where Kj (M) ' , Kj^.i(M)'. and K j (M)" are defined in equations
13, 14, and 15, K. -, (M)" is defined by:
j-1 j-1 (16) K..i(B)" = Z Ai + Ab + Aa - ( Z Bi + Bb),
^ i=l i=l
j-1 j-1 Kj.l(C)" = Z B. + Bb + B^ - ( Z Ci ^ Cb) • 1 = 1 1 = 1
max [Q(B), K.(B)", K.^^(B)"],
1^
33
* 1 * T
K i(M3" = \z 4 ^ Lb * L - C \ \ M. . M^) ^ - 1 = 1 1 = 1
max [Q(L), K.(L)", K.^^(L)"].
If this condition is met the preferred sequence is S'
and the total elapsed time (T) is equal to:
T = L M. + max [Q(M), K. (M) ' , K. . (M) ' ] . i=l 1 3 J 1
If this condition is not met the preferred sequence is S"
and the total elapsed time is:
n T = Z M. + max [Q(M), K.(M)", K.^.(M)"].
i = l ^ -
Then the feasible solutions must be evaluated. The se
quence with the lowest elapsed time is one of the optimal
sequences.
The next chapter will be devoted to a mathematical
proof that the application of these conditions will
yield at least one of the optimal sequences on any given
sequencing problem with the same assumptions as given in
Chapter 1. Chapter 4 will contain a more detailed algo
rithm to be used for computational purposes.
CHAPTER III
PROOF OF OPTIMALITY
This chapter will be devoted to a detailed proof that
the application of the previously explained decision rules
will in fact yield at least one optimal solution to all
problems restricted by the appropriate assumptions. The
chapter will begin with a discussion of the general form to
be followed m the mathematical proof. Then the 2-machine,
3-machine, and m-machine cases will follow successively.
Finally a section on the transitivity of the comparisons
used is presented.
General Form of Proof
The mathematical proof is composed of the proof of
two theorems. These two theorems are:
Theorem 1: If a partial sequence, a, exists with
J-1 sequence positions filled and the m-1 conditions shown
in equation (12) are met for two jobs "a" and "b", then
there is no sequence starting with the partial sequence ab
which has less idle time on the last machine than a corre
sponding sequence starting with the partial sequence aab.
Job "a" IS then said to dominate job "b".
Theorem 2: If a partial sequence, 3, exists and there
IS another partial sequence, a', which is a different permu-
34
35
tation of the same jobs and the idle time through this partial
sequence on machines B through M for a is less than or equal
to the corresponding idle times for c', then there is no
sequence starting with a' which has less idle time on the last
machine than a corresponding sequence containing a. Sequence
0 is then said to dominate a'.
To see how the proof of these two theorems will indeed
constitute a complete proof of the generality of the pro
posed algorithm, it is necessary to consider the working of
the decision rules as shown in Figure 2. Notice that all
possible combinations of jobs "a" and "b" are compared. If
the conditions are met then job "b" is discarded from consid
eration for the j 1 position. If one or more of these condi
tions is not met then both jobs are retained for consideration
for the j position. If theorem 1 is true this means that
a subset of possible sequences (those containing ab) is not
considered further because the sequences retained (those
containing oab) are known to be at least as good.
If the same example which was used in Chapter 2 to
demonstrate the existence of a counter-example to the Dudek-
Teuton algorithm--a four job problem which has a generated
solution of 1 2 3 4--is used again it can be seen that the
following comparisons are made m the job dominance check.
In the filling of the first sequence position it is noted
that :
36
Sequences 1 2 3 4 1 2 4 3
are better than
Sequences 1 3 2 4 1 3 4 2
are better than
Sequences 1 4 2 3 1 4 3 2 0 are better than
2 2 2 2 2 2
3 3 3 3 3 _3
4 4 4 4 4 4
1 1 3 3 4 4
1 1 2 2 4 4
1 1 2 2 3 3
3 4 1 4 1 3
2 4 1 4 1 2
2 3 1 3 1 2
4 3 4 1 3 1
4 2 4 1 2 1
3 2 3 1 2 1
Notice that all 24 possible sequences are used in these
comparisons. In filling the second sequence position the
following comparisons are made:
Sequence 1 2 3 4
Sequence 1 2 4 3
is better than
is better than
[1 5 2 4 3 4 2
4 2 3 4 3 2
Notice that all 6 sequences in the reduced subset obtained
by filling the first job are considered. In filling the last
sequence position the following comparison is made:
Sequence 1 2 3 4 is better than 1 2 4 3
Following the procedure shown in Figure 2 it can be seen that
all possible sequences are compared and at least one of the
7
optimal solutions is found.
It is evident that Part 2 of the algorithm is affected
by theorem 2. Again it can be seen that a subset of sequences
(those containing a') is discarded from consideration only
if it is known that another subset of sequences (those con
taining o) which is retained is at least as good.
The proof of Part 3 of the algorithm is obvious.
Since all positions are filled when jobs "a" and "b" are set
m the (n-lj^^ and n^ sequence positions, the expressions
compared are in actuality expressions of idle time. The
sequence with the least idle time is selected as feasible.
It can now be seen that the proof of the two theorems
will complete the proof of the algorithm. The next section
will concern the mechanics to be used in this proof.
Procedure to be Followed
in Proof of Theorems
The same mathematical notations that were used in
Chapter 2 will be used here. The sequences which will be
worked with are:
(17) j J-1 h k
S' ^ x x x a b c 0 . c . 0 0 0
S " = x x x b . <, . . . a o o o
j h - i
(h ;-S an arbitrary position in the critical sequence)
38
It should be noted here that S" represents all pos
sible sequences with job "b" in the j^^ position (ab) and
S' represents all possible sequences with job "a" in the
j^^ position and "b" m the (j+1)^^ position (cab). The
discussion in Chapter 2 concerning these sequences is appli
cable here also. To prove theorem 1 it is only necessary
to show that if the conditions in equation (12) are met,
the idle time on the last machine is less for S' than for
S".
If the expressions for idle time on these sequences
are written they would be:
(18) IM' = max [Q(M), max Kj^(M)', max Ku(M)'] J4h4k k + l4U4n
and
(19) IM" = max [Q(M), max Kh(M)", max Ku(M)"] . J4h4k k + l4u^n
It is known that the Q(M)'s are the same quantity since the
presequence positions are identical. Therefore if the
following equations are true then IM' is less than or equal
to IM"o
(20J max [K^iM)'] _ max [Kb(M)"] J 4h4k j _h4k
and
(21) max [K^(M)'] 4 max [K^(M)"] . k*14u4n k*14u=iJi
Notice that if max [K, (M)'] is the maximum in equation (18) j =h^k
39
and equation t20j is true then IM" _ max [Kb(M)"] and j =h4k
IM' 4 IM". If max [Ku(M)'] is the maximum in equation k- l4U4 n
(18) and equation (21) is true then IM" 4 max [K^(M)"]
k*li U4n
and IM' 4 IM".
In the proofs which follow, it will be first shown
that equation (20) is true if the conditions shown m equa
tion (12) are met. Since M is an arbitrary machine it is
obvious that if equation (20) is true for the last machine
it is also true for all preceding machines. This fact plus
noting that through position "k" S' and S" can be considered
as two partial sequences which are simply different permuta
tions of the same jobs will simplify the ensuing proofs to
some extent. Equation (21) can be proven subsequent to the
proof of equation (20) . Then the assumption that idle time
on each machine through the k"th position is less when using
S' than it is when using S" will be justified. This makes
it possible to combine the proof of equation (21) with the
proof of theorem 2.
This then is the procedure which will be followed in the
subsequent proof. For each of the cases which will be dis
cussed- - 2-machine , 3-machine, and m-machine-- it will be proven
that:
1. If the conditions m equation (12) are met for the
sequences shown in equation (17) then equation (20) is true.
40
2, If the idle time on each machine through position
"k" IS less using S' than it is using S", then equation (21)
is true.
This will complete the proof of both theorems in each of these
cases.
n-Job, 2-Machine Case
Since this is a 2-machine case there is only one
condition which must be met for job dominance to exist. It
IS:
(22) Kj(B)" > max [K (B) ' , K^^^(B)'] .
From equation (22) it is noted that K.(B)" ^ K. ^(B)'.
If this is broken into mathematical symbols it can be seen
that j-1 j-1 j-1 j-1 Z Ai - Ab - Z Bi ^ Z Ai ^ Aa + Ab - ( Z Bi ^ Ba) i=l i-l i=l i=l
or
(23) B • A . a = a
The expressions in equation (20) could be rewritten
as :
(24j max K,(B)' = max [K • (B) ' , K.^n(B)', max K,(B)'] , j^h^k ^ J J 1 j-24h4k ^
(25) max Kb(B)" = max [Kj(B)", max Kb(B)", K] (BV'] . j =b^k j *l4h4k-1
It is only necessary to show that for every position h
41
(j^24h4k) in S' there corresponds a position h-1 in S" where
Kh-l(B)" 4 Kb(B)'. This with the condition shown in equa
tion (22) will establish the truth of equation (20) for the
2-machine case.
If summations are written over the S' sequence ^.(B)'
and Kb_i(B)" can be expressed as:
h h-1 (26) Kb(B)' = Z A, - Z Bi ,
i=l i=l
Kh.i(B)" = ( Z A. - A^) - ( Z B^ - BJ.
1=1 1=1
If common terms are removed from both of these expressions
it is obvious that to prove that Kb_i(B)" 4 Kb(B)' it need
only be proven that Ba 4 Aa» This is known from equation (23)
Therefore equation (20) is proven for the 2-machine case if
the job dominance conditions are met.
The proof of equation (21) for the 2-machine case
IS obvious. For an arbitrary position u (k+1 u n) it can be seen that:
u u~ 1 (27) Ku(B)" = Ku(B)' = Z Al - Z Bi .
i=l i=l
With this observation the second part of the proof is com
pleted and the proof of the two theorems for the 2-machine
case IS completed.
42
n-Job, 3-Machine Case
In this case there are m-1 or 2 conditions. These
are:
(28) Condition 1: K-(Bj" 4 max [K.(B)', K.^^(B)'].
Condition 2: K.(C)" 4 max [K.(C)', K.^-L(C)'].
Notice that condition 1 is the same as the condition used
m the 2-machine case. This means that all equations de
rived for the 2-machine case are equally applicable to this
case. Since these conditions must be met before job domi
nance exists and job "b" is discarded as a condidate for
position j they may be treated as knowns for the proof.
From condition 2 it is known that K.(C)" 4 K» -| (C)'. These
can be expressed as:
jtl j (29) K^^^.(Cj' = ^ B ^ Z C- -max [QiB), K.(B)', K- .(B)'
^ i=l i=l ^ ^
j+1 J (30) K U O " = Z Bi - Ba - ( 2 Ci - Ca) + max [Q(B) , K.(B)"]
^ 1 = 1 i = l -
From equations (28), (29), and (30) it can be seen
that:
''z B= - Z C ^ max [Q(B), K. (B) ' , K.^,(B)'] 4 i=l i=l ^ ^
j l j Z Bi - B„ - ( Z Ci - Ca) + max [Q(B), K.(B)"] i=l 1=1 ^
or in simplified form:
43
^^'^^ ^a " a " ^^ LQ(B), K^(B)"] 4 max [Q(B), K (B) ' ,
Kj^lCB)'].
Initially it appears that there are 6 possible states that
might exist (2 on the left side of the equation times 3 on
the right sidej. However a closer analysis shows that only
4 cases are possible. If Q(B) 4 KWB)" and K-(B) ' 4 Q(B)
then K•(B)' 4 K.(B)" which violates Condition 1, Similarly
if Q(B) 4 K. (B)" and K^,^(B)' 4 Q(B) then K^^-L(B)' 4 K-(B)"
which also violates Condition 1. Thus these two states are
impossible.
Each of the four remaining states will be investi
gated in detail:
State 1: Q(B) 4 K-(B)"
Q(B) 4 [K.(B)', K.^-L(B)']
From equation (31j:
Ca ~ B^ + Q(B) 4 Q(B)
or
(32) C^ i B^ .
State 2: K^=(B)" 4 Q(B)
Q(B) 4 [K.(B)', K. - (B)']
From equation (31):
(33) C^ B^ - K^(B)" 4 Q(B) .
44
From the assumption regarding the state: Q(B) 4K.^.(B)'
Therefore: C - B a - K.(B)" > K.^^CB)' .
Substituting for K.(B)" and K.^j^(B)' note that:
i=l ^ * ^ i=l C, - B„ . E A. - A^ - (Z Bi - BJ > 1 A. -a "a .-. --1
1 = 1
J Z B i = l
1 •
Reducing this equation it is seen that:
(34) C^ 4 A^ .
State 3: K^(B)" 4 Q(B)
K-j(B)' 4 [Q(B), K.^^(B)']
From equation i31):
(35) C^ - B^ - K. (B)" 4 K. (B)' .
From our assumption concerning the state:
Ca - Ba - Kj(B)" 4 Kj^i(B)'
or
(36) C 4 A from similar reasoning as performed in state 2
State 4: K.(B)" 4 Q(B)
Kj^l(B)' 4 [Q(B), K^(B)']
From equation (31) note that:
45
(37) C - B + K.(B)" _ K. ^ (B)' a a J ~j-^l or
(38) C 4 A by the same reasoning as performed in state 2 a a
Summarizing this information the following table can
be constructed:
TABLE I
KNOWN CONDITIONS (3-MACHINE CASE)
State S" Sequence S' Sequence Known Machine Conditions Conditions Conditions
~ T ~ Q(B)4K . (B)" Q(B)4K^(B)' (32) C^4B^
Q(B)4Kj+i(B)'
2 Kj(B)"4Q(B) Q(B)4K^(B)' (33) C^-B^ + K (B) "4Q(B)
Q(B)4K^^^(B)' (34) C^4A
3 K^(B)"4Q(B) K^(B)'4Q(B) (35) C^-B^+K^ (B) "4K^ (B) '
K.(B)'4K.^^(B)' (36) C^4A,
4 K. (B)"4Q(B) K .,- (B)'4Q(B) (37) C^-B^ + K • (B) "4K^ ,- (B) '
Kj^i(B)'4K.(B)' (38) C^4A^
From these known conditions it is necessary to prove
that equation (20) must be true. The expressions in equation
(20) could be rewritten as:
(39) max Kb(C)' = max [K.(C)', K.^^(C)', max Kb(C)'] J4h4k - j+24h4k
and
(40) max K, (C)" = max [ K . ( C ) " , max K, ( C ) " , K, (C)"] . J4h4k ^ ^ j + l 4 h 4 k - l ^ ^
46
It IS necessary to show that for every position h
(j-»'24h k) in S' there corresponds a position h-1 in S"
where Kj (C) ' 4 Kb_i(Cj", This with condition 2 will estab
lish the truth of equation (20).
If summations are made over the S' sequence the fol
lowing expressions can be written:
h h-1 (41) Kb(C)' = Z B^ - Z C. + max [Q(B), K.(B)', K. ^(B)',
i = l i = l - •' u u-1
max ( z A^ - Z B^)] , j+2^u4h i=l i=l
h h-1 (42) Kb.i(C)" = Z B^ - B^ - ( Z Ci - C^) - max [Q(B),
i=l i=l
u u-1 KUB)", max ( Z A^ - A^ - Z B^ + B^)]. • j+24U4h i = l i = l
Removing common terms from equations (41) and (42)
it can be seen that to prove that Kb_i(C)" 4 Kj (C) ' it
is necessary to prove:
u ( 4 3 ) C^ - B^ + max [ Q ( B ) , K . ( B ) " , max ( Z A- - A -^ J ^ 3. 3 j+2^U4h i = l ^ ^
u - 1 ^ B. + B ) ] 4 max [ Q ( B ) , K . ( B ) ' , K- - , ( B ) ' ,
i = l - -
u u - 1 max ( Z A^ - Z B^) ] .
J*24U4h i = l i = l
Initially it appears that there are 12 possible cases
for this expression. However it will be shown that 5 of
47
these cannot exist. These are:
S" Maximum S' Maximum
1 Q(B) K.(B)'
2 Q(B) Kj.i(B)'
u u-1 3 Q(B) max [ Z A- - Z B-]
J-24u^h i=l i=l
u u-1 4 Kj(B)" max [ Z A^ - Z B^]
j+24U4h i=l i=l
u u-1 5 max [ Z Ai - A^ - Z B- + B^] K- ^(B)' .
J "2^u4h i = l i = l -
The first 2 cases obviously cannot exist as shown
by earlier analysis. Case 3 cannot exist since
u u-1 u max [ Z A^ - Z B^] 4 Q(B) 4 max [ Z A^
j- 24U4h i = l i = l i = l
u-1 2 B - B ] i = l ^ ^
or
Aa i ^a •
This violates equation (23) . Case 5 is also a self contra'
diction. Notice from the S" maximum that
max [ E Ai - A^ - "E B^ . BJ iKj(B)". J *24U4h 1 = 1 1 = 1 •'
If (A - B ) is added to both sides of this expression it ^ a a
48
can be seen that
u u-1 A, - B a a max [ z A. - z B.j 4 K.(B)" ^
j-2^U4h 1=1 ^ i=l ^ ^
Kj.i(B)' .
This is in contradiction to the assumption regarding the S'
maximum and therefore cannot exist. Thus the above 5 cases
will not be used in the proof.
Each of the remaining 7 possible cases will be in
vestigated in detail to show two things:
1. Which states existed m the (j*l)^^ position of
S' and the j 1 position of S" if this case exists in the
h^" position of S'.
2. That which must be proven to exhibit that K, -.(C)"
= Ki (C)' if the conditions are met. Equation (43) will
always be used as a reference as to what must be proven.
u u-1 Case 1: Q(B) 4 {K=(B)', K= ^(B)', max [ Z A^ - Z B^]}
• - j i-24U4h i = l i = l
u u-1 Q(B) 4 (KaB)", max [ Z A- - A - Z B- * BJ 1
~ ^ j+24U4h 1 = 1 ^ ^ i = l ^ ^
It can readily be seen that State 1 must have existed
in the (j-1)^^ position of S'. From equation (43) it is
known that Kb.i(C)" 4 Kb(C)' if (44) C^ 4 B^. This is known
to be true for this state from equation (32).
u u-1 Case 2: Q(B) 4 iK-(B)', K.^.(B)', max [ Z A- - z B-]}
- - j*24U4h i = l ^ i = l ^
49
K.(B}" 4 ^Q(B), max [ Z A. - A^ - ""z B- - BJ } - j-24U4h 1 = 1 ^ ^ 1 = 1 1 ^
It can readily be seen that State 2 must have existed
at the (j+l)St position, \^iiQ'' 4 ^^(C) ' if
(45) C^ - B^ + Kj(B)" 4 Q(B).
T h i s i s known t o be t r u e from e q u a t i o n ( 3 3 ) .
u u - 1 Case 3 : K • (B) ' 4 {Q(B) , K - ^ - , ( B ) ' , max [ Z A^ - Z B - ] )
- -^ j + 24U4h i = l i = l
u u - 1 K . ( B ) " ^ {Q(B) , max [ Z A- - A. - Z B- +
J*24U4h 1=1 1=1 B a ] ^
It can readily be seen that State 3 must have existed
in (j+l)S^ position. Kj^.i(C)" 4Kj^(C)' if
(46) C^ - B^ + K^(B)" 4 K^(B)' .
This is known to be true from equation (35).
u u-1 Case 4: K_, . (B) ' 4 iQ(Bl, K. (B) ' , max [ Z A. - Z B.]}
^ ^ ^ j-2_u4h 1 = 1 ^ i = l ^
u u-1 K.(B)" 4 [Q(BJ, max t ^ A- - A^ - Z B^ - B^]}
j + 2 4U4h i = 1 i = 1
In this case it can readily be seen that State 4 must have
existed in the (j^)^"^ position. Kb_i(C)" 4 ^^(C) ' if
' 7) C^ - B^ ^ K^(B)" 4 K = -L (B)' .
This is known to be true from equation (37),
XEXAa TECHNOLOGICAL iJ^JuuU^ LUESOCK. TEXAS . LI3RAR)[S
5 0
u u-1 Case 5: Q(Bj 4 {Kj(B)', Kj+i(B)', max [ z Ai - z B^j}
j*24U4h i=l 1=1
u u-1 max [ 2 A^ - A - Z B^ + B ] 4 [Q(B), K.(B)"J
j+24U4h i = l i = l -
Kb-i(C)" 4 Kb(C)' if
u u-1 (48) C_ ^ B„ ^ max [ Z A- - A^ - Z B- + B^] 4 Q(B).
j*24U4h 1=1 1=1
It can be seen that State 1 or State 2 might have existed
in (j+1)^ position of S'. If State 1 existed at the (j^l)
position it is known from equation (32) that Ca - Ba 4 0.
Also the assumption regarding this case was that
u u-1 max [ Z Ai - Aa " Z Bi + B^] 4 Q(B).
J 24U4h i = l i = l
Adding these inequalities yields equation (48).
If State 2 existed at the (j+l)^"^ position it is
known from equation (33) that Ca ^ B^ - Kj(B)" 4 Q(B).
The initial assumption regarding this case was that
u u-1 max [ Z Ai - A^ - Z Bi + B^] 4 Kj(B)".
J*24U4h i=l i=l
Adding C - B to both sides of the above equation yieldst a a
u u-1 C - B^ * max [ Z A - A - Z B ^ B ] 4 ^ j^24U4h i = l ^ ^ i = l ' ^ -
C^ - B^ + K^(B)" 4 Q(B) .
51
u u - 1 Case 6 : K . ( B ) ' 4 i Q ( B ) , K. , ( B ) ' , max [ Z A- - z B• ] }
^ - ^ j+24U4h i = l ^ 1 = 1
u u - 1 max [ Z A^ - A^ - Z B^ + B^] 4 [ Q ( B ) , K . ( B ) " ]
j + 24U4h i = l i = l -^
K h - i ( C ) " 4 K b ( C ) ' i f :
u u - 1 (49) C - B + max [ Z A- - A •- Z B. + B J 4 K - (B) ' .
j * 2 _ u 4 h i = l ^ ^ i = l ^ a - J
It IS evident that State 3 must have existed in the (j- 1)
position of S'. From the assumptions regarding the case u u-1
It is known that max [ Z A. - A - Z B. + B ] 4K.(B)" j*24U4h 1 = 1 1 = 1 -'
Adding C_ - B„ to both sides of this equation: a a
Ca - ^a * . ™a^ , t ", A. - Aa - "^, B. - B^] ^ j+24U4h 1=1 1=1
^a ^ a '' K^(B)"
which is greater than or equal to K.(B)" by equation (35).
Therefore, ^ ^ ^ ( C ) " 4Kb(C)'.
Case 7: max [ Z A^ - Z B^] 4 [Q(B), K • (B) ' , K..-^(B)'] i+2<u^h i=l i=l j +24U4
u z
j • 24U; h 1 = 1
u-1 max [ Z A. - A^ - Z B. + B^] 4 Q(B), K.(B)" •iU'.h 1 = 1 i = l "
Kb.i(C)" 4 Kb(C)' If
52
•>
u u-1 (50) C^ - B^ ^ max [ Z A. - A - Z B• t B i a a .^ I'-.^i a - T I a-" J-24U4h 1=1 1=1
u u-1 max [ Z A- - Z B.] .
j^24U4h i=l i=l
Removing common terms and reducing this: C - A 4 0 or a a —
(51) C > A . a = a
It can be seen that all four possible states might have
s t existed in the (j+1) position. If the first state existed
it is known that C 4 B from equation (32). From equa-a a
tion (23) it is known that B > A . Therefore C > A . a = a a = a
It is also known that C 4 A from equations (34), (36), a a
and (38) for the other possible states. Therefore K ,(C)" > K, (C)' for all four cases. = h
This completes the first portion of the 3-machine
proof. It has been shown that if the following conditions
are met:
Condition 1: Kj(B)" 4 K^(B)', Ky^^iB)'
Condition 2: K^iC)" _ Kj (C) ' , Kj^-^(C)'
then for every position "h" in the critical sequence S'
there is a position "h-1" in the critical sequence of S"
where Kb(C)' 4 K, _,(CJ"o This means that the idle time for
sequence S' through the critical sequence is less than or
equal the idle time for sequence S" through the critical
/
D.
sequence. It completes the proof of equation (20) for the
3-machine.
Again It should be pointed out that the post-sequence
situation IS identical to the sequence dominance check case.
Notice that the two sequences being compared are:
ka
S' - x x x x x o o o
S" = x x x x x o o o
where the x's denote the same jobs with different permuta
tions. Also it is known that the idle time on machines B
and C for S' is less than or equal to the idle time on
machines B and C respectively for S" through the critical
sequence,
For this discussion let the idle time on these ma
chines up to but not including the first job of the post-
sequence be denoted by IB'^^, IC' g, IB"^^ and IC"^^.
Writing the idle time for the complete sequences:
(52) IC = max [1C'^„, max K,(C)'J , k +1 '••.a<n
(53j IC" = max LIC" , max K^(C)"] . k+l<u<n
Further K (Cj' and K^(C)" can be expressed as:
u u-1 (54j K, rC)' -- Z B^ - Z C^ ^ max [IB' , max
^ i = l i = l k- l<.v u
V v-1 ( Z A. - Z B.j] 1=1 ^ i=l
ti
54
u u-1 (55) K^(C)" = Z B Z B. ^ Z C. - max [IB"^ . max
i = l i = l ^ ""^ k + l<v<u
V v-1 ( 2 A^ - Z B.)]. i=l ^ i=l ^
Note that the only differences between (54) and (55) are
the IB'^g and IB''^^. Therefore since it is known that IB'
4 IB"^g it can be said that
(56) K^(C)' 4 K^(C)" .
This proves equation (21) for the 3-machine case.
From equation (52), (53), and (56) and knowing that:
IC'^, < IC"^^ cs = cs
it can be said that:
(57) IC 4 IC" .
This completes the proof of equation (21) for the
3-machine case. Also it completes the proof of both theorems
1 and 2 in the 3-machine case. If the decision rules are
followed, it has now been proven that at least one optimal
solution will be generated in all 3-machine problems.
Inductive Proof of m-Machine Decision Rules
The inductive proof will be constructed by assuming
that the rules will hold for the m-machine case and proving
that they also hold for (m-^l)^^ or n-machine case. The
general format to be followed will be similar to that of
/
55
the 3-machine case. However an additional characteristic
of the 3-machine case will be noted before the inductive
proof is begun. This will be discussed first. Next the
optimality of using the basic decision rules in regard to
the critical sequence will be proven. Finally the post-
sequence and sequence dominance check will be discussed.
Additional Feature of 3-Machine Case
To facilitate the inductive proof it will be shown
that:
(58) ^Yi^iiC)^^ - Kb(C)' 4Kj(C)" - K.+i(C)'
for the n-job, 3-machine case.
Note from equations (29) and (30) that
(59) Kj(C)" - K^^-L(C)' = C^ - B^ + max [Q(B), Kj(B)"] -
max [Q(B), K (B) ' , K- - ^ B)'] .
From equations (41) and (42) it can be seen that:
(60) Kb.i(C)" - Kb(C)' = C^ - B^ + max [Q(B), Kj(B)",
u u - 1
max ( ^ A^ - A^ - z B^ - B^)] - max [ Q ( B ) , j + 2 4 u _ h i = l 1=1
u u - 1 K . ( B ) ' , K _ » , . ( B ) ' , max ( i: A • - Z B ) ] .
J J ^ j ^ 2 4 U 4 h i = l 1 = 1 "
Reducing these equations it can be seen that:
56
^h-l<^C^" - \(^y 4 Kj(C)" - K.^^(C)'
if
u u-1 (61) {max [Q(B), K.(B)", max ( Z A- - A^ - z B * BJ ]
J j+2<.u<.h i = l ^ ^ 1 = 1 ^ ^
u - max [Q(B), K•(B)', K^,^(B)', max ( z A^ -
• •' j*24U4h i = l
u-1 I B.)]^ 4 {max [Q(B), K-(B)'] - max [Q(B), i = l "
Kj(C)', Kj^^(C)']i .
Reference is now made to the seven possible cases
at the h^^ position used in the previous section. Each of
these will be examined in detail.
Case 1: Equation (61) reduces to [Q(B) - Q(B)] 4 [Q(B) - Q(B)] .
This is obviously true.
Case 2: Equation (61) reduces to [K.(B)"-Q(B)]4[K.(B)"-Q(B)].
Again this is obviously true.
Case 3: Equation (61) reduces to [K.(B)"-K.(B)»]4[K.(B)"-
K.(B)']. Again this must be true.
Case 4: Equation (61) reduces to [K (B)"-K (B)'J 4
FK rB)"-K. .(B)']. This is also obviously true.
Case 5: Equation (61) reduces to
/
u u 1 6^) { max [ I A A • ). B ^ B , - Q;Bj ]
j-24U4h 1 1 ' ' 1 = 1 ' ^
[K^(B)" -Q(B)j .
From the assumptions regarding the case it is known that
u u-1 { max [ Z A - A 1+2 'U"h 1 = 1 ^ a . \ ^1 ' Bait = K
1=1 -
(B)" .
If Q(B) is subtracted from each side of this statement,
equation (62,j is obtained.
Case 6: Equation (61) reduces to
u u-1 (63 j { max [ l A. A - >: B. - B ] - K (B) ' ~ >
j*2_u_h 1 = 1 ^ ^ i = l ^ a 3
{K (Bj" ^ K (B)" } . J 3
Again Irom the assumptions regarding this case it is known
that u u-1 ( m a x [ Z Aj A^ - Z B^ + B^]\ 4K_(B)" . j>24U^h 1 = 1 1 = 1 -'
f K^(B)' IS subtracted from each side of this statement
equation (63) is proven.
Case ?i Equation (61) reduces to
u-1 (64j { max
u [ Z A - A Z B - B ]
j*2_u_h 1=1 ^ ^ 1=1 ^ ^
u max I Z A
j-2_u_h 1=1 '
58
u-1 - Z B.]} 4 (max [Q(Bj, K.(B)"] - max [Q(B), K.(B)', i = l J J
Kj,i(B)']} .
This reduces to:
(65) [B^ - A^] 4 (max [Q,B), K^IB)"] - max [Q(B), K^(B)',
Kj + i(B)']} .
In this instance there are four possible states in the
(j+1) position and these correspond to the states listed
in Table 1. Each will be examined separately.
State 1: Equation (65j reduces to [B - A^] 4 [Q(B)-Q(B)]=0 . a a —
From equation (23) this is known to be true.
State 2: Equation (65) reduces to
(66) [B^ - A^] 4 [Kj. (B)" - Q(B)] .
First note that from the assumptions made in this state it
is known that Q(B) 4K^^(B)'c Therefore
(67) [K.(B)" - K ,(B)'] 4 [K.(B)" - Q(B)] .
It IS known that [Kj(B)" - K . - (B)'] = [B^ - A^] .
Combining this statement with equation (67), equation (65)
is derived.
State 3: Equation (65) reduces to
/
S9
(68) [B^ - A^] 4 [K^iB)" - K. (B) '] .
Again from the assumption regarding the state :t is known
that K^(B)' 4Kj^^tB)'. Therefore [K.(B)" - K. - (B)] 4
[K (B)" - K. i B)']. By similar analysis as used when State 2
exists equation (68) is derived.
State 4: Equation (65) reduces to [B - A^] 4 [K (BI" a a J
K' ^tB)']. By a similar analysis as used for State 2:
[K (B)" - K" -, iB) ' ] is shown to equal [B„ - A_] so equation J J 1 a a
(65) is obviously true.
This completes the proof that if the conditions are
met for the 3-machine case [Kj^^^(C)" - Kb(C)'] 4 [K-(C)"
K^^-|(C)']. This will be used as one of the inductive
assumptions for the n-job, m-machine proof.
Inductive Assuir pt ions:
Assumptions will be made about the m-machine case
(m_3i and then the (m+l)^"^ or n-machine case will be examined
The conditions for the n-machine case are:
(69) Condition 1: Kj(B)" 4max[K^(B)', K^^-^(B)'],
Condition 2: Kj(C)" 4 " ax [K . (C) ' , Kj^^(C)'j,
Condition m-1: K=(M)" 4 max[K (M)', K, ,(M^'], J ~ J J 1
Condition m: Kj (N) " 4 max [K (N) ' , K^,-^(N)'].
It will be shown that if these conditions are met for the
60
two s e q u e n c e s
j j * l h k
S* = x x x a b . , . 0 0 0
S " = x x x b . . . a o o o
t h a t IN' _ I N " .
The following inductive assumptions are made con
cerning the m-machme case. It will be shown that if these
assumptions are true for the m-machine case and the condi
tions hold they are also true for the n-machine case,
1, For every position h (j+24h4k) in S' there exists
a position h-1 in S" where:
^70) Kb„i(M)" 4 Kb(Mj' ,
Kb.l(B)" = Kb(B)' .
2c For every position h in S' the following rela
tionship holds:
(71) [Kb,i(M)" ^ Kb(M)'t 4 [K.(M)" - K^^^(M)'J .
Since the assumptions have been proven for the 3-machine
case the proof that they also hold for an arbitrary n-ma
chine case will complete the proof of equation (20) for
the general case.
61
i?l HS. iX _Pl££i Critical Sequence
In this Portion of the proof it is again desired
to show that equation (20) holds true. Notice that equa
tion (20) can be written as
(72) max [K.(N)', K_-,(N)', max K, (N) ' ] 4 j*24h^k
max [K.(N)", max Kb.i(N)", Kj^(N)"]. j *2i h4k
Since one of the conditions is that K-(N)"4 K•(N)' and
K -. (N) ' it IS necessary only to show that for every posi
tion h in the critical sequence of S' (j + 2i h4k) there exists
a position h-1 in the critical sequence of S" where K, (N)'
= Kb.i(N)".
If all summations are made over the S' sequence the
±ollowing terms can be expressed:
j*l j (75) K .(N)' = I M. - Z N. + max [Q(M), K.(M)', K .(M)'j
J ^ 1 = 1 1 = 1 ^
j l j (74^ K.(N)" = I M^ - M^ - ( Z N^ - N^) + max [Q(M),K•(M)"],
^ i = l i = l -^
h h-1 ,75) K,rN)' = Z M. - Z N ^ max [Q(M), K • (M) ' , K- WM}*,
^ i = l - i = l •' -
max K^(M)'J , 3 * 24U^h
h h-1 (76^ Kb ilN)" = Z M^ - M^ - ( Z N^ - N^) * max [Q(M),
i=l 1=1
K.(M;", max K^(M)"] . j*l4u^h-l
62
First what is known from the j^^ and (j-l)^^ positions
will be considered. Condition m, equation (69), requires
that K.(N)" 4 K. -.(N)'o Substituting for K.(M)" and K • . (M) '
the values in equations (74) and (73) and simplifying this
the following can be stated:
("7) -N^ ' M^ * max [Q(Mj, K^(M)"]} 4 max [Q(M), K-(M)",
Kj.i(M)'].
Again it appears that there are six possible states
for this equation. A similar analysis as performed in the
3-machine case shows that only four can exist. The follow
mg two cannot exist:
lo Q(M) 4 K»(M)"
K,(M)' 4 Q(M)
2o Q(M) 4 K^(M)"
K^^^i^M)' 4 Q(M).
These two states would have Kj (M) ' 4 K • (M)" or K. -, (M)' _
K'(M)" which violates Condition m-1 in equation (69).
Examining each case separately the equations in the
toilowmg table can be derived from equation (77):
63
TABLE II
KNOWN CONDITION (n-MACHINE CASE)
S' Sequence S" Sequence State Maximum Maximum Known Machine Conditions
1 Q(M) Q(M) (78) Na4Ma
2 Q(M) Kj(M)" (79) Na'Ma+Kj(M)"4Q(M)
(80) Na-Ma+Kj(M)"4Kj+l(M)'
3 Kj(M)' Kj(M)" (81) Na-Ma+Kj(M)"4KJ (M) '
(82) Na-Ma^Kj(M)">^Kj^i(M)'
4 Kj+i(M)' Kj(M)" (83) Na'Ma+Kj(M)"^Kj+i(M)'
Next the h'^^ position of S' will be examined. It can
be seen from equation (75) and (76) that to show that Kb_i(N)"
4 K, (N)' it is necessary to prove that:
(84) {N - M - max [Q(M), K.(M)", max K^.-L(N)"]} 4 j ' 22 u4h
max [Q(M), K•(M)', K.^^(M)', max K^(M)']. • - j- 24U4h
Again it appears that there are twelve possible cases that
might exist in this equation. However the two cases previously
mentioned:
1. Q(M) 4 K.(M)" K, (M)' 4- Q(M)
2. Q(M) 4 K.(M)" Kj.i(M)'J4 Q(M)
64
cannot exist for the same reasons. Also the case where
Q(M) 4 max K„ ,(M)" ° o 1 u — 1
J '^24U4h
and max K (M)' 4 Q(M) j*24U4h ^
could not exist since this would imply that
max Ku(M)' 4 max Ku_i(M)" j - 2^u4h j * 24U4h
which is a contradiction to inductive assumption number 2,
The case where
K.(M)" 4 max K^_^(M)" j*24u^h
and
max K^(M) ' 4 K- ^ ^ ) ' j+24U4h
also cannot exist. If these inequalities are added together
the result would be:
(85) [K.(M)" - max K^(M)'] 4 [K.^^(M)' + max K _- jr24U4h j-^24u^h
CM)"]
K (M)' and K (M)" can be expressed by the following equations
w ith summations over the S' sequence:
u u-1 186) K„(M)' - { Z L^ - Z M. - max [Q(L), K.(L)', K.^-.(L)'
^ 1 = 1 i = l - ^
max K^(L)']} , j + 24V4U
> • » • • - « * T » " r
65
V v - 1 K ^ ( L ) ' = {Z K 1^ K. - z L^ + max [ Q ( K ) , K . ( K ) ' , K . ^ . ( K ) ' ,
1=1 i = l 3 J ^ i
max Kj^ (K) ' ]} , j '^ 2 <.k4V
c c - 1 K^(C) ' = { Z B, - Z C- - c ( L ) ' = i ^ B. - Z C^ ^ max [Q(B) , K - ( B ) ' , K . , - , ( B ) ' ,
i = l i = l ^ J -
max K ^ ( B ) ' ] } , j +24b4c
b b - 1 K ^ ( B ) ' = [ z A. - Z B , ] ,
1 = 1 1 = 1
u u - 1 (87) K^_^(M)" = i_Z L^ - L^ - ( Z M^ - M^) + max [ Q ( L ) ,
K . ( L ) " , max K ^ ( L ) " ] } J J+24V4U ^ " 1
K ( L ) " = { L K - K - ( Z L - L ) + max [ Q ( K ) , - j — i i a i = ' i i »
K ( K ) " , max K, , ( K ) " ] } • j+24k4V ^"-^
c c - 1 K , ( C ) " = I Z B - B - ( Z C - C ) - max [Q(B) ,
c - 1 " — - j - L a. • _ - | X d
K ( B ) " , max K, . ( B ) " ] } , ^ j+24b4C ^ ' ^
b b - 1 K^ , ( B ) " = [ Z A. - A - ( Z B. - B ) ] .
b - 1 i = i 1 a ^^^- j^ 1 a^-• •
^
66
Note that the only differences in K (M) ' and K (M)" are con- u^ u^
stants. This means that they would be maximized at the same
relative point, say
max K (M)' = K (M)' (j-24f4h) j- 24U< h ^ 1
then
max K ,(M)" = K^ ,(M)" . j+24U4h ^"1 I'l
Equation (85) can then be rewritten as:
[K.(M)" + K (M)'] > [K (M)' + K (M)"] .
Rearranging this equation it is seen that:
(88) [K.(M)" - K. (M)'] >_ [K^ (M)" - K^(M)'] J j*l - f-l f
This equation contradicts inductive assumption number 2.
Therefore there are only eight possible cases to be considered
Examining each of these possible cases the following table
is derived. The equations which must be shown to be true
ate derived in each case from equation (84).
67
TABLE III
CONDITIONS TO BE PROVEN (n-MACHINE)
S' Seq. S"«Seq, Machine Conditions (j*l)^^ Case Max, Max, to be Proven State
Q(M) Q(M) N3 4M a ='a
Q(M) KuM}" N -M^^K.(M)">.Q(M) J a a J —
6 KuM) ' K£_-^(M)" N -M *K£.-| (M)"> K. (M) '
7 Kj,-^(M)' Kf^3L(M)" N^-M^+Kf.^(M)"4Kj,^(M)'
4
K J ( M ) '
K j . i ( M ) '
K . ( M ) "
K (M)"
N ^ - M ^ + K . ( M ) " 4 K . ( M ) '
N.-M^ + K. (M)">K. -, (M) ' a a j ^ ^ = j - ^ l ^ ^
3
4
Q(M) K^_j^(Mj" N^-M^-K^_^(M)"4Q(M) 1
2
8 K£(M)' K£_-L(M)" N^-M^-^K£_^(M)"4K£(M)" 1
2
3
4
It is obvious that cases 1, 2, 3, and 4 hold. Equations (78),
(79) , (81j , and (83) prove each of these respectively. Look
ing at each of the other cases in more detail:
Case 5: Prove that:
(89; [N - M * K. . (M)"J 4 Q(M). ^ ^ a a r-l •"
68
If state 1 existed m the (j-l)^^ position it is known from
the assumption concerning the case that K£_-,(M)" 4 Q(M) .
Equation (78j gives [N„ - M_j 4 0, If these equations are a a —
added together equation (89) results. If state 2 existed s t
in the (j*!) position it is known from the assumption regarding the case that Kr .(Mj" 4 K=(M)". If (N - M^) is
I-l — J a a
added to both sides:
(90J [N^ - M^ * K£_-L(M)"] 4 [N^ - M^ * Kj(M)"] .
From equation (79) it is known that [N - M^ + K^(M)'] 4 Q(M).
a a J
These two equations prove equation (89).
Case 6: Prove that: (91) [N - M - K^ ,(M)"] > K.(M)'. ^ ^ "-a a f-1^ = J Note that from the assumptions regarding this case that K (M)" 4 K.(M)"o If (N - M ) is added to both sides of i 1 J a a
this equation:
(92) [N - M * K, ,(M)"J 4 [N - M - K (M)"]. a. a I-l — a a j
From equation (81) it is known that [N - M - K (M)"] ^ K (M)' a a J j
This proves equation (91).
Case 7: Prove that:
(93) [N^ - M^ • K^_^(M)"] i K.^^CM)'.
From the assumption regarding this case it is known that
69
Kf.i(M)" 4 Kj(M)", Adding (N^ -M^) to both sides of
this equation gives:
(94j [N^ - M^ * K£ - (M)"] 4 [N^ - M^ + K-(M)"] .
from equation (83) it is known that [N - M + K.(M)"] 4 a a J —
Kj,= i(Mj'o This proves equation (93),
Case 8; Prove that:
[N^ - M^ + K£ - (M)"] 4 Kj^(M)'
or
(95) [N^ - M^ + K£.-, (M)"] - K£(M)' 4 0 .
s t If state 1 existed in the (j^l) position it is known from
equation (78) that [N_ - M^] 4 0. One of the inductive assump-a a —
tions is that [K _-j (M)" - K£(M)'] 4 0. Adding these two
equations, equation (95) is obtained. If states 2, 3, or 4
existed in the (jti)St position it is known from equations
(80), (82), and (83) that [N^ - M^ * K (M)" - K^^-L(M)'] 4 0.
One of the inductive assumptions is that [K£_-| (M)" - K£(M)'] -
[K (M)" - K j (M)'] 4 0. Adding these equations together
gives equation (95).
To complete this proof it is necessary to show that
[Kj^.^(N)" - Kj^(NV] 4 [K^(N)" - Kj.-^(N)' ].
From equations ( 5) and (76j it is seen that:
(96) [KJ^.-L(N)" • Kj (N)'] = .N - M^ ^ max [Q(M), K (M)" ,
Kf.i(M)"J - max [Q(M), K^(M)', Kj^^(M)', K£(M}"]}.
0
From equations (73) and (74):
(97; [K (N)" ^' K ,(Nj'] - {N - M ^ max [Q(M) , K (M)"] -J 1 * 1 " " a a ^^ ' j
max [Q(M), K. (M) ' , K.^^(M)'] t.
Once again the eight cases used previously are appro
priate. These are listed in the following table with what
is necessary to be proven from equations (96) and (97),
TABLE IV
K^-lCN)" - K^^(N)' vs. Kj(N)" - Kj^^(N)'
State Case at (j+l)^"^ Machine Conditions to be Proven
Position
1 1 [Q(M) - Q(M)] 4 [Q(M) - Q(M)]
2 2 [Kj(M)" - Q(M)] 4 [Kj(M)" - Q(M)]
[Kj(M)" ^ Kj,i(M)n 4 [Kj(M)" - Kj . (M) ' ]
1 [K£_i(M)" - Q(M)] 4 [Q(M) - Q(M)]
2 [K£_i(M)"- Q(M) ] 4 [Kj(M)" - Q(M)]
3 [K£.i(M)" - Kj(M)'] 4 [Kj(M)" - Kj (M) • ]
[K£.i(M)" - Kj.i(M)'] 4 [Kj(M)" - Kj.i(M)']
8 1 [K£,i(M)" - K£(M)'] 4 [Q(M) - Q(M)]
2 [K£.i(M)" - K£(M)'] 4 [Kj(M)" - Q(M)]
3 [K£.i(M)" - K£(M)'] 4 [Kj(M)" - Kj(M)']
____4 [Kf.i(M)" - Kf(M)'] 4]Kj(M)" - K-|,.-|(M)'1
[Kj(M)" - K-j(M)'] 4 [Kj(M)" - Kj (M) ' ] ' :
\ r.;
71
For cases 1, 2, 3 and 4 it is obvious that these are equal.
Examining each of the other cases in more detail:
Case 5: For state 1 show that [K£_i(M)" - Q(M)] 4 [Q(M) -Q(M)]
or K£_-j (M)" 4 Q(M). This is one of the assumptions of this
case. For state 2 show that [K£_-j (M)" - Q(M)] 4 [K.(M)" -
Q(M)J or K£_^(M)" 4 K-(M)". Again this is one of the assump
tions of this case.
Case 6: It must be shown that [K£_^(M)" - K•(M)'] 4
[Kj(M)" - K^(M)'] or K£_^(M)" 4 K.(M)". This is one of the
assumptions of this case.
Case 7: It must be shown that [K (M)" - K.^ (M)'] 4
[K.(M)" - K.^^(M)'] or K^ (M)" 4 K.(M)". This is again an
assumption regarding this case.
s t Case 8: If state 1 existed in the (j+1) position it must
be shown that [K (M)" - K£(M)'] 4 0 or K£_^(M)" 4 K (M)'.
This IS one of the inductive assumptions. For the instance
where state 4 existed in the (j+1)^^ position note that one
of the inductive assumptions is that [K (M)" - K (M)'] 4
[K.(M)" - K. ,(M)']o This completes the proof in this state. 3 J * 1
For the instance when state 2 existed in the (j+l)st position
note that one of the assumptions for this state is that
QlM) 4K. (M)'o Therefore [K (M)" - K (M)'] 4 [K.(M)" -
Q(M)]o
One of the inductive assumptions was that
72
[K£.i(M)" - K£(M)'] 4 [K.(M)" - Kj^^(M)'].
Therefore [K£_-j (M)" - K£(M)'] 4 [K. (M)" - Q(M)]. For the
instance where state 3 existed it is known from one of the
state assumptions that K • (M) ' 4 K . -| (M)'. Therefore
[K.(M)" - K. ^(M)'] 4 [K.(M)" - K.(M)']. Since [K£_-, (M)" -
Kf(M)'] 4 [K fM)" - K»^T(M)'] 4 [K.(M)" - K•(M)'] and this ^ J J *•! ~ J J
instance is proveno
This completes the inductive proof for the general
n-job, m-machine case. It has been shown that if the follow
ing conditions are met:
(98) (Condition 1) Kj(B)" 4 max [Kj (B) ' , KJ^-L(B)']
(Condition n-1) Kj(N)" 4 max [K^(N)', Kj^^(N)']
where n is any arbitrary number of machines greater that or
equal to two, that:
(99J Kj _-L N " = ^h^^^' (j + 24h4k)
or that equation (20) is true in the general n-job, m-machine
case.
The following are idle time expressions for S' and
S" through the critical sequence. IB^^ represents this idle
time on machine B as does IC^^ on machine C and similarly
ID^3 , o , . o , IN^g.
n
73
(100) IB' cs
max [Q(B), K (B)', K (B)' max K^(C)'] ^ •' j + 24h<.k ^
IN'^ = max [Q(N), K (N)', K (N)' max K^(N)'] ^ ^ j+24h4k ^
(101) IB" ^ = max [Q(B), K (B)", max K ^(B)", K. (B)"] • j + 24h4k "-'- ^
IN" cs = max [Q(N), K (N)", max K, ,(N)", K, (N)"]
^ j + 24h4k ^"1 ^
The Q(B), Q(C), , , . , Q(N) terms in equations (100) and
(101) are equal. This plus the information given by equa
tions (98) and (99) make it possible to state that:
(102) IB' < IB" cs = cs '
IN' < IN" cs — cs
Inductive Proof - Post-Sequence
Again the post-sequence proof and the proof of the
dominance check may be considered at the same time. In both
cases two partial sequences are given where they are simply
different permutations of the same jobs. Also it is known
(by condition for the dominance check and by previous proof
for the post-sequence) that the idle time on each machine is
less for S' than for S", This is represented by equation (102).
74
If the idle times on the N machine are written for
both sequences they would be:
(103) IN' = max [IN'^„, max K,,(N)'], k+l<u<n
(104) IN" = max [IN".., max K fN)"]. k+l<u<n
Note that if IN' and IN" are the maximums the proof that cs cs ^
IN' 4 IN" is obvious from equation (102). However, if
max K (N)' is the maximum the proof is not as obvious. k*l4u4n ^
It will be shown that for every value of u where k+l4U4n that
K (N)" > K (N)'. u = u
Note that
u u-1 (105 ) K ( N ) " = { Z M„ - Z N. + max [IM" , max K ( M ) " ] } ,
^ i = l ^ i = l ^ * ^ k + l . v < u ^
V v - 1 K^(M)" = { Z Li - Z M^ ^ max [ I L " c s » "^^^ Kj^(L)"]>
i = l i = l k-^l4h<v
c c - 1 K ^ ( C ) " = i Z B- - Z C. + max [ I B " _ _ , max K, ( B ) " ] } ,
^ 1 = 1 i = l k+l£.b4C
b b - 1 K u ( B ) " = [ Z A^ - Z B . ]
^ i = l i = l
and
•^,.t«H..
"5
u u-1 (106) K (N)• = { Z M. - Z N * max [IM' , max K (M)']}
^ 1=1 ^ i=l ^ s k+l<v<u ^
V v-1 K (M)' = { Z L. - Z M. + max [IL'^ . max K, (L)']} ,
i = l ^ 1 = 1 ^ ^^ k- l<h<v
c c-1 K^rC)' = { Z B^ - Z Cj t max [IB'^3, max K^(B)']r
i = l i = l k- l4b4C
Kb(B)' = [ Z A^ - Z BJ . 1=1 i l
Note from equations (105) and (106) that K|^(B)' = Kb(B)"-
Therefore since IB' g 4 IB"(35 from equation (102) it is known
that K^(C)' 4 K (C)". Continuing with this reasoning it can
be seen that
Kd(D)' 4 K^(D)"
K^(M)' _ K^.(M)"
and finally that
K^(N)' 4 K^(N)" .
Refering to equations (103) and (104) it can be seen
that for every value in IN' there is a value in IN" which
IS greater than or equal. Therefore IN' 4 IN" and the total
tiiie for S' is equal to or less than the total time for S".
S' represents every possible sequence with "a" in the
jth position, and "b" in the (j-l)^^ position. S" represents
76
very sequence with "b" in the jth position. It can then be
.een that a proper decision rule is to eliminate job "b" from
:onsideration for the jth position if all conditions are met,
since there is a sequence with job "a" in the j^^ position
which has idle time on the last machine less than or equal
to the idle time using any sequence with job "b" m the j -
position. From the analysis presented at the first of this
chapter concerning comparison of sequences it can then be seen
that all possible sequences are considered and at least one
optimal will be generated.
This completes the proof of optimality using the m-1
decision rules for a general m-machine case. Note that these
decision rules are the same as those previously derived for
the 3-machine case. If m=3 then there are m-1 or 2 condi
tions. These would be:
(Condition 1) KWB)" 4 max [K (B) ' , KJ^-L(B)'],
(Condition m-1 or Condition 2)
Kj,C)" 4 max [K (C) ' , K. - (C)':i.
These are the same as shown m equation (28) for the 3-machine
case,
Transj^tivity of Comparisons
The proof of the transitivity of the comparisons follows
directly from the above proof. It is seen that if all condi
tions are met for the two sequences S-^ and S2 where:
77
(107) S - | ^ = x x x a b , . , , 0 0 0
S 2 = x x x b . . . . a o o o 0 • o o
t
3
that the proof says that for any sequence with "b" in the
jth position a sequence exists with "a" in the jth position
and "b" in the (j+l)st position which is equally good or
better.
In a later comparison between two sequences S3 and
S. it may be found that all conditions are met where:
(108) S T = x x x c a . . . 0 0 0
S. = x x x a . . o c o o o . t
j
Now the proof has said that for any sequence with "a" in the
jth position there exists a sequence with "c" in the jtb
position and "a" in the (j+1)^^ position that is equally
good or better.
It is easily seen that the set of possible sequences
denoted by S-^ in equation (107) is only a subset of the set
of possible sequences denoted by S^ in equation (108). This
means that the following three sequences are in fact compared:
(109) S ' = x x x c a b . , . o o o
S " = x x x a b , . . c o o o
S"' = x x x a . , . c b o o o t
j
78
and the following results obtained:
S' is better than S" which is better than S'". This proves
the transitivity of the comparisons used in these decision
rules. This also completes the proof of optimality when the
decision rules are used. The next chapter will be devoted to
a simplification of the conditions for purposes of calcula
tions, a statement of a "working" algorithm, and the working
of a sample problem.
•tC
J -'
Vif
CHAPTER IV
DEVELOPMENT OF THE ALGORITHM
The algorithm as expressed in Chapter 2 is a set of
decision rules which will guarantee an optimal solution.
It is the purpose of this chapter to refine these decision
rules as much as possible to facilitate calculations. This
will be done in two ways:
Ic A simplication of the basic decision rules
2, A statement of the algorithm as a step-by-step
procedure .
The last thing which this chapter will contain is a
sample problem worked following the step-by-step algorithm.
Simplification of Decision Rules
The job dominance decision rule is as follows:
"Job 'b' IS dropped from consideration as a candidate
for the j^^ position if the following conditions are met:
(110) (Condition 1) K-,(B)"4max [Kj (B) ' , Kj,i(B)'] ,
(Condition 2j Kj(C)" 4 max [Kj(C)', Kj,i(C)'] ,
(Condition M-l)K-j (M)" 4 max [K-j (M) ' , Kj , i (M) ' ]
79
80
To simplify calculations the following quantities are
lef med:
j-1 j-1 (111) R(B) = Q(B) + Z Bi - Z Ai ,
i=l 1=1 j-1 j-1
R(C) = Q(C) + Z Ci - Z Ai , i=l i=l
j"l j-1 R(M) = Q(M) + Z Mi - 2 Ai ,
i=l i=l
(112) Hj(B)' = Kj(B)' + Z Bi . ^1 , j-1 j-1
Z A 1=1 i=l
j-1 j-1 A(M)' = K4(M)« + Z Mi - Z Ai - - i = l i = l
j-1 j-1 (113) H.^iCB)' = K..i(B)' + Z Bi - Z A
J - i = l i = l
H
c
j-1 3-1
J'l J+1 i=l ^ i=l ^
j-1 j-1 (114) H (B)" = K^(BJ" ' _ ^ B^ - _Z^ A.
81
j-1 J-1 H.(M)" = K.(M)" + Z M, - Z A
1 ^ J i = l ^ i = i •
Consider now an arbitrary condition K-1 which can now be written
as:
(Condition K-1) Hj(K)" 4 max [H-(K)', H. - (K)']
H j-1 j-1 (115) ^j(K)" = { z J-L + Jb - 2 K^ - max [Q(J), K.(J)"]}
i=l i=l 3
j-1 j-1 Z Ji * Jb - 2 K^ + max [R(J), H.(J)"]
1 = 1 " i = l ^ J
j-1 j-1 [ ^ Ji - 2 A^]r = {J, + max [R(J), H.(J)"]} i = l i = l - ° J
j-1 J-1 [ ^ K. - Z A.] i-l i=l
Therefore:
(116) H^-(K)" = {J^ + max [R(J), H. (J)"]} .
Similarly H-(K) ' and H ^-.(K)' can be seen to be:
(117) H^(K)' = iJ^ + max [R(J), H (J) ' ] } ,
(118) H^.^^(K)' = U^ + Jb " a ' " ^ t^^^^' H. (J)', H^^^(J)']}.
This simplifies conditions to some extent by eliminating some
of the summations.
A special case is the 1^^ Condition, It could be
rewritten as:
1:
82
(119) H^(B)" 4 max [H. (B)', H. (B)']
H.CB)" = [K.CB)" . ^'z B. - ^'z A.] = ^ i=l ^ i=l ^
3-1 , J-1 j-1 j-1 [ S A. * A, - Z: B. 1- E B. - E A.] i = l ' ' i = l ^ i = l ^ i = l ^
Ab •
Similarly for H . (B)' and H. j^(B)' it can be seen that
1120) Hj(B)' = A^ ,
(121) H.,i(B)' = [A^ . K^ - BJ .
The decision rules can now be expressed as:
(122) (Condition 1) A^ 4 max [A^, (A^ + A^ - B^)] ,
(Condition M-1) H • (M) " 4 max [H • (M) ' , H. -, (M)']
where
(123) Hj(C)" = (B^ - max [R(B) , A^] } ,
H j ( D ) " = tC^ * max [ R ( C ) , H ^ ( C ) " ] } ,
H j ( M ) " = iL^ ^ max [ R ( L ) , H j ( L ) " ] } ,
A«®«3
r
( C o n d i t i o n 2) H ^ ( C ) " 4 max [H= (C) ' , H . ^ - , ( C ) ' ] , I j J J 3 ^ I BO
\ j
83
( 1 2 4 ) H j ( C ) ' = {B^ . max [ R ( B ) , A^]} ,
H j ( D } ' = tC^ + max [ R ( C ) , H ^ ( C ) ' ] } ,
H j ( M ) ' = {L^ ^ max [ R ( L ) , H . ( L ) ' ] } ,
( 125 ) H . , - ^ ( C ) ' = {B^ - B^ - C^ ^ max [ R ( B ) , A^, A^ + A^ - B^J },
H j . i ( D ) ' = xC^ + Cb - D^ + max [ R ( C ) , H - (C) ' , H . ^ ^ ( C ) ' ] } ,
H j + i ( M ) ' = {L^ . Lb - M^ + max [R(L) , H • (L) ' , H-,^(L)^]},
u u - 1 ( 1 2 6 ) Q(B) = max ( Z A^ - Z B - ) ,
I 4 U 4 J - I i - l i = l
u u - 1 V Q(C) = max [ Z B^ - Z C^ + max ( Z A- -
I 4 U 4 J - I i = l i = l l4V^u i : l """
u - 1 ^ B . ) ] ,
i = l
u u - 1 Q(M) = max { Z Li - Z M^ • max [ Z K- -
I 4 U 4 J - I i = l i = l l4h4U i = l "*"
h - 1 b b - 1 Z L- + max ( , , , max [ Z A- - z B - l ) ! }
i = l l _ k 4 h l4b<.c i = l ^ i = l ^
84
These conditions are then the simplified ones which
will be used in the step-by-step algorithm.
m-Stage Algorithm
This algorithm is based on the assumptions given in
Chapter 1 and decision rules stated in equation (122). Re
ference IS made to Figure 2 for a flow-chart of decision
rules. The following definitions apply to terms used in the
statement of the algorithm:
le An optimal sequence is one with lowest total
elapsed time.
2, A feasible sequence is a sequence generated by
the algorithm.
3, Candidate sequences are those partial sequences
generated through any position except the last,
4, Dominated jobs are those jobs eliminated from
consideration as a possible candidate for a sequence position.
5, Dominated sequences are the partial sequences
eliminated from consideration.
6, A candidate set of jobs are those jobs which
a. are not in the presequence being considered.
b. have not been dominated,
c. have not been used to check for dominance.
The following is a step-by-step procedure which will
insure that an optimal sequence is generated.
Step 1: For the presequence involved calculate R(B),,,.,R(L).
r
85
Step 2: Select job "a" from the candidate set of jobs with
the minimum A- and compare B^ to A , If B 4 A Condition 1 - a a a — a
is satisfied and go to Step 3. If B, < A^ Condition 1 is a a
not satisfied so go to Step 6.
Step 3: Select one other job "b" from the candidate set
and check Condition 2. If it holds go to Step 4. If not,
go to Step 5.
Step 4: Check Conditions 3 through M-1. If all conditions
are met job "b" is dominated and is eliminated from the
candidate set. As soon as one condition is not met go to
Step 5 and retain job "b" in the candidate set.
Step 5: Repeat Step 3 using all other jobs in the candidate
set as job "b".
Step 6: Repeat Step 2 for all jobs in the candidate set
using each other job as "a".
Step 7: If more than one presequence exists Steps 1 through
6 are repeated for each of these.
Step 8: Develop candidate sequences by placing each job not
dominated in the j^^ position. Calculate Q(B) ,.,,.,Q(M) for
each candidate sequence.
Step 9: Order all candidate sequences from 1 to k.
Step 10: Select the first of the candidate sequences (S').
86
Step 11: Select the second candidate sequence (S") . If
they are permutations of each other go to Step 12. If not,
go to Step 13,
Step 12: Compare Q(B),,..,,Q(M) of the two sequences. If
Q(B)' 4 Q(B)"
Q(M) « 4 Q(M)"
S" is dominated and eliminated from the set of candidate
sequences. Then go to Step 13. If
Q(B)" 4 Q(B)'
Q(M)" 4 Q(Mj'
S' is dominated and eliminated from the set of candidate
sequences. Then go to Step 14. If neither of these condi
tions are met neither sequence is dominated. Then go to
Step 13.
Step 13: Repeat Step 11 using sequences 3 through k as S".
Step 14: Repeat Step 10 using the next sequence not already
dominated as S' and all subsequent sequences as S".
Step 15: Repeat Steps 1 through 14 until the first n-2 se-
C
87
quence positions are filled.
Step 16: For each candidate sequence position select one
job for the j h ^^^ n-l^t) position and the other for the
(j*l)St (or n^h) position m S', S" is identical except for
the interchange of the last two jobs. If [Q(M), Kj(M)',
Kj.i(M)'] 4 [Q(M), Kj(M)", Kj+i(M)"] S' is a feasible sequence n
with a total time T = t z Mi + max [Q(M), K^(M)', K4+i(M)']}. i = l - -
n If not, S" is a feasible solution with T = { z Mi + max
i = l
[Q(M), Kj(M)", Kj^i(M)"J} .
Step 17: Select the sequence from the feasible sequences
which has the minimum total elapsed time, T. This is one
of the optimal solutions.
Example Problem
The example problem to be worked is a 5-Job, 3-Machine
problem. It is :
Job
1
2
3
4
5
A
123
57
198
154
92
Machine
B
300
156
201
162
99
C
76
200
211
122
211
88
The algorithm will be worked through step-by-step.
Step 1: Since there is an empty presequence R(B) = 0
Step 2: Minimum Ai is job 2 with 57,
156 4 57
tep 3: Using job "b" as 1 and comparing 21 against 1
Hj(C)' = 156 ^ max (0,57) = 213
Hj^i(C)' = 156 + 300 - 200 ^ (0,57, 57 + 123 -
= 256
156)
Hj(C)" = 300 - max (0,123) = 423
423 4 max (213, 256). Therefore job 1 is dominated
and eliminated from consideration for the first sequence
position.
Step 4: Since this is a 3-machine problem, there are only
2 conditions.
Step 5: The data for Step 5 is summarized below:
TABLE V
SUMMATION OF CALCULATIONS
Job "b"
3
4
5
j - 1
HjCC)'
213
213
233
Job "a" = 2
Hj4i(C)'
256
175
114
Hj (C)"
399
316
191
z
r
89
'Ml
Notice that jobs 3 and 4 are dominated by job 2. Job 5 is
not dominated by job 2.
Step 6: Since job 5 is the only job remaining in the candi
date subset it is also a candidate for the jth position and
cannot dominate any other job.
Step 7: Since there is only one presequence (empty), no
more calculations are necessary.
Step 8: The candidate sequences are then:
2 __ _ _ _ Q(B) - 57 Q(C) = 213
5 Q(B) = 92 Q(C) = 191 .
Steps 9-14: These partial sequences are not permutations
of each other, therefore no sequence dominance is possible.
Step 15: Taking sequence 2 first.
Step 1: R(B} - 57 - 57 ^ 156 = 156 .
Step 2: Minimum A^ = 92 for job 5.
99 > 92
11^
% IX
= 248
Step 3: 251 vs. 21 Hj(C)' = 99 + max (156, 92) = 255
Hv^,i(C)' = 99 + 300 - 211 + max (156, 92, 116)
H (C)" = 300 + max (156, 123, -85) = 456
456 4 max (255, 248).
Therefore job 1 is dominated by job 5.
Step 5c The remainder of the comparisons are summarized in
90
the fell owing table:
TABLE VI
SUMMATION OF CALCULATIONS
Presequence 2
J = 2 Job "a" = 5
Job "b" Hj(C)' Hi.i(C)' Hj(C)"
255
2S5
280
206
399
318
Net ice that both jcbs 3 and 4 are dominated by job 5
S ep 7: Repeat step 1-6 for presequence 5 _<
Step 1: R(B) = 92 -r 99 - 92 = 99
tep 2: MinimuiT A. = 5 7 for job 2,
156 57 ,,
S^eps 5 and 5: The calculations are summarized in the follow
m e table. TABLE VII
SUMMATION OF CALCULATIONS
0 0 U M b "
1
5
4
Presequence 5 _ _ = 2 Job ^a^ = 2
HjlC)' Hj-i(C)'
255
255
255
355
256
217
Hj(C)"
423
399
316
7
91
Notice that job 3 dominates all three jobs.
Steps 8 and 9: The two candidate sequences are:
^ 25 Q(B) = 57 Q(C) = 213
° 52 Q(B) = 92 Q(C) = 191 .
Steps 10 and 11: Let S' be 25 and S" be 52.
Step 12: Q(Bj' < Q(B)" but Q(C)' > Q(C)" so no domination
exists and both partial sequences are retained.
Step 15: For j = 3 presequence 25 ^ _ is considered.
Step 1: R(B:1 - 57 + (156 - 99) - (57 - 92) = 163 .
Step 2: MinimuiT A^ = 123 for job 1.
300 123
Steps 3 and S: All calculations are summarized in the follow
mg table:
TABLE VIII
SUMMATION OF CALCULATIONS
Presequence 25_ _
J - 3 Job "a" = 1
Job "b" Hj(C)' Hj^^(C)' Hj(C)"
463 588 399
463 549 325
Notice that job 1 does not dominate job 3 or job 4.
7
92
Step 6: Next minimum Ai = 154 for job 4,
Step 2: 162 4 154
Step 3: Comparing 2543 _ vs 253 the following is ob
tained:
Hj(Cj' = 325, H^-^^(C)' = 440, Hj(C)" = 399 .
Therefore job 4 does not dominate job 3.
Step 7: Repeat Steps 1-6 for presequence 52
Step 1: R(B) = 92 - (156 ~ 99) - (57 - 92) = 198
Step 2: Minimum A- = 123 for job 1, 300 4 123.
Steps 3 and 5: The calculations are summarized in the follow
ing table: TABLE IX
SUMMATION OF CALCULATIONS
Presequence 52_ _ _ _
j = 3 Job "a" = 1
Job "b" Hj(C)' HJ^-L(C)' Hj(C)"
498 623 399
498 584 360
Notice job 1 does not dominate either job 3 or job 4
Step 6: Repeat steps 2-5 for the next minimum A^
-.if
IX 1:!)
/
93
Step 2: Next minimum A^ is 154 for job 4, 162 4 154
Step 3: Comparing 5243 _ vs 523 :
H^(C)" = 399, Hj(C)' = 260, H^,^(C)' = 439 .
Therefore job 4 does not dominate job 3.
Steps 8 and 9: The candidate sequences now are:
lo 251 Q(B) = 57 Q(C) = 213
2o 253 Q(B) = 92 Q(C) = 213
3. 254 _ _ Q(B) = 57 Q(C) = 213
4. 521 Q(B) = 92 Q(C) = 236
5. 523 Q(B) = 92 Q(C) = 191
6. 524 Q(B) = 92 Q(C) = 191
Steps 10 and 11: Let S' be #1 and S" be #2. Since these
partial sequences are not permutations of the same jobs
Step 13 IS used and S" is finally set at sequence #4 which is
a permutation of #1.
Step 12: Q(B)^ 4 QiB)" and Q(C)' 4Q(C)". Therefore sequence
*r4 ].s dominated and eliminated from consideration.
Step 13^ Sequences ^5 and #6 are not permutations of #1.
Step 14: Let S* be sequence #2 and repeat steps 11 and 13
until sequence #5 is found to be a permutation of sequence #1,
Step 12: QfB)' - Q(B)" and Q(C)' 4Q(C)",
therefore sequence ^2 is dominated and eliminated from consi
der at i on.
/
94
Continuing this analysis it can be seen that the only
other comparison possible is between sequences ^3 and #6,
In this case Q(B)« < Q(B)" but Q(C)' - Q(C)", Therefore
neither of the sequences is dominated and both are retained
tor consideration.
The remaining four candidate sequences (1, 3, 5 and 6)
are now used to deteimme jobs for the last two positions.
Step 16: For the presequence 251 _ _ :
J - 1 T
1 = 1
J - 1 z
i = l
J -1
1 = 1
A
B
C
= 2^2
= 555
= 487
>
>
Job "a" is 3 and 30b "b" is 4,
K.rCV - 555 - 201 ^ 487 * max (57, 272 + 198 - 555) - 269 -J^ ^
m ax (57, -85) = 326
K .rev - 555 + 201 ' 162 - 487 - 211 ^ max (57, -85, 272 -
198 + 154 - 555 - 201) = 211 * max (57, -85, -232)
= 268
K(C)" ^ 555 * 162 - 487 ^ max v5 7, 2 72 * 154 - 555) = 230
^ max (57, -29) - 287
K. (Ci" - 555 * 162 ^ 201 - 487 - 122 + max (57, -29, 272
^ 154 ^ 198 - 555 - 162) = 309 * max (57, -29,
^193) = 366
/
95
Since max (213, 326, 268) _ max (213, 287, 366), S', or 25134
is a feasible sequence with total time of 820 ^ 326 = 1146,
The remaining computations for the other presequences
are summarized in the following table:
TABLE X
SUMMATION OF CALCULATIONS
n-l^t and n positions
Partial j'^ (jU)^"^ Sequence Pos Pos Q(C} Kj(C)' Kj+i(C)' Kj(C)" Kj.i(C)"
251 3 4 213 326
254 1 3 213 241
253 1 4 191 226
524 1 3 191 276
268
366
312
401
287
213
88
177
366
258
266
266
Step 17: The feasible solutions and total elapsed times
for this problem are:
Sequence Time
2.5134 1146
25431 1078
b2241 1086
5r431 1086
with ^5431 which has a total time of 1078 being optimal,
it is evident that on small problems such as this,
many of the step^ oi the algorithm would be skipped or treated
in a less formal fashion. This is especially true in the
sequence dominance check. However on large problems with
/
/
96
many candidate sequences a proceduralized method such as the
one presented will insure all combinations are checked and
no errors are made.
All problems are worked in essentially the same manner.
Larger problems are more suited for computer solution, however.
The next chapter will report on the results when problems
were worked using a computer.
ft
0
CHAPTER V
RESULTS AND CONCLUSIONS
The algorithm which has been presented will yield
at least one of the optimal sequences. However the effi
ciency with which this is done has not been demonstrated.
Before definite conclusions can be drawn this must be demon
strated.
Analytical Verification
To verify the calculational efficiency of the proposed
algorithm a number of problems were worked by computer.
The computer available for use was an IBM-1620 Model II
digital computer. This model is equipped with disk storage
and has a maximum working capacity of 40,000 core storage.
This limited storage capacity was the critical factor in
determining the maximum size problem worked.
Two measures of efficiency were noted. First the
number o£ sequences generated was considered and then the
time required to generate the optimal solution was considered.
Comparisons made were between three methods of obtaining
the optimal solution:
lo The proposed algorithm
' i
97
A0^A
v:
I-
O
98
Ir The Dudek-Teuton algorithm
3. Complete enumteration of all sequences.
Machine Programs
The programs used in the working of these problems
were worked in Fortran, In each case they were loaded on
to the disks and executed from them. For each of them the
same data was used m the same format. Data was furnished
to the machine by punched cards and results were received
m punched cards. A copy of all program.s in Fortran language
13 inc"! idsd as Appendix B with instructions concerning
rheir use.
Proposed Algorithm
The program for the proposed algorithm is simiply a
coni/ersion of the step-by-step procedure given m Chapter 4
into machine language. In order to conserve storage space
this was done by using a mam program and four subprograms.
5y^^-T^^t2Il_:f^lj.5- ithm.
The Dudek-Teucon algorithm was originally worked on
Model I of rhe same computer. In order to make the programs
com.parabie this algorithm was rewritten so that it could be
worked on Model II. Also several calculational modifications
were m.ade for simplicity purposes. The first of these in
volved a simplification of conditions sim.ilar to that done
in Chapter 4. Also the condition for the (n-l)St and nth
1 cb was modified to :
"Job 'a' precedes job 'b' if:
izr 7
m
99
ax [Q(M), Kj(M)', Kj^i(M)'] 4 max [Q(M), Kj(M)",
Kj+i(M)"]."
These changes and modifications to input and output
format made it possible to use some of the same subprograms
as used in the proposed algorithm.
For purposes of further comparison a program was
written which incorporated the sequence dominance check into
the Dudek-Teuton algorithm. Problems were also worked with
this program.
Enumeration
The enumeration program used was the most efficient
one available. This program was written by William R.
Edwards for the same computer as used in the other verifi
cation. The only modification was to the input format so
that the same data cards previously used could be utilized. jJ' at; IX
In order to conserve time this program only furnishes opti- jr^
mal(or near optimal) solutions on large job problems (n 4 5).
Since the output operation of a computer is the slowest this
is a considerable savings of time.
Sample input and output of one of the problems for
all programs is shown in Appendix C,
All programs were written for the general n-job,
m-machine case. However, storage capacity of the computer
limited the size problem which could be worked, 3-machine
and 5-machine problems were worked. The 3-machine problems
ranged from 3-job to 8-job, The 5-machine problems ranged
100
from 3-job to 7-job, Larger problems were beyond the capa
city cf this computer. Enumeration was completed for all
problems through 6-job, In order to conserve time only se
lected 7 and 8-job problems were enumerated.
Conclusions Based on Results of Verification
The results of verification allow several conclusions
to be made. However the data from which these conclusions
are drawn should be shown first. Results of working indi
vidual problems are shown in Appendix A. All problems are
on file in the Department of Industrial Engineering, Texas
Technological College.
Number of Sequences
The tables in Appendix A show the number of sequences
generated by individual problems. It is evident that the
proposed algorithm is efficient when compared to total
enumeration. The m -ximum number of feasible solutions which
could be generated by the algorithm is nJ/2. This is the
case m 8 o£ the 15 3-job, 3-machine problems and 8 of the
15 3-job, 5-machine problems. It is also the case in 1 of
the 4-iob, 5-machine problems but it is not the case in any
of the other problems. In fact this figure is not even
approached m larger problems. The proportion of sequences
generated by the algorithm decreases as problems become
larger.
Tables }(IX and XX are summarized by Tables XI and
XI10 Here the advantage of this algorithm o/er enumeration
r
101
is even more evident. It can also be seen that the number
of sequences generated increases as machines increase but is
still more efficient than enumeration when m = 5,
A second comipariscn was made between the proposed
algorithm and the Dudek-Teuton algorithm. The 3-machine
problem, will be discussed firs^,
TABLE XI
AVERAGE NUMBER OF SEQUENCES GENERATED
m - 3
Nr, Of Jcbs Algorithm Dudek-Teuton Enumeration
3 2,067 1.800 6
4 5.000 3.650 24
5 llclOO 9.450 120
6 18.350 22.316 720
7 ISclOO 9,818 5040
8 38.000 --- 40320
TABLE XII
AVERAGE NUMBER OF SEQUENCES GENERATED
m ^ 5
Ni of Jobs Algorithm Dudek-Teuton Enumeration
3
4
5
6 -> 1
2,333
7.882
21,444
54,200
80,6 7
1.933
5, 765
26,444
60.090
_ . -
6
24
120
720
5040
102
The first thing noticed irom Table XIX is that one counter
example (5=5) existed to the Dudek-Teuton procedure. It is
obvious that the number of optimal sequences generated by
the two algorithms is comparable. The total number of se
quences generated is again comparable. It should be noted
that the Dudek-Teuton procedure generally has fewer feasible
solutions for the 5 and 4 j:b problems. They are about even
for the 5-job problems and the proposed algorithm appears to
generate slightly fewer solutions for problems with more
than 6 jobs. (It should be pointed cut at this time that
the computer becamie overloaded when the nuir.ber of sequences
exceeded 150. This is the case in one 6-job problem and
four 7"job problems when worked with the Dudek-Teuton algo-
r:..thm. ) This is not a surprising phenomenon. There a e two
reasons why the Dudek-Teuton algorithm m.ight generate more
sequences than the proposed algorithm. First the lack of
transitivity between comparisons m the Dudek-Teuton proce
dure m:ight cause more sequences to be generated. Each com
parison is m.ade to determine the one job which always satis
fies condition 1. Then conditions 2 through m-l are checked
tor each of these comparisons and if any one of these is
violated a second candidate is created. No check is made to
see if cne of these jobs whioh are made candidates by a vio
lation of one of conditions 2 through m-1 is dominated by
another of the jobs created in the same manner. This could
lead to more sequences being created than absolute mmim.um.
/
103
The second reason for more sequences m the Dudek-
Teuton algorithm is the moie common and more obvious. This
is the use of the sequence dominance check in the proposed
algorithm. In this check the partial sequences 213 and 312
are compared while in the Dudek-Teuton algorithm they are
not. This is the principle reason that the larger job prob
lems seem to have somewhat fewer feasible solutions for the
proposed algorithm than for the Dudek-Teuton algorithm.
The same items are noticeable about the 5-machine
problems irom Table XX, Ihere is also one counter-example
to the Dudek-Teuton algorithm (7-1),
Some comments are necessary regarding Tables XI and
XIIo Notice that on the /-job, 3-machine problems the average
is lower than would be expected. This is because there were
four problems with over 150 sequences generated which were
not included m the Dudek-Teuton averages. If 150 - an
absolute minimum - is used for these four problems this aver
age would increase to 47,2 sequences. In Table XII the aver
age for the 6~job problems worked with the Dudek-Teuton al-
go/ithm again appears to be low. In this case there are
again four problems with over 150 sequences which were not
mcludedo If 150 is again used this average would be 84,1,
In summary it is felt that the data presented shows
that the proposed algorithm compares favorably with the
Dudek-Teuton procedure in number of sequences generated when
it is remembeied that the latter is not completely general.
r
104
Since the sequence dominance check has such a signi
ficant effect on the results, the Dudek-Teuton procedure was
modified to include this dominance check. The results of
Its use are shown in Tables XIII and XIV. The problems chosen
to be used are those in which the Dudek-Teuton procedure
generated miore than an average number of solutions. No prob
lems of less than 5 jobs were worked because the dominance
check has less effect for 4-job problems and none for 3-job
problems.
It IS obvious that the application of the dominance
check greatly reduces the number of sequences generated.
The number of sequences generated for m = 3 is shown in
Table XIX and summarized in Table XIII. There are still
some problemis (e.g. 7-8, 7 = 10, 7-13) where the Dudek-Teuton
with dom.mance still generates more feasible solutions than
the proposed method. This is possibly due to the lack of
transitivity of the conditions which was previously commented
on. However, this is an exception rather than a rule. For
this reason the large number of possible sequences shown
for 7-job problems should be somewhat discounted. If more
problems were run it is felt that this average would even
tually be below that of the proposed algorithm.
Equally so it is felt that the average for 8-job
problems is probably too low. Note that in problem 8-1 only
one feasible solution is generated. Since only four prob
lems were worked, this one problem carries an undue amount
/
105
of weight in the averages
TABLE XIII
AVERAGE NUMBER OF SEQUENCES GENERATED
WITH DUDEK-TEUTON WITH DOMINANCE CHECK
m = 3
Nr, of Jobs Algorithm D-T with Dom Enumeration
5 13.600 13.000 120
6 22,167 19,500 720
7 28.100 32.400 5040
8 38,00 19.250 40320
TABLE XIV
AVERAGE NUMBER OF SEQUENCES GENERATED
WITH DUDEK-TEUTON WITH DOMINANCE I • f'
r
" = 5 : ;
Nr, of Jobs Algorithm D-T with Dom Enumeration
5 33.00 26.80 120
6 72,00 58,83 720
7 80,67 33.67 5040
The results of problems when m = 5 are in Table XX
with a summary in Table XIV, Notice that in this case the
number of feasible sequences generated is, with one exception.
r
/
106
less for the Dudek-Teuton than the proposed algorithm. How
ever with the exception of the 7-job problems this difference
is not significant in light of the generality of the proposed
algorithm. The 7-job problems require additional comment.
Note that problem 7-1 is a counter-example to the Dudek-Teuton
algorithm. If this problem is dropped from consideration
the average number of feasible sequences increases to 46,0,
This indicates that the two methods are probably comparable.
However, it can definitely be stated that the sequence
dominance check has a highly significant effect on the num
ber of sequences generated. This is dramatically indicated
by Its effect on the Dudek-Teuton algorithm.
Time Required for Calculations
A second measure of efficiency is the time required
for calculation. Table XIX also furnishes this data for in
dividual 3 machine problems and Table XX does the same for
5-machine problems. Average times are shown in Tables XV
and XVI.
Opposed to enumeration it is evident that the algorithm
requires much less time. It is noted that the algorithm
requires more time on two 6-job, 5-machine problems than
enumeration. All other problems require less time and the
vast majority require far less time. It should be pointed
out at this time that the sequence dominance check is not an
efficient computer program. This was necessary to conserve
core storage and permit the working of larger problems.
/
107
However, it should be stressed that the average time required
for these 6-job problems is still considerably less (about
1/2). It is still apparent that the efficiency of the algo
rithm is greater when the problem size is large.
TABLE XV
TIME REQUIRED*
m = 3
Nr. of Jobs
Algorithm Dudek-Teuton Range Average Range Average Enumeration
4
03
05
05
29
8
19- 1.61
07- 7,51
.13-23,18
1.66-36.74
.0400
.1485
.5890
1.967
3.502
20.39
.04- .12
,07- .41
.14-1.66
.16-4.28
.20-2,64
,0627
.1525
,4490
1,141
.947
*Time in Minutes
TABLE XVI
TIME REQUIRED* m = 5
Nr c of Jobs
Algorithm Dudek-Teuton
,165
.4364
2,2875
13.2438
131.460
844.0
Range Average Range Average Enumeration
3
4
5
6
7
.03
,06
12
,56
.46- 3c03
1.96-22,43
28,63-49,75
,0733
,3341
1,506
9.401
41, 70
.06- ,17
,10- ,52
1,53-7,28
.1007
,3047
1.467
3,345
.2133
.8830
2.9021
19.2321
187.80
J
' Time m Minutes
108
In comparison with the Dudek-Teuton algorithm the
first noticeable fact is that the time required for compu
tation of small problems is less for the proposed algorithm.
The reason for this is simple. To perform the calculations
for the Dudek-Teuton algorithm it is necessary to calculate
idle time expressions through the last machine in order to
make the first comparison (Condition 1), In contrast the
first condition is checked on the 2^^ machine in the proposed
algorithm. This means that it is inherently slightly more
efficient in its calculations.
For the 3-machine case it is seen that for 5 and 6-job
problems the calculation time is smaller for the Dudek-Teuton
procedure than for the proposed procedure. However, the
times are sufficiently close when it is noted that the pro
posed algorithm is completely general and the Dudek-Teuton
is not. The inefficiency of the sequence dominance check
IS again a factor.
It should be noted that the average time for compu
tation for 7-job problems is much smaller for Dudek-Teuton
than the proposed method. This is not surprising. Again
it should be pointed out that the four problems with over
150 feasible solutions using the Dudek-Teuton algorithm are
not included in this average. If they were, this average
would change considerably.
The same discussion is appropriate for m = 5. The
6-job problems appear to require less time using the Dudek-
t i ^ . .
/
109
Teuton algorithm. However, there are again four problems with
over 150 feasible sequences which were omitted from this
average. It is felt that this would effect the average con
siderably.
In looking at the computational time required for
the Dudek-Teuton procedure with dominance it is seen from
Table XVII that the proposed algorithm is the faster except
for 8-job problems. Again because of problem 8-1 it is felt
that the 8-job problems worked are not representative. The
same is true for 7-job problems except in reverse. It is
possible to state that the proposed algorithm with its in
herent calculational efficiency appears to be slightly faster
than the Dudek-Teuton algorithm with a dominance check.
TABLE XVII
TIME REQUIRED WITH DUDEK-TEUTON
WITH DOMINANCE *
m = 3
Nr. of Jobs
Algorithm Range Average
D-T with Dom Range Average
5
6
7
8
38- 1,61
.68- 4,01
1.68-23,18
1,66-36.74
732
2.142
6,708
20.39
72- 1.85
1.62- 3.83
95-20,92
.92-35.53
1.084
2.743
12,342
15,293
*Time in Minutes
110
TABLE XVIII
TIME REQUIRED'' WITH DUDEK-TEUTON
WITH DOMINANCE
m = 5
Nrc of Algorithm D-T with Dom Jobs Range Average Range Average
1.66- 3,03 2,470 2,07- 3.34 2.72
3,92-22.43 14,898 8.24-22,06 13.105
28,63-49,75 41,70 2,41-38,96 19.68
V
*Time m Minutes
The time required for calculations where m=5 is shown
m Table XVIII. With he exception of the 7-job problems
they are highly comparable. If 7-1 is again dropped from
consideration the average time increases to 28.27 minutes
for the Dudek-Teuton algorithm. Again this is within a com- fj
parable range.
It appears that the proposed algorithm is efficient
m comparison to enumeration in both time of calculations
and teasible sequences. Also it is comparable to the Dudek-
Teuton algorithm in both of these areas and has the additional
characteristic of always determining the optimal sequence,
Comparison of Efficiency to Other
Known Algorithms
The two other principal works in the exact solution
Wj,\
Ill
of the sequencing problem both involve a "branch and bound"
procedure. Also both are restricted to the 3-machine case.
The Lomnicki paper (8) presents an algorithm but does not
present any analytical guides as to required time of compu
tation. No exact comparison can then be drawn except that
the proposed algorithm appears to be as simple to apply as
the Lomnicki procedure.
The second major work was by Ignall and Schrage (5).
This article showed computing times for problems with 4 to
10 jobs. However, the lack of similarity between the compu
ters (CDC 1604) and the program language (List Processing
fortran) makes direct comparisons of times impossible. How
ever, one 10-job problem was shown m this article. This
problem was worked by hand using the proposed algorithm. A
total ot 33 feasible solutions was arrived at. Ignall and
Schrage showed the number oi nodes created at 2570 for this
problem. The number of candidate sequences before the se
quence dominance check of the proposed algorithm is roughly
equivalent to the number of created nodes. In the hand calcu
lation 704 total candidate sequences were used. By this com
parison the proposed algorithm ranks at least comparable to the
Ignall and Schrage "branch and bound" procedure.
General Conclusions
From the data presented several conclusions can be
stated:
1. The aigoiithm will yield at least one optimal
.^
/
112
sequence when applied to a problem with the necessary re
strictions. This was demonstrated by a formal mathematical
proof.
2. The proposed algorithm is very comparable to the
Dudek-Teuton algorithm in number of sequences generated and
time required for computation. This includes the addition
of such modifications to the Dudek-Teuton algorithm as are
possible without destroying its basic decision rules.
3o The proposed algorithm is at least comparable to
the other published algorithms in literature that are appro
priate to only 3-machine cases.
4, As the number of jobs increase the number of
feasible solutions and time required for computation also
increases but the percentage of both when compared to com
plete enumeration decreases. ^ ••r
No definite conclusion can be stated regarding the
efiiciency of the algorithm when the number of machines is
increased to greater than 5. It is noticed that both time
of calculation and number of sequences increase with the
number of machines. Also time required for complete enum
eration increases.
Recommendations for Further Research
There are numerous possiblilities for further research
in this area. First this algorithm was based on a number
of assumptions listed m Chapter 1 which severely limit its
/
113
practical applicability. Se*parate research should be per
formed relaxing one or more of these assumptions. Examples
are:
lo Using a stocastic or probabistic time required
for a job on a machine rather than a finite time. Also a
probability distribution of times is practical,
2. Considering due dates or ranking of jobs in im
portance in determining optimal solutions,
3, Optimizing the sequence when machines do not have
to process jobs in a common order or jobs do not proceed
through machines m a common order.
Also any of the other optimizing criteria other than
minimum total time could be used. These were mentioned in
Chapter 1. It should be noticed that this algorithm could
easily be modified to use an optimizing criterion of the
minimum total idle time or minimum cost of idle time when the
machines have different idle time costs.
Summary of Results
The objectives of this research have been met since
a general algorithm has been devised to solve this specific
type of sequencing problem. Its efficiency has been analy
tically demonstrated. Though primarily designed for machine
computation it is also suited to hand calculations for small
problems.
/
114
LIST OF REFERENCES
(1) Brooks, George H. , and White, Charles R., "An Algorithm for Finding Optimal or Near Optimal Solutions to the Production Scheduling Problem," Journal of Industrial Engineering,, 16, no. 1, 34-40 (1965) .
{2] Dudek, R. A., and Teuton, 0. F. Jr., "Development of M-Stage Decision Rule for Scheduling n - Jobs Through M Machines," Operations Research, 12, 471 497 (1964),
(3j Giglio, R. J., and Wagner, H. M., "Approximate Solutions to the Three-Machine Scheduling Problem," Operations Research, 12, 305-324 (1964),
(4) Hardgrave, W. W., and Nemhauser, G, L., "A Geometric Model and a Graphical Algorithm for a Sequencing Problem," Operations Research, 11, 889-900 (1963).
^5) Ignall, E., and Schrage, L., "Application of the Branch and Bound Technique to Some Flow-Shop Scheduling Problems," Operations Research, 13, 400-412 (1965),
(6) Johnson, S- M. , "Optimal Two and Three Stage Production Schedules With Set-up Times Included," Nav. Res. Log. Quart,, 1, 61-68.
(7) Karush, W., "A Counter-Example to a Proposed Algorithm for Optimal Sequencing of Jobs," Operations Research, 13, 323-325 (1965).
(8) Lomnicki, Z, A,, "A 'Branch and Bound' Algorithm for the Exact Solution of the Three-Machine Scheduling," Operations Research Quarterly, 16, 89-100 (1963),
9} Little, J, D, C , Murty, K. G,, Sweeney, D. W., and Karel C,, "An Algorithm for the Traveling Salesman Problem,"' Operations Research, 11, 972-989 (1963).
/
115
List of References (con't.)
ylO) Palmer, D. S., "Sequencing Jobs Through a Multistage Process m the Minimum Total Time--A Quick Method of Obtaining a Near Optimum," Operations Research Quarterly, 16, 101-107 (1965),
(11) Teuton, 0 ules When
F. J., "Optimal M-Stage Production Sched-No Passing is Permitted," Unpublished
Master's Thesis, Texas Technological College, Lubbock, 1963
/
APPENDIX
A - Individual Problem Data
B - Programs and Instruction for Use
C - Sample Input and Output
116
i;
!!J r
117
APPENDIX A: INDIVIDUAL PROBLEM DATA
TABLE XIX:
Sequences Generated and Time Required (m = 3)
TABLE XX:
Sequences Generated and Time Required (m = 5)
I
/
118
to II B
Q W
t—I
c/ w Pi
w IS:
l-t H X
W
<
<
Q W
< Ci W
w CD
CO w u
w
w CO
PQ
Q W
w Cxi
W
C/5 w u w
W PQ
Q W W -: i H PQ <C
OO W 0 2 : W W UH CD
o cn, 2:
CO W
2: w :D
W PQ C/D
Q
O W
PL,
o ai z
a w & o
Q
IS
I
Q
I
Q
O &0
B
P! W
o Q
H I
Q
I
Q
O
w B o
Q
12
Q
E -I
Q
O
O M
<4-t {/) O Xi
o z
LO
0
LO 0
LO 0
LO 0
0
to 0
0
to 0
0
to 0
LO 0
LO 0
*!:*• 0
to 0
0
to 0
0
to 0
0
to 0
0
LO 0
0
LO 0
CTt 0
LO 0
!—I
0
VO
t o (Nl r H t o
t o t o r H to
t o r H fsj t o
l-H t o t o t o t o
CM t o . r H t o CNJ rsi Cs] ^
CNJ
(VJ rsj rH
ro
( N 4 t o « : t L o v o r ^ o o c n o (NJ to
t o
(/)
rH 3
c
• H
r H H-t
e •H E -
/
119
o
X t-H X
w PQ <
PQ
Q W
hH
cy w »: w IS
in w u z w tD C/>^ W PQ CO
Q W W hJ H PQ < HH D i CO (rt < z w w w u w o Di
z CO
w CJ
z w :D W PQ CO
o -:i W < H ^ ^ I—I D i H W CM Z o w
o w o Di
z
6 3
W
e o
Q
IS H
I Q
O
d w s o Q
H I
Q
( Q
O DO
w
o Q
IS H
I
O
O >H u z a. «4H (O
o u >-i z
vO to
eg
LO
o
o
LO T H
o <H
rH
00 O
»H <NI
o
(VI
o
LO
o
o r-i
LO
o
LO r-<
to iH
00 o
CM
o (SJ
LO r-i
(NJ
(NJ
o r-\
CO
o
to <NJ
rH
LO rH
o
o r-i
o
(NJ
to CM (NJ , H t o LO r H r-« t o (NJ rH rH
t O L O v O v O C n c M C M r l - r O L O r H t O t O O J t O
rH (NJ vO rH (Nl CNJ ^ CM CM to
(NJ
CM to rH (NJ
(Nl
(NJ
rH O
LO (NJ to "t:*- LO v O r ^ 00 CTi O CM to T^
^^-
120
o u
X I—I
X
w yX^ PQ <
PQ
Q W
a: (-H
CD' W Di
W IS
C/D W
z w C/PQ
w w
W Z W
CO
w w PQ HH
CO < W CD W
W
o Di z
C/5
w CJ z w :=) o'>-W PQ CO
Q
w w IS E- W CU Z
o w
o Di Z
3
W
s o
Q IS H
I Q
H I
Q
O
3
w e o
Q — IS
I
Q
H I
Q
O t>0
3
w
o Q IS
E-I
Q
H I
Q
O 00
O JH
M z
O ^ O
?- •-)
z
0 0 0 0 (NJ
• CM
(Nl 00
rH O ^ (NJ CM
t ^ t o CNJ CNJ
(NJ iH
O <NJ
to r-\
VO O
a\ o
vO o
o CM
CM (NJ
rH
'sr
VO 00
LO ^
rj r-\
CM rH
"«:*• (NJ
vO LO
O^ LO
CM CM
CM
rr
o r-
o vO
O lO
I^ lO
vD LO
\0 to
o (NJ
OO 00
O LO CM
a\ 0 0 LO vO
(NJ
t o
• 5 t r ^ o c M r - ^ ( N j ' : : } - 0 ' a -
CM <J^ vO CJ cn
(NJ t o CM 00 (M (NJ LO LO
CM
CM
(NJ
LO vO 00
(NJ
a»
LO (NJ r H O
^ to rH
O r^j
CM t o LO vO
LO
cr> (NJ
(NJ
• ^ T-i
t o t o r-H r H
OO (T>
m.
/
1 2 1
o CJ
X
X
w PQ <
PQ
Q W Di \—\ :D CD' w Di
W
w CJ
z w 0 ' > H W PQ m
Q W W ^ H PQ < ^ ai CO w < Z w w VU CJ w o D: z
CO
w CJ
z w cy>« W PQ CO
Q H J W < : H 2 E-i W G. Z
o w CJ
z
3 CJ
w
o Q IS
E^ I
C5
E-H
Q O GO
3
W
s o
Q
E -
E-H
Q
O bO
B 3 rt
W
o Q
H I
Q
O bO
o u u z
MH 10 o ^
o v ^ z
(NJ
(O
o LO rH 00 (Ji
VO
00 to
LO (Nl
iH
LO r-i
o CVJ
CM
(7^ (M
rH to
00
oo 1.
66
rH vO
iH 00
OO
r-i
LO CM
to
00 LO
o
cr»
VO (NJ
LO
r-i (Nl
vO
vO r-i
o
00 rH
rj
to LO
cr>
o (NJ
to r t CM (Nl r-i
rj-(NJ
^O
t o
0 0
VO (NJ r t
00 CM
LO LO to
VO (NJ
to
a>
CM ( J Ok
(Nl vO vO f H vO t o (Nl (NJ
rH
LO
LO
VO
to rH
t^
ii 1
r^j r t rH CM (^J t o
r H CM t o C M r H t O C M r H r H C N l t O
(NJ t o LO vO 00 cr> o CM
CM t o - i ^
vO
122
o u
X
X
w w PQ < E-*
PQ
Q W ai
w D:
w
CO
w CJ z w :z3 cy>-W PQ CO
Q W W h-J E-" PQ < HH Di CO w < z w w W CJ w o Di
z CO
w CJ z w :D cy>--W PQ CO W <
(-H
O. O w o Di
z
Q W
< Di W z w CJ
3 rt w
o Q IS H
I
o bO
3 a w
o Q
E -I
Q
O bO
B 3 rt w
B o Q
IS E-^
E-i I
Q
O bO
Xi O >H
M Z Ct, MH t/l o o
>H H^
z
LO cr>
VO
00 to
CM
OO \0
(NJ
vO
o LO
(NJ
VO LO
LO
vO O
LO
rt LO
CM
O to
o
VO
CM (M rt
(Nl vO
CM
to OO
to
00 CM
LO cn
LO CM
LO CM
rt CM
to
to
CM
VO to
cn oo
(NJ rsj
(M
LO VO
00 LO
to
^0
LO CM
(NJ to rH rH to to
CO rt
vO
CM
to
o
LO rt
CM CM
cn
CM OO
OO LO
OO
o •Xi
vO
(NJ
o CM
to o rt
to
vO
CM to
CM to
CM CM
OJ (M
OO
n
LO
to
iH CM
LO to
CM CM
CM to
O) •^
vO r-i
LO r-i
to rH
t^ LO to (Nl r--
to
LO "^ to
CM LO
to •^
rH oo CT>
rH T t LO
LO vo r- 00 cn o (NJ to rt LO \o r--. 00 cr-.
fm.-,.
123
rt o u
X >—i
X
w w PQ <
Q W Di \—i
CD' W ai w IS
CO w CJ z w :=) CD'>^ W PQ CO
Q
w w ^ ^ PQ < l-H a^ CO w < z w w W CJ UH
o Di
z CO w u z w ^3 cy>H W PQ CO
O W EH < ai w z w CJ
E-D-, O
w o ai z
3 rt w B o Q
E-H I
Q
I
Q
O bO
6 3 a w
o
Q
E-
H I
o bO
B 3 rt w B o Q
IS H
I
Q
E -I
Q
O bO
O U ?-< z
CL,
«4-l t/)
o ^ O
VO rt
to
00
o
r-\
o rt
00
o rt O LO
to
to
o CM
(NJ
O
to
CM
o 00 vO
OO CM
o to
o to
vO o to
(Nl cn (Nl
rt rt
O
to
rsi
to
(NJ
o vO (NJ
00 CO
LO
00
(NI
rt to
to LO
CM
m
O (NJ
CM (Nl
O
cn C7>
(Nl (NJ
LO
o
to rt
vO (NJ
vO
CM
LO CM
CM (NJ
rt rt
OM
LO
:>»: rH
LO CM
rt- rH cn (NJ 00 ^ =»: ,—{
O (NJ
r-i C<t 00 00 • •
ro oo
o cn
00
(NJ
OO
to (NJ
(NJ
LO
CD
r t r t r t
O (Nl rH
=tt= :**:
:«= :*»=
%: 4fc
^ ^
=tfe *fc =»fc
:*: 4fc
:»fc
=*!= =!»= :»*:
tfc
^ :«: =te
(Nl
:*«= :4fc
* : t r t C M ^ L O ( N J t O r H ' < ^ ' ^ t O v O
( v j t O r t L O v O t ^ O O C n O , H ( N j i O T ^
KS!^
124
o u
X HH
X
w w PQ < E-H
PQ
Q W ai HH
CD' W Di
w IS
CO w u z w :=3 cy>^ W PQ CO
Q W W • J E-PQ <^ h-i D . CO W < z w w W CJ
w o Di
z
CO W u z w
W PQ CO
a
E-" W f^ Z o w
CJ t in
o Di Z
3 r-l
w B o Q
H I
Q
H I
Q
O bO
3 rt w
o Q IS
E -
E -I
Q
O bO
B 3 rt w B o
CD
E-^ I
Q
I
Q
O bO
O >H JH Z
CL,
*+H t/l o .o
o z
LO
cn
o o •
"t '^ 00
CM
cn VO 00
to
00 f-.
VO rH
to LO
LO to
vO OO
oo VO
VO vO
CM CM
LO O
r t
CM o CM
VO to
o (NJ to o r t
LO 0 0 CM to
CM
to
vO CM LO cn r t
LO
=»*: ^
to t o
a» t o CM
t o I t •
ro rH cn to to
t o (NJ t o r t
4C
4C
0 0
B x: • p • H
o bO
r-i Vi
a o • p
3 CD
E-H I
<D
3 Q
<D rrt • P
• P • H IS
(D
?H
O
•P O
u (D IS
to B (D
r-i . Q O U P .
o I
0 0
•K
>H
(D +-> 3 P . B o o (D
Xi +-> 1 3 (D
1 3 cti O
r-i i-i
> O
B (D
rH
o u a.
1 3 <D • p
5 H
CD
3
0) • p o
B
r H
O
u :tfc
t v ^
t •Ss:^ t
125
X X
w > ^ CQ <
LO II B
Q W Di HH
CD' W D :
w s
Q Z <
C5
w
W z w CJ
CO w u z w w CO
PQ
C3 W Di }—i
CD cy w Di
W IS
CO w ( J z w CD CD'>H W PQ CO
CD) W W W H PQ < HH Di CO W < z w w W CJ
o Di
z CO
w CJ z w CD'>^
( W PQ CO
Q -D W
< Di
E-" W DH Z o w
CJ PL,
o
< IS
Di z
3 rt w B o CD
IS H
I CD
E-^ I
CD
O bO
B 3
w
o Q IS H
I
CD
H
Q O bO
6 3 rt w e o
Pi IS
E -I
Q
O bO
Xi O ?H ? H Z
a. O Xi
o 5H H 5
Z
to
O O L O v O v O O t O C O v O C T > C O v O r ^ O r H r H O O r H r H O O O O O r H
LO
o t**. o
LO
o to o
r-H
o r-. o
vO o
r o
^ o
r-H
o LO
o to o
to rH
vO
rH to to to CM (M rH (NJ CM
C M t O C M r H t O t O ( N J t O r H t O C M to
( N j r o r t L O v o r ^ o o c n o (NJ
ro
O
3
to ci r-i HH
0) B
•H E -
•K
/
126
o u
X X
w w PQ < E-H
PQ
Q W Di H-t
c/ w Di
W IS
CO w u z w CD
W PQ CO
Q W W W E-H PQ
CO W < Z w w W CJ
U-,
o Di
z CO w u z w CD'>H W PQ CO
Q
< P S E-" W C Z o w
CJ
o Di
z
e 3 rt w s o
Q
IS H
1
CD
E-^ I
CD
O bO
B 3 C
W
o CD
IS E -
I
CD
E-H
CD
O bO
B 3 i:i
W
B o
E-H I
CD
I
CD
O bO
O >H 5H Z
D.
UH (/) O Xi
O >H H^)
z
ro to 00
LO r-i
CM
vO T H
(NJ rH
iH CM
O CM
rt
to
cn to
00 to
o rH
vO O
rt rH
r t •
to
LO rH
vO CM
CO rH
O CM
LO r-i
rsi to
o rt
(NJ
CM CM
rt to
O LO
cn to
r-]
o LO
(NJ
vO rt-
r t CM
to to rt 00 O
to to vO O O
C M t O t O t O C n L O r H t ^ r t
c n v O L O c n c n c n r H r H o o
rH rH to r t rH
CM
rt rH
r t r-i
« ? t L O r H C M t O r t L O v O r H . O O C J ^ O , H ( N J t r ^
/
127
w -D CQ < E -
PQ
Q W ai >—i
CD cy w Di
w s
f—\
+J ~
rt o u V — /
X X
CO w u z w :=)
c/>^ W PQ CO
CD w w W H PQ < >-i Di CO W < Z W W W CJ
w o Di z
CO
w CJ z w o'> W PQ CO HJ W
< e->—i ai ir-< W PH Z O W
CJ w o Di
z
rt w
B o CD
E-I
CD
H I
CD
O bO
B 3 rt w B o Q IS H
I
CD fH
I
P ,o bO
B ,3 W
o CD
CD
H
Q
O bO
I
O M fH 2
P H •
<-H t/) O Xi
o z
r-H
o CM
o to
(- CM
o CM
O CM
cn (NJ
to
to
00 (NJ CM
to
LO
rt CM (N ,—i. vO CM to O CM rH rt
to
to
CM LO
LO rH
LO CM
CM rt
OO (NJ
OO
to
r-i LO
vO LO
rf vO
CvJ vO
C7> r-H.
(NJ
00
r^ rt
vO rt
1.6
8
VO vO
2.0
3
CM
to
cn LO
CM O
1.5
0
o vO
2.1
8
rt rt
1.6
8
CM
cn
CM
to
to vO
2.5
0
VO LO
(NJ
to rH (NJ
rH (NI (NJ
^ LO vo r-
r-j
to
CM to rH
(NJ to rH CM
LO
00 CM
t^
to
to CM
to to
r-i to
OO
oo 1-i
o CM
cn
VO to
r3-to
to to
r (NJ
LO
CM iH
vO rt
oo to
(NJ
r-i (NJ CM
( N j t o r t L O v o r > « o o c n o
r
7 12(i
t—\ -p -
Con
V /
X X
w r J
TA
B
> H PQ
Ck
s y-i
CD cy w Di
W IS \-i H
CO W u
UE
N
0 ' > H W PQ CO
Q W W W H PQ < ; HH D i CO W
< z w w w u f i ,
o ai z
CO
w CJ
z w CD 0 ' > H W PQ CO
C3 w w < H ss H W PH Z
o w CJ
w o Di z
3 rt w
0 Q
^ H
1
CD
1
Q
Igo
<
B
Enu
s 0 P ^ lis H
1 Q
in 1
P (O bO
e '3 .^
w
e 0 p
• N s ^
IS H
1
P ' H
1
P
' 0
ff ; <
, 0 0 ^ fH Z
PH '
t p m 0 . 0
0 U »-)
z
LO LO
• (NJ
t-H. LO
i H
0
r t
to CM
^
r~A
CM
(Nl
P H
to *
CM
f H r H
• (NJ
VO vO
CM
0 0 CM
(NJ
r t
lO to
CNJ
r-i
r H
f H
t o r H
0 LO
•
cn LO
0 0
P •-1
f
I
r H
r-i
r H
r t r^
t
r> •
(NJ
t H r t
(NJ
to 0
to
cn CM
to r t
r-H
to
r H
r-i
r-i
r-i
LO r H
0 0 r-H
0 0 0 0
to rH
r t r-i
r^
r^
r-i
vO r H
to r t
CM
r H CNJ
(N>
r t r t
LO (NJ
i H
r H
r-i
r-H
rH
LO CM
• i H
CM r-i
t H
r-i (NJ
r t r-i
CM
i H
CM
0 0 r-i
CM to ( M
r-i
to LO
• r H
CM 0
t o
0 CM
0 to
LO to
r-i
r-i
r H
r H
VO
r H
• CM
VO
cn
r-i
CM LO
r t (NJ
r-i r H
r-i r H
cn
(NJ
r t (NJ
. 0 0
^
1 0 t o
r-i r-i
r-i
r t
=»*=
0 vO
r t
to
=»te
(NJ
t o
(NJ r-H
r-i
cn r-i
r t
•
r-i to
r-i
to
CM
r-i
r-i
^
0 0
r^ .
0 r-i
0 0 CM
•
CM
cn
r t r-i
fH^
r t
LO to r H
VO vO
CM
r H
CM
r-i
LO
VO
0 •
CM CM
4*:
to r t
(NJ CM
0 cn
^
to cn
vO to
0 r H
:«=
0 r-i
vO
CM 0 0
• CM
0 ( M
LO
t -^
r t
CM n-
t ^
r t
t o
r--.
vO 0
• CM
cn to
(NJ
r-i
r t
0 0 CM
r-i
T-i
r-i
0 0
129
1 N
P
rt o u V '
X X
w HD CQ < E-
> H
PQ
P W Di \-i p Cf w a^
w IS V-i E-
CO W CJ Z w p 0 ' > H W PQ CO
CD W W W H CQ < HH D i CO W < Z w w W CJ
PH
o Di
z
CO w u z w p 0 ' > H W CQ CO
p KD W < H
s < HH OC,
E-" W OH Z
o w CJ
w o Di z
e 3 rt w B o p — IS
H 1
P
H 1
P
O bO
r-i <
B 3 rt w
e
H ^
^ H
J
P EH
P , o bO
r-i <
uin
c w B o p
^ E-H
1
CD
E-1
P
o bO
r-i <
r O O fH fH Z
CU
t+H to
o ^ o
fH H j ;2 w
LO
cn •
CM
r-i (NJ
vO
CM UO
0 0 r t
t o
r-i
CM
cn
CM
cn .
(NJ
r-i r t
OO
vO r t
0 0 LO
r-i
r H
r H
O r H
0 0 vO
• OO
t o CM
• r i -
OO VO
vO r H
o\ • *
o 0 0
vO OO
•
r-i
i H
r H
r H
r H r-i
O LO
• (NJ
r-i
4fc
(NJ
CT>
t o
vO LO
=te
cn to
r-i
r-i
:**:
r H
CM r H
r H o
• r t
0 0 vO
cn
vO vO
to uo
cn
r t
CM
to r-^
t-H.
t o •
vO r H
:**:
<y\ o
o CM
o r-H
:«=
OO 00
r H
r H
=tt=
r H
r t r-i
r-i r-i
• LO
vO LO
o r-i
i H OO
CM vO
r H
rH
r-i
LO r-i
O 0 0
• rHH
0 0 r H
r H r t
• (NJ
1
to vO
0 0 CM
o r t O LO
cn
. 1
to r-H.
: « * : :*»=
O
1
r-i
r-i
« 4C
t-H
0 0 LO
• t - H
r-i
1
to t - H
vO r t
CM CM
1
0 0
4fc
r H
1
r-i
(NJ
VO
cn •
CO to
1
LO f H .
cn r t
O t-^
1
O 00
( M
r H
1
r H
to
B XX •p • H fH
o bO
r-i cd
^ o
Teu
t 1
n3 3
P
.rt 4->
XX
• H IS
(U
o IS
•p
o a <u u <L) IS
(0
B 0
r-i
o fH
o. ^ o
t - H
4: «
ter
3
B o o (D .rt
T 3 <D
' ^
O r-i fH 0 >
o B (U
T H
O
^
T 3
P 03 fH 1) B 3 rt <u p
o rt B <D
rH
o fH
:ifc =»»:
r-
/
130
APPENDIX B: PROGRAMS AND INSTRUCTIONS FOR USE
PURPOSE
To illustrate the programs used and how to use them.
GENERAL:
All programs are written in Fortran II and can be
used on all computers which will process this language.
Also all programs must be loaded on disks and executed off
of .hesec No instructions will be given for clearing the
machine smvze this changes for different models of the
con.puter c
RESTRICTIONS:
Maximum number of jobs is 8 and maximum number of
machines is 5.
DHIA CARD PREPARATION:
Beginning kn Column Punch
Card 1 1
3
Caid 2 1
5
9
13
17
NOo of jobs (2 digits w/o decimal)
NOo of machines (2 digits w/o decimal)
4 digits w/o decimal)
BT (4 digits w/o decimal)
4 digits w/o decimal)
An (4 digits w/o decimal)
Bn (4 digits w/o decimal)
/
131
Card 3 1
5
9
13
17
^2
A3
H ^3
A4
Same as above -
Continue until all machine times are entered. There
are always five values per card.
LOADING ON DISKS:
The programs are loaded on disks in accordance with
the procedures in effect for the computer usedc The instruc
tion cards for the specific program are shown with the pro
gram.
EXECUTION OFF DISKS:
1 Proposed Algorithm:
<fffXEQSRDSSEQ 101 Da t a
^IOCAL RDS SEQ,DOMl,D0M2,D0M3,D0M4
2 Dudek-Teuton Algorithm
ff?^XEQSOFTSEQ 101 Data
^ L OCALOFTSEQ,D0M3,D0M5,D0M6
3 Dudek-Teuton Algorithm With Dominance
ff^XEQSOFTSED 101 Da t a
« LOCALOf TSEQ,D0M2,D0M3,D0M4,D0M5,D0M6
4e Enumexation
##XEQSBBENUM Data
tis^'-
7
132
(Note that # is 0,2,8 Multi-Punched)
Fox the algorithm it is possible to run more than
one problem simply by placing SENSE SWITCH #2 to the ON
position. To run a new problem the START button need only
be depressed.
PROGRAMS: All programs and subprograms follow:
/
133
P ) , L S ( " » 1 - ) *LDISKRDS5EQ
DIMENSION L( 5*8) »L0( 5»150) »JS( 130,9UJC( 1 0 DIMENSION NC(150)
C N-JOBtM-MACHINE SEOUFNCING PROGRAM BY PlCtMR(^ n, ^MITH COMMON NP»NM,NJ»NS»L»L0»LS9JS»JC»NC
200 CONTINUE READ 10»NJ»NM
10 FORMAT (2U) PUNCH 11»NM»NJ
11 FORMAT (lOHTHIS IS A »I2»9H MACHINF»»I 2•12H JOM PQMRIFM)
READ 13»((L{J»K)»J=1»NM)•K=1»NJ) 13 FORMAT ( 5U)
PRINT 500 500 FORMAT (5HSTART)
NS=1 JS(1»1)=0 DO lA K=1»NM LQ(K.1)=0
1^ LS(K»1)=0 M0=NJ-2 DO 100 NP=1»M0 CALL DOMl
26»30»30 30
26 27
28»28»27
19
20 21
18
22 28
29 31
IF (NS-2) CALL D0M2 CALL D0M4 GO TO 100 IF (NC(l)-l) M1 = NC( 1) DO 22 I=2»M1 JS(I,NP+1)=JC(1»I) J1=JS(IfNP+1) L0( 1»I )=0 DO 21 J=2»NM LH1 = L( J-1»J1)+LS( J-ia)-LS(J.l)+LQ(J-l»I ) IF {LH1-LQ(J»1)) 20»20»19 LQ(J»I)=LH1 GO TO 21 LQ(J»I)=L0(J»l) CONTINUE DO 18 J=1»NM LS(J»I)=L(J»J1)+LS(J»1) DO 22 J=1»NP JS( I •J)=JS(1»J) JS( 1,NP+1)=JC(1»1) J1=JS(1»NP+1) DO 31 J=2>NM LH1=L(J-1»J1 )+LS(J-1»1)-LS(J»1)+L0(J-1»] ) IF (LH1-L0(J»1)) 31»31»29 LQ(J»1)=LH1 CONTINUE DO 32 J=1»NM
M .")
32 LS(J»1)=L(J»J1)+LS(J»1) NS=NC(1)
100 CONTINUE PUNCH 110
110 FORMAT (33H SEQUENCES TIMP) NP=NJ-1 CALL D0M3 PAUSE IF (SENSE SWITCH 2) 200*300
300 CONTINUE END
/
— r
*LDISK0FT5E0 C TEUTON S N-JOB* M-MACHINE SEQUENCING ALr.OPITflf
DIMENSION L( 5»8) •LQ( 5» 150) »JS{ 150*9) »JC( 150,8) •LSI >. 1 30) DIMENSION NC(150) COMMON NP»NM»NJ*NS»L»LQ»LS*JS»JC»NC
200 CONTINUE READ 10*NJ*NM
10 FORMAT (214) READ 13»((L(J»K)>J=1*NM)»K=1»NJ)
13 FORMAT (514) PUNCH 11,NM»NJ
11 FORMAT (lOHTHIS IS A »I2»9H MACHINE* , 12,12H JOB PR')RLE'>i) PRINT 500
500 FORMAT (5HSTART) NS = 1 JS(1*1)=0 DO 14 K=1*NM LQ(K*1)=0
14 LS(K»1)=0 M0=NJ-2 DO 100 NP=1*M0 CALL D0M5
15 CALL D0M6 100 CONTINUE
PUNCH 110 110 FORMAT (33H SEQUENCES TIMF)
NP=NJ-1 NC(1)=0 JC(1*1)=0 CALL D0M3 • PAUSE IF (SENSE SWITCH 2) 200*300
300 CONTINUE END
/
136
LDI5K0FTSED TEUTON S N-JOB* M-MACHINE SEQUENCING ALGORITHM WITH POMIN^'JCF DIMENSION L(5*8)*L0(5*150)*JS(150*9)*JC(150*8)*L5(5,15n) DIMENSION NC(150) COMMON NP,NM*NJ*NS*L*LQ*LS*JS*JC*NC
200 CONTINUE READ 10*NJ*NM
10 FORMAT (214) READ 13* ( (L( J*K) *'J=1*NM) *K=1*NJ)
13 FORMAT (514) PUNCH 11*NM*NJ
11 FORMAT (lOHTHIS IS A *I2*9H MACHINE**I 2,1 2H JOB ppn^LFD PRINT 500
500 FORMAT (5HSTART) NS=1 JS(1*1)=0 DO 14 K=1*NM LQ(K*1)=0
14 L5(K»1)=0 M0=NJ-2 DO 100 NP=1*M0 CALL D0M5 IF (NS-2) 15*16*16
15 CALL D0M6 GO TO 100
16 CALL D0M2 CALL D0M4
100 CONTINUE PUNCH n o
110 FORMAT (33H SEQUENCES TIME) NP=NJ-1 NC(1)=0 JC(1*1)=0 CALL D0M3 PAUSE IF (SENSE SWITCH 2) 200*300
300 CONTINUE END
137
*LDISKD0M1 SUBROUTINE DOMl DIMENSION L( 5*8) »L0( 5*150 ) *JS( 150*9) *JC( 150*8 ) *LS{''* 150) DIMENSION NC(150) DIMENSION LR(5)*M(8)*JD(7) COMMON NP*NM,NJ*NS*L*LQ»LS*JS*JC*NC DO 90 1=1,NS M0=NM-1 DO 10 J=2*M0
10 LR(J)=LQ(J*I)-LS(1*1)+LS(J*I) NC(I)=0 K0 = 0 DO 13 J=1*NJ DO 12 K=1*NP IF (J-JS(I*K)) 12*13*12
12 CONTINUE K0=K0+1 M(KO)=J
13 CONTINUE M0=NJ+1-NP DO 80 J=1*M0
15 MINA = M(1 ) MSS=1 DO 18 IC = 2*K0 DO 17 K1=1*NM M1=M(K) IF (L(K1*MINA)-L(K1*M1)) 18*17*16
16 MINA =M(K) MSS = K GO TO 18
17 CONTINUE 18 CONTINUE
JD(1)=0 ND=1 IF (L(2*MINA)-L(1*MIMA)) 70*19*19
19 DO 60 K=1»K0 J1=M(K) IF (MINA-Jl) 20*60*20
20 LH1=L(1*MINA) LH2=L(1*MINA)+L(1*J1)"L(2*MINA) LH3 = L(1*J1 ) DO 50 K1=3*NM IF (LH1-LR(K1-1)) 21*22*22
21 LH1=LR(K1-1) 22 IF (LH2-LH1) 23*24*24 23 LH2=LH1 24 IF (LH3-LR(K1-1)) 25*26*26 25 LH3=LR(K1-1) 26 LH1=L(K1-1*MINA)+LH1
LH2=L(K1-1*MINA)+L(K1-1*J1)-L(K1*MINA)+LH2 LH3 = L(K1-1*J1)'»-LH3
/
13P
27 50
60 70
60921*21 60*50*50
71
72 73
77
78
14
80 90
73,73
IF (LH3-LH1) IF (LH3-LH2) CONTINUE NDsND-l-l JD(ND)=J1 CONTINUE NC( I )=NC(I) + l M1=NC(I) JC(I*M1)=MINA IF (MSS-KO) 71 M1=K0-1 DO 72 K=MSS*M1 M(K)=M(K+1) K0=K0-1 KN = 0 DO 78 K=1*K0 DO 77 K1=1*ND IF (M(K)-JD(Kl)) CONTINUE KN=KN+1 M(KN)=M(K) CONTINUE KO=KN IF (KO-1) 90*14*80 NC(I)=NC(I)+l M1=NC(I) JC(I*M1)=M(1) GO TO 90 CONTINUE CONTINUE RETURN END
77,78*77
139
*LDISKD0M2 SUBROUTINE D0M2 DIMENSION L(5*8),LQ(5,150)*JS(150*9) *JC(15C,8),LS(b,l50) DIMENSION NC(150) COMMON NP,NM,NJ*NS*L*LO,LS*JS*JC*NC M0=NS-1 DO 80 1=1*M0 IF (NC(I)-O) 80*80*10
10 M1=NC(I) DO 75 J=1*M1 J0=I+1 DO 70 K=J0*NS IF (NC(K)-O) 70*70*11
11 K0=0 DO 14 K1=2*NP DO 13 K2=2*NP IF ( JS( I*K1)-JS(K*K2) ) 13,12*13
12 K0=K0+1 GO TO 14
13 CONTINUE 14 CONTINUE
IF (K0-(NP-2)) 70*15*19 15 DO 16 K1=2*NP
IF (JC(I*J)-JS(K»K1)) 16*17*16 16 CONTINUE
GO TO 70 17 M2=NC(K)
DO 18 K1=1*M2 DO 18 K2=2*NP IF (JC(K*K1)-JS(I*K2)) 18,21*18
18 CONTINUE GO TO 70
19 M2=NC(K) DO 20 K1=1,M2 IF (JC(I,J)-JC(K,K1)) 20,21,20
20 CONTINUE GO TO 70
21 KSS=K1 N=JC(I*J) M=JC(K*KSS) K0=0 N0 = 0 LH1=0 LH2 = 0 DO 30 K2=2*NM LH1 = L(K2-1*N)+LS(K2-1*I )-LS(K2*I)+LHl LH2 = L(K2-l*M)+LS(K2-l*K)-LS(K2*K)-i-LH2 IF (LH1-L0(K2*I)) 22*23*23
22 LH1=LQ(K2*I) 23 IF (LH2-LQ(K2*K)) 24*25*25 24 LH2=LQ(K2*K)
14 0
31*32*32 70*36*36 33*35*35
25 IF (LH1-LH2) 26*27*28 26 KO = KO-»-l
GO TO 30 27 KO«KO-»-l 28 N0=N0+1 30 CONTINUE
IF (KO-(NM-l)) 31 IF (NO-(NM-l)) 32 IF (KSS-NC(K)) 33 M2=NC(K)-1
DO 34 K2=KSS*M2 34 JC(K,K:2)=JC(K*K2 + 1 )
35 NC(K)=NC(K)-1 GO TO 70
36 JC( I ,J)=0 GO TO 75
70 CONTINUE 75 CONTINUE
K0 = 0 M1=NC(I) DO 77 K1=1*M1 IF (JC(I*Kl)-0) 77*77*76
76 K0=K0+1 JC(I*K0)=JC(I,K1)
77 CONTINUE NC(I)=K0
80 CONTINUE RETURN END
1 4 1
*LDISfCD0M3 SUBROUTINE D0M3
DIMENSION L(5*8J*LQ(5*150)*JS(150*9)*JC(150,8)*LS(5*150) DIMENSION NC(150) DIMENSION M ( 2 ) COMMON NP*NM*NJ*NS*L*LQ*LS»JS*JC*NC DO 100 I=1*N5 K0 = 0 DO 15 J=1*NJ DO 14 K=2*NP IF ( J - J S ( I * K ) ) 14,15*14
14 CONTINUE K0=K0+1 M(KO)=J
15 CONTINUE N1=M(1) N2=M(2)
17 LH1=0 LH2 = 0 LH3 = 0 LH4 = 0 DO 30 J=2*NM LH1=L(J-1*N1)+LS(J-1*I)-LS(J*I)+LHl LH2 = L(J-1»N1)+L(J-1*N2)+LS(J-1*I)-L(J*N1)-LS(J * I)+LH2 IF (LQ(J*I)-LHl) 19*19*18
18 LH1 = LQ(J»I ) 19 IF (LH2-LH1) 20*21*21 20 LH2=LH1 21 LH3 = L(J-1*N2)"»-LS( J-1*I )-LS(J*I )+LH3
LH4 = L(J-1*N2)+L(J-1*N1)+LS(J-1*I )-L ( J *N2 )-LS ( J , I )+LH''* IF (LH3-LQ(J*I)) 22,23*23
22 LH3=LQ(J*I) 23 IF (LH4-LH3) 24*30*30 24 LH4=LH3 30 CONTINUE
IF (LH2-LH4) 31*31*32 31 JS(I*NJ)=N1
JS(I*NJ+1)=N2 LT=LS(NM,I)+L(NM*Nl)+L(NM*N2)+LH2 GO TO 33
32 JS(I*NJ)=N2 JS(I,NJ+1)=N1 LT = LS(NM,I )+L(NM*Nl)-i'L(NM*N2)+LH4
33 SEQ=0.0 X=10«0**(NJ-1) M0=NJ+1 DO 40 J=2*M0 Y=JS(I,J) SEQ=X*Y+SEO
40 X=X/10*0 PUNCH 50,SE0,LT
•Vl»lMl^
1 13
*LDISKD0M4 SUBROUTINE D0M4 DIMENSION L( 5,8) ,LQ( 5,150 ) ,JS( 150*9) ,JC( 15U, 8) ,LSCJ. 150) DIMENSION NC(150) COMMON NP,NM,NJ*NS*L*LQ*LS*JS*JC*NC K0 = 0 DO 85 I=1*NS IF (NC(I)-O) 85*85*81
81 K0=K0+1 DO 82 J=1,NP
82 JS(KO*J)=JS( I*J) M2=NC(I) DO 83 J=1*M2
83 JC(KO,J)=JC( I *J) NC(KO)=NC( I ) 00 84 J=1,NM L0(J*KO)=LQ(J*I)
84 LS(J»KO)=LS(J*I ) 85 CONTINUE
N5 = K0 DO 100 I=1*K0 JS(I*NP+1)=JC(I*1) IF (NC(I)-2) 95*101*101
101 M2=NC(I) DO 94 J=2*M2 NS=NS+1 DO 86 K=1*NP
86 JS(NS*K)=JS(I*K) JS(NS,NP+1)=JC(I»J) LQ(1*NS)=0 N=JC(I*J) DO 89 K=2*NM LH1 = L(K-1»N)+LS(K-1*I)-LS(K* I)+L0(K-1*NS) IF (LH1-L0(K*I) ) 87,88*88
87 LQ(K*NS)=LQ(K»I ) GO TO 89
88 LQ(K*NS)=LH1 89 LS(K*NS)=LS(K,I)+L(K*N)
LS(1»NS)=LS( 1*1 )+L(l*N) 94 CONTINUE 95 N=JS(I,NP+1)
DO 98 J=2*NM LH1=L{J-1*N)+LS(J-1*I)~LS(J*I)+L0(J-1*I) IF (LH1-LQ(J*I)) 98*98*96
96 L0(J*I)=LH1 98 CONTINUE
DO 99 J=l9NM 99 LS(J,I)=LS(J*I)+L(J*N)
100 CONTINUE RETURN END
/
1 14
* L D I S K D 0 M 5 SUBROUTINE D0M5 DIMENSION L ( 5 * 8 ) » L 0 ( 5 * 1 5 0 ) * J S ( 1 5 0 * 9 ) » J C ( 1 5 0 » 8 ) * L S ( ^ , 1 5 0 ) DIMENSION N C ( 1 5 0 ) DIMENSION M ( 8 ) , L R ( 5 ) * J T ( 6 ) COMMON N P , N M * N J 9 N S * L * L Q * L S * J S * J C * N C DO 200 I = 1 * N S DO 20 J=2*NM
20 L R ( J ) = L O ( J * I ) - L S ( 1 * 1 ) + L S ( J * I ) L R ( 1 ) = 0 K0 = 0 DO 30 J = 1 , N J DO 25 K=1*NP I F ( J - J S ( I * K ) ) 2 5 , 3 0 * 2 5
25 CONTINUE K 0 = K 0 + 1 M { K O ) = J
30 CONTINUE 31 K 1 = M ( 1 )
L 1 = L ( 1 * K 1 ) + L ( 2 * K l ) MSS=1 DO 40 K = 1 * K 0 K2=M(K) L 2 = L ( 1 * K 2 ) + L ( 2 * K 2 ) I F ( L 1 - L 2 ) 4 0 , 4 0 , 3 2
32 K1=K2 L1 = L2 MSS = K
40 CONTINUE NT = 0 M2=K0*K0 DO 90 J 0 = 1 * M 2 DO 60 K = 1 , K 0 I F (K -MSS) 4 1 , 6 0 , 4 1
4 1 K2=M(K) L H 1 = L ( 1 * K 1 ) L H 2 = L ( 1 , K 1 ) + L ( 1 , K 2 ) - L ( 2 , K 1 ) L H 3 = L ( 1 , K 2 ) L H 4 = L { 1 , K 2 ) + L ( 1 * K 1 ) - L ( 2 , K 2 ) DO 50 M1=3,NM I F ( L H l - L R ( M l - l ) ) 4 2 , 4 3 , 4 3
42 L H 1 = L R ( M 1 - I ) 43 I F ( L H 2 - L H 1 ) 4 4 , 4 5 , 4 5 44 LH2=LH1 45 I F ( L H 3 - L R ( M 1 - 1 ) ) 4 6 * 4 7 * 4 7 46 L H 3 = L R ( M 1 - 1 ) 47 I F ( L H 4 - L H 3 ) 4 8 * 4 9 * 4 9 48 LH4=LH3 49 L H 1 = L ( M 1 - 1 » K 1 ) + L H 1
L H 2 = L ( M 1 - 1 , K 1 ) + L ( M 1 - 1 , K 2 ) - L ( M 1 , K 1 ) + L H 2 L H 3 = L ( M 1 - 1 * K 2 ) + L H 3
msiv:*^^ WeJUkS
145
51 LC1=LH2 GO TO 53
52 LC1=LH1 53 IF (LH3-LH4) 54,55,55 54 LC2=LH4
GO TO 56 55 LC2=LH3 56 IF (LC1-LC2) 60,58,57 58 NT=NT+1
JT(NT)=K2 60 CONTINUE
GO TO 61 57 K1=K2
MSS = K NT = 0
90 CONTINUE 61 JC(I,1)=K1
NC( I )=1 IF (NT-0) 69,69,62
62 DO 68 J4=1,NT NC(I )=NC(I) + l N1=NC(I)
68 JC( I ,N1)=JT(J4) 69 K2=NC(I) 91 DO 150 J=1,NJ
DO 95 K=1,NP IF (J-JS(I,K))
95 CONTINUE DO 100 K=1,K2 IF (J-JC(I,K))
100 CONTINUE LH1 = 0 LH2 = 0 LH3 = 0 LH4 = 0 M2=NM-1 DO 120 K=2*M2 LH1=L(K-1,K1)+LHl LH2=L(K-1,K1)+L(K-l,J)-L(K,Kl)+LH2 LH3=L(K-1,J)+LH3 LH4 = L(K-l,J)-fL(K-l,Kl)-L(K,J)+LH4 IF (LHl-LR(K)) 101*102,102
101 LH1=LR(K) 102 IF(LH2-LH1) 103,104,104 103 LH2=LH1 104 IF (LH3-LR(K)) 105,106,106 105 LH3=LR(K) 106 IF (LH4-LH3) 107,106,108 107 LH4=LH3
95,150,95
100,150,100
*.'*. d
/
1 1 r >
108 IF (LH4-LH2) 109,120,120 109 NC( I )=NC(I) + l
N1=NC(I) JC(I*N1)«J GO TO 150
120 CONTINUE 150 CONTINUE 200 CONTINUE
RETURN END
il
/
147
10
*LDISKnOM6 SUBROUTINE D0M6 DIMENSION L( 5,8) ,LQ( 5,150 ) ,JS( 150,9) ,JC( 1 50,8) .L >( ,1 50) DIMENSION NC(150) COMMON NP,NM,NJ,NS,L,LO,LS,JS,JC,NC KO = NS DO 100 1=1,KO IF (NC(I)-l) 60,60,10 M1=NC(I) DO 50 J=2,M1 NS=NS+1 JS(N5,NP+1)=JC(I,J) M2=JS(NS,NP+1) LQ(1,NS)=0 DO 40 K=2,NM LH1=L(K-1,M2)+LS(K-1,I)-LS(K,I)+LO(K-l,N^) IF (LH1-LQ(K*I) ) 21*20*20 LQ(K*NS)=LH1 GO TO 22 LQ(K»NS)=LQ(K,I) LS(K*NS)=LS(K*I )+L(K*M2) CONTINUE LS(1*NS)=LS( 1*1 )+L(l*M2) DO 50 K=1,NP JS(NS*K)=JS( I»K) JS(I*NP+1)=JC(1*1) N=JS(I*NP+1) DO 70 K=2,NM LH1=L(K-1,N)+LS(K-1,I)-LS(K,I)+LQ{K-l,I) IF (LH1-LQ(K,I)) 70*70,65 LO(K,I)=LH1 CONTINUE DO 80 J=1,NM LS(J*I)=LS(J*I)+L(J*N) NC(I)=0 JC(I*1)=0 CONTINUE RETURN END
20
21 22 40
50 60
65 70
80
100
/
118
*LDIS<BBENUM C ENUMERATION PROGRAM BY W. R« EDWARDS C SENSE SWITCH ONE — ON - PARTIAL OFF - COMPLf IF C SENSE SWITCH TWO — ON - PRINT OFF - PUNCH
DIMENSION D(8*20)*X(8>20)*F(8*20)*II(8),JJ(33,2O),1M(33) DIMENSION L(5*8)
5 READ 10*NJ*NM 10 FORMAT (214)
READ 13*((L(J*K)*J=1*NM)*K=1*NJ) 13 FORMAT (514)
NP = 1 DO 15 1 = 1,NJ DO 15 J=1,NM
15 0(1 *J)=L(J»I ) 34 FORMAK//) 35 FORMAT ( 24X* 15HPR0BLEM NUMBER * 12* 1H-* 12, 1H-, 12 ) 40 FORMAT (3(15X,5HT0TAL,4X)) 41 FORMAT (3(5X,3HJ0B*6X,7HELAPSED,3X)) 42 FORMAT (3(3X,8HSEQUENCE,4X,4HTIME,5X))
IF(SENSE SWITCH 2)4,2 2 I0P=1
PUNCH 34 PUNCH 35, NJ, NM, NP PUNCH 40 PUNCH 41 ! PUNCH 42 GO TO 3
4 I0P=2 PRINT 34 PRINT 35, tvlJ, NM, NP PRINT 40 PRINT 41 PRINT 42
3 DO 45 1=4,8 45 I K I ) = 0
IF(NJ-4)601,601,610 610 IF(NJ-7)620,602,602 620 IF(SENSE SWITCH 1)602,601 601 IND=1
GO TO 603 602 IND=2 603 N=0
SMALL=10000000000. DO 300 III = 1, NJ I I ( 1 ) = I II DO 290 112= 1, NJ IF ( 112-11(1) ) 47, 290, 47
47 11(2) = 112 50 DO 280 113=1,NJ
I I(3) = I 13 51 IF ( II(3) - M(1) ) 52*280* 52
140
52 58 60
63 61 62 68 70
71
72 78 80
81
82
90
91 292
92
310
303 302 100
120
130
140
150
160 170
1602 580
IF ( IF ( I I (4) IF (
(
11(3) - 11(2) NJ - 3 ) 500* = 11(4) + 1
) 58*280* 100, 60
58
IF IF ( IF ( IF ( 11(5) IF ( DO 72 IF (
11(4) « 11(4) -11(4) -11(4) -NJ - 4 ) = 11(5) 11(5) -I = 1*
11(5) -
NJ ) 63* 63* 261 II (1) ) 61* 60* 61
) 62* 60* 62 ) 68* 60* 68 100* 70
II (2) 11(3) 500* + 1
NJ ) 4 I I ( I )
71* 71* 251
) 72* 70* 72
100* 80
81* 81* 241
) 82* 80* 82
CONTINUE IF ( NJ - 5 ) 500* 11(6) = 11(6) + 1 IF ( II(6) - NJ ) DO 82 I = 1, 5 IF ( 11(6) - II( I ) CONTINUE IF(NJ-6) 500*100,90 I I(7)=II{7) + l IF( I I(7)-NJ)91,91,231 DO 92 1=1,6 IF( I I(7)-II( I ) )92*90,92 CONTINUE IF(NJ-7^ 500,100,310 I I(8) = II(8) + l IF( I I (8)-NJ) 303,303.*301 DO 302 1=1*7 IF( II {8)-II( I ) )302*310*302 CONTINUE
1* NJ 1, NM
DO 120 I = DO 120 J = K = I I ( I )
*J) ,1) 130 ,J) 140 ,1) 170 170
D(K X(l = 2 F(l = 2
*J) ,1) * NM ,J-1) , NJ
F(1-1,1) = 2, NJ = 2, NM 1,J) - F(I,J-1)
+ X(1,J)
+ X(I ,1)
X( I F(l DO F(l DO 140 I F( I DO 170 I DO 170 J IF ( F( I' BIG = F(I,J-1) GO TO 170 BIG = F(I-l,J) F(I,J) = BIG + X(I,J) TET=F(NJ,NM) GO TO {1601,1602),IND IF(SMALL-TET) 5 50,1601,580 SMALL=TET
) 150, 160* 160
ISO
1601
540
559 561
560 562 570 550 350 301 236 231 235 241 240 251 250 261 280 290 300
713 709 710 714
711 715 712 500
N = 0 N = N+1 DO 540 K=l*8 JJ(N»K)=II(K) TM(N)=TET IF(N-33)550*55Q>559 GO TO (561*560)*IOP PUNCH 570*((JJ(N,K),K=1,8),TM(N),N=1,33) GO TO 562 PRINT 570,((JJ(N,K),K=1,8),TM(N),N=1,33) N = 0 FORMAT (3(3X,8I1,1X,F9«0,3X)) GO 10(300,290,280*2 50,240,2 3 5,236,350),NJ IF(II(8)-NJ) 310,301,500" I I(8)=0 IF(II(7)-NJ) I I(7)=0 IF ( II(6)
= 0 11(5) = 0 11(4) = 0
90,231,500
- NJ ) 80, 241, 500
- NJ ) 70, 251, 500
NJ ) 60, 261, 500
I I (6) IF ( 11(5) IF ( I I (4) CONTINUE CONTINUE CONTINUE IF(N)713,713,709 GO TO (715,714),IOP GO TO (711,710),IOP PRINT 570*((JJ(I*K)*K=1*8 PRINT 34 GO TO 712 PUNCH 5709((JJ(I*K)*K=1*8 PUNCH 34 IF(IOP) 5*500*5 CALL EXIT END
)*TM(I)*I=1*N)
)*TM(I)*I=1*N)
i5
APPENDIX C - SAMPLE INPUT AND OUTPUT
PROBLEM:
This :s a 3-machine, 5-job problem^
A B C
1 75 55 16 2 67 26 26 3 12 6 2 1 4 87 25 28 5 88 34 53
DATA CARDS
00050003 00750055001600670026 0026001^006200010087 00250028008800340053
PROPOSED ALGORITHM OUTPUT
Ihi.r is a 3-machine, 5-job problem.
Sequences
32451o0 12453.0 53412.0 31254.0 34251.0 35214.0 14253.0 15234.0 52431.0 54231,0 31452.0 31542o0 35142.0 15432.0
Time
400 414 381 382 400 382 414 382 400 401 381 381 381 389
Jt
DUDEK-TEUTON ALGORITHM OUTPUT
This is a 3-machine, 5-job problem
Sequences Time
53142.0 12534.0 35142.0 13542.0 15342.0 31542.0 12354.0
381 382 381 381 381 381 382
DUDEK-TEUTON WITH DOMINANCE OUTPUT
This is a 3-machine, 5-job problem
Sequences Time
12534.0 35142.0 31542.0 12354.0
382 381 381 382
ENUMERATION OUTPUT
Problem Number 5- 3- 2
Total Total Total Job Elapsed Job Elapsed Job Elapsed
Sequence Time Sequence Time Sequence Time
13452000 381. 13542000 381. 14352000 381. 15342000 381. 31452000 381. 31542000 381. 34152000 381. 34512000 381. 35142000 381. 35412000 381. 43152000 381. 43512000 381. 45312000 381. 51342000 381. 53142000 381. 53412000 381. 54312000 381.