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 preparation 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
II.
......
11
DEVELOPMENT OF THE ALGORITHM
12
Definition of Symbols
12
Dudek-Teuton Algorithm
.13
Counter-Example to the Dudek-Teuton
Algorithm . » .
III.
, ; . . . . . 20
Development of New Algorithm
23
Statement of Algorithm
26
. c . . . . . . . . .
PROOF OF OPTIMALITY . . . . . . . .
34
General Form of Proof .
. 34
Procedure to be Followed in Proof of
1 ii 0
O
1 Gin S
«
o
»
»
o
e
»
«
n-Job, 2-machine Case . . . . . .
c
e
«
e
o
»
o
O
'
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
, . . . . , . . . .
Inductive Proof - Critical Sequence
. . . 61
Inductive Proof - Post-Sequence
73
Transitivity of Comparisons . »
IVo
76
DEVELOPMENT OF THE ALGORITHM
.79
Simplification of Decision Rules
79
m-Stage Algorithm o . . . . .
84
Example Problem c . . . . .
Vo
59
.
. . . . . . . . . .
87
RESULTS AND CONCLUSIONS . . . . . . . . . . . .
97
Analytical Verification . . . c
97
Machine Programs
. . . . . . .
.
98
Proposed Algorithm . . . . . . . . . . . .
Dudek-Teuton Algorithm
Enumeration
, ...
98
, . 98
. . . . . . . . . . .
99
Conclusions Based on Results of Verification. .100
Number of Sequences
.100
Time Required for Calculations
106
Comparison of Efficiency to Other
Known Algorithms
General Conclusions „ . . . . . .
.110
.
Recommendations for Further Research
Summary of Results
.111
.112
. .113
Table of Contents (con't.)
LIST OF REFERENCES
APPENDIX
o
e
o
o
o
o
o
o
o
o
•
c
o
o
e
e
e
Appendix A: Individual Problem Data
114
116
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)
TABLE II:
Known Conditions (n-Machine Case)
45
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
TABLE VII:
_ (j=2
Summation of Calculations Presequence 5_
TABLE VIII:
(j=2
. . 90
(j=3
Job "a" = 1 ) . .91
Summation of Calculations Presequence 52
TABLE X:
Job "a" =2)
Summation of Calculations Presequence 25_ _ _
TABLE IX:
Job "a" =5) . . . . 90
(j=3
Job "a" = 1) . . . 92
Summation of Calculations (n-l^"^ and
n^^ positions)
TABLE XI:
95
Average Number of Sequences
Generated (m=3)
TABLE XII:
Average Number of Sequences
Generated (m=5)
TABLE XIII:
101
......
101
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)
TABLE XVI: Time Required (m=5)
TABLE XVII:
TABLE XVIII:
109
Time Required With Dudek-Teuton
With Dominance (m=5) . .
110
Sequences Generated and Time
Required (m=3) . . . . . . . . .
TABLE XX:
107
Time Required With Dudek-Teuton
With Dominance (m=3)
TABLE XIX:
107
118
Sequences Generated and Time
Required (m=5) . . . . . . . .
125
!
LIST OF ILLUSTRATIONS
Figure 1:
Gantt Chart (3-Machine)
Figure 2:
Flow Chart of Decision Rules
14
. . . . . . .
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 sequences .
There are several different optimizing criterion that
can be used.
1.
A few of these are:
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.
by n jobs and m machines.
This problem is characterized
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 algorithm and demonstrate the efficiency of this algorithm by
solving several problems on a computer and comparing the
times required for computation using this algorithm, enumeration, and the Dudek-Teuton algorithm.
Review of Previous Research
The efforts of researchers in developing algorithms
to solve sequencing problems have been meager.
notable advance made m
1954.
The first
sequencing was by S. M. Johnson in
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 programming solutions, and solutions through simulation.
of this research is reported m
All
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 combinatorial 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 graphical form this algorithm is generally limited to 3-dimensions.
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 salesman" 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.
need not be processed m
Also all jobs
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--minimizmg 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.
1/^
fca- •-
This idle time
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 counterexample 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 processes 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 increasing processing time as they go through the machines.
A mathematical formula is presented which furnishes a decision 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 machines.
the same order through
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.
formally stated as follows:
It can be
n-jobs are to be processed
through m-machines in the order A, B, C, ...M with no passing 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 perform 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 importance, i.e., there are no due dates,
3.
Jobs are processed by the machines as soon
as possible and m
C=
a common order,
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-machine 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 optimality 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 recommendations 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.
during the discussion.
These will be pointed out
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
the sequence.
position of
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:
Machine
A
B
Job i
1
Al
2
A2
M
e
e
0
0
^
B
h
I
0
c
c
o
2
2
"l
"2
a
0
0
e
e
o
o
e
0
o
0
e
o
c
«
o
•
0
0
0
I
0
0
A.
3
j
e
0
A
n
n
B.
3
0
\
j
e
c
o
0
o
•
0
In
0
o
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.
^Figure 1,
Gantt Chart [3 Machine)
A-
Machine A
A4
A.
2.
ft
Machine B
IB
£ 1 _ , B-
B7
—Z
Machine C
ICi
Cl
IB^B, B.
J —5t 6 t—tM
—
IBr
—o—
I
C2
Notice from Figure 1 that T can be written as:
5
5
T = Z C. - Z IC. .
1= 1
i=l
Br3IC5
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
Z IC. =
i=l ^
u
u-1
V
v-1
max [ Z B. - Z C. + max ( Z A. - Z B.)].
l^u^n i=l ^
i=l ^
1 V u i=l ^
i=l ^
Extending these equations to a general m machine case:
(1)
u
u-1
a
a-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 . - Z B . ] ) ] } .
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)
K^iB),
IB =
max
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 positions j and (j+1).
To make this determination two se-
quences are examined.
(4)
These will be noted by S' and S".
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)
IC
=
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:
(6)
j
j-1
Kj(C)' = Z^ Bi - Z Ci + max [Q(B), Kj(B)'],
i= l
i= l
3+1
j
Z Bi - Z Ci + max [Q(B), K-: (B) ' ,
i=l
i=l
Kj+i(C)' =
Kj+i(B)'],
j+2
j+1
Z Bi - Z Ci + max [Q(B) , K-j (B) ' ,
i= l
i=l
Kj+2(C)'
u
u-1
K-j+i(B)' ,
max
( Z Ai - Z Bi)]
•^
j + 24u4j+2 i = l
i=l
n
Z
Kj^(C)' =
n-1
Bi - Z C. + max [Q(B), K.(C)',
i=l
•^
i= l
u
max
j+24U4n
( Z
-^i •
i=l
K.,T(C)',
•^ ^
u-1
Z Bi)]
i=l
And from the S" sequence:
(7)
J
J-1
Kj(C)" = Z Bi - Ba + Bb - I Ci + max [Q(B), K.(B)"],
^
i=l
i=l
^
Kj+i(C)" =
J+1
J
Z B, - ( Z
2 C - C + C ) +max [Q(B)
i=i 1
a
b
i= l
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^i=l
Z Ci + max [Q(B) , K.(B)", K.^-,(B)"
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
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
(8)
4 IC"
if
max [K^.(C)', K.^i(C)'] < max [K. (C)", K.^^(C)"]
(Condition 1)
and
(9)
i^
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)"],
i
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
20
position of the S' sequence causes one of these conditions
to fail is also considered as a candidate for the j th
position.
Counter-Example To The DudekTeuton 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
Job
A
B
C
1
3
22
2
2
22
20
20
3
20
14
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_
are better than
Sequences 1 3 2 4
1 3 4 2_
are better than
Sequences 1 4 2 3
14 3 2
are better than
2
2
3
3
13
14
12
14
4
3
4
2
4 12 3
4 13 2
22
Note that only 12 of the 24 possible sequences are considered.
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
13 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.
This includes all of the jobs in the reduced subset formed
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*
jt
::f
I' I
23
solution.
To devise a counter-example it is only neces-
sary to find a problem where all conditions are satisfied 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. Decision 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^^.
are then:
The sequences to be compared
24
j j^^l
Y
(11)
S'
X X X
i
a b .
S"=xxxb.
O
O
0
0 0 0
. o .aooo
.
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.
to n.
k is allowed to vary from j+1
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 orderings 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
the other side of the expression in relation to S"c
This
new restriction has the advantage of generating fewer
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
i
|
'J*^
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 computation.
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
ir
Figure 2
lie
27
Figure 2
FLOW CHART OF DECISION RULES
rt 1
(Job Dominance Check)
Select jobs as "a" and "b"l
^
Condition
met
not met
Condition
2
Condition
m-1
met^..
not met
met
not met
^Retain both jobs as candidates
for the J^^ position
Eliminate job "b" from
consideration for the j^^ position
•••I
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
28
Part 2 (Sequence Dominance
Check)
Select 2 partial sequences as S' and S"
Check if they are permutations of the same jobs
yes
no
Select 2 other partial
sequences and repeat
LJQ(B) '4Q(B)"|.^L£^(C) '4Q(C)"|ye,'>. . . . y ^ Q C M ) ' 4 Q ( M ) "
no
no
no
Eliminate
S' from
consideration
Retain both S' and S" in set
i|
of candidate partial
no
sequences
T
no
^ Q ( C } " Q ( C ) ' ..xg.^0 . . y g s j Q ( M ) " QfM) ' ye.s».
I.
1
±
Repeat part 2 until all paiiS
Eliminate S' frcm
consideration
Repeat parts 1 and 2 for first
n-2 sequence
positions
[GO t o p a r t 5 |
of partial sequences are
compared
ij5
29
art 3 (n-l^t and n^h Positions)
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
no
S' is a feasible sequence
n
Total time = Z M^ +
i=l
max [Q(M),Kj(M)',K-j,i(M)']
S" is a feasible sequence
Total time =
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
n
<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
(Condition 2)
J -'-
J
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:
(13)
j~l
Kj(B)' = Z Ai + Aa
i=l
j-1
Z Bi ,
i=l
j-1
3-1
1 . ,^a
Kj (C) ' = Z B:; + B^ - .'-.
>: Ci
i=l
i=l
j-1
•3
(14)
.^
* max
j^l
I Mi +
max [Q(L), Kj(L)'],
1= 1
i=l
j-1
j-1
A. ^ A. ^ A^ - (_Iz B^ + B J ,
K_ -.(B)' = Z Ai
a
3 ^
1=1
i=l
j-1
K. i(C)' = Z
J
i=l
B^
j' 1
^ B^ + B^ - ( Z C^+ CJ " max
1-1
[Q(B), K.(B)', K.^^(B)'],
£^
LQ(B), KJ(B)' I
51
Kj+i(M)' =
j-1
j-1
z Li ^ La + Lb - ( Z Mi ^ Ma)
i-l
i=l
max [Q(L), K-(L) ' , Kj.^^(L)'],
(15)
K.(B)" =
^
j-1
j-1
z A. + A, - Z B. ,
i=l
1
b
j-1
Kj(C)" =
.^^ 1 >
j-1
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
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)St
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
position in the S' sequence.
or (j+1)^
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,
(16)
K.^-,^(M)" is defined by:
j-1
j-1
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
K i(M3" = \z
-^
*
4
T
^ Lb * L^ - C \ \
1=1
M. . M^) ^
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
i=l
M. + max [Q(M), K. (M) ' , K. . (M) ' ] .
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 corresponding 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 permu34
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 proposed 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 consideration 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 DudekTeuton 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
12 3 4
12 4 3
are better than
2
2
2
2
2
2
1
1
3
3
4
4
3
4
1
4
1
3
4
3
4
1
3
1
Sequences
13 2 4
13 4 2
are better than
3
3
3
3
3
_3
1
1
2
2
4
4
2
4
1
4
1
2
4
2
4
1
2
1
Sequences
14 2 3
14 3 2
are better than
4 1 2
4 1 3
4 2 1
4 2 3
4 3 1
4 3 2
3
2
3
1
2
1
0
Notice that all 24 possible sequences are used in these
comparisons.
In filling the second sequence position the
following comparisons are made:
Sequence
12 3 4
is better than
Sequence
12 4 3
is better than
5 2 4
3 4 2
[1
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
12 3 4
is better than
12 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 containing 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
S' ^ x x x a b c
S"=xxxb.
j
h
k
0 . c .000
<, . . . a o o o
h-i
(^h ;-S an arbitrary position in the critical sequence)
38
It should be noted here that S" represents all possible 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" _
IM' 4 IM".
If
max [Kb(M)"] and
j =h4k
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 equation (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 permutations 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
j^h^k ^
J
J 1
j-24h4k
(25)
max Kb(B)" = max [Kj(B)",
j =b^k
K,(B)'] ,
^
max
Kb(B)", K]^(BV'] .
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:
(26)
h
h-1
Kb(B)' = Z A, - Z Bi ,
i=l
i=l
Kh.i(B)" = ( Z
A. - A^) - ( Z
1=1
B^ - BJ.
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:
(27)
u
u~ 1
Ku(B)" = Ku(B)' = Z Al - Z Bi .
i=l
i=l
With this observation the second part of the proof is completed 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:
(29)
jtl
j
K^^^.(Cj' = ^ B^ ^ Z C- -max [QiB), K.(B)', K- .(B)'
^
i=l
i=l
^
^
(30)
j+1
J
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 K W B ) " and K-(B) ' 4 Q(B)
then K•(B)' 4 K.(B)" which violates Condition 1,
if Q(B) 4 K^. (B)" and K^,^(B)' 4 Q(B) then
which also violates Condition 1.
Similarly
K^^-L(B)'
4 K-(B)"
Thus these two states are
impossible.
Each of the four remaining states will be investigated 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:
C,
a - B„
"a . .-.E -A.
-1 - A^ - (^Z Bi - B J > 1 A. 1=1
i=l ^
* ^ i=l
J
Z B1
i=l
•
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
State 4:
4 A
from similar reasoning as performed in state 2
K.(B)" 4 Q(B)
Kj^l(B)' 4 [Q(B), K^(B)']
From equation (31) note that:
45
(37)
C
- B
a
or
(38)
+ K.(B)" _ K. ^ (B)'
a
C 4 A
a
a
J
~j-^l
by the same reasoning as performed in state 2
Summarizing this information the following table can
be constructed:
TABLE I
KNOWN CONDITIONS (3-MACHINE CASE)
State
S" Sequence
Conditions
S' Sequence
Conditions
~T~
Q(B)4K^. (B)"
Q(B)4K^(B)'
Known Machine
Conditions
(32) C^4B^
Q(B)4Kj+i(B)'
2
3
4
Kj(B)"4Q(B)
K^(B)"4Q(B)
K^. (B)"4Q(B)
Q(B)4K^(B)'
(33) C^-B^ + K^ (B) "4Q(B)
Q(B)4K^^^(B)'
(34) C^4A
K^(B)'4Q(B)
(35) C^-B^+K^ (B) "4K^ (B) '
K.(B)'4K.^^(B)'
(36) C^4A,
K^.,-^(B)'4Q(B)
Kj^i(B)'4K.(B)'
(37) C^-B^ + K • (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
J4h4k
K, ( C ) " = max [ K . ( C ) " ,
^
^
max
j+l4h4k-l
K, ( C ) " , K, ( C ) " ] .
^
^
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 following expressions can be written:
(41)
(42)
h
h-1
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
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
(43)
^ J
C^ - B^ + m a x [ Q ( B ) , K . ( B ) " ,
^
3.
3
u-1
^ B. + B ) ]
i =l
max
J*24U4h
max
j+2^U4h
4 max
u
( Z A^ i=l
( Z A- - A i =l
^
^
[Q(B), K . ( B ) ' ,
-^
K-^
-,(B)',
u-1
Z B^)] .
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)'
Q(B)
u
u-1
max
[ Z A- - Z B-]
J-24u^h i=l
i=l
Kj(B)"
u
u-1
max
[ Z A^ - Z B^]
j+24U4h i=l
i=l
3
4
5
u
u-1
max [ Z Ai - A^ - Z B- + B^]
J "2^u4h i = l
i=l
K- ^(B)' .
-^
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
J *24U4h 1 = 1
1=1
iKj(B)".
•'
If (A - B ) is added to both sides of this expression it
^ a
a
48
can be seen that
u
u-1
max
[ z A. - z B.j 4 K.(B)"
j-2^U4h 1=1 ^
i=l ^
^
^ A, - B
a
a
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 investigated 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.
Case 1:
u
u-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).
Case 2:
u
u-1
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,
(45)
This
\^iiQ''
4 ^^(C) ' if
C^ - B^ + Kj(B)" 4 Q(B).
is
Case 3 :
known t o b e t r u e
from e q u a t i o n
K • (B) ' 4 {Q(B) , K - ^ - , ( B ) ' ,
-^
-^
K . ( B ) " ^ {Q(B),
max
J*24U4h
(33).
max
j + 24U4h
u
[ Z A^
i =l
-
u-1
Z B-])
i =l
u
u-1
[ Z A- - A. Z B- + B a ] ^
1=1
1=1
It can readily be seen that State 3 must have existed
in (j+l)S^ position.
(46)
Kj^.i(C)" 4Kj^(C)'
if
C^ - B^ + K^(B)" 4 K^(B)' .
This is known to be true from equation (35).
Case 4:
K_, . (B) ' 4 iQ(Bl, K. (B) ' ,
max
^ ^
^
j-2_u4h
u
u-1
[ Z A. - Z B.]}
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.
^'^7)
Kb_i(C)" 4 ^^(C) ' if
C^ - B^ ^ K^(B)" 4 K = ^-L (B)' .
This is known to be true from equation (37),
XEXAa TECHNOLOGICAL
LUESOCK. TEXAS .
LI3RAR)[S
iJ^JuuU^
50
u
u-1
Q(Bj 4 {Kj(B)', Kj+i(B)',
max
[ z Ai - z B^j}
j*24U4h i=l
1=1
Case 5:
u
max
[ 2 A^ - A
j+24U4h i = l
u-1
- Z B^ + B ] 4 [Q(B), K.(B)"J
i=l
-^
Kb-i(C)" 4 Kb(C)' if
(48)
C_ ^ B„ ^
u
u-1
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
Case 6:
K.(B)'
^
4 iQ(B),
Kh - i ( C ) " 4 K b ( C ) '
C
- B
+
max
j+24U4h
u
[ Z A- i =l
^
u-1
z B• ] }
1=1
u
u-1
[ Z A^ - A^ Z B^ + B^] 4 [ Q ( B ) ,
i =l
i =l
max
j + 24U4h
(49)
K. , ( B ) ' ,
-^ ^
K.(B)"]
-^
if:
max
j*2_u4h
u
u-1
[ Z A- - A •- Z B. + B J
i =l
^
^
i =l
^
a
4 K - (B) ' .
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_a - B„
a to both sides of this equation:
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 ) "
Case 7:
4Kb(C)'.
max
[ Z A^ - Z B^] 4 [Q(B), K • (B) ' , K..-^(B)']
i+2<u^h
i=l
i=l
j
+24U4
u-1
max
[ zZ A. - A^ - Z B. + B^] 4 Q ( B ) , K.(B)"
•iU'.h 1 = 1
i=l
"^
j •^24U;^h
u
Kb.i(C)" 4 Kb(C)' If
52
(50)
u
u-1
C^
B^
^
max
[
Z
A.
A
Z T B•I t Ba-i"
a
a
.
^
I
'
.
^
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:
(51)
C - A 4 0
a
a —
or
C > A .
a = a
It can be seen that all four possible states might have
existed in the (j+1)s t position.
If the first state existed
it is known that
C 4 B
from equation (32). From equaa
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:
Ky^^iB)'
Condition 1:
Kj(B)" 4 K^(B)',
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 permutations.
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 machines up to but not including the first job of the postsequence 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:
(54j
K, rC)'
^
u
u-1
-- Z B^ - Z C^ ^ max [IB'
i=l
i=l
V
v-1
( Z A. - Z B.j]
1=1 ^
i=l
ti
,
max
k-^l<.v^u
54
(55)
u
u-1
K^(C)" = Z
Z BB. ^ 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 c a n 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'^,
cs =< IC"^^
cs
it can be said that:
(57)
I C 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
j+24u_h
( ^ A^ - A^ i=l
z B^ - B ^ ) ] - max [ Q ( B ) ,
1=1
u
u-1
max
( i: A • Z B )] .
j^24U4h
i =l
1=1 "
K.(B)',
J
K_»,.(B)',
J ^
Reducing these equations it can be seen that:
56
^h-l<^C^" - \(^y
4 Kj(C)" - K.^^(C)'
if
(61)
u
u-1
{max [Q(B), K.(B)",
max ( Z A- - A^ - z B^ * B J ]
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
FK rB)"-K. .(B)'].
Case 5:
(B)'J 4
This is also obviously true.
Equation (61) reduces to
/
u
{ max
[ I A
j-24U4h 1^1 '
6^)
u 1
A • ). B ^ B , - Q;Bj ]
'^ 1 = 1 '
^
[K^(B)" -Q(B)j .
From the assumptions regarding the case it is known that
u
{ max
[ Z A - A
a
1+2 'U"h 1 = 1 ^
u-1
. \ ^1
1=1
' Bait = K (B)" .
-^
If Q(B) is subtracted from each side of this statement,
equation (62,j is obtained.
Case 6:
Equation (61) reduces to
u
{ max
[ l A.
j*2_u_h 1 = 1 ^
(63 j
u-1
A - >: B. - B ] - K (B) ' ~^ >
^
i=l^
a
3
{K (Bj" ^ K (B)" } .
J
3
Again Irom the assumptions regarding this case it is known
that
u
u-1
(max
[ Z Aj^ ^ A^ - Z B^ + B^]\
j>24U^h 1 = 1
1=1
4K_(B)" .
-'
^f K^(B)' IS subtracted from each side of this statement
equation (63) is proven.
Case ?i
(64j
Equation (61) reduces to
u
{ max
[ Z A - A
j*2_u_h 1=1 ^
^
u-1
Z B - B ]
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.
State 1:
Each will be examined separately.
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
(67)
[K.(B)" - K
It IS known that
Therefore
,(B)'] 4 [K.(B)" - Q(B)] .
[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)'.
[K (B)" - K.^i^B)'].
Therefore [K.(B)" - K. -^(B)] 4
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" -, i^B) ' ] 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)',
Condition 2:
Kj(C)" 4 "^ax [K^. (C) ' , Kj^^(C)'j,
Condition m-1:
K=(M)" 4 max[K (M)', K, ,(M^'],
J
Condition m:
K^^-^(B)'],
~
J
J 1
Kj (N) " 4 max [K^ (N) ' , K^,-^(N)'].
It will be shown that if these conditions are met for the
60
two
sequences
j j*l h k
that
S* = x x x a b
. , .
S " = x x x b .
.
IN'
_
0 0 0
. a o o o
IN".
The following inductive assumptions are made concerning the m-machme case.
It will be shown that if these
assumptions are true for the m-machine case and the conditions 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)",
max
K, (N) ' ] 4
j*24h^k
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:
(75)
j*l
j
K^ .(N)' = I M. - Z N. + max [Q(M), K.(M)', K^ .(M)'j
J ^
1=1
^
1=1
(74^
j^l
j
K.(N)" = I M^ - M^ - ( Z N^ - N^) + max [Q(M),K•(M)"],
^
i=l
i=l
-^
,75)
K,rN)' =
^
h
h-1
Z M. - Z N ^
i=l
-^
max [Q(M), K • (M) ' , K- W M } * ,
i=l
•'
-^
max
K^(M)'J ,
3 * 24U^h
(76^
h
h-1
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
m g 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
State
KNOWN CONDITION (n-MACHINE CASE)
S' Sequence S" Sequence
Maximum
Maximum
Known Machine Conditions
1
Q(M)
Q(M)
2
Q(M)
Kj(M)"
(78) Na4Ma
(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.
mentioned:
1.
Q(M) 4 K.(M)"
K, (M)' 4-^Q(M)
2.
Q(M) 4 K.(M)"
Kj.i(M)'J4 Q(M)
However the two cases previously
64
cannot exist for the same reasons.
Q(M) 4
max
°
o
Also the case where
K„ , ( M ) "
1
u — 1
J '^24U4h
max and K (M)' 4 Q(M)
j*24U4h ^
could not exist since this would imply that
max
Ku(M)' 4
j -^ 2^u4h
max
Ku_i(M)"
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^_-^ CM)"]
jr24U4h
j-^24u^h
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
K^(L)'
=
V
{Z
1^ K
K.
1=1
v-1
z L^ + max
i=l
[Q(K), K . ( K ) ' ,
3
K.^.(K)',
J^i
max
Kj^(K)']} ,
j '^ 2 <.k4V
c
c ( L ) ' ' = {i Z
^ B.
K^(C)
B,
i =l
-
c-1
Z C^
C- -^ max
i =l
[Q(B) , K - ( B ) ' ,
^
K.,-,(B)',
J -^
max
K^(B)']} ,
j +24b4c
K^(B)'
b
= [ z
A.
-
1=1
(87)
b-1
Z B,] ,
1=1
u
K ^ _ ^ ( M ) " = i_Z
L^ - L^ -
u-1
( Z M^ - M^)
K.(L)",
J
K
(L)" = { L
K
- K
- j — i i
a
- ( Z
L
i = ' i i
+ max
[Q(L),
max
K ^(L)"]}
J+24V4U
^"1
- L ) + max
[Q(K),
»
K (K)",
max
K, , ( K ) " ] }
•^
j+24k4V
^"-^
K
c
,(C)" = I Z
c - 1
B
"—-j-L
- B
a.
c-1
- ( Z C
• _ - | X
K (B)",
^
- C ) - max
d
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^-• •
^
[Q(B) ,
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)
Case
4
S' Seq.
Max,
S"«Seq,
Max,
Machine Conditions
to be Proven
(j*l)^^
State
Q(M)
Q(M)
N3 4M
a ='a
Q(M)
KJu M } "
N a-M^^K.(M)">.Q(M)
a J
—
KJ(M)'
K.(M)"
N^-M^+K.(M)"4K.(M)'
3
Kj.i(M)'
K^ (M)"
N.-M^ + K. (M)">K. -, (M) '
a
a
j^^=j-^l^^
4
Q(M)
K^_j^(Mj"
N^-M^-K^_^(M)"4Q(M)
1
2
6
KuM) '
K£_-^(M)"
N^-M^*K£.-|^(M)">^K. (M) '
7
Kj,-^(M)'
Kf^3L(M)" N^-M^+Kf.^(M)"4Kj,^(M)'
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.
ing at each of the other cases in more detail:
Case 5:
(89;
^
^
[N
Prove that:
a
-M
a
* K . . (M)"J 4 Q(M).
r-l
•"
Look-
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
st
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 .
If state 1 existed in the (j^l)s t position it is known from
equation (78) that [N_ - M^] 4 0.
a
a —
One of the inductive assump-
tions is that [K^_-j^(M)" - K£(M)'] 4 0.
equations, equation (95) is obtained.
Adding these two
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)'
Case
State
at (j+l)^"^
Position
Machine Conditions to be Proven
1
1
[Q(M) - Q(M)] 4 [Q(M) - Q(M)]
2
2
[Kj(M)" - Q(M)] 4 [Kj(M)" - Q(M)]
[Kj(M)" - K-j(M)'] 4 [Kj(M)" - Kj (M) ' ]
'
\ r.;
[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)"-
3
[K£.i(M)" - Kj(M)'] 4 [Kj(M)" - Kj (M) • ]
Q(M) ] 4 [Kj(M)" - Q(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 ] K j ( M ) " - K-|,.-|(M)'1
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).
case.
This is one of the assumptions of this
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
[K.(M)" - K.^^(M)'] or K^
(M)" - K.^ (M)'] 4
(M)" 4 K.(M)".
This is again an
assumption regarding this case.
Case 8:
If state 1 existed in the (j+1)s t 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
[K.(M)" - K. ,(M)']o
3
J*1
(M)" - K (M)'] 4
This completes the proof in this state.
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) 4 K .
Q(M)]o
(M)'o
Therefore [K (M)" - K
One of the inductive assumptions was that
(M)'] 4 [K.(M)" -
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)'.
[K.(M)" - K. ^(M)'] 4 [K.(M)" - K.(M)'].
Therefore
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'
max [Q(B), K (B)', K
cs
IN'^
(101)
^
(B)'
•'
= max [Q(N), K (N)', K
^
^
max
j + 24h<.k
(N)'
K^(C)']
^
max
K^(N)']
j+24h4k ^
IB" ^^ = max [Q(B), K (B)", max
K ^(B)", K. (B)"]
•^
j + 24h4k ^"-'^
IN"
K, ,(N)", K, (N)"]
cs = max [Q(N), K (N)", max
^
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
(105)
u-1
K ( N ) " = { Z M„ ^
i =l
^
Z N. + max [IM"
,
i =l
^
*^^
max K ( M ) " ] } ,
k+l.v<u ^
V
K ^ ( M ) " = { Z Li
i =l
v-1
Z M^ ^ max
i =l
"^^^
Kj^(L)"]>
k-^l4h<v
c
K^(C)" = i Z
^
-
B- -
1=1
b
K u ( B ) " = [ Z A^ ^
i=l
and
c-1
Z C. + max
i =l
b-1
Z B.]
i=l
[IL"cs»
[IB"__,
max
K, ( B ) " ] } ,
k+l£.b4C
•^,.t«H..
"5
(106)
u
u-1
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,
i=l
i=l
max
K^(B)']r
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
position.
the j^-^
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.
tions.
If m=3 then there are m-1 or 2 condi-
These would be:
(Condition 1)
K W B ) " 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-|^=xxxab,
. , ,000
S2=xxxb.
o
0
. . .aooo
•
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 .
S. = x x x a .
. .000
. ocooo.
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"=xxxab,
S"' = x x x a .
t
j
. .cooo
, . cbooo
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 calculations, 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:
(111)
R(B) = Q(B)
R(C) = Q(C)
R(M) = Q(M)
(112)
j-1
j-1
+ Z Bi - Z Ai ,
i=l
1=1
j-1
j-1
+ Z Ci - Z Ai ,
i=l
i=l
+
j"l
j-1
Z Mi - 2 Ai ,
i=l
i=l
j-1
Hj(B)' = Kj(B)' + Z Bi
1=1
j-1
Z A^
.
^1 ,
i=l
j-1
j-1
A(M)' = K4(M)« + Z Mi - Z Ai
-^
-^
i=l
i=l
(113)
j-1
j-1
H.^iCB)' = K..i(B)' + Z Bi - Z A
J
-^
i=l
i=l
c
j-1
H
J'l
(114)
J+1
i=l
3-1
^
i=l
j-1
j-1
H (B)" = K^(BJ" ' _^^ B^ - _Z^ A.
^
81
j-1
J-1
H.(M)" = K.(M)" + Z M, - Z A
^
J
i=l ^
i1= ^
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
1:
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,
rewritten as:
It could be
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^ - B J .
The decision rules can now be expressed as:
(122)
(Condition 1) A^ 4 max [A^, (A^ + A^ - B^)] ,
r
(Condition
2)
H ^ ( C ) " 4 max
J
[H= (C)
',
J
H.^-,(C)'],
3
^
Ij
I BO
\ j
(Condition M-1)
H • (M) " 4 max [H • (M) ' , H.^-,^(M)']
where
(123)
A«®«3
Hj(C)" = (B^ - max [R(B) , A^] } ,
Hj(D)"
= tC^ * max
[R(C),
H^(C)"]} ,
Hj(M)"
= i L ^ ^ max
[R(L),
Hj(L)"]}
,
83
(124)
(125)
(126)
Hj(C)'
= {B^ . max
[R(B),
A^]} ,
Hj(D}'
= t C ^ + max
[R(C),
H^(C)']} ,
Hj(M)'
= {L^ ^ max
[R(L),
H.(L)']}
,
H.,-^(C)'
= {B^ -^ B^ - C^ ^ max
[ R ( B ) , A^, A^ + A^ - B^J },
Hj.i(D)'
= xC^ + Cb - D^ + max
[ R ( C ) , H - (C) ' ,
H.^^(C)']},
Hj+i(M)'
= {L^ . Lb - M^ + max
[R(L) , H • (L) ' ,
H-,^(L)^]},
Q(B)
Q(C)
=
=
max
I4U4J-I
u
( Z
i-l
u-1
A^ Z B-),
i =l
max
I4U4J-I
u
u-1
V
[
Z B^ Z C^ + max
( Z A- i =l
i =l
l4V^u
i:l
"""
u-1
^ B.)]
i =l
Q(M)
=
u
{ Z Li
i =l
max
I4U4J-I
h-1
Z Li =l
+
-
max
( ,
l_k4h
u-1
Z M^ •^ max
[
i =l
l4h4U
,
,
,
Z K- i = l "*"
b
max
[ Z A- l4b<.c
i =l
^
b-1
z
B-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:
Step 10:
Order all candidate sequences from 1 to k.
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:
C
Repeat Steps 1 through 14 until the first n-2 se-
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 :
Machine
Job
A
B
C
1
123
300
76
2
57
156
200
3
198
201
211
4
154
162
122
5
92
99
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 - 156)
= 256
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.
z
Step 5:
The data for Step 5 is summarized below:
TABLE V
SUMMATION OF CALCULATIONS
j - 1
Job "a" = 2
Job "b"
HjCC)'
3
213
256
399
4
213
175
316
5
233
114
191
r
Hj4i(C)'
Hj (C)"
'Ml
89
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(C) = 191 .
Steps 9-14:
Q(B) = 92
These partial sequences are not permutations
of each other, therefore no sequence dominance is possible.
Step 15:
Taking sequence 2
Step 1:
R(B} - 57 - 57 ^ 156 = 156 .
Step 2:
Minimum A^ = 92 for job 5.
first.
99 > 92
Step 3:
251 vs. 21
Hj(C)' = 99 + max (156, 92) = 255
Hv^,i(C)' = 99 + 300 - 211 + max (156, 92, 116) = 248
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
11^
%
IX
90
the fell owing table:
TABLE VI
SUMMATION OF CALCULATIONS
Presequence 2
J = 2
Job "b"
Job "a" = 5
Hj(C)'
Hj(C)"
Hi.i(C)'
255
280
399
2S5
206
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
S^eps 5 and 5:
57 ,,
The calculations are summarized in the follow
m e table.
TABLE VII
SUMMATION OF CALCULATIONS
Presequence 5
_ _
=2
Job ^a^ = 2
HjlC)'
Hj-i(C)'
Hj(C)"
1
255
355
423
5
255
256
399
4
255
217
316
0 U0
Mb"
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:
Step 12:
Let S' be 25 and S" be 52.
Q(Bj' < Q(B)" but Q(C)' > Q(C)" so no domination
exists and both partial sequences are retained.
Step 15:
Step 1:
For j = 3 presequence 25
^ _ is considered.
R(B:1 - 57 + (156 - 99) - (57 - 92) = 163 .
Step 2: MinimuiT A^ = 123 for job 1.
300
Steps 3 and S:
123
All calculations are summarized in the follow
m g table:
TABLE VIII
SUMMATION OF CALCULATIONS
Presequence 25_ _
J - 3
Job "b"
Hj(C)'
Job "a" = 1
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,
Steps 3 and 5:
300 4 123.
The calculations are summarized in the follow
ing table:
TABLE IX
-.if
SUMMATION OF CALCULATIONS
IX
Presequence 52_ _ _ _
j = 3
Job "b"
1:!)
Job "a" = 1
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^
/
93
Step 2:
Next minimum A^ is 154 for job 4,
Step 3:
Comparing 5243 _
vs
523
162 4 154
:
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)' 4 Q ( 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)' 4 Q ( C ) " ,
therefore sequence ^2 is dominated and eliminated from consider 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
A
=
2^2
>
= 555
>
1=1
J-1
z B
i =l
J-1
C
= 487
1=1
Job "a" is 3 and 30b "b" is 4,
K.rCV - 555 - 201 ^ 487 * max (57, 272 + 198 - 555) - 269 J^ ^
K
m ax (57, -85) = 326
.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 v^5 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
Partial
Sequence
j'^ (jU)^"^
Pos
Pos
Q(C}
positions
Kj(C)' Kj+i(C)'
Kj(C)" Kj.i(C)"
251
3
4
213
326
268
287
366
254
1
3
213
241
366
213
258
253
1
4
191
226
312
88
266
524
1
3
191
276
401
177
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 demonstrated.
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
v:
digital computer.
I-
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
' i
the optimal solution:
lo
The proposed algorithm
97
O
A0^A
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.
same data was used m
the same format.
For each of them the
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
into machine language.
Chapter 4
In order to conserve storage space
this was done by using a m a m 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
99
m 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 verification.
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 optimal(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,
and 5-machine problems were worked.
ranged from 3-job to 8-job,
3-machine
The 3-machine problems
The 5-machine problems ranged
jr^
100
from 3-job to 7-job,
Larger problems were beyond the capa-
city cf this computer.
problems through 6-job,
Enumeration was completed for all
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.
approached m
In fact this figure is not even
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
3
2,333
1.933
6
4
7.882
5, 765
24
5
21,444
26,444
120
6
54,200
60.090
720
->
1
80,6 7
_ . -
Enumeration
5040
102
The first thing noticed irom Table XIX is that one counterexample (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 algor:..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.
transitivity between comparisons m
First the lack of
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 satisfies 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 violation 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 average would increase to 47,2 sequences.
In Table XII the aver-
age for the 6~job problems worked with the Dudek-Teuton algo/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 significant 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 eventually 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
I
WITH DUDEK-TEUTON WITH DOMINANCE
•
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 number 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
Range
Average
Dudek-Teuton
Range
Average
Enumeration
03
05
.0400
.04- .12
,0627
,165
05
29
.1485
,07- .41
.1525
.4364
19- 1.61
.5890
.14-1.66
,4490
2,2875
07- 7,51
1.967
.16-4.28
1,141
13.2438
.13-23,18
3.502
.20-2,64
.947
131.460
1.66-36.74
8
*Time in Minutes
20.39
4
844.0
J
TABLE XVI
TIME REQUIRED*
Nr c of
Jobs
Algorithm
Average
Range
m =5
Dudek-Teuton
Range
Average
Enumeration
3
.03
12
,0733
.06- ,17
.1007
.2133
4
,06
,56
,3341
,10- ,52
,3047
.8830
5
.46- 3c03
1,506
1.467
2.9021
6
1.96-22,43
9.401
3,345
19.2321
7
28,63-49,75
'^Time m
Minutes
41, 70
1,53-7,28
187.80
108
In comparison with the Dudek-Teuton algorithm the
first noticeable fact is that the time required for computation 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 proposed 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 computation 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.
same is true for 7-job problems except in reverse.
The
It is
possible to state that the proposed algorithm with its inherent 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
Average
Range
D-T with Dom
Average
Range
5
38- 1,61
732
72- 1.85
1.084
6
.68- 4,01
2.142
1.62- 3.83
2.743
7
1.68-23,18
6,708
95-20,92
12,342
8
1,66-36.74
.92-35.53
15,293
*Time in Minutes
20.39
110
TABLE XVIII
TIME REQUIRED'' WITH DUDEK-TEUTON
WITH DOMINANCE
m =5
Nrc of
Jobs
Algorithm
Range
Average
D-T with Dom
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
*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-
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,\
V
fj
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 computation.
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.
ever, one 10-job problem was shown m
this article.
How-
This
problem was worked by hand using the proposed algorithm.
total ot 33 feasible solutions was arrived at.
A
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 restrictions.
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 appropriate 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 complete 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
number of machines.
the
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.
Chapter 1.
These were mentioned in
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.
tically demonstrated.
Its efficiency has been analy-
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 F. J., "Optimal M-Stage Production Schedules When No Passing is Permitted," Unpublished
Master's Thesis, Texas Technological College, Lubbock,
1963
/
116
APPENDIX
A - Individual Problem Data
B - Programs and Instruction for Use
C - Sample Input and Output
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
LO
PQ
a
w
&
o
Q
W
Q
IS
w
I
Q
Cxi
0
LO
0
0
0
0
LO
0
LO
0
to
0
to
0
0
to
(Nl
rH
to
to
to
rH
CM
to
I
W
O
&0
II
B
Q
t—I
c/
w
l-t
X
W
<
w
u
w
0
0
0
0
0
!—I
LO
0
to
0
to
0
to
0
to
0
LO
0
LO
0
LO
0
0
to
rH
fsj
to
to
to
to
to
rsi
Cs]
^
CTt
to
B
VO
P!
W
W PQ
w
Q
W W
-:i H
PQ <C
H
0
C/5
Pi
IS:
*!:*•
0
Q
to
W
LO
0
o
Q
H
I
<
OO W
0 2 :
W W
UH CD
Q
W
<
Ci
W
Q
I
Q
o
cn,
2:
O
to
l-H
w
CD
CO
W
CO
2:
w
u
w
w
.
rH
to
CNJ
w
B
o
:D
W PQ
C/D
Q
Q
w
12
CO
Q
E-
O
W
ro
CNJ
I
Q
(/)
PL,
O
o
(VJ
rsj
rH
rH
ai
3
c
z
O M
<4-t
{/)
O Xi
o
z
( N 4 t o « : t L o v o r ^ o o c n o
(NJ
to
•H
rH
to
H-t
e
•H
E-
/
119
vO
6
to
3
W
PQ
e
o
Q
W
Q
hH
cy
IS
H
w
eg
»:
w
IS
o
o
I
o
00
o
O
<H
o
LO
o
00
r-<
o
LO
to
CM
o
iH
to
LO
r-i
(NJ
(SJ
o
to
r-\
<NJ
LO
rH
o
o
rH
o
o
to
(NJ
rH
rH
r-i
Q
O
LO
LO
o
TH
»H
LO
rH
<NI
(VI
CM
(NJ
,H
o
LO
r-i
CO
(NJ
in
w
u
z
w
tD
C/>^
o
X
t-H
X
w
PQ
<
W PQ
CO
Q
WW
hJ H
PQ <
d
Q
H
HH D i
I
CO (rt
Q
< z
w w
w u
w
o
Di
(NJ
w
s
o
(
Q
O
DO
to
t
O
L
O
v
O
v
O
C
n
c
M
C
M
r
l
rH
-
r
O
r-«
L
O
r
H
t
O
t
O
O
J
t
O
z
CO
w
rH
CJ
(NJ
vO
rH
(Nl
CNJ
^
CM
CM
to
rH
O
to
T^
w
z
w
o
:D
W PQ
CO
Q
o
IS
H
-:i W
< ^H
^
I—I
Di
H W
CM Z
I
(NJ
o w
o
w
o
O
(Nl
CM
to
rH
(NJ
(NJ
to
"t:*-
LO
(NJ
Di
z
O
>H
u z
a.
«4H (O
o
u >-i
z
^^-
LO
v O r ^
00
CTi
O
CM
120
00
00
3
(NJ
W
PQ
•
CM
s
Q
W
o
(Nl
Q
IS
a:
(-H
00
H
CD'
W
Di
I
Q
H
W
rH
^
O
(NJ
CM
(NJ
to
iH
r-\
O
<NJ
o
rH
o
CM
'sr
VO
vO
O
o
CM
(NJ
VO
00
I
IS
a\
LO
^
CM
rH
vO
rj
"«:*•
r-\
(NJ
O^
LO
LO
o
r-
^O
vD
lO
LO
CM
o
vO
I^
lO
\0
rr
CM
CM
Q
O
t^
to
CNJ
CNJ
to
C/D
W
z
w
C/PQ
w
CO
o
u
w
w
w
(NJ
Q
—
W
X
w
W
yX^
o
PQ
<
w
e
o
OO
00
IS
CO Z
< W
W CD
W
I—I
o
PQ
HH
X
3
I
Q
H
O
LO
CM
a\
00
LO
(NJ
• 5 t r ^ o c M r - ^ ( N j ' : : } - 0 ' a -
I
Q
O
t>0
Di
vO
to
<J^
CM
vO
CJ^
cn
cr>
LO
(NJ
(NJ
z
C/5
w
CJ
z
w
:=)
o'>-
00
CM
to
(NJ
3
(M
(NJ
LO
w
o
W PQ
CO
Q
CM
Q
ww
IS
IS
EI
Q
E- W
CU Z
CM
H
LO
(NJ
rH
^
to
rH
CM
to
O
•^
T-i
to
r-H
rH
OO
(T>
I
Q
o w
O
00
o
(NJ
(NJ
to
Di
Z
O
JH
M z
O
^
O
?- •-)
z
m.
LO
vO
00
a»
O
r^j
LO
LO
vO
/
121
3
CJ
Q
W
o
Di
\—\
:D
CD'
w
Di
W
(O
w
o
Q
LO
00
rH
(Ji
1.66
PQ
(NJ
iH
00
rH
vO
OO
IS
E^
I
C5
VO
LO
(Nl
LO
r-i
rH
CM
to
E-H
Q
O
GO
00
to
iH
o
CVJ
(7^
00
(M
oo
r-i
to
LO
CM
00
LO
o
r-i
(Nl
vO
vO
o
VO
(NJ
cr»
LO
to
00
rH
r-i
LO
rj
cr>
w
CJ
z
w
3
0'>H
W
m
CJ
X
^ ai
CO w
X
w
PQ
<
s
PQ
Q
W W
^
H
PQ <
o
o
(NJ
W
o
to
Q
rt
(Nl
CM
r-i
(NJ
LO
E-
< Z
w w
E-H
VU CJ
w
o
rj-
to
VO
(NJ
LO
to
rt
to
CM
(^J
a>
rH
LO
Ok
Q
O
bO
D:
^O
00
00
CM
z
(NJ
VO
to
rH
ii
CO
B
3
w
CJ
rt
z
w
cy>«
W
W PQ
CO
Q
Q
HJ
W
<:
H
H
1
(Nl
vO
vO
fH
vO
(Nl
to
(NJ
LO
VO
t^
rH
CM
(^J
to
o
2
I
Q
E-i W
G. Z
r^j
rt
o w
CJ
O
bO
rH
CM
to
C
M
r
H
t
O
C
M
r
H
r
H
C
N
l
t
O
z
o u
u z
MH
(NJ
to
LO
vO
00
cr>
o
CM
CM
10
o ^
o
v^ ^
z
vO
to
-i^
122
3
rt
w
PQ
o
Q
W
Q
ai
IS
H
LO
(NJ
cr>
vO
to
VO
OO
(NJ
rsj
to
(M
I
w
D:
00
w
to
VO
LO
vO
O
00
CM
VO
to
LO
VO
vO
CO
rt
to
LO
rt
cn
OO
LO
CM
o
OO
\0
bO
(NJ
•Xi
o
CM
o
LO
LO
LO
LO
cn
cn
oo
00
LO
vO
o
CM
CM
CM
OO
OO
to
o
rt
to
CO
w
CJ
z
w
o
CM
to
3
a
w
:z3
cy>-
o
u
X
X
w
w
PQ
<
E-*
o
W PQ
CO
Q
W W
Q
LO
CM
(NJ
vO
E-
h-J E-"
PQ <
HH Di
I
Q
CO w
< z
w w
W CJ
w
o
O
bO
rt
LO
O
to
VO
CM
o^
CM
Di
LO
CM
CM
to
CM
CM
OO
OJ
(M
n
(M
rt
rt
CM
^0
vO
to
LO
CM
t^
CM
to
LO
CM
CM
CM
O)
•^
LO
CM
vO
to
to
to
r-i
rH
iH
to
LO
r-i
z
CO
B
w
CJ
z
w
3
rt
w
(Nl
LO
(Nl
to
to
r--
B
:D
o
W PQ
CO Q
W W
Q
cy>--
to
CM
IS
E-^
<
<
Di
W
(-H
O. z
E-i
Ow
w
o
I
(NJ
to
rH
rH
to
to
CM
LO
rH
oo
CT>
LO
"^
to
to
•^
rH
T^t
LO
00
cn
o
to
rt
r--.
00
Q
CJ
O
bO
CM
Di
z
Xi
O
>H
M Z
Ct,
MH
t/l
o ^
o
>H H ^
z
fm.-,.
LO
vo
r-^
(NJ
LO
\o
cr-.
123
VO
rt
3
rt
w
to
B
o
Q
W
Di
Q
00
CM
o
\—i
(NJ
m
E-H
CD'
W
O
I
o
to
rt
rt
OO
CM
CM
Q
(Nl
(NJ
o
cn
OO
vO
(NJ
r-\
o
6
3
CJ
z
to
(NJ
00
o
O
o
to
00
vO
CM
00
CO
O
to
O
00
LO
C7>
cn
to
LO
CM
o
LO
to
rt
O
LO
w
:=)
CD'>^
W PQ
CO
Q
(NJ
o
a
w
o
rt
o w w
u
^ ^
PQ
<
oo
rsi
w
w
w
ro
vO
CO
X
CM
(Nl
o
CM
I
rt
>—i
00
•
Q
O
bO
X
C<t
(NJ
ai
w
IS
r-i
00
•
Q
PQ <
l-H a^
E-^
CO w
H
< z
o
to
w w
W CJ
o
UH
bO
o
o
vO
cn
(Nl
(Nl
to
to
rt
LO
vO
CM
(NJ
(NJ
(NJ
LO
rt
to
to
I
(NI
to
00
CD
^tfc
^
:«:
=te
(NJ
(Nl
:*«=
:4fc
Di
z
CO
w
u
z
w
B
3
rt
w
^3
cy>H
W PQ
CO
O
W
OM
rt
rt
rt
O
(Nl
rH
=tt=
:«=
%:
:**:
:*»=
4fc
^
^
=tfe
*fc
=»fc
:*:
:»fc
4fc
=*!=
=!»=
:»*:
B
o
Q
LO
IS
H
EH
I
<
Q
ai
E- w
D-, z
O w
w
o
rt
rt
EI
:>»:
rH
O
bO
LO
CM
rt-
cn
rH
(NJ
00
^
,—{
=»:
Q
CJ
ai
*
:
t
r
t
C
M
^
L
O
(
N
J
O
t
^
O
O
t
O
r
H
'
<
^
'
^
N
j
t
O
v
O
O
T
^
z
O U
O
?-< z
(NJ
(
CL,
«4-l t/)
o ^
O
KS!^
v
j
t
O
r
t
L
O
v
C
n
O
,
H
(
i
124
o
o•
3
"^t
r-l
'^
00
w
PQ
Q
W
B
o
LO
CM
Q
cn
cn
ai
HH
H
CD'
W
Di
w
IS
VO
00
00
f-.
to
VO
rH
I
H
OO
I
Q
B
oo
VO
vO
VO
CM
CM
CM
•p
•H
o
VO
to
bO
r-i
Vi
a
o
to
o
•p
rt
o
Q
x:
(NJ
rt
w
W PQ
CO
Q
W W
• J EPQ <^
h-i
o
rt
o
3
cy>^
o
u
LO
O
CM
:=3
to
vO
CO
w
LO
Q
O
bO
w
u
z
to
LO
3
CD
LO
E-H
I
00
IS
E-
CM
to
<D
D.
3
CO W
<
z
ww
X
HH
X
W CJ
w
w
w
o
PQ
<
E-H
Di
Q
E-
CM
I
to
Q
<D
rrt
•P
O
bO
vO
CM
LO
cn
LO
•P
•H
rt
z
IS
>H
CO
W
(D
B
3
u
z
w
(D
=»*:
^
rt
w
B
o
W PQ
CO
to
to
?H
O
•P
O
CD
a»
a
to
CM
E-^
u
I
Q
E-" W
f^ Z
(D
IS
to
o w
I
t
•
to
I
B
Q
CJ
(D
r-i
tin
O
bO
o
ro
rH
cn
to
to
Di
Z
.Q
O
U
P.
(NJ
to
to
rt
O
>H
JH
Z
o
*+H t/l
I
00
CL,
o .o
o
z
4C
3
P.
B
o
o
(D
13
<D
Xi
•p
+->
13
(D
13
cti
O
r-i
i-i
5H
CD
3
0)
•p
>
O
o
B
B
(D
rH
rH
o
u
a.
O
u
4C
00
:tfc
•K
tv ^
t
+->
•Ss:^ t
125
to
3
rt
w
PQ
B
o
C3
W
Di
CD
IS
}—i
H
CD
cy
w
I
CD
Di
E-^
LO
W
I
IS
CD
II
O
bO
B
Q
W
Di
HH
CD'
W
D:
w
s
X
X
w
Z
>^
<
CQ
<
C5
w
w
(J
z
w
B
3
CD
W
CJ
CO
w
u
z
w
w
CO
L
O
H
v
r
O
H
v O O
O
O
LO
t**.
LO
to
r-H
o
o
o
o
o
to
to
t O C O v
r
H
r
H
r-.
o
vO
to
O C T
O
O
> C O v
O
O
O
O
r
r
^
H
^
r-H
LO
to
to
o
r^
o
o
o
o
o
rH
CM
(M
rH
(NJ
vO
w
CD'>H
W PQ
CO
CD)
o
W W
W H
PQ <
Q
IS
H
I
CO W
< z
ww
CD
W CJ
H
o
Q
O
bO
Di
z
w
O
r
CO
HH Di
Q
O
O
rH
C
M
t
O
C
M
r
H
t
O
t
O
(
N
J
t
O
r
H
t
O
C
CM
M
to
z
CO
6
3
w
CJ
z
w
rt
w
e
CD'>^
( W PQ
CO
Q
o
Pi
-D W
<
IS <
IS
EI
Di
E-" W
DH
Q
Z
o w
CJ
O
PL,
O
bO
o
3
Di
z
Xi
( N j r o r t L O v o r ^ o o c n o
O ?H
?HZ
to ci
r-i HH
a.
0)
B
O Xi
o
5H H 5
Z
(NJ
•H
ro
E•K
/
126
e
ro
to
3
PQ
Q
W
Di
H-t
c/
w
00
rt
w
s
o
Q
IS
H
1
CD
Di
E-^
W
I
IS
CD
O
bO
LO
r-i
vO
CM
(NJ
TH
rH
iH
CM
rt
O
CM
to
cn
to
o
rH
00
vO
O
to
rt
rH
LO
rH
CO
rH
LO
r-i
rt •
vO
CM
O
CM
rsi
to
o
rt
(NJ
to
CM
CM
O
LO
rt
to
cn
to
r-]
(NJ
o
vO
LO
rt-
CO
w
u
z
w
B
3
C
W
CD
o
u
W PQ
CO
Q
W W
W E-H
PQ
CM
o
CD
IS
EI
CO W
Z
CD
X
X
W CJ
E-H
w
w
U-,
CD
PQ
<
E-H
rt
<
w w
o
O
bO
Di
to
to
rt
00
O
C
to
to
vO
O
O
c n v O L O c n c n c n r H r H o o
rH
rH
to
M
t
O
t
O
t
O
C
n
L
O
r
H
t
^
r
t
z
CO
w
u
z
w
B
3
i:i
W
rt
rH
rt
rH
rt
r-i
B
o
CD'>H
W PQ
CO
Q
< P
E-H
I
S
E-" W
C^ Z
CD
I
o w
CD
CJ
O
bO
o
CM
Di
z
O >H
5H Z
D.
(/)
O Xi
O
UH
>H
z
H^)
«
?
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
rt
w
PQ
B
o
CD
r-H
cy
I
w
CD
H
Di
w
s
CM
LO
LO
CM
OO
(NJ
r-i
rf
vO
C7>
r^
LO
r-H.
rt
LO
rH
CM
OO
(NJ
to
vO
LO
CvJ
rt
vO
00
vO
rt
I
CD
O
bO
o
o
to
CM
to
to
cn
VO
vO
CM
CM
O
w
u
z
w
:=)
3
rt
w
CD
w w
rt WPQ H<
IS
H
V—/
CO W
CD
X
X
W W
W CJ
w
w
o
o
u
-D
CQ
<
E-
cn
CM
to
to
vO
VO
LO
CM
(NJ
cn
00
CM
o
CM
B
o
Q
CO
+J
rt
rt
CM
B
c/>^
W PQ
~
o
vO
(-^
CO
f—\
to
LO
2.50
E-
1.68
CD
2.18
>—i
1.50
ai
2.03
W
1.68
Q
>-i Di
O
CM
(NJ
I
< Z
fH
to
to
t^
I
P
,o
bO
Di
to
(NJ
00
CM
LO
z
to
to
to
to
r-i
oo
CM
to
1-i
OO
to
to
LO
vO
rt
r3-
r^
CM
to
(NJ
iH
oo
to
rH
rt
(NJ
(NJ
CM
o
VO
CM
to
cn
CO
B
w
,3
CJ
W
z
w
o'>^ o
W PQ
CO
HJ
rt
CM
(N
to
rH
(NJ
rH
(NI
(NJ
^
LO
vo
,—i.
to
O
r-j
CM
to
rH
to
(NJ
to
rH
vO
CM
CM
CD
W
< eCD
>—i ai
ir-< W
PH
O
w
o
H
Z
W
CJ
Q
O
bO
Di
z
CM
I
O M
fH 2
PH
( N j t o r t L O v o r > « o o c n o
r-^
•
<-H t/)
O Xi
o
z
r
r-i
LO
7
12(i
CM
to
3
(M
rt
>H
w
PQ
r-i
Ck
0
Q
s
CD
cy
rt
00
VO
•
(NJ
0
.
r^
(NJ
0
r-i
CM
CM
00
CM
4*:
to
r>^
^
*
H
CM
y-i
00
1
w
.
CD
Di
W
LO
LO
fH
rH
0
LO
•
•
•
(NJ
(NJ
1
IS
Q
tH
rt
00
r-H
(NJ
Igo
CO
W
t-H.
LO
VO
cn
vO
LO
<
iH
CM
to
0
00
00
to
LO
CM
to
LO
•
•
rH
CM
CM
r-i
CM
0
VO
CNJ
(N>
tH
to
r-i
rH
•
rH
iH
CM
\-i
H
to
rt
cn
(NJ
r-H
^
•
•
vO
0
•
CM
CM
to
rt
0
(M
cn
(NJ
CM
LO
(NJ
CM
00
•
r-i
10
to
cn
CM
r-i
cn
r-i
r-i
rt
rt
r-i
to
B
Enu
UEN
u
0
CM
•
0'>H
t—\
Con
-p
-
V
/
X
X
w
TAB
rJ
W PQ
CO
Q
W W
W H
PQ < ;
HH D i
CO W
s
0
P
^
00
CM
lis
H
cn
r-i
fH^
CM
0
rt
rt
cn
r-i
LO
^
to
to
1
Q
< z
ww
w u
in
1
fi,
P
o
(O
bO
ai
z
0
(NJ
rt
rt
00
to
to
rt
rH
rt
rt
r-i
(NJ
0
to
CM
LO
=»*=
t-^
r-i
rt
rt
CM
rH
to
lO
CM
to
P
•-1
rt
r-i
LO
(NJ
rt
LO
rt
0
r-i
VO
to
r-i
to
(NJ
vO
to
vO
cn
n-
00
CM
rH
r^
iH
CM
r-i
r-i
rH
rt
CM
CM
vO
to
t^
r-i
rH
0
rH
r-H
to
f
CO
w
CJ
z
w
CD
e
'3
.^
CNJ
rH
w
0'>H
e
W PQ
CO
0
p
C3
r-i
•Ns^
to
r-i
IS
H
ww
< H
ss
1
P
'
H
H W
PH
I
^
Z
r~A
rH
r-i
r-i
r^
rH
iH
r-i
r-i
rH
=»te
r-i
CM
:«=
rt
T-i
CM
fH
rH
r-i
r-i
r-i
CM
rH
cn
(NJ
r-i
r-i
0
r-i
to
r-i
(Nl
to
rt
r-H
(NJ
to
^
LO
r^
rH
rH
00
r-i
rH
vO
rH
LO
rH
vO
r--.
00
PH
1
o CJ
w
w
o
P
'0
ff
Di
z
;<
, 0
0
fH
PH
^
Z
'
tp m
0 .0
0
U »-)
z
t
VO
129
e
O
00
3
•
rt
w
B
o
>H
PQ
P
W
Di
rHH
00
rH
p
00
—
IS
H
\-i
p
Cf
O
LO
vO
•
•
(NJ
OO
r-i
1
w
a^
w
IS
t-H.
rH
to
•
vO
rt
•
H
LO
CM
to
cn
cn
CM
.
•
CM
(NJ
ri-
•
1
P
rH
4fc
o
:**:
•
rt
r-i
r-i
•
VO
cn
•
t-H
CO
r-i
to
1
1
1
XX
•p
•H
(NJ
rH
P
00
LO
•
B
LO
V-i
O
bO
E-^
r-i
r-i
(NJ
00
<y\
vO
to
to
(NJ
rt
OO
VO
LO
CT>
vO
o
LO
vO
t-H
fH.
vO
OO
vO
to
cn
o
o
00
vO
CM
rt
cn
fH
r-i
<
V
rt
w
0'>H
W PQ
CO
CD
X
X
w
HD
CQ
<
E-^
rt
^
O
LO
o
e
H
W W
W H
CQ <
'
o
3
^
^
H
HH D i
J
CO W
< Z
P
w w
EH
W CJ
o\
vO
•*
LO
cn
o
r-H
CM
CM
O
t-^
n3
3
P
CM
UO
vO
rt
=te
o
00
vO
vO
:«=
iH
OO
.1
1
1
.rt
P
,
PH
4->
o
o
bO
r-i
Di
z
1
00
rt
00
LO
vO
OO
to
uo
OO
CM
to
to
00
vO
r-H.
r-i
cn
rH
rH
:«*:
:*»=
cn
00
O
00
XX
•H
IS
<
•
CO
uin
w
u
z
w
p
<
r-i
r-i
p
W
^
H
E-H
1
s<
4fc
o
•p
iH
O
rH
r-i
rH
rH
Z
E-
o CJ
w
w
o
1
o
a
<u
u
<L)
IS
CD
E-" W
3
(M
IS
p
HH OC,
OH
to
c
w
B
o
0'>H
W CQ
CO
KD
(U
r-i
rH
rH
:**:
rt
=tt=
1
rH
1
Di
bO
r-i
z
<
rO
O
fH
fH
Z
CM
rH
rH
rH
rH
r-i
r-i
r-i
rH
cn
O
rH
rH
r-i
CM
to
rH
r-^
rt
r-i
r-i
LO
r-i
fH
1)
O
o.
to
^
o
o ^
o
fH H j
;2w
r-
B
3
rt
<u
0
p
>
o
rt
B
o
B
(U
<D
TH
rH
O
o
CU
t+H to
P
03
<D
'^
r-i
fH
o
T3
T3
B
0
fH
(NJ
(D
.rt
(0
r-i
CM
B
o
o
1
P
o
ter
rt
o
u
o
bO
Teut
P
rt
cd
B
p
N
r-i
r-i
w
1
CM
rH
CO
W
CJ
Z
fH
«
t-H
4C
t-H
4:
«
^
:ifc
=»»:
/
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.
D H I A CARD
PREPARATION:
Beginning
kn Column
Card 1
Caid 2
Punch
1
NOo of jobs (2 digits w/o decimal)
3
NOo of machines (2 digits w/o decimal)
1
4 digits w/o decimal)
5
BT (4 digits w/o decimal)
9
4 digits w/o decimal)
13
An (4 digits w/o decimal)
17
Bn (4 digits w/o decimal)
/
131
Card 3
1
^2
5
A3
9
H
13
17
Same as above -
^3
A4
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 program.
EXECUTION OFF DISKS:
1
Proposed Algorithm:
<fffXEQSRDSSEQ
101
Da t a
^IOCAL RDS SEQ,DOMl,D0M2,D0M3,D0M4
2
Dudek-Teuton Algorithm
ff?^XEQSOFTSEQ
Data
^ L OCALOFTSEQ,D0M3,D0M5,D0M6
3
101
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
*LDISKRDS5EQ
DIMENSION L( 5*8) »L0( 5»150) »JS( 130,9UJC( 1 ^0P ) , L S ( "^» 1 - ^ )
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 ( 2 U )
PUNCH 11»NM»NJ
11 FORMAT (lOHTHIS IS A »I2»9H MACHINF»»I 2•12H JOM P Q M R I F M )
READ 13»((L{J»K)»J=1»NM)•K=1»NJ)
13 FORMAT ( 5 U )
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
IF (NS-2)
30 CALL D0M2 26»30»30
CALL D0M4
GO TO 100
26 IF (NC(l)-l) 28»28»27
27 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
19
LQ(J»I)=LH1
20 GO TO 21
21 LQ(J»I)=L0(J»l)
CONTINUE
18 DO 18 J=1»NM
LS(J»I)=L(J»J1)+LS(J»1)
22 DO 22 J=1»NP
28 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»] )
29 IF (LH1-L0(J»1)) 31»31»29
31 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
NP=NJ-1
CALL D0M3
PAUSE
IF (SENSE SWITCH 2) 200*300
300 CONTINUE
END
TIMP)
/
— 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
71
72
73
77
78
14
80
90
IF (LH3-LH1) 60921*21
IF (LH3-LH2) 60*50*50
CONTINUE
NDsND-l-l
JD(ND)=J1
CONTINUE
NC( I )=NC(I) + l
M1=NC(I)
JC(I*M1)=MINA 73,73
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
77,78*77
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
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
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*32*32
31 IF (NO-(NM-l)) 70*36*36
32 IF (KSS-NC(K)) 33*35*35
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
141
*LDISfCD0M3
14
15
17
18
19
20
21
22
23
24
30
31
32
33
40
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
CONTINUE
K0=K0+1
M(KO)=J
CONTINUE
N1=M(1)
N2=M(2)
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
LH1 = LQ(J»I )
IF (LH2-LH1) 20*21*21
LH2=LH1
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
LH3=LQ(J*I)
IF (LH4-LH3) 24*30*30
LH4=LH3
CONTINUE
IF (LH2-LH4) 31*31*32
JS(I*NJ)=N1
JS(I*NJ+1)=N2
LT=LS(NM,I)+L(NM*Nl)+L(NM*N2)+LH2
GO TO 33
JS(I*NJ)=N2
JS(I,NJ+1)=N1
LT = LS(NM,I )+L(NM*Nl)-i'L(NM*N2)+LH4
SEQ=0.0
X=10«0**(NJ-1)
M0=NJ+1
DO 40 J=2*M0
Y=JS(I,J)
SEQ=X*Y+SEO
X=X/10*0
PUNCH 50,SE0,LT
•Vl»lMl^
/
142
50 FORMAT (9H
JC( I ,1)=0
100 NC(I)=0
PRINT 600
600 FORMAT (3HEND)
RETURN
END
,F13.1,10H
,14)
1 13
*LDISKD0M4
SUBROUTINE D0M4
DIMENSION L( 5,8) ,LQ( 5,150 ) ,JS( 150*9) ,JC( 15U, 8) , L S C J . 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
*LDISKD0M5
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 (
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 2 0 0 I = 1 * N S
DO 20 J = 2 * N M
20
LR(J)=LO(J*I)-LS(1*1)+LS(J*I)
LR(1)=0
K0 = 0
DO 30 J = 1 , N J
DO 25 K = 1 * N P
IF ( J - J S ( I * K ) )
25,30*25
25 CONTINUE
K0=K0+1
M{KO)=J
3 0 CONTINUE
31 K1=M(1)
L1=L(1*K1)+L(2*Kl)
MSS=1
DO 40 K = 1 * K 0
K2=M(K)
L2=L(1*K2)+L(2*K2)
IF ( L 1 - L 2 )
40,40,32
32 K 1 = K 2
L 1 = L2
MSS = K
4 0 CONTINUE
NT = 0
M2=K0*K0
DO 90 J 0 = 1 * M 2
DO 6 0 K = 1 , K 0
IF (K-MSS)
41,60,41
41 K2=M(K)
LH1=L(1*K1)
LH2=L(1,K1)+L(1,K2)-L(2,K1)
LH3=L(1,K2)
LH4=L{1,K2)+L(1*K1)
-L(2,K2)
DO 50 M 1 = 3 , N M
IF ( L H l - L R ( M l - l ) )
42,43,43
42 L H 1 = L R ( M 1 - I )
43 I F ( L H 2 - L H 1 )
44,45,45
44 LH2=LH1
45 I F ( L H 3 - L R ( M 1 - 1 ) )
46*47*47
46 L H 3 = L R ( M 1 - 1 )
47 I F ( L H 4 - L H 3 )
48*49*49
48 L H 4 = L H 3
49 L H 1 = L ( M 1 - 1 » K 1 ) + L H 1
LH2=L(M1-1,K1)+L(M1-1,K2)-L(M1,K1)+LH2
LH3=L(M1-1*K2)+LH3
msiv:*^^ WeJUkS
^,150)
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,150,95
95 CONTINUE
DO 100 K=1,K2
IF (J-JC(I,K)) 100,150,100
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
*.'*.^d
/
11r>
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
*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
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
20 LQ(K*NS)=LH1
GO TO 22
21 LQ(K»NS)=LQ(K,I)
22 LS(K*NS)=LS(K*I )+L(K*M2)
40 CONTINUE
LS(1*NS)=LS( 1*1 )+L(l*M2)
DO 50 K=1,NP
50 JS(NS*K)=JS( I»K)
60 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
65 LO(K,I)=LH1
70 CONTINUE
DO 80 J=1,NM
80 LS(J*I)=LS(J*I)+L(J*N)
NC(I)=0
JC(I*1)=0
100 CONTINUE
RETURN
END
/
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
40
41
42
2
4
3
45
610
620
FORMAT ( 24X* 15HPR0BLEM NUMBER * 12* 1H-* 12, 1H-, 12 )
FORMAT (3(15X,5HT0TAL,4X))
FORMAT (3(5X,3HJ0B*6X,7HELAPSED,3X))
FORMAT (3(3X,8HSEQUENCE,4X,4HTIME,5X))
IF(SENSE SWITCH 2)4,2
I0P=1
PUNCH 34
PUNCH 35, NJ, NM, NP
PUNCH 40
PUNCH 41
!
PUNCH 42
GO TO 3
I0P=2
PRINT 34
PRINT 35, tvlJ, NM, NP
PRINT 40
PRINT 41
PRINT 42
DO 45 1=4,8
I K I ) = 0
IF(NJ-4)601,601,610
IF(NJ-7)620,602,602
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 1 1 2 = 1, NJ
IF ( 1 1 2 - 1 1 ( 1 ) ) 4 7 , 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 IF ( 11(3) - 11(2) ) 58*280* 58
58 IF ( NJ - 3 ) 500* 100, 60
60 I I (4) = 11(4) + 1
IF ( 11(4) « NJ ) 63* 63* 261
63 IF ( 11(4) - II (1) ) 61* 60* 61
61 IF ( 11(4) - II (2) ) 62* 60* 62
62 IF ( 11(4) - 11(3) ) 68* 60* 68
68 IF ( NJ - 4 ) 500* 100* 70
70 11(5) = 11(5) + 1
IF ( 11(5) - NJ ) 71* 71* 251
71 DO 72 I = 1* 4
IF ( 11(5) - I I ( I ) ) 72* 70* 72
72 CONTINUE
78 IF ( NJ - 5 ) 500* 100* 80
80 11(6) = 11(6) + 1
IF ( II(6) - NJ ) 81* 81* 241
81 DO 82 I = 1, 5
IF ( 11(6) - II( I ) ) 82* 80* 82
82 CONTINUE
IF(NJ-6) 500*100,90
90 I I(7)=II{7) + l
IF( I I(7)-NJ)91,91,231
91 DO 92 1=1,6
292 IF( I I(7)-II( I ) )92*90,92
CONTINUE
92 IF(NJ-7^ 500,100,310
I I(8) = II(8) + l
310 IF( I I (8)-NJ) 303,303.*301
DO 302 1=1*7
303 IF( II {8)-II( I ) )302*310*302
302 CONTINUE
100 DO 120 I = 1* NJ
DO 120 J = 1, NM
K = I I ( I )
120 X( I*J)
D(K *J)
X(l ,1)
F(l ,1)
= 2 * NM
DO 130
130 F(l ,J)
F(l ,J-1) + X(1,J)
140 I = 2 , NJ
DO 140
140 F( I,1)
F(1-1,1) + X(I ,1)
170 I = 2, NJ
DO 170
170 J = 2, NM
DO 170
IF ( F( I'1,J) - F(I,J-1) ) 150, 160* 160
150 BIG = F(I,J-1)
GO TO 170
160
170 BIG = F(I-l,J)
F(I,J) = BIG + X(I,J)
TET=F(NJ,NM)
GO TO {1601,1602),IND
1602
580 IF(SMALL-TET) 5 50,1601,580
SMALL=TET
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) 90,231,500
I I(7)=0
IF ( II(6) - NJ ) 80, 241, 500
I I (6) = 0
IF ( 11(5) - NJ ) 70, 251, 500
11(5) = 0
NJ ) 60, 261, 500
IF ( 11(4)
I I (4) = 0
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 )*TM(I)*I=1*N)
PRINT 34
GO TO 712
PUNCH 5709((JJ(I*K)*K=1*8 )*TM(I)*I=1*N)
PUNCH 34
IF(IOP) 5*500*5
CALL EXIT
END
i5
APPENDIX C - SAMPLE INPUT AND OUTPUT
PROBLEM:
This :s a 3-machine, 5-job problem^
A
B
C
1
2
75
67
55
26
16
26
3
12
62
1
4
5
87
88
25
34
28
53
DATA CARDS
00050003
00750055001600670026
0026001^006200010087
00250028008800340053
PROPOSED ALGORITHM OUTPUT
Ihi.r is a 3-machine, 5-job problem.
Jt
Sequences
Time
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
400
414
381
382
400
382
414
382
400
401
381
381
381
389
DUDEK-TEUTON ALGORITHM OUTPUT
This is a 3-machine, 5-job problem
Sequences
53142.0
12534.0
35142.0
13542.0
15342.0
31542.0
12354.0
Time
381
382
381
381
381
381
382
DUDEK-TEUTON WITH DOMINANCE OUTPUT
This is a 3-machine, 5-job problem
Sequences
12534.0
35142.0
31542.0
12354.0
Time
382
381
381
382
ENUMERATION OUTPUT
Problem Number 5- 3- 2
Job
Sequence
Total
Elapsed
Time
13452000
15342000
34152000
35412000
45312000
53412000
381.
381.
381.
381.
381.
381.
Job
Sequence
Total
Elapsed
Time
Job
Sequence
13542000
31452000
34512000
43152000
51342000
54312000
381.
381.
381.
381.
381.
381.
14352000
31542000
35142000
43512000
53142000
Total
Elapsed
Time
381.
381.
381.
381.
381.
© Copyright 2026 Paperzz