a solution to one type of the n-job, m-machine sequencing

160
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

Upload: others

Post on 30-Oct-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

1

A SOLUTION TO ONE TYPE OF THE

N-JOB, M-MACHINE SEQUENCING PROBLEM

by

RICHARD DOWLEN SMITH, B.S. in Military Science

A THESIS

IN

INDUSTRIAL ENGINEERING

Submitted to the Graduate Faculty of Texas Technological College in Partial Fulfillment of the Requirements of

the Degree of

MASTER OF SCIENCE

IN

INDUSTRIAL ENGINEERING

ADDroved

Accepted

m AC

ry

/Uo. m

ACKNOWLEDGEMENTS

I am deeply indebted to Professor Richard

A. Dudek for his direction and help in the prepar­

ation of this thesis, and to the other members of

my committee, Professors P. M. Ghare, A. A. Gioia,

V. P. Luchsinger. Also appreciation is gratefully

expressed to my wife, Carolyn, for her aid in the

preparation of this manuscript and her encouragement

during the research.

TABLE OF CONTENTS

LIST OF TABLES

LIST OF ILLUSTRATIONS

lo INTRODUCTION . . . . . . . . e 2

Purpose e . c , . . . 3

Review of Previous Research . . . 4

Geometric Model . . . 5

Branch and Bound Models . . . . . . . . . 5

Combinatorial Analysis Models 7

Approximate Models 8

Definition of Special Case to be Considered. . 9

Method of Approach . . . . . . 11

II. DEVELOPMENT OF THE ALGORITHM 12

Definition of Symbols 12

Dudek-Teuton Algorithm .13

Counter-Example to the Dudek-Teuton

Algorithm . » . , ; . . . . . 20

Development of New Algorithm 23

Statement of Algorithm . c . . . . . . . . . 26

III. PROOF OF OPTIMALITY . . . . . . . . 34

General Form of Proof . . 34

Procedure to be Followed in Proof of

1 ii 0 O 1 G i n S « o » » o e » « c e « e o » o O '

n-Job, 2-machine Case . . . . . . 40

Table of Contents (con't.)

n-Job, 3-Machine Case c . . . . 42

Inductive Proof of m-Machine Decision Rules . . 54

Additional Feature of 3-Machine Case . . . 55

Inductive Assumptions , . . . . , . . . . 59

Inductive Proof - Critical Sequence . . . 61

Inductive Proof - Post-Sequence 73

Transitivity of Comparisons . » 76

IVo DEVELOPMENT OF THE ALGORITHM .79

Simplification of Decision Rules 79

m-Stage Algorithm o . . . . . . 84

Example Problem c . . . . . . . . . . . . . . . 87

Vo RESULTS AND CONCLUSIONS . . . . . . . . . . . . 97

Analytical Verification . . . c 97

Machine Programs . . . . . . . . 98

Proposed Algorithm . . . . . . . . . . . . 98

Dudek-Teuton Algorithm , . 98

Enumeration , . . . . . . . . . . . . . . 99

Conclusions Based on Results of Verification. .100

Number of Sequences .100

Time Required for Calculations 106

Comparison of Efficiency to Other

Known Algorithms .110

General Conclusions „. . . . . . . .111

Recommendations for Further Research .112

Summary of Results . .113

Table of Contents (con't.)

LIST OF REFERENCES o o o o o o e 114

APPENDIX o e o o o o • c e e 116

Appendix A: Individual Problem Data 117

Appendix B: Programs and Instructions for Use . . .130

Appendix C: Sample Input and Output 151

^

LIST OF TABLES

TABLE I: Known Conditions (3-Machine Case) 45

TABLE II: Known Conditions (n-Machine Case) 63

TABLE III: Conditions to be Proven (n-Machine) . . . . 67

TABLE IV: Kh.i(N)" - Kj (N) ' vs. Kj(N)" - Kj+i(N)'. . . 70

TABLE V: Summation of Calculations (j=l, job "a" = 2) . . 83

TABLE VI: Summation of Calculations -

Presequence 2 _ (j=2 Job "a" =5) . . . . 90

TABLE VII: Summation of Calculations -

Presequence 5_ (j=2 Job "a" =2) . . 90

TABLE VIII: Summation of Calculations -

Presequence 25_ _ _ (j=3 Job "a" = 1 ) . .91

TABLE IX: Summation of Calculations -

Presequence 52 (j=3 Job "a" = 1) . . . 92

TABLE X: Summation of Calculations (n-l " and

n^^ positions) 95

TABLE XI: Average Number of Sequences

Generated (m=3) 101

TABLE XII: Average Number of Sequences

Generated (m=5) . . . . . . 101

TABLE XIII: Average Number of Sequences Generated

With Dudek-Teuton With Dominance

Check (m=3) 105

TABLE XIV:: Average Number of Sequences Generated

With Dudek-Teuton With Dominance

Check (m=5) 105

)

List of Tables (con't.)

TABLE XV: Time Required (m=3) 107

TABLE XVI: Time Required (m=5) 107

TABLE XVII: Time Required With Dudek-Teuton

With Dominance (m=3) 109

TABLE XVIII: Time Required With Dudek-Teuton

With Dominance (m=5) . . 110

TABLE XIX: Sequences Generated and Time

Required (m=3) . . . . . . . . . 118

TABLE XX: Sequences Generated and Time

Required (m=5) . . . . . . . . 125

LIST OF ILLUSTRATIONS

!

Figure 1: Gantt Chart (3-Machine) 14

Figure 2: Flow Chart of Decision Rules . . . . . . . 27

)

CHAPTER I

INTRODUCTION

In the field of operations research, one of the "classic"

problems has been that of sequencing "n" jobs through "m"

machines. Sequencing means the determination of the order

in which each machine will process the n jobs so that some

specific criteria will be maximized or minimized.

In this problem there are nl possible ways to order

the jobs on each machine and a total of (nl)" possible se­

quences .

There are several different optimizing criterion that

can be used. A few of these are:

1. Minimization of time required from the start

of the first job until completion of the last

job on each of the machines

2. Minimization of the total time required for the

entire series of jobs to be completed

3. Minimization of the total idle time on the machines

4. Maximization of profit from meeting due dates

and not incurring penalties involved in late

delivery

5. Minimization of in process inventory costs

In regard to the general sequencing problem very

little progress has been made toward the development of a

practical algorithm or set of rules which can be followed

to arrive at an optimal solution. A more detailed history

of work in this area will follow.

In this chapter the purpose of this thesis will be

discussed and a historical resume of progress in this area

will be set forth. Finally a detailed definition of the

specific area of the general sequencing problem which is

to be investigated will be presented.

Purpose

This research deals with one specific type of the

general sequencing problem. This problem is characterized

by n jobs and m machines. If machines are designated by

capital letters, each job must be processed on the machines

in the order A, B, C, ..., M. Also each machine must pro­

cess the jobs in the same order. For this problem there are

only nl possible sequences.

The criterion considered in this research is minimum

total elapsed time. This is defined as the time from the

start of processing by the first machine on the first job

in the sequence until completion by the last machine of

the last job in the sequence. The time required for each

machine to jg rocess each job must be given and must be inde-

: vuuciii or Trie 0>der in which the jobs are processed.

It IS intended to develop a completely general al­

gorithm and demonstrate the efficiency of this algorithm by

solving several problems on a computer and comparing the

times required for computation using this algorithm, enum­

eration, and the Dudek-Teuton algorithm.

Review of Previous Research

The efforts of researchers in developing algorithms

to solve sequencing problems have been meager. The first

notable advance made m sequencing was by S. M. Johnson in

1954. He developed an algorithm to solve the n job, 2 mach­

ine problem with minimization of total time as the criteria.

Also he developed an algorithm for one special type of the

n job, 3 machine problem. This problem is characterized by

the fact that the smallest processing time for the machines

"A" and "C" is at least as large as the largest processing

time on machine "B". (6)

From 1954 to 1963 very little research of a practical

nature was reported. Some research was performed in three

distinct areas--combmatoi ial solutions, integer linear pro­

gramming solutions, and solutions through simulation. All

of this research is reported m a June 1963 thesis submitted

by Oo Fo Teuton to Texas Technological College. (11)

Since the start of 1963 four notable approaches have

been made to the sequencing problem. These include a geo­

metric asJima J ^ a "branch and bound" approach, a combina-

torial uii.iiysLs apjiroach, and an approximation approach.

Geometrical Model

A geometric model and a graphical algorithm for a

sequencing problem were advanced by William W. Hardgrave

and George L. Nemhauser (4) in 1963. The problem which

they considered was one where there were n jobs and m

machines and the machine order of processing for each job

was known but not necessarily the same for all jobs.

Neither did each machine have to process the jobs in the

same order. By the use of a graphical approach the authors

are able to show how an optimal solution in terms of total

time can be determined.

Since it is necessary to portray a network in graph­

ical form this algorithm is generally limited to 3-dimen-

sions. Each job adds a dimension and therefore it is feasible

only for 3-job and m-machines.

"Branch and Bound Models"

The "branch and bound" technique was developed by

Little, et. al., (9) to solve the classic "traveling sales­

man" problem. This problem involves the ordering of cities

for travel in such a way to minimize total distance traveled.

There are (n-l)! possible solutions. In the "branch and

bound" algorithm a pair of cities is ordered together. A

subset of possible routes with these cities in this order

and a subset of routes with these cities not in this order

are then created. For each of these subsets a lower bound

on distance traveled is established. From the first subset

wi^il '--

two more subsets are created using another pair of cities.

This branching is continued until one order of travel is

fixed and its distance is less than any lower bound of a

subset from which no branching has occurred.

This method was extended to the sequencing problem

in two separate research efforts. Ignall and Schrage (S)

published an article using this method. Also Lomicki (8)

used this concept to develop an algorithm applicable to the

sequencing area. Both articles use the "branch and bound"

/ method of calculations in a similiar manner. All possible

jobs are placed into the first sequence position and lower

bounds on total time are calculated^ From the subset having

the lowest bound another group of subsets is created by

placing all other jobs in the second sequence position.

Again a lower bound is calculated for each of these new

subsets. This procedure is continued until one sequence

is dictated and its total time is less than the lower

bound of any subset from which no branches have been created.

Both of these articles are applicable only to the

n-job, 3-machine case. In each the objective criterion is

the minimization of total time. Also both articles are

concerned with the case where the n-jobs do not have to be

processed in the same order on each machine^ But an initial

proof IS that for the 3-machine case each machine would

process the jobs in the same order in an optimal solution.

This means that there are only n! possible sequences.

^^^ji^-

Another sequencing approach using the "branch and

bound" principles was published by Brooks and White (1).

This article outlined a procedure for the n-job, m-machine

case where the machine sequence for each job was specified

but not necessarily the same for all jobs. Also all jobs

need not be processed m the same order on all machines.

This algorithm is based on the following procedure. All

jobs are first listed as if they start at time zero and

proceed uninterrupted until conclusion. Then each conflict

(two jobs on the same machine at the same time) is resolved

by establishing lower bounds for the various alternatives.

This procedure is continued until all conflicts have been

resolved and the various lower bounds indicate that no better

solution is possible.

Three different objective criteria were used--mini-

mizmg idle time, minimizing lateness, and minimizing total

time. Since the procedure set forth was too long for com­

puters to work even moderate size problems an approximation

method based on the same principles was presented. This

approximation follows essentially the same procedure with

fewer checks on lower bounds.

(]£mbiriatorial Analysis Models

A significant advancement was made in the area of

sequencing with the development of an algorithm which used

idle time on the various machines to determine an optimal

sequence in the n-job, m-machine problem. This idle time

1 / ^ fca- •-

8

was used to develop decision rules whereby a sequence is

determined in a position by position analysis. This was

first published in a thesis by 0. F. Teuton, Jr. (11) and

later expanded in an article by R. A. Dudek and Teuton (2).

These writings were concerned with the case where the jobs

go through each machine in the same order and each machine

processes the jobs in the same order. Even though this

algorithm first appeared to be completely general a counter­

example was found in which the algorithm would not select

the optimal sequence. This work forms the basis for this

research and is commented on in more detail in Chapter 2.

Approximate Models

An approximate model for the sequencing problem was

published by D. S. Palmer (10) in 1965. This article deals

with the n-job, m-machine problem where each machine pro­

cesses the jobs in the same order and each job proceeds

through the machines in the same order. The approximation

is based on giving priority to those jobs which have in­

creasing processing time as they go through the machines.

A mathematical formula is presented which furnishes a deci­

sion rule on the order m which the jobs should be processed.

An absolute lower bound is calculated to give the analyst an

indication of how good the sequence generated is. By inter­

changes of jobs this lower bound is more closely approximated

Another article by Giglio and Wagner (3) considered

various approximations to the n-job, 3-machine scheduling

problem where each job proceeds m the same order through

the machines. The approaches considered were

1. integer linear programming

2. rounded integer linear programming

3c Johnson approximation

4. Monte Carlo approach

Definition of Special Case to be Considered

The topic of this research is a special case of the

general n-job, m-machine sequencing problem. It can be

formally stated as follows: n-jobs are to be processed

through m-machines in the order A, B, C, ...M with no pass­

ing allowed. The objective criterion to be used is to mini­

mize the total time required from the time the first job in

the sequence enters machine A until machine M completes

processing the last job.

Certain assumptions are to be made concerning this

problem. These are the same as are found in the Dudek-

Teuton article (2) and are:

"A, Assumptions regarding machines:

1. No machine may process more than one job at

any given time and each job, once started,

must be processed to completion.

2. A known, finite time, is required to per­

form each operation and the time intervals

for processing are independent of the order

m which the operations are performed.

^M.'i

10

B. Assumptions regarding jobs:

1. All jobs are known and are completely

organized for processing before the period

under consideration begins.

2. All jobs are considered equal in impor­

tance, i.e., there are no due dates,

3. Jobs are processed by the machines as soon

as possible and m a common order,

C= Other:

Ic The time required to transport jobs between

machines may be considered negligible or

as a part of the processing time on the

preceding machine.

2. In process inventory is allowable,"

It is realized that one of the more restrictive

assumptions is B3e However in the 3 machine case this

assumption is not necessary since it was shown by Johnson

(6) that the optimal time for all sequences in the 3-mach­

ine case is when all machines share a common order of jobs.

Ignall and Schrage (5) proved that this is not necessarily

true for more than 3 machines.

The objective criterion used could also be modified

with a minimum of effort to include a minimization of total

idle time. However total time is the most common reference

and will be used for this research.

A/i*

11

Method of Approach

Chapter 2 will cover a discussion in depth of the

algorithm proposed by the Dudek and Teuton writings. From

this a theoretical development of the 3-machine and finally

the m-machme decision rules will be shown. Chapter 3 will

be comprised of a detailed mathematical proof of the opti-

mality of the sequence with the m.inimum total time of those

generated by the algorithm. Chapter 4 will include develop­

ment of the algorithm to working terms and a simple statement

of the algorithm. Also a sample problem will be included.

\The algorithm is to be checked for analytical efficiency by

working sample problems on the computer. The time required

to work the algorithm will be compared to time required for

enumeration of all possible sequences and the time required

to work the Dudek-Teuton algorithm. Also the number of

sequences generated in each case will be investigated. The

results of this analytical testing and conclusions and re­

commendations will be included in Chapter 5.

CHAPTER II

DEVELOPMENT OF THE ALGORITHM

This research has as a basic point of departure

the Dudek-Teuton writings previously mentioned. This chap­

ter will start with a discussion of their work and the reason

for Its lack of generality. From this point the logical

development of the proposed algorithm will be presented.

Several revisions were made as a result of insights gained

during the proof of optimality. These will be pointed out

during the discussion. The concluding section is a state­

ment of the algorithm.

Definition of Symbols

The following symbols and terms will be used in the

discussion of both the Dudek-Teuton work and this research.

Since any arbitrary number ot jobs (n) and any arbitrary

number of machines (m) are being considered it will be

assumed that all of the jobs are processed first on a machine

called "A" and then proceed in the order A, B, C, c.,., M.

Let:

A - the time requited by job j on Machine A

B. = the time required by job j on Machine B

12

13

M. = the time required by job j on Machine M

IB = idle time on machine B if the jobs follow a

given sequence.

IB_ = idle time on machine B after the (j-1)^^

position and before the j position of

the sequence. Similarly IC, ...., IM are

defined..

No restrictions are imposed on the size of A , B.,

,.c. , M. except that they be greater than or equal

to zero where i is any job 1, 2, 3, ..., j, ...n.

This means that the problem is completely defined

by a matrix of machine times such as:

Job i Machine A B M

1

2

a

o

j

e

n

Al

A2

0

0

A. 3

0

A n

^

B 2

0

e

B. 3

0

\

e

0

e

o

0

e

e

0

e

c

0

c

0

h I

2 o

«

I j

o

In

0

c

o

o

0

0

0

c

o

e

0

o

o

" l

"2

0

0

M. 3

c

M n

Dudek-Teuton Algorithm

The Dudek-Teuton (2, 11) writings was one of the

first serious approaches to the n-job, m-machine sequencing

problem. This algorithm was originally thought to be com­

pletely general but a counter-example was found to exist (7)

Still the percentage of counter-examples has been very small

14

(approximately 1%) when problems with randomly selected

machine times have been worked. problems have been worked

by computer and by hand using this algorithm in a graduate

Industrial Engineering class. It has been shown in this

manner to be efficient both in time of calculations and in

the number of sequences examined. Also its capacity for

solving correctly a majority of the sequencing problems has

been demonstrated. For these reasons this work was chosen

as a basic point of reference.

The Dudek-Teuton writings are concerned with the

same problem that this research covers. The assumptions

stated in Chapter I are also appropriate to their algorithm.

In order to proceed with the development of a revised

algorithm it is first necessary to understand some of the

essentials of the Dudek-Teuton work. To do this the dis­

cussion must first consider the objective criterion. Total

time required to process all jobs can be expressed as T.

Machine A

Machine B

Machine C

^Figure 1, Gantt Chart [3 Machine)

A-2.

A4 A.

ft

IB £1_,

ICi

B- B7 IB^B, B. IBr Br — Z J —5t 6 t—tM — — o — I 3-

Cl C2 IC5

Notice from Figure 1 that T can be written as: 5 5

T = Z C. - Z IC. . 1 = 1 i = l

15

(If there is no idle time on an arbitrary machine M before

job i, then IM. is defined as 0) Since the first term of 1

this expression for T is a constant regardless of the order 5

of jobs, T can be minimized by minimizing Z IC. i = l ^

or the total idle time on the last machine regardless of the

number of machines.

Also from Figure 1 it can be observed that:

IC-L = B + IB-j

and

n u u-1 Z IB. = max [ Z A. - Z B. ] ,

i=l ^ l^u^n i=l 1 i=l 1

n u u-1 V v-1 Z IC. = max [ Z B. - Z C. + max ( Z A. - Z B.)].

i=l ^ l^u^n i=l ^ i=l ^ 1 V u i=l ^ i=l ^

Extending these equations to a general m machine case:

u u-1 a a-1 (1) IM= max { Z L. - Z M. -»- max [ Z I. - z L. + max (

l^u^n i = l i = l i^a^u i = l " i = l "'' 14b4a

k k-1 ...... * niax [ Z A . - ZB.])]}.

14k <m i = l ^ i = l ^

For notational simplicity the following quanities

are now defined:

j J - 1 (2) K.(B) = Z A. - Z B

3 1=1 ^ i=l ^ j j~l u u-1

K (C) = Z B. - Z C ^ max ( Z A. - Z B ) j i=l ^ i=l ^ I4U4J i=l ^ i=l i

and similarly for K . (D) ,•••"'"•• ,K . (M) .

Then idle time can be expressed as:

16

(3) IB = max K^iB), l^u^n

IC = max K (C), l<u<n

IM = max K^(M). 1 u^n

The Dudek-Teuton algorithm gives a decision rule to

decide if job "a" should precede job "b" in sequence pos­

itions j and (j+1). To make this determination two se­

quences are examined. These will be noted by S' and S".

(4) S' = 1, 2, 3, . . ., j-1, a, b, j+2, . . . =, n

O ~ X, Z, J, . . a, J ~ l , Q , a> 3 9 " ' • " f

Notice that these sequences are identical except for an

interchange of jobs "a" and "b" in the j^^ and (j+1)^^

positions. The jobs placed in the first (j-1) positions

are already scheduled and both sequences have identical

idle times through this position. This idle time on

machine B is denoted by Q(B) and idle time on machine C

by Q(C). Similar definitions are made for Q(D), .,.,Q(M).

Jobs in the (j+2)^^ position through the n^^

position are arbitrary as long as they are not in the

presequence and are not jobs "a" or "b". The symbols S'

and S" then represent all possible orderings of these jobs

The first case to be considered is the 3-machine

case. If all quantities pertaining to the S' sequence

are designated by (') and all quantities pertaining to the

17

S" sequence are designated by (") the following expressions

can be stated:

(5) I C = max [Q(C), K • (C) ' , K.^^(C)',. . . ., Kn(C)'],

IC" = max [Q(C), K.(C)", K.^^(C)",. . . ., Kj^(C)"].

If all sums are written in terms of summations over the

S' sequence: j j-1

(6) Kj(C)' = Z Bi - Z Ci + max [Q(B), Kj(B)'], i = l i = l

3+1 j Kj+i(C)' = Z Bi - Z Ci + max [Q(B), K-: (B) ' ,

i=l i=l

Kj+2(C)'

Kj+i(B)'],

j+2 j+1 Z Bi - Z Ci + max [Q(B) , K-j (B) ' ,

i = l i = l

u u-1 K-j+i(B)' , max ( Z Ai - Z Bi)] • j + 24u4j+2 i = l i = l

n n-1 Kj^(C)' = Z Bi - Z C. + max [Q(B), K.(C)', K . , T ( C ) ' ,

i = l i = l •^ •^ ^

u max ( Z - i •

j+24U4n i=l

u-1 Z Bi)]

i = l

And from the S" sequence:

J J-1 (7) Kj(C)" = Z Bi - Ba + Bb - I Ci + max [Q(B), K.(B)"],

^ i=l i=l ^

J+1 J Kj+i(C)" = Z B, - ( Z C

i = l 2 C - C + C ) +max [Q(B) i=i 1 a b

K.CB)", K.^^(B)"]

18

j+2 j+1 Kj + 2(^^)" = ^ B^ - Z C^ + max [Q(B) , K.(B)",

i = l i = l -

u u-1 K.^i(B)", max ( Z A^ - Z B^) ]

j+24U4n i=l i=l

K (C)" = Z B^- Z Ci + max [Q(B) , K.(B)", K.^-,(B)" i = l i = l - -

u u-1 max ( Z A^ - Z B^)] .

j+24U4n i=l i=l

Notice that if max [Q(B), K• (B) ' , K.^-^(B)'] = max [Q(B) ,

K.(B)", K.^i(B)"],then K-^2^C)' = Kj+2^^^"

• • • ; K (C)' = K (C)". Also if n n

max [Q(B), K^(B)' K^^^(B)'] < max[Q(B) f

i Kj(B)", K.^i(B)"],then K.^2^C)' 1K.^2^C)'' %

. . . . ; K^(C)' 4 K^(C)".

From this observation and equation (5) it can be

stated that:

IC 4 IC" if

(8) max [K^.(C)', K.^i(C)'] < max [K. (C)", K.^^(C)"]

(Condition 1)

and

(9) max [Q(B), K . (C) ' , K^^^(C)'] 4 max [Q(B) , K^(C)",

i^

19

K.^^(C)"J . (Condition 2)

These then are the 2 decision-making rules that the

Dudek-Teuton algorithm uses as a basis for the 3-machine

problem. Job"a" should precede job "b" in the sequence if

these conditions hold.

From these 3-machine conditions the decision-making

rules for the m-machine case are evolved. They are:

Job "a" precedes job "b" in a sequence if the

following m-1 conditions are met:

(lOj Condition 1*. max [K-(M) ' , K.^i(M)'] < max [K.(M)",

Kj,i(M)"],

Condition 2: max [Q(L), K•(L)', K.^i(L)'] 4

max [Q(L), K^(L)", Kj^^(L)"],

Condition (m^l): max [Q(B), K (B) ' , K. - (B)']

4 max [Q(B), K. (B)", K.,-^(B)"].

The algorithm essentially has the following steps.

All jobs are checked against all others until the one

which satisfies Condition 1 in all comparisons is found.

It IS then a candidate for the j sequence position.

Conditions 2 through m-1 are then checked for all compari

sons and any job which while in the (j^i)^"^ sequence

i

20

position of the S' sequence causes one of these conditions

to fail is also considered as a candidate for the j

position.

th

Counter-Example To The Dudek-

Teuton Algorithm

A counter-example to the Dudek-Teuton algorithm

was found and published by Karush in March 1965 (7).

The counter-example given here was the following 3-job,

3-machine problem:

Machine

J o b

1

2

3

A

3

22

20

B

22

20

14

C

2

20

18

In this case the application of the algorithm

yielded a solution of 1-2-3 with a total elapsed time of

83. Enumeration shows that the optimal sequence is 2-3-1

with a total elapsed time of 82. It is not possible to

infer that all counter-examples are of the type where the

algorithm places the job which should be in the last

sequence position m the first. Other counter-examples

have been found to exist that place jobs, which, in the

optimal solution are in a position other than last, in

some previous position.

Karush's article advances some reasons as to why

•i

21

the algorithm is not completely general. He represents

the presequence as r, the two jobs being compared as i

and j, and the rest of the jobs not scheduled as a. If

the conditions are then met the expressions for idle time

are complete and correct for the sequences Tiija and

TTJiOc Karush then further states that the algorithm

fails to consider what happens in ^aij and aji.

This reasoning is not entirely correct. If the

job which meets all tests for Condition 1 is noted by i

and each job that is compared is noted by j it can be

seen that j at one time becomes every other job in the

set Oo Therefore the set of jobs of the form -naij is at

least partially considered.

Actually the lack of generality stems from the

fact that ^ijo is compared to ^jia but not to ^jci and

rja'ic" where a' and a" are subsets of a. To look at

this in more detail consider the 4-job case where the

Dudek-Teuton algorithm generates only 1 feasible sola

tion of the order 1 2 3 4. In checking jobs for the first

sequence position the following sequence comparisons are

made:

Sequences 1 2 3 4 1 2 4 3_

Sequences 1 3 2 4 1 3 4 2_

Sequences 1 4 2 3 1 4 3 2

are better than

are better than

are better than

2 1 3 4 2 1 4 3

3 1 2 4 3 1 4 2

4 1 2 3 4 1 3 2

22

Note that only 12 of the 24 possible sequences are consi­

dered. In general 2/n of the total sequences will be

consideredo

If this type of analysis is continued further the

following comparisons are made when the second sequence

position is filled:

Sequence 1 2 3 4 is better than 1 3 2 4

Sequence 1 2 4 3 is better than 1 4 2 3.

Note that of the reduced set which was determined after

selecting the first sequence position, only 4 of those 6

sequences were considered in filling the second sequence

position. This proportion is generally 2/n-lc

For the next-to-last and last sequence positions

the following comparison is made:

Sequence 1 2 3 4 is better than 1 2 4 3.

I ' I

This includes all of the jobs in the reduced subset formed jt ::f

by filling the second sequence position. Generally this

will always be true of the (n-1)^^ and n^^ positions of

a sequence.

The proportions stated above are correct only if

one feasible solution is generated. If more than one

candidate is obtained because of the failure of a job to

meet one of Conditions 2 through m-1 these proportions

can change significantly. But unless (n-1)! sequences

are generated the algorithm as presently stated will not

consider all sequences and cannot guarantee an optimal

t*

23

solution. To devise a counter-example it is only neces­

sary to find a problem where all conditions are satis­

fied m the form TTIJO and the optimal solution has the

form nioj or -rria'ja".

In order to develop a completely general algorithm

with the Dudek-Teuton work as a basis it is necessary to

free job "a" from the (j*!)^^ position of the S" sequence.

From the example previously used it can be seen that for

the first position calculations the 12 possible sequences

not considered all have the characteristic that job 1 is

in the third or fourth position. This then is the approach

to be taken in the development of a new algorithm. De­

cision rules will be developed which will compare sequences

where job "a" is allowed to be in any position from the

(j+1)^^ to the n^^ position in the S" sequence.

Development of New Algorithm

The separation of development of the new algorithm

and proof of optimality of this algorithm is largely a

superficial one. Some changes were made to the decision

rules as a result of knowledge gained during the optimality

proof. These will be commented on specifically.

As discussed previously the Dudek-Teuton algorithm

must be revised to allow job "a" to be in any position

from the (j*l)^^ " ° ^^ n^^. The sequences to be compared

are then:

%

:.

24

(11) S'

j j l Y i

X X X a b . O O 0 0 0 0

S " = x x x b . . o . a o o o .

The presequence (represented by x's) may contain some

jobs in which case they are the same for both sequences

or it may be void if j is the first sequence position.

The portion of the sequence from j to k will be called

the critical sequence. k is allowed to vary from j+1

to n. Also each job in this critical sequence m S'

corresponds to the same job in the S" sequence m the

following manner:

The job m S' in the h position is the same

as the job in S" in the (h-1)^^ position (j+l<h4k)o

This critical sequence may be void or contain some

jobs. The post sequence (represented by o*s) may have

some jobs in it m which case they are the same m both

sequences and in the same order or it can be void. The

critical and post sequences represent all possible order­

ings of jobs not m the presequence or not under consider

ation

The most obvious modification to the Dudek-Teuton

conditions ( equation 10) is the elimination of K- -| (B)",

„ , , , , K- ,(M)". The calculation (see equation 7) of

these quantities is dependent on job "a" being in the

y^ljSt position of the S" sequence. Since this can no

longer be required these quantities are dropped from the

tef

25

conditions.

Also after delving in the proof of optim.ality it

became necessary to eliminate Q(B), . . , ., QCM-1) from

Conditions 2 through m-l. This is necessary since if they

are included no definite statement can be made about idle

time during the critical sequence.

Another change made to the Dudek-Teuton algorithm

involved the last two positions. In these positions only

one condition is required by the Dudek-Teuton method.

This is: "Job 'a' precedes job 'b' if:

max [K_|(Mj', Kj - (M)*j <max [K . (M) ",K • - (M) "] " .

A minor revision was made here in the addition of Q(M) to

both sides of the expression. In this case max [Q(M),

K o (M) ' J K« -,(M)'j is an accurate statement of the total

idle time of the last machine in S'. The same is true of i

the other side of the expression in relation to S"c This |

new restriction has the advantage of generating fewer 'J*

feasible solutions and is therefore preferable.

Another addition made to the Dudek-Teuton algorithm

involves a sequence dominance check. This sequence domi­

nance check is made when several partial sequences are

generated. If one partial sequence is simply a different

permutation of the jobs in another partial sequence and

the idle time on each machine using the first partial

sequence is less than or equal to the idle time on the

corresponding machines using the second partial sequence.

inr

26

the second partial sequence can be eliminated from consider

ation. Such a dominance check has the advantage of re­

ducing the number of sequences generated by a considerable

number and therefore reducing the time required for compu­

tation. This becomes especially important in problems

involving a large number of jobs.

The algorithm developed still uses m-1 conditions.

The necessity for this number of conditions is explained

in the Dudek-Teuton writings and need not be repeated

here o

A more complete picture of the workings of these

revisions will be seen in the next section and in the

chapter concerning the proof of optimality.

Statement of Algorithm

The basics of this algorithm will be presented in

simple terms. However, because of the computational

difficulty in applying these steps a working version will

be presented in Chapter 4 and used for computational

purposes.

For simplicity of presentation the algorithm is

divided into three separate parts. The first two parts

are two different "dominance" checks--a job dominance

check and a sequence dominance check. The last part is

the special case of the last two jobs to be sequenced.

The algorithm is shown in a flow cha^t form m Figure 2

lie

ir

27

Figure 2

FLOW CHART OF DECISION RULES

rt 1 (Job Dominance Check)

Select jobs as "a" and "b"l ^

Condition met Condition 2

not met

met^.. Condition m-1

not met

met

not met

^Retain both jobs as candidates

for the J ^ position

Eliminate job "b" from

consideration for the j^^ position

Repeat the preceding steps for all

possible combinations of "a" and "b"

Repeat this part for all of the

presequences involved

Go to part 2

•••I

28

Part 2 (Sequence Dominance Check)

Select 2 partial sequences as S' and S"

Check if they are permutations of the same jobs no

yes Select 2 other partial

sequences and repeat

LJQ(B) '4Q(B)"|.^L£^(C) '4Q(C)"|ye,'>. . ..y^QCM) '4Q(M)"

no no no

Eliminate S' from consider­

ation

Retain both S' and S" in set

of candidate partial sequences

no

T no

^ Q(C}" Q(C)' ..xg. 0 . .ygsjQ(M)" QfM) ' ye.s».

Eliminate S' frcm

consideration

1 ± Repeat part 2 until all paiiS

of partial sequences are

compared

Repeat parts 1 and 2 for first

n-2 sequence positions

i|

I .

ij5

[GO to p a r t 5 |

art 3 (n-l^t and n^h Positions)

29

Designate one of the remaining

jobs as "a" and the other "b"

1 max [Q(Mj, K_(M)', K=,2(M)'] 4 max [Q(M), K_(M)", K. .(Mj"

yes

S' is a feasible sequence

no

S" is a feasible sequence

n Total time = Z M^ +

i = l

max [Q(M),Kj(M)',K-j,i(M)']

Total time = n Z M.

1 = 1

max [Q(M),Kj(M)",Kj.i(M)"]

Repeat above for other

necessary presequences

The feasible sequence with

lowest total time is

optimum

<i

/

0

and a discussion will follow.

The first part of the algorithm is the job dominance

check. Jobs are selected for jobs "a" and "b" (see

equation 11) and the following conditions are checked.

(12) (Condition 1) max [K.(B)', K. .(B)'] ^K-(B)" J J -'- J

(Condition 2) max [K» (C) ' , K -,(C)'] 4K.(C)" J J J

(Condition m-1) max [K.(M)', K. ^(M)'] 4 K^(M)"

The quantities used in these conditions are defined as:

j~l (13) Kj(B)' = Z Ai + Aa

i = l

j-1 Z Bi , i = l

j-1 3-1 Kj (C) ' = Z B:; + B^ - >:

i = l 1 . , a .'-. Ci * max LQ(B), KJ(B)' I

i = l

j-1 j l

•3 i = l

. I Mi + max [Q(L), Kj(L)'], 1 = 1

j-1 (14) K_ -.(B)' = Z Ai

3 ^ 1 = 1 Z A. ^ A. ^ A^ - (_I B^ + BJ,

a

j-1 z i=l

j-1 j ' 1 K. i(C)' = Z B^ ^ B^ + B^ - ( Z C + CJ " max J i=l 1-1

[Q(B), K.(B)', K.^^(B)'],

£^

51

j-1 j-1 Kj+i(M)' = z Li ^ La + Lb - ( Z Mi ^ Ma)

i-l i=l

max [Q(L), K-(L) ' , Kj.^^(L)'],

j-1 j-1 (15) K.(B)" = z A. + A, - Z B. ,

^ i=l 1 b .^^ 1 >

j-1 j-1 Kj(C)" = Z Bi + Bb - Z Ci + max [Q(B), K.(B)"],

i = l i = l -'

j-1 j-1 K-(M)" = Z Li + Lb - Z Mi + max [Q(L), K. (L)"].

i = l i = l -

These terms are identical to those used in the

Dudek-Teuton writings.

If all m-1 conditions are met then job "a" can be

said to have dominated job "b" and job "b" is no longer

considered for sequence position j. This is repeated by

using all possible jobs as job "a" and other jobs as "b"

until no further dominance can occur. All jobs left in

the possible set are then considered as candidates for

the j^^ sequence position.

The second part of the algorithm is the sequence

dominance check. If two partial sequences are permuta­

tions of each other the following check is made:

S" is no longer considered as a candidate partial

(

32

St

sequence if another partial sequence S' exists which is

a different permutation of the same jobs as S" and the

following conditions are met:

(Condition 1) IB' 4 IB",

(Condition 2) IC 4 IC",

(Condition m-1) IM' 4 IM".

All combinations of sequjences are checked in this step.

The final part of the algorithm involves the (n-1)

and the n^^ positions. In this case one of the two re­

maining jobs is assigned to the (n-1)^ or the j^ posi­

tion and the other job is assigned to the n or (j+1)^

position in the S' sequence. The S" sequence is identical

except for an interchange of the last two jobs. One con­

dition is then checked:

max [Q(M), Kj(M)', Kj+i(M)'] 4 max [Q(M), Kj(M)",

Kj,i(M)"]

where Kj (M) ' , Kj^.i(M)'. and K j (M)" are defined in equations

13, 14, and 15, K. -, (M)" is defined by:

j-1 j-1 (16) K..i(B)" = Z Ai + Ab + Aa - ( Z Bi + Bb),

^ i=l i=l

j-1 j-1 Kj.l(C)" = Z B. + Bb + B^ - ( Z Ci ^ Cb) • 1 = 1 1 = 1

max [Q(B), K.(B)", K.^^(B)"],

1^

33

* 1 * T

K i(M3" = \z 4 ^ Lb * L - C \ \ M. . M^) ^ - 1 = 1 1 = 1

max [Q(L), K.(L)", K.^^(L)"].

If this condition is met the preferred sequence is S'

and the total elapsed time (T) is equal to:

T = L M. + max [Q(M), K. (M) ' , K. . (M) ' ] . i=l 1 3 J 1

If this condition is not met the preferred sequence is S"

and the total elapsed time is:

n T = Z M. + max [Q(M), K.(M)", K.^.(M)"].

i = l ^ -

Then the feasible solutions must be evaluated. The se­

quence with the lowest elapsed time is one of the optimal

sequences.

The next chapter will be devoted to a mathematical

proof that the application of these conditions will

yield at least one of the optimal sequences on any given

sequencing problem with the same assumptions as given in

Chapter 1. Chapter 4 will contain a more detailed algo­

rithm to be used for computational purposes.

CHAPTER III

PROOF OF OPTIMALITY

This chapter will be devoted to a detailed proof that

the application of the previously explained decision rules

will in fact yield at least one optimal solution to all

problems restricted by the appropriate assumptions. The

chapter will begin with a discussion of the general form to

be followed m the mathematical proof. Then the 2-machine,

3-machine, and m-machine cases will follow successively.

Finally a section on the transitivity of the comparisons

used is presented.

General Form of Proof

The mathematical proof is composed of the proof of

two theorems. These two theorems are:

Theorem 1: If a partial sequence, a, exists with

J-1 sequence positions filled and the m-1 conditions shown

in equation (12) are met for two jobs "a" and "b", then

there is no sequence starting with the partial sequence ab

which has less idle time on the last machine than a corre­

sponding sequence starting with the partial sequence aab.

Job "a" IS then said to dominate job "b".

Theorem 2: If a partial sequence, 3, exists and there

IS another partial sequence, a', which is a different permu-

34

35

tation of the same jobs and the idle time through this partial

sequence on machines B through M for a is less than or equal

to the corresponding idle times for c', then there is no

sequence starting with a' which has less idle time on the last

machine than a corresponding sequence containing a. Sequence

0 is then said to dominate a'.

To see how the proof of these two theorems will indeed

constitute a complete proof of the generality of the pro­

posed algorithm, it is necessary to consider the working of

the decision rules as shown in Figure 2. Notice that all

possible combinations of jobs "a" and "b" are compared. If

the conditions are met then job "b" is discarded from consid­

eration for the j 1 position. If one or more of these condi­

tions is not met then both jobs are retained for consideration

for the j position. If theorem 1 is true this means that

a subset of possible sequences (those containing ab) is not

considered further because the sequences retained (those

containing oab) are known to be at least as good.

If the same example which was used in Chapter 2 to

demonstrate the existence of a counter-example to the Dudek-

Teuton algorithm--a four job problem which has a generated

solution of 1 2 3 4--is used again it can be seen that the

following comparisons are made m the job dominance check.

In the filling of the first sequence position it is noted

that :

36

Sequences 1 2 3 4 1 2 4 3

are better than

Sequences 1 3 2 4 1 3 4 2

are better than

Sequences 1 4 2 3 1 4 3 2 0 are better than

2 2 2 2 2 2

3 3 3 3 3 _3

4 4 4 4 4 4

1 1 3 3 4 4

1 1 2 2 4 4

1 1 2 2 3 3

3 4 1 4 1 3

2 4 1 4 1 2

2 3 1 3 1 2

4 3 4 1 3 1

4 2 4 1 2 1

3 2 3 1 2 1

Notice that all 24 possible sequences are used in these

comparisons. In filling the second sequence position the

following comparisons are made:

Sequence 1 2 3 4

Sequence 1 2 4 3

is better than

is better than

[1 5 2 4 3 4 2

4 2 3 4 3 2

Notice that all 6 sequences in the reduced subset obtained

by filling the first job are considered. In filling the last

sequence position the following comparison is made:

Sequence 1 2 3 4 is better than 1 2 4 3

Following the procedure shown in Figure 2 it can be seen that

all possible sequences are compared and at least one of the

7

optimal solutions is found.

It is evident that Part 2 of the algorithm is affected

by theorem 2. Again it can be seen that a subset of sequences

(those containing a') is discarded from consideration only

if it is known that another subset of sequences (those con­

taining o) which is retained is at least as good.

The proof of Part 3 of the algorithm is obvious.

Since all positions are filled when jobs "a" and "b" are set

m the (n-lj^^ and n^ sequence positions, the expressions

compared are in actuality expressions of idle time. The

sequence with the least idle time is selected as feasible.

It can now be seen that the proof of the two theorems

will complete the proof of the algorithm. The next section

will concern the mechanics to be used in this proof.

Procedure to be Followed

in Proof of Theorems

The same mathematical notations that were used in

Chapter 2 will be used here. The sequences which will be

worked with are:

(17) j J-1 h k

S' ^ x x x a b c 0 . c . 0 0 0

S " = x x x b . <, . . . a o o o

j h - i

(h ;-S an arbitrary position in the critical sequence)

38

It should be noted here that S" represents all pos­

sible sequences with job "b" in the j^^ position (ab) and

S' represents all possible sequences with job "a" in the

j^^ position and "b" m the (j+1)^^ position (cab). The

discussion in Chapter 2 concerning these sequences is appli

cable here also. To prove theorem 1 it is only necessary

to show that if the conditions in equation (12) are met,

the idle time on the last machine is less for S' than for

S".

If the expressions for idle time on these sequences

are written they would be:

(18) IM' = max [Q(M), max Kj^(M)', max Ku(M)'] J4h4k k + l4U4n

and

(19) IM" = max [Q(M), max Kh(M)", max Ku(M)"] . J4h4k k + l4u^n

It is known that the Q(M)'s are the same quantity since the

presequence positions are identical. Therefore if the

following equations are true then IM' is less than or equal

to IM"o

(20J max [K^iM)'] _ max [Kb(M)"] J 4h4k j _h4k

and

(21) max [K^(M)'] 4 max [K^(M)"] . k*14u4n k*14u=iJi

Notice that if max [K, (M)'] is the maximum in equation (18) j =h^k

39

and equation t20j is true then IM" _ max [Kb(M)"] and j =h4k

IM' 4 IM". If max [Ku(M)'] is the maximum in equation k- l4U4 n

(18) and equation (21) is true then IM" 4 max [K^(M)"]

k*li U4n

and IM' 4 IM".

In the proofs which follow, it will be first shown

that equation (20) is true if the conditions shown m equa­

tion (12) are met. Since M is an arbitrary machine it is

obvious that if equation (20) is true for the last machine

it is also true for all preceding machines. This fact plus

noting that through position "k" S' and S" can be considered

as two partial sequences which are simply different permuta­

tions of the same jobs will simplify the ensuing proofs to

some extent. Equation (21) can be proven subsequent to the

proof of equation (20) . Then the assumption that idle time

on each machine through the k"th position is less when using

S' than it is when using S" will be justified. This makes

it possible to combine the proof of equation (21) with the

proof of theorem 2.

This then is the procedure which will be followed in the

subsequent proof. For each of the cases which will be dis­

cussed- - 2-machine , 3-machine, and m-machine-- it will be proven

that:

1. If the conditions m equation (12) are met for the

sequences shown in equation (17) then equation (20) is true.

40

2, If the idle time on each machine through position

"k" IS less using S' than it is using S", then equation (21)

is true.

This will complete the proof of both theorems in each of these

cases.

n-Job, 2-Machine Case

Since this is a 2-machine case there is only one

condition which must be met for job dominance to exist. It

IS:

(22) Kj(B)" > max [K (B) ' , K^^^(B)'] .

From equation (22) it is noted that K.(B)" ^ K. ^(B)'.

If this is broken into mathematical symbols it can be seen

that j-1 j-1 j-1 j-1 Z Ai - Ab - Z Bi ^ Z Ai ^ Aa + Ab - ( Z Bi ^ Ba) i=l i-l i=l i=l

or

(23) B • A . a = a

The expressions in equation (20) could be rewritten

as :

(24j max K,(B)' = max [K • (B) ' , K.^n(B)', max K,(B)'] , j^h^k ^ J J 1 j-24h4k ^

(25) max Kb(B)" = max [Kj(B)", max Kb(B)", K] (BV'] . j =b^k j *l4h4k-1

It is only necessary to show that for every position h

41

(j^24h4k) in S' there corresponds a position h-1 in S" where

Kh-l(B)" 4 Kb(B)'. This with the condition shown in equa­

tion (22) will establish the truth of equation (20) for the

2-machine case.

If summations are written over the S' sequence ^.(B)'

and Kb_i(B)" can be expressed as:

h h-1 (26) Kb(B)' = Z A, - Z Bi ,

i=l i=l

Kh.i(B)" = ( Z A. - A^) - ( Z B^ - BJ.

1=1 1=1

If common terms are removed from both of these expressions

it is obvious that to prove that Kb_i(B)" 4 Kb(B)' it need

only be proven that Ba 4 Aa» This is known from equation (23)

Therefore equation (20) is proven for the 2-machine case if

the job dominance conditions are met.

The proof of equation (21) for the 2-machine case

IS obvious. For an arbitrary position u (k+1 u n) it can be seen that:

u u~ 1 (27) Ku(B)" = Ku(B)' = Z Al - Z Bi .

i=l i=l

With this observation the second part of the proof is com­

pleted and the proof of the two theorems for the 2-machine

case IS completed.

42

n-Job, 3-Machine Case

In this case there are m-1 or 2 conditions. These

are:

(28) Condition 1: K-(Bj" 4 max [K.(B)', K.^^(B)'].

Condition 2: K.(C)" 4 max [K.(C)', K.^-L(C)'].

Notice that condition 1 is the same as the condition used

m the 2-machine case. This means that all equations de­

rived for the 2-machine case are equally applicable to this

case. Since these conditions must be met before job domi­

nance exists and job "b" is discarded as a condidate for

position j they may be treated as knowns for the proof.

From condition 2 it is known that K.(C)" 4 K» -| (C)'. These

can be expressed as:

jtl j (29) K^^^.(Cj' = ^ B ^ Z C- -max [QiB), K.(B)', K- .(B)'

^ i=l i=l ^ ^

j+1 J (30) K U O " = Z Bi - Ba - ( 2 Ci - Ca) + max [Q(B) , K.(B)"]

^ 1 = 1 i = l -

From equations (28), (29), and (30) it can be seen

that:

''z B= - Z C ^ max [Q(B), K. (B) ' , K.^,(B)'] 4 i=l i=l ^ ^

j l j Z Bi - B„ - ( Z Ci - Ca) + max [Q(B), K.(B)"] i=l 1=1 ^

or in simplified form:

43

^^'^^ ^a " a " ^^ LQ(B), K^(B)"] 4 max [Q(B), K (B) ' ,

Kj^lCB)'].

Initially it appears that there are 6 possible states that

might exist (2 on the left side of the equation times 3 on

the right sidej. However a closer analysis shows that only

4 cases are possible. If Q(B) 4 KWB)" and K-(B) ' 4 Q(B)

then K•(B)' 4 K.(B)" which violates Condition 1, Similarly

if Q(B) 4 K. (B)" and K^,^(B)' 4 Q(B) then K^^-L(B)' 4 K-(B)"

which also violates Condition 1. Thus these two states are

impossible.

Each of the four remaining states will be investi­

gated in detail:

State 1: Q(B) 4 K-(B)"

Q(B) 4 [K.(B)', K.^-L(B)']

From equation (31j:

Ca ~ B^ + Q(B) 4 Q(B)

or

(32) C^ i B^ .

State 2: K^=(B)" 4 Q(B)

Q(B) 4 [K.(B)', K. - (B)']

From equation (31):

(33) C^ B^ - K^(B)" 4 Q(B) .

44

From the assumption regarding the state: Q(B) 4K.^.(B)'

Therefore: C - B a - K.(B)" > K.^^CB)' .

Substituting for K.(B)" and K.^j^(B)' note that:

i=l ^ * ^ i=l C, - B„ . E A. - A^ - (Z Bi - BJ > 1 A. -a "a .-. --1

1 = 1

J Z B i = l

1 •

Reducing this equation it is seen that:

(34) C^ 4 A^ .

State 3: K^(B)" 4 Q(B)

K-j(B)' 4 [Q(B), K.^^(B)']

From equation i31):

(35) C^ - B^ - K. (B)" 4 K. (B)' .

From our assumption concerning the state:

Ca - Ba - Kj(B)" 4 Kj^i(B)'

or

(36) C 4 A from similar reasoning as performed in state 2

State 4: K.(B)" 4 Q(B)

Kj^l(B)' 4 [Q(B), K^(B)']

From equation (31) note that:

45

(37) C - B + K.(B)" _ K. ^ (B)' a a J ~j-^l or

(38) C 4 A by the same reasoning as performed in state 2 a a

Summarizing this information the following table can

be constructed:

TABLE I

KNOWN CONDITIONS (3-MACHINE CASE)

State S" Sequence S' Sequence Known Machine Conditions Conditions Conditions

~ T ~ Q(B)4K . (B)" Q(B)4K^(B)' (32) C^4B^

Q(B)4Kj+i(B)'

2 Kj(B)"4Q(B) Q(B)4K^(B)' (33) C^-B^ + K (B) "4Q(B)

Q(B)4K^^^(B)' (34) C^4A

3 K^(B)"4Q(B) K^(B)'4Q(B) (35) C^-B^+K^ (B) "4K^ (B) '

K.(B)'4K.^^(B)' (36) C^4A,

4 K. (B)"4Q(B) K .,- (B)'4Q(B) (37) C^-B^ + K • (B) "4K^ ,- (B) '

Kj^i(B)'4K.(B)' (38) C^4A^

From these known conditions it is necessary to prove

that equation (20) must be true. The expressions in equation

(20) could be rewritten as:

(39) max Kb(C)' = max [K.(C)', K.^^(C)', max Kb(C)'] J4h4k - j+24h4k

and

(40) max K, (C)" = max [ K . ( C ) " , max K, ( C ) " , K, (C)"] . J4h4k ^ ^ j + l 4 h 4 k - l ^ ^

46

It IS necessary to show that for every position h

(j-»'24h k) in S' there corresponds a position h-1 in S"

where Kj (C) ' 4 Kb_i(Cj", This with condition 2 will estab­

lish the truth of equation (20).

If summations are made over the S' sequence the fol­

lowing expressions can be written:

h h-1 (41) Kb(C)' = Z B^ - Z C. + max [Q(B), K.(B)', K. ^(B)',

i = l i = l - •' u u-1

max ( z A^ - Z B^)] , j+2^u4h i=l i=l

h h-1 (42) Kb.i(C)" = Z B^ - B^ - ( Z Ci - C^) - max [Q(B),

i=l i=l

u u-1 KUB)", max ( Z A^ - A^ - Z B^ + B^)]. • j+24U4h i = l i = l

Removing common terms from equations (41) and (42)

it can be seen that to prove that Kb_i(C)" 4 Kj (C) ' it

is necessary to prove:

u ( 4 3 ) C^ - B^ + max [ Q ( B ) , K . ( B ) " , max ( Z A- - A -^ J ^ 3. 3 j+2^U4h i = l ^ ^

u - 1 ^ B. + B ) ] 4 max [ Q ( B ) , K . ( B ) ' , K- - , ( B ) ' ,

i = l - -

u u - 1 max ( Z A^ - Z B^) ] .

J*24U4h i = l i = l

Initially it appears that there are 12 possible cases

for this expression. However it will be shown that 5 of

47

these cannot exist. These are:

S" Maximum S' Maximum

1 Q(B) K.(B)'

2 Q(B) Kj.i(B)'

u u-1 3 Q(B) max [ Z A- - Z B-]

J-24u^h i=l i=l

u u-1 4 Kj(B)" max [ Z A^ - Z B^]

j+24U4h i=l i=l

u u-1 5 max [ Z Ai - A^ - Z B- + B^] K- ^(B)' .

J "2^u4h i = l i = l -

The first 2 cases obviously cannot exist as shown

by earlier analysis. Case 3 cannot exist since

u u-1 u max [ Z A^ - Z B^] 4 Q(B) 4 max [ Z A^

j- 24U4h i = l i = l i = l

u-1 2 B - B ] i = l ^ ^

or

Aa i ^a •

This violates equation (23) . Case 5 is also a self contra'

diction. Notice from the S" maximum that

max [ E Ai - A^ - "E B^ . BJ iKj(B)". J *24U4h 1 = 1 1 = 1 •'

If (A - B ) is added to both sides of this expression it ^ a a

48

can be seen that

u u-1 A, - B a a max [ z A. - z B.j 4 K.(B)" ^

j-2^U4h 1=1 ^ i=l ^ ^

Kj.i(B)' .

This is in contradiction to the assumption regarding the S'

maximum and therefore cannot exist. Thus the above 5 cases

will not be used in the proof.

Each of the remaining 7 possible cases will be in­

vestigated in detail to show two things:

1. Which states existed m the (j*l)^^ position of

S' and the j 1 position of S" if this case exists in the

h^" position of S'.

2. That which must be proven to exhibit that K, -.(C)"

= Ki (C)' if the conditions are met. Equation (43) will

always be used as a reference as to what must be proven.

u u-1 Case 1: Q(B) 4 {K=(B)', K= ^(B)', max [ Z A^ - Z B^]}

• - j i-24U4h i = l i = l

u u-1 Q(B) 4 (KaB)", max [ Z A- - A - Z B- * BJ 1

~ ^ j+24U4h 1 = 1 ^ ^ i = l ^ ^

It can readily be seen that State 1 must have existed

in the (j-1)^^ position of S'. From equation (43) it is

known that Kb.i(C)" 4 Kb(C)' if (44) C^ 4 B^. This is known

to be true for this state from equation (32).

u u-1 Case 2: Q(B) 4 iK-(B)', K.^.(B)', max [ Z A- - z B-]}

- - j*24U4h i = l ^ i = l ^

49

K.(B}" 4 ^Q(B), max [ Z A. - A^ - ""z B- - BJ } - j-24U4h 1 = 1 ^ ^ 1 = 1 1 ^

It can readily be seen that State 2 must have existed

at the (j+l)St position, \^iiQ'' 4 ^^(C) ' if

(45) C^ - B^ + Kj(B)" 4 Q(B).

T h i s i s known t o be t r u e from e q u a t i o n ( 3 3 ) .

u u - 1 Case 3 : K • (B) ' 4 {Q(B) , K - ^ - , ( B ) ' , max [ Z A^ - Z B - ] )

- -^ j + 24U4h i = l i = l

u u - 1 K . ( B ) " ^ {Q(B) , max [ Z A- - A. - Z B- +

J*24U4h 1=1 1=1 B a ] ^

It can readily be seen that State 3 must have existed

in (j+l)S^ position. Kj^.i(C)" 4Kj^(C)' if

(46) C^ - B^ + K^(B)" 4 K^(B)' .

This is known to be true from equation (35).

u u-1 Case 4: K_, . (B) ' 4 iQ(Bl, K. (B) ' , max [ Z A. - Z B.]}

^ ^ ^ j-2_u4h 1 = 1 ^ i = l ^

u u-1 K.(B)" 4 [Q(BJ, max t ^ A- - A^ - Z B^ - B^]}

j + 2 4U4h i = 1 i = 1

In this case it can readily be seen that State 4 must have

existed in the (j^)^"^ position. Kb_i(C)" 4 ^^(C) ' if

' 7) C^ - B^ ^ K^(B)" 4 K = -L (B)' .

This is known to be true from equation (37),

XEXAa TECHNOLOGICAL iJ^JuuU^ LUESOCK. TEXAS . LI3RAR)[S

5 0

u u-1 Case 5: Q(Bj 4 {Kj(B)', Kj+i(B)', max [ z Ai - z B^j}

j*24U4h i=l 1=1

u u-1 max [ 2 A^ - A - Z B^ + B ] 4 [Q(B), K.(B)"J

j+24U4h i = l i = l -

Kb-i(C)" 4 Kb(C)' if

u u-1 (48) C_ ^ B„ ^ max [ Z A- - A^ - Z B- + B^] 4 Q(B).

j*24U4h 1=1 1=1

It can be seen that State 1 or State 2 might have existed

in (j+1)^ position of S'. If State 1 existed at the (j^l)

position it is known from equation (32) that Ca - Ba 4 0.

Also the assumption regarding this case was that

u u-1 max [ Z Ai - Aa " Z Bi + B^] 4 Q(B).

J 24U4h i = l i = l

Adding these inequalities yields equation (48).

If State 2 existed at the (j+l)^"^ position it is

known from equation (33) that Ca ^ B^ - Kj(B)" 4 Q(B).

The initial assumption regarding this case was that

u u-1 max [ Z Ai - A^ - Z Bi + B^] 4 Kj(B)".

J*24U4h i=l i=l

Adding C - B to both sides of the above equation yieldst a a

u u-1 C - B^ * max [ Z A - A - Z B ^ B ] 4 ^ j^24U4h i = l ^ ^ i = l ' ^ -

C^ - B^ + K^(B)" 4 Q(B) .

51

u u - 1 Case 6 : K . ( B ) ' 4 i Q ( B ) , K. , ( B ) ' , max [ Z A- - z B• ] }

^ - ^ j+24U4h i = l ^ 1 = 1

u u - 1 max [ Z A^ - A^ - Z B^ + B^] 4 [ Q ( B ) , K . ( B ) " ]

j + 24U4h i = l i = l -^

K h - i ( C ) " 4 K b ( C ) ' i f :

u u - 1 (49) C - B + max [ Z A- - A •- Z B. + B J 4 K - (B) ' .

j * 2 _ u 4 h i = l ^ ^ i = l ^ a - J

It IS evident that State 3 must have existed in the (j- 1)

position of S'. From the assumptions regarding the case u u-1

It is known that max [ Z A. - A - Z B. + B ] 4K.(B)" j*24U4h 1 = 1 1 = 1 -'

Adding C_ - B„ to both sides of this equation: a a

Ca - ^a * . ™a^ , t ", A. - Aa - "^, B. - B^] ^ j+24U4h 1=1 1=1

^a ^ a '' K^(B)"

which is greater than or equal to K.(B)" by equation (35).

Therefore, ^ ^ ^ ( C ) " 4Kb(C)'.

Case 7: max [ Z A^ - Z B^] 4 [Q(B), K • (B) ' , K..-^(B)'] i+2<u^h i=l i=l j +24U4

u z

j • 24U; h 1 = 1

u-1 max [ Z A. - A^ - Z B. + B^] 4 Q(B), K.(B)" •iU'.h 1 = 1 i = l "

Kb.i(C)" 4 Kb(C)' If

52

•>

u u-1 (50) C^ - B^ ^ max [ Z A. - A - Z B• t B i a a .^ I'-.^i a - T I a-" J-24U4h 1=1 1=1

u u-1 max [ Z A- - Z B.] .

j^24U4h i=l i=l

Removing common terms and reducing this: C - A 4 0 or a a —

(51) C > A . a = a

It can be seen that all four possible states might have

s t existed in the (j+1) position. If the first state existed

it is known that C 4 B from equation (32). From equa-a a

tion (23) it is known that B > A . Therefore C > A . a = a a = a

It is also known that C 4 A from equations (34), (36), a a

and (38) for the other possible states. Therefore K ,(C)" > K, (C)' for all four cases. = h

This completes the first portion of the 3-machine

proof. It has been shown that if the following conditions

are met:

Condition 1: Kj(B)" 4 K^(B)', Ky^^iB)'

Condition 2: K^iC)" _ Kj (C) ' , Kj^-^(C)'

then for every position "h" in the critical sequence S'

there is a position "h-1" in the critical sequence of S"

where Kb(C)' 4 K, _,(CJ"o This means that the idle time for

sequence S' through the critical sequence is less than or

equal the idle time for sequence S" through the critical

/

D.

sequence. It completes the proof of equation (20) for the

3-machine.

Again It should be pointed out that the post-sequence

situation IS identical to the sequence dominance check case.

Notice that the two sequences being compared are:

ka

S' - x x x x x o o o

S" = x x x x x o o o

where the x's denote the same jobs with different permuta­

tions. Also it is known that the idle time on machines B

and C for S' is less than or equal to the idle time on

machines B and C respectively for S" through the critical

sequence,

For this discussion let the idle time on these ma­

chines up to but not including the first job of the post-

sequence be denoted by IB'^^, IC' g, IB"^^ and IC"^^.

Writing the idle time for the complete sequences:

(52) IC = max [1C'^„, max K,(C)'J , k +1 '••.a<n

(53j IC" = max LIC" , max K^(C)"] . k+l<u<n

Further K (Cj' and K^(C)" can be expressed as:

u u-1 (54j K, rC)' -- Z B^ - Z C^ ^ max [IB' , max

^ i = l i = l k- l<.v u

V v-1 ( Z A. - Z B.j] 1=1 ^ i=l

ti

54

u u-1 (55) K^(C)" = Z B Z B. ^ Z C. - max [IB"^ . max

i = l i = l ^ ""^ k + l<v<u

V v-1 ( 2 A^ - Z B.)]. i=l ^ i=l ^

Note that the only differences between (54) and (55) are

the IB'^g and IB''^^. Therefore since it is known that IB'

4 IB"^g it can be said that

(56) K^(C)' 4 K^(C)" .

This proves equation (21) for the 3-machine case.

From equation (52), (53), and (56) and knowing that:

IC'^, < IC"^^ cs = cs

it can be said that:

(57) IC 4 IC" .

This completes the proof of equation (21) for the

3-machine case. Also it completes the proof of both theorems

1 and 2 in the 3-machine case. If the decision rules are

followed, it has now been proven that at least one optimal

solution will be generated in all 3-machine problems.

Inductive Proof of m-Machine Decision Rules

The inductive proof will be constructed by assuming

that the rules will hold for the m-machine case and proving

that they also hold for (m-^l)^^ or n-machine case. The

general format to be followed will be similar to that of

/

55

the 3-machine case. However an additional characteristic

of the 3-machine case will be noted before the inductive

proof is begun. This will be discussed first. Next the

optimality of using the basic decision rules in regard to

the critical sequence will be proven. Finally the post-

sequence and sequence dominance check will be discussed.

Additional Feature of 3-Machine Case

To facilitate the inductive proof it will be shown

that:

(58) ^Yi^iiC)^^ - Kb(C)' 4Kj(C)" - K.+i(C)'

for the n-job, 3-machine case.

Note from equations (29) and (30) that

(59) Kj(C)" - K^^-L(C)' = C^ - B^ + max [Q(B), Kj(B)"] -

max [Q(B), K (B) ' , K- - ^ B)'] .

From equations (41) and (42) it can be seen that:

(60) Kb.i(C)" - Kb(C)' = C^ - B^ + max [Q(B), Kj(B)",

u u - 1

max ( ^ A^ - A^ - z B^ - B^)] - max [ Q ( B ) , j + 2 4 u _ h i = l 1=1

u u - 1 K . ( B ) ' , K _ » , . ( B ) ' , max ( i: A • - Z B ) ] .

J J ^ j ^ 2 4 U 4 h i = l 1 = 1 "

Reducing these equations it can be seen that:

56

^h-l<^C^" - \(^y 4 Kj(C)" - K.^^(C)'

if

u u-1 (61) {max [Q(B), K.(B)", max ( Z A- - A^ - z B * BJ ]

J j+2<.u<.h i = l ^ ^ 1 = 1 ^ ^

u - max [Q(B), K•(B)', K^,^(B)', max ( z A^ -

• •' j*24U4h i = l

u-1 I B.)]^ 4 {max [Q(B), K-(B)'] - max [Q(B), i = l "

Kj(C)', Kj^^(C)']i .

Reference is now made to the seven possible cases

at the h^^ position used in the previous section. Each of

these will be examined in detail.

Case 1: Equation (61) reduces to [Q(B) - Q(B)] 4 [Q(B) - Q(B)] .

This is obviously true.

Case 2: Equation (61) reduces to [K.(B)"-Q(B)]4[K.(B)"-Q(B)].

Again this is obviously true.

Case 3: Equation (61) reduces to [K.(B)"-K.(B)»]4[K.(B)"-

K.(B)']. Again this must be true.

Case 4: Equation (61) reduces to [K (B)"-K (B)'J 4

FK rB)"-K. .(B)']. This is also obviously true.

Case 5: Equation (61) reduces to

/

u u 1 6^) { max [ I A A • ). B ^ B , - Q;Bj ]

j-24U4h 1 1 ' ' 1 = 1 ' ^

[K^(B)" -Q(B)j .

From the assumptions regarding the case it is known that

u u-1 { max [ Z A - A 1+2 'U"h 1 = 1 ^ a . \ ^1 ' Bait = K

1=1 -

(B)" .

If Q(B) is subtracted from each side of this statement,

equation (62,j is obtained.

Case 6: Equation (61) reduces to

u u-1 (63 j { max [ l A. A - >: B. - B ] - K (B) ' ~ >

j*2_u_h 1 = 1 ^ ^ i = l ^ a 3

{K (Bj" ^ K (B)" } . J 3

Again Irom the assumptions regarding this case it is known

that u u-1 ( m a x [ Z Aj A^ - Z B^ + B^]\ 4K_(B)" . j>24U^h 1 = 1 1 = 1 -'

f K^(B)' IS subtracted from each side of this statement

equation (63) is proven.

Case ?i Equation (61) reduces to

u-1 (64j { max

u [ Z A - A Z B - B ]

j*2_u_h 1=1 ^ ^ 1=1 ^ ^

u max I Z A

j-2_u_h 1=1 '

58

u-1 - Z B.]} 4 (max [Q(Bj, K.(B)"] - max [Q(B), K.(B)', i = l J J

Kj,i(B)']} .

This reduces to:

(65) [B^ - A^] 4 (max [Q,B), K^IB)"] - max [Q(B), K^(B)',

Kj + i(B)']} .

In this instance there are four possible states in the

(j+1) position and these correspond to the states listed

in Table 1. Each will be examined separately.

State 1: Equation (65j reduces to [B - A^] 4 [Q(B)-Q(B)]=0 . a a —

From equation (23) this is known to be true.

State 2: Equation (65) reduces to

(66) [B^ - A^] 4 [Kj. (B)" - Q(B)] .

First note that from the assumptions made in this state it

is known that Q(B) 4K^^(B)'c Therefore

(67) [K.(B)" - K ,(B)'] 4 [K.(B)" - Q(B)] .

It IS known that [Kj(B)" - K . - (B)'] = [B^ - A^] .

Combining this statement with equation (67), equation (65)

is derived.

State 3: Equation (65) reduces to

/

S9

(68) [B^ - A^] 4 [K^iB)" - K. (B) '] .

Again from the assumption regarding the state :t is known

that K^(B)' 4Kj^^tB)'. Therefore [K.(B)" - K. - (B)] 4

[K (B)" - K. i B)']. By similar analysis as used when State 2

exists equation (68) is derived.

State 4: Equation (65) reduces to [B - A^] 4 [K (BI" a a J

K' ^tB)']. By a similar analysis as used for State 2:

[K (B)" - K" -, iB) ' ] is shown to equal [B„ - A_] so equation J J 1 a a

(65) is obviously true.

This completes the proof that if the conditions are

met for the 3-machine case [Kj^^^(C)" - Kb(C)'] 4 [K-(C)"

K^^-|(C)']. This will be used as one of the inductive

assumptions for the n-job, m-machine proof.

Inductive Assuir pt ions:

Assumptions will be made about the m-machine case

(m_3i and then the (m+l)^"^ or n-machine case will be examined

The conditions for the n-machine case are:

(69) Condition 1: Kj(B)" 4max[K^(B)', K^^-^(B)'],

Condition 2: Kj(C)" 4 " ax [K . (C) ' , Kj^^(C)'j,

Condition m-1: K=(M)" 4 max[K (M)', K, ,(M^'], J ~ J J 1

Condition m: Kj (N) " 4 max [K (N) ' , K^,-^(N)'].

It will be shown that if these conditions are met for the

60

two s e q u e n c e s

j j * l h k

S* = x x x a b . , . 0 0 0

S " = x x x b . . . a o o o

t h a t IN' _ I N " .

The following inductive assumptions are made con­

cerning the m-machme case. It will be shown that if these

assumptions are true for the m-machine case and the condi­

tions hold they are also true for the n-machine case,

1, For every position h (j+24h4k) in S' there exists

a position h-1 in S" where:

^70) Kb„i(M)" 4 Kb(Mj' ,

Kb.l(B)" = Kb(B)' .

2c For every position h in S' the following rela

tionship holds:

(71) [Kb,i(M)" ^ Kb(M)'t 4 [K.(M)" - K^^^(M)'J .

Since the assumptions have been proven for the 3-machine

case the proof that they also hold for an arbitrary n-ma

chine case will complete the proof of equation (20) for

the general case.

61

i?l HS. iX _Pl££i Critical Sequence

In this Portion of the proof it is again desired

to show that equation (20) holds true. Notice that equa­

tion (20) can be written as

(72) max [K.(N)', K_-,(N)', max K, (N) ' ] 4 j*24h^k

max [K.(N)", max Kb.i(N)", Kj^(N)"]. j *2i h4k

Since one of the conditions is that K-(N)"4 K•(N)' and

K -. (N) ' it IS necessary only to show that for every posi­

tion h in the critical sequence of S' (j + 2i h4k) there exists

a position h-1 in the critical sequence of S" where K, (N)'

= Kb.i(N)".

If all summations are made over the S' sequence the

±ollowing terms can be expressed:

j*l j (75) K .(N)' = I M. - Z N. + max [Q(M), K.(M)', K .(M)'j

J ^ 1 = 1 1 = 1 ^

j l j (74^ K.(N)" = I M^ - M^ - ( Z N^ - N^) + max [Q(M),K•(M)"],

^ i = l i = l -^

h h-1 ,75) K,rN)' = Z M. - Z N ^ max [Q(M), K • (M) ' , K- WM}*,

^ i = l - i = l •' -

max K^(M)'J , 3 * 24U^h

h h-1 (76^ Kb ilN)" = Z M^ - M^ - ( Z N^ - N^) * max [Q(M),

i=l 1=1

K.(M;", max K^(M)"] . j*l4u^h-l

62

First what is known from the j^^ and (j-l)^^ positions

will be considered. Condition m, equation (69), requires

that K.(N)" 4 K. -.(N)'o Substituting for K.(M)" and K • . (M) '

the values in equations (74) and (73) and simplifying this

the following can be stated:

("7) -N^ ' M^ * max [Q(Mj, K^(M)"]} 4 max [Q(M), K-(M)",

Kj.i(M)'].

Again it appears that there are six possible states

for this equation. A similar analysis as performed in the

3-machine case shows that only four can exist. The follow

mg two cannot exist:

lo Q(M) 4 K»(M)"

K,(M)' 4 Q(M)

2o Q(M) 4 K^(M)"

K^^^i^M)' 4 Q(M).

These two states would have Kj (M) ' 4 K • (M)" or K. -, (M)' _

K'(M)" which violates Condition m-1 in equation (69).

Examining each case separately the equations in the

toilowmg table can be derived from equation (77):

63

TABLE II

KNOWN CONDITION (n-MACHINE CASE)

S' Sequence S" Sequence State Maximum Maximum Known Machine Conditions

1 Q(M) Q(M) (78) Na4Ma

2 Q(M) Kj(M)" (79) Na'Ma+Kj(M)"4Q(M)

(80) Na-Ma+Kj(M)"4Kj+l(M)'

3 Kj(M)' Kj(M)" (81) Na-Ma+Kj(M)"4KJ (M) '

(82) Na-Ma^Kj(M)">^Kj^i(M)'

4 Kj+i(M)' Kj(M)" (83) Na'Ma+Kj(M)"^Kj+i(M)'

Next the h'^^ position of S' will be examined. It can

be seen from equation (75) and (76) that to show that Kb_i(N)"

4 K, (N)' it is necessary to prove that:

(84) {N - M - max [Q(M), K.(M)", max K^.-L(N)"]} 4 j ' 22 u4h

max [Q(M), K•(M)', K.^^(M)', max K^(M)']. • - j- 24U4h

Again it appears that there are twelve possible cases that

might exist in this equation. However the two cases previously

mentioned:

1. Q(M) 4 K.(M)" K, (M)' 4- Q(M)

2. Q(M) 4 K.(M)" Kj.i(M)'J4 Q(M)

64

cannot exist for the same reasons. Also the case where

Q(M) 4 max K„ ,(M)" ° o 1 u — 1

J '^24U4h

and max K (M)' 4 Q(M) j*24U4h ^

could not exist since this would imply that

max Ku(M)' 4 max Ku_i(M)" j - 2^u4h j * 24U4h

which is a contradiction to inductive assumption number 2,

The case where

K.(M)" 4 max K^_^(M)" j*24u^h

and

max K^(M) ' 4 K- ^ ^ ) ' j+24U4h

also cannot exist. If these inequalities are added together

the result would be:

(85) [K.(M)" - max K^(M)'] 4 [K.^^(M)' + max K _- jr24U4h j-^24u^h

CM)"]

K (M)' and K (M)" can be expressed by the following equations

w ith summations over the S' sequence:

u u-1 186) K„(M)' - { Z L^ - Z M. - max [Q(L), K.(L)', K.^-.(L)'

^ 1 = 1 i = l - ^

max K^(L)']} , j + 24V4U

> • » • • - « * T » " r

65

V v - 1 K ^ ( L ) ' = {Z K 1^ K. - z L^ + max [ Q ( K ) , K . ( K ) ' , K . ^ . ( K ) ' ,

1=1 i = l 3 J ^ i

max Kj^ (K) ' ]} , j '^ 2 <.k4V

c c - 1 K^(C) ' = { Z B, - Z C- - c ( L ) ' = i ^ B. - Z C^ ^ max [Q(B) , K - ( B ) ' , K . , - , ( B ) ' ,

i = l i = l ^ J -

max K ^ ( B ) ' ] } , j +24b4c

b b - 1 K ^ ( B ) ' = [ z A. - Z B , ] ,

1 = 1 1 = 1

u u - 1 (87) K^_^(M)" = i_Z L^ - L^ - ( Z M^ - M^) + max [ Q ( L ) ,

K . ( L ) " , max K ^ ( L ) " ] } J J+24V4U ^ " 1

K ( L ) " = { L K - K - ( Z L - L ) + max [ Q ( K ) , - j — i i a i = ' i i »

K ( K ) " , max K, , ( K ) " ] } • j+24k4V ^"-^

c c - 1 K , ( C ) " = I Z B - B - ( Z C - C ) - max [Q(B) ,

c - 1 " — - j - L a. • _ - | X d

K ( B ) " , max K, . ( B ) " ] } , ^ j+24b4C ^ ' ^

b b - 1 K^ , ( B ) " = [ Z A. - A - ( Z B. - B ) ] .

b - 1 i = i 1 a ^^^- j^ 1 a^-• •

^

66

Note that the only differences in K (M) ' and K (M)" are con- u^ u^

stants. This means that they would be maximized at the same

relative point, say

max K (M)' = K (M)' (j-24f4h) j- 24U< h ^ 1

then

max K ,(M)" = K^ ,(M)" . j+24U4h ^"1 I'l

Equation (85) can then be rewritten as:

[K.(M)" + K (M)'] > [K (M)' + K (M)"] .

Rearranging this equation it is seen that:

(88) [K.(M)" - K. (M)'] >_ [K^ (M)" - K^(M)'] J j*l - f-l f

This equation contradicts inductive assumption number 2.

Therefore there are only eight possible cases to be considered

Examining each of these possible cases the following table

is derived. The equations which must be shown to be true

ate derived in each case from equation (84).

67

TABLE III

CONDITIONS TO BE PROVEN (n-MACHINE)

S' Seq. S"«Seq, Machine Conditions (j*l)^^ Case Max, Max, to be Proven State

Q(M) Q(M) N3 4M a ='a

Q(M) KuM}" N -M^^K.(M)">.Q(M) J a a J —

6 KuM) ' K£_-^(M)" N -M *K£.-| (M)"> K. (M) '

7 Kj,-^(M)' Kf^3L(M)" N^-M^+Kf.^(M)"4Kj,^(M)'

4

K J ( M ) '

K j . i ( M ) '

K . ( M ) "

K (M)"

N ^ - M ^ + K . ( M ) " 4 K . ( M ) '

N.-M^ + K. (M)">K. -, (M) ' a a j ^ ^ = j - ^ l ^ ^

3

4

Q(M) K^_j^(Mj" N^-M^-K^_^(M)"4Q(M) 1

2

8 K£(M)' K£_-L(M)" N^-M^-^K£_^(M)"4K£(M)" 1

2

3

4

It is obvious that cases 1, 2, 3, and 4 hold. Equations (78),

(79) , (81j , and (83) prove each of these respectively. Look­

ing at each of the other cases in more detail:

Case 5: Prove that:

(89; [N - M * K. . (M)"J 4 Q(M). ^ ^ a a r-l •"

68

If state 1 existed m the (j-l)^^ position it is known from

the assumption concerning the case that K£_-,(M)" 4 Q(M) .

Equation (78j gives [N„ - M_j 4 0, If these equations are a a —

added together equation (89) results. If state 2 existed s t

in the (j*!) position it is known from the assumption re­garding the case that Kr .(Mj" 4 K=(M)". If (N - M^) is

I-l — J a a

added to both sides:

(90J [N^ - M^ * K£_-L(M)"] 4 [N^ - M^ * Kj(M)"] .

From equation (79) it is known that [N - M^ + K^(M)'] 4 Q(M).

a a J

These two equations prove equation (89).

Case 6: Prove that: (91) [N - M - K^ ,(M)"] > K.(M)'. ^ ^ "-a a f-1^ = J Note that from the assumptions regarding this case that K (M)" 4 K.(M)"o If (N - M ) is added to both sides of i 1 J a a

this equation:

(92) [N - M * K, ,(M)"J 4 [N - M - K (M)"]. a. a I-l — a a j

From equation (81) it is known that [N - M - K (M)"] ^ K (M)' a a J j

This proves equation (91).

Case 7: Prove that:

(93) [N^ - M^ • K^_^(M)"] i K.^^CM)'.

From the assumption regarding this case it is known that

69

Kf.i(M)" 4 Kj(M)", Adding (N^ -M^) to both sides of

this equation gives:

(94j [N^ - M^ * K£ - (M)"] 4 [N^ - M^ + K-(M)"] .

from equation (83) it is known that [N - M + K.(M)"] 4 a a J —

Kj,= i(Mj'o This proves equation (93),

Case 8; Prove that:

[N^ - M^ + K£ - (M)"] 4 Kj^(M)'

or

(95) [N^ - M^ + K£.-, (M)"] - K£(M)' 4 0 .

s t If state 1 existed in the (j^l) position it is known from

equation (78) that [N_ - M^] 4 0. One of the inductive assump-a a —

tions is that [K _-j (M)" - K£(M)'] 4 0. Adding these two

equations, equation (95) is obtained. If states 2, 3, or 4

existed in the (jti)St position it is known from equations

(80), (82), and (83) that [N^ - M^ * K (M)" - K^^-L(M)'] 4 0.

One of the inductive assumptions is that [K£_-| (M)" - K£(M)'] -

[K (M)" - K j (M)'] 4 0. Adding these equations together

gives equation (95).

To complete this proof it is necessary to show that

[Kj^.^(N)" - Kj^(NV] 4 [K^(N)" - Kj.-^(N)' ].

From equations ( 5) and (76j it is seen that:

(96) [KJ^.-L(N)" • Kj (N)'] = .N - M^ ^ max [Q(M), K (M)" ,

Kf.i(M)"J - max [Q(M), K^(M)', Kj^^(M)', K£(M}"]}.

0

From equations (73) and (74):

(97; [K (N)" ^' K ,(Nj'] - {N - M ^ max [Q(M) , K (M)"] -J 1 * 1 " " a a ^^ ' j

max [Q(M), K. (M) ' , K.^^(M)'] t.

Once again the eight cases used previously are appro

priate. These are listed in the following table with what

is necessary to be proven from equations (96) and (97),

TABLE IV

K^-lCN)" - K^^(N)' vs. Kj(N)" - Kj^^(N)'

State Case at (j+l)^"^ Machine Conditions to be Proven

Position

1 1 [Q(M) - Q(M)] 4 [Q(M) - Q(M)]

2 2 [Kj(M)" - Q(M)] 4 [Kj(M)" - Q(M)]

[Kj(M)" ^ Kj,i(M)n 4 [Kj(M)" - Kj . (M) ' ]

1 [K£_i(M)" - Q(M)] 4 [Q(M) - Q(M)]

2 [K£_i(M)"- Q(M) ] 4 [Kj(M)" - Q(M)]

3 [K£.i(M)" - Kj(M)'] 4 [Kj(M)" - Kj (M) • ]

[K£.i(M)" - Kj.i(M)'] 4 [Kj(M)" - Kj.i(M)']

8 1 [K£,i(M)" - K£(M)'] 4 [Q(M) - Q(M)]

2 [K£.i(M)" - K£(M)'] 4 [Kj(M)" - Q(M)]

3 [K£.i(M)" - K£(M)'] 4 [Kj(M)" - Kj(M)']

____4 [Kf.i(M)" - Kf(M)'] 4]Kj(M)" - K-|,.-|(M)'1

[Kj(M)" - K-j(M)'] 4 [Kj(M)" - Kj (M) ' ] ' :

\ r.;

71

For cases 1, 2, 3 and 4 it is obvious that these are equal.

Examining each of the other cases in more detail:

Case 5: For state 1 show that [K£_i(M)" - Q(M)] 4 [Q(M) -Q(M)]

or K£_-j (M)" 4 Q(M). This is one of the assumptions of this

case. For state 2 show that [K£_-j (M)" - Q(M)] 4 [K.(M)" -

Q(M)J or K£_^(M)" 4 K-(M)". Again this is one of the assump­

tions of this case.

Case 6: It must be shown that [K£_^(M)" - K•(M)'] 4

[Kj(M)" - K^(M)'] or K£_^(M)" 4 K.(M)". This is one of the

assumptions of this case.

Case 7: It must be shown that [K (M)" - K.^ (M)'] 4

[K.(M)" - K.^^(M)'] or K^ (M)" 4 K.(M)". This is again an

assumption regarding this case.

s t Case 8: If state 1 existed in the (j+1) position it must

be shown that [K (M)" - K£(M)'] 4 0 or K£_^(M)" 4 K (M)'.

This IS one of the inductive assumptions. For the instance

where state 4 existed in the (j+1)^^ position note that one

of the inductive assumptions is that [K (M)" - K (M)'] 4

[K.(M)" - K. ,(M)']o This completes the proof in this state. 3 J * 1

For the instance when state 2 existed in the (j+l)st position

note that one of the assumptions for this state is that

QlM) 4K. (M)'o Therefore [K (M)" - K (M)'] 4 [K.(M)" -

Q(M)]o

One of the inductive assumptions was that

72

[K£.i(M)" - K£(M)'] 4 [K.(M)" - Kj^^(M)'].

Therefore [K£_-j (M)" - K£(M)'] 4 [K. (M)" - Q(M)]. For the

instance where state 3 existed it is known from one of the

state assumptions that K • (M) ' 4 K . -| (M)'. Therefore

[K.(M)" - K. ^(M)'] 4 [K.(M)" - K.(M)']. Since [K£_-, (M)" -

Kf(M)'] 4 [K fM)" - K»^T(M)'] 4 [K.(M)" - K•(M)'] and this ^ J J *•! ~ J J

instance is proveno

This completes the inductive proof for the general

n-job, m-machine case. It has been shown that if the follow

ing conditions are met:

(98) (Condition 1) Kj(B)" 4 max [Kj (B) ' , KJ^-L(B)']

(Condition n-1) Kj(N)" 4 max [K^(N)', Kj^^(N)']

where n is any arbitrary number of machines greater that or

equal to two, that:

(99J Kj _-L N " = ^h^^^' (j + 24h4k)

or that equation (20) is true in the general n-job, m-machine

case.

The following are idle time expressions for S' and

S" through the critical sequence. IB^^ represents this idle

time on machine B as does IC^^ on machine C and similarly

ID^3 , o , . o , IN^g.

n

73

(100) IB' cs

max [Q(B), K (B)', K (B)' max K^(C)'] ^ •' j + 24h<.k ^

IN'^ = max [Q(N), K (N)', K (N)' max K^(N)'] ^ ^ j+24h4k ^

(101) IB" ^ = max [Q(B), K (B)", max K ^(B)", K. (B)"] • j + 24h4k "-'- ^

IN" cs = max [Q(N), K (N)", max K, ,(N)", K, (N)"]

^ j + 24h4k ^"1 ^

The Q(B), Q(C), , , . , Q(N) terms in equations (100) and

(101) are equal. This plus the information given by equa­

tions (98) and (99) make it possible to state that:

(102) IB' < IB" cs = cs '

IN' < IN" cs — cs

Inductive Proof - Post-Sequence

Again the post-sequence proof and the proof of the

dominance check may be considered at the same time. In both

cases two partial sequences are given where they are simply

different permutations of the same jobs. Also it is known

(by condition for the dominance check and by previous proof

for the post-sequence) that the idle time on each machine is

less for S' than for S", This is represented by equation (102).

74

If the idle times on the N machine are written for

both sequences they would be:

(103) IN' = max [IN'^„, max K,,(N)'], k+l<u<n

(104) IN" = max [IN".., max K fN)"]. k+l<u<n

Note that if IN' and IN" are the maximums the proof that cs cs ^

IN' 4 IN" is obvious from equation (102). However, if

max K (N)' is the maximum the proof is not as obvious. k*l4u4n ^

It will be shown that for every value of u where k+l4U4n that

K (N)" > K (N)'. u = u

Note that

u u-1 (105 ) K ( N ) " = { Z M„ - Z N. + max [IM" , max K ( M ) " ] } ,

^ i = l ^ i = l ^ * ^ k + l . v < u ^

V v - 1 K^(M)" = { Z Li - Z M^ ^ max [ I L " c s » "^^^ Kj^(L)"]>

i = l i = l k-^l4h<v

c c - 1 K ^ ( C ) " = i Z B- - Z C. + max [ I B " _ _ , max K, ( B ) " ] } ,

^ 1 = 1 i = l k+l£.b4C

b b - 1 K u ( B ) " = [ Z A^ - Z B . ]

^ i = l i = l

and

•^,.t«H..

"5

u u-1 (106) K (N)• = { Z M. - Z N * max [IM' , max K (M)']}

^ 1=1 ^ i=l ^ s k+l<v<u ^

V v-1 K (M)' = { Z L. - Z M. + max [IL'^ . max K, (L)']} ,

i = l ^ 1 = 1 ^ ^^ k- l<h<v

c c-1 K^rC)' = { Z B^ - Z Cj t max [IB'^3, max K^(B)']r

i = l i = l k- l4b4C

Kb(B)' = [ Z A^ - Z BJ . 1=1 i l

Note from equations (105) and (106) that K|^(B)' = Kb(B)"-

Therefore since IB' g 4 IB"(35 from equation (102) it is known

that K^(C)' 4 K (C)". Continuing with this reasoning it can

be seen that

Kd(D)' 4 K^(D)"

K^(M)' _ K^.(M)"

and finally that

K^(N)' 4 K^(N)" .

Refering to equations (103) and (104) it can be seen

that for every value in IN' there is a value in IN" which

IS greater than or equal. Therefore IN' 4 IN" and the total

tiiie for S' is equal to or less than the total time for S".

S' represents every possible sequence with "a" in the

jth position, and "b" in the (j-l)^^ position. S" represents

76

very sequence with "b" in the jth position. It can then be

.een that a proper decision rule is to eliminate job "b" from

:onsideration for the jth position if all conditions are met,

since there is a sequence with job "a" in the j^^ position

which has idle time on the last machine less than or equal

to the idle time using any sequence with job "b" m the j -

position. From the analysis presented at the first of this

chapter concerning comparison of sequences it can then be seen

that all possible sequences are considered and at least one

optimal will be generated.

This completes the proof of optimality using the m-1

decision rules for a general m-machine case. Note that these

decision rules are the same as those previously derived for

the 3-machine case. If m=3 then there are m-1 or 2 condi­

tions. These would be:

(Condition 1) KWB)" 4 max [K (B) ' , KJ^-L(B)'],

(Condition m-1 or Condition 2)

Kj,C)" 4 max [K (C) ' , K. - (C)':i.

These are the same as shown m equation (28) for the 3-machine

case,

Transj^tivity of Comparisons

The proof of the transitivity of the comparisons follows

directly from the above proof. It is seen that if all condi­

tions are met for the two sequences S-^ and S2 where:

77

(107) S - | ^ = x x x a b , . , , 0 0 0

S 2 = x x x b . . . . a o o o 0 • o o

t

3

that the proof says that for any sequence with "b" in the

jth position a sequence exists with "a" in the jth position

and "b" in the (j+l)st position which is equally good or

better.

In a later comparison between two sequences S3 and

S. it may be found that all conditions are met where:

(108) S T = x x x c a . . . 0 0 0

S. = x x x a . . o c o o o . t

j

Now the proof has said that for any sequence with "a" in the

jth position there exists a sequence with "c" in the jtb

position and "a" in the (j+1)^^ position that is equally

good or better.

It is easily seen that the set of possible sequences

denoted by S-^ in equation (107) is only a subset of the set

of possible sequences denoted by S^ in equation (108). This

means that the following three sequences are in fact compared:

(109) S ' = x x x c a b . , . o o o

S " = x x x a b , . . c o o o

S"' = x x x a . , . c b o o o t

j

78

and the following results obtained:

S' is better than S" which is better than S'". This proves

the transitivity of the comparisons used in these decision

rules. This also completes the proof of optimality when the

decision rules are used. The next chapter will be devoted to

a simplification of the conditions for purposes of calcula­

tions, a statement of a "working" algorithm, and the working

of a sample problem.

•tC

J -'

Vif

CHAPTER IV

DEVELOPMENT OF THE ALGORITHM

The algorithm as expressed in Chapter 2 is a set of

decision rules which will guarantee an optimal solution.

It is the purpose of this chapter to refine these decision

rules as much as possible to facilitate calculations. This

will be done in two ways:

Ic A simplication of the basic decision rules

2, A statement of the algorithm as a step-by-step

procedure .

The last thing which this chapter will contain is a

sample problem worked following the step-by-step algorithm.

Simplification of Decision Rules

The job dominance decision rule is as follows:

"Job 'b' IS dropped from consideration as a candidate

for the j^^ position if the following conditions are met:

(110) (Condition 1) K-,(B)"4max [Kj (B) ' , Kj,i(B)'] ,

(Condition 2j Kj(C)" 4 max [Kj(C)', Kj,i(C)'] ,

(Condition M-l)K-j (M)" 4 max [K-j (M) ' , Kj , i (M) ' ]

79

80

To simplify calculations the following quantities are

lef med:

j-1 j-1 (111) R(B) = Q(B) + Z Bi - Z Ai ,

i=l 1=1 j-1 j-1

R(C) = Q(C) + Z Ci - Z Ai , i=l i=l

j"l j-1 R(M) = Q(M) + Z Mi - 2 Ai ,

i=l i=l

(112) Hj(B)' = Kj(B)' + Z Bi . ^1 , j-1 j-1

Z A 1=1 i=l

j-1 j-1 A(M)' = K4(M)« + Z Mi - Z Ai - - i = l i = l

j-1 j-1 (113) H.^iCB)' = K..i(B)' + Z Bi - Z A

J - i = l i = l

H

c

j-1 3-1

J'l J+1 i=l ^ i=l ^

j-1 j-1 (114) H (B)" = K^(BJ" ' _ ^ B^ - _Z^ A.

81

j-1 J-1 H.(M)" = K.(M)" + Z M, - Z A

1 ^ J i = l ^ i = i •

Consider now an arbitrary condition K-1 which can now be written

as:

(Condition K-1) Hj(K)" 4 max [H-(K)', H. - (K)']

H j-1 j-1 (115) ^j(K)" = { z J-L + Jb - 2 K^ - max [Q(J), K.(J)"]}

i=l i=l 3

j-1 j-1 Z Ji * Jb - 2 K^ + max [R(J), H.(J)"]

1 = 1 " i = l ^ J

j-1 j-1 [ ^ Ji - 2 A^]r = {J, + max [R(J), H.(J)"]} i = l i = l - ° J

j-1 J-1 [ ^ K. - Z A.] i-l i=l

Therefore:

(116) H^-(K)" = {J^ + max [R(J), H. (J)"]} .

Similarly H-(K) ' and H ^-.(K)' can be seen to be:

(117) H^(K)' = iJ^ + max [R(J), H (J) ' ] } ,

(118) H^.^^(K)' = U^ + Jb " a ' " ^ t^^^^' H. (J)', H^^^(J)']}.

This simplifies conditions to some extent by eliminating some

of the summations.

A special case is the 1^^ Condition, It could be

rewritten as:

1:

82

(119) H^(B)" 4 max [H. (B)', H. (B)']

H.CB)" = [K.CB)" . ^'z B. - ^'z A.] = ^ i=l ^ i=l ^

3-1 , J-1 j-1 j-1 [ S A. * A, - Z: B. 1- E B. - E A.] i = l ' ' i = l ^ i = l ^ i = l ^

Ab •

Similarly for H . (B)' and H. j^(B)' it can be seen that

1120) Hj(B)' = A^ ,

(121) H.,i(B)' = [A^ . K^ - BJ .

The decision rules can now be expressed as:

(122) (Condition 1) A^ 4 max [A^, (A^ + A^ - B^)] ,

(Condition M-1) H • (M) " 4 max [H • (M) ' , H. -, (M)']

where

(123) Hj(C)" = (B^ - max [R(B) , A^] } ,

H j ( D ) " = tC^ * max [ R ( C ) , H ^ ( C ) " ] } ,

H j ( M ) " = iL^ ^ max [ R ( L ) , H j ( L ) " ] } ,

A«®«3

r

( C o n d i t i o n 2) H ^ ( C ) " 4 max [H= (C) ' , H . ^ - , ( C ) ' ] , I j J J 3 ^ I BO

\ j

83

( 1 2 4 ) H j ( C ) ' = {B^ . max [ R ( B ) , A^]} ,

H j ( D } ' = tC^ + max [ R ( C ) , H ^ ( C ) ' ] } ,

H j ( M ) ' = {L^ ^ max [ R ( L ) , H . ( L ) ' ] } ,

( 125 ) H . , - ^ ( C ) ' = {B^ - B^ - C^ ^ max [ R ( B ) , A^, A^ + A^ - B^J },

H j . i ( D ) ' = xC^ + Cb - D^ + max [ R ( C ) , H - (C) ' , H . ^ ^ ( C ) ' ] } ,

H j + i ( M ) ' = {L^ . Lb - M^ + max [R(L) , H • (L) ' , H-,^(L)^]},

u u - 1 ( 1 2 6 ) Q(B) = max ( Z A^ - Z B - ) ,

I 4 U 4 J - I i - l i = l

u u - 1 V Q(C) = max [ Z B^ - Z C^ + max ( Z A- -

I 4 U 4 J - I i = l i = l l4V^u i : l """

u - 1 ^ B . ) ] ,

i = l

u u - 1 Q(M) = max { Z Li - Z M^ • max [ Z K- -

I 4 U 4 J - I i = l i = l l4h4U i = l "*"

h - 1 b b - 1 Z L- + max ( , , , max [ Z A- - z B - l ) ! }

i = l l _ k 4 h l4b<.c i = l ^ i = l ^

84

These conditions are then the simplified ones which

will be used in the step-by-step algorithm.

m-Stage Algorithm

This algorithm is based on the assumptions given in

Chapter 1 and decision rules stated in equation (122). Re­

ference IS made to Figure 2 for a flow-chart of decision

rules. The following definitions apply to terms used in the

statement of the algorithm:

le An optimal sequence is one with lowest total

elapsed time.

2, A feasible sequence is a sequence generated by

the algorithm.

3, Candidate sequences are those partial sequences

generated through any position except the last,

4, Dominated jobs are those jobs eliminated from

consideration as a possible candidate for a sequence position.

5, Dominated sequences are the partial sequences

eliminated from consideration.

6, A candidate set of jobs are those jobs which

a. are not in the presequence being considered.

b. have not been dominated,

c. have not been used to check for dominance.

The following is a step-by-step procedure which will

insure that an optimal sequence is generated.

Step 1: For the presequence involved calculate R(B),,,.,R(L).

r

85

Step 2: Select job "a" from the candidate set of jobs with

the minimum A- and compare B^ to A , If B 4 A Condition 1 - a a a — a

is satisfied and go to Step 3. If B, < A^ Condition 1 is a a

not satisfied so go to Step 6.

Step 3: Select one other job "b" from the candidate set

and check Condition 2. If it holds go to Step 4. If not,

go to Step 5.

Step 4: Check Conditions 3 through M-1. If all conditions

are met job "b" is dominated and is eliminated from the

candidate set. As soon as one condition is not met go to

Step 5 and retain job "b" in the candidate set.

Step 5: Repeat Step 3 using all other jobs in the candidate

set as job "b".

Step 6: Repeat Step 2 for all jobs in the candidate set

using each other job as "a".

Step 7: If more than one presequence exists Steps 1 through

6 are repeated for each of these.

Step 8: Develop candidate sequences by placing each job not

dominated in the j^^ position. Calculate Q(B) ,.,,.,Q(M) for

each candidate sequence.

Step 9: Order all candidate sequences from 1 to k.

Step 10: Select the first of the candidate sequences (S').

86

Step 11: Select the second candidate sequence (S") . If

they are permutations of each other go to Step 12. If not,

go to Step 13,

Step 12: Compare Q(B),,..,,Q(M) of the two sequences. If

Q(B)' 4 Q(B)"

Q(M) « 4 Q(M)"

S" is dominated and eliminated from the set of candidate

sequences. Then go to Step 13. If

Q(B)" 4 Q(B)'

Q(M)" 4 Q(Mj'

S' is dominated and eliminated from the set of candidate

sequences. Then go to Step 14. If neither of these condi­

tions are met neither sequence is dominated. Then go to

Step 13.

Step 13: Repeat Step 11 using sequences 3 through k as S".

Step 14: Repeat Step 10 using the next sequence not already

dominated as S' and all subsequent sequences as S".

Step 15: Repeat Steps 1 through 14 until the first n-2 se-

C

87

quence positions are filled.

Step 16: For each candidate sequence position select one

job for the j h ^^^ n-l^t) position and the other for the

(j*l)St (or n^h) position m S', S" is identical except for

the interchange of the last two jobs. If [Q(M), Kj(M)',

Kj.i(M)'] 4 [Q(M), Kj(M)", Kj+i(M)"] S' is a feasible sequence n

with a total time T = t z Mi + max [Q(M), K^(M)', K4+i(M)']}. i = l - -

n If not, S" is a feasible solution with T = { z Mi + max

i = l

[Q(M), Kj(M)", Kj^i(M)"J} .

Step 17: Select the sequence from the feasible sequences

which has the minimum total elapsed time, T. This is one

of the optimal solutions.

Example Problem

The example problem to be worked is a 5-Job, 3-Machine

problem. It is :

Job

1

2

3

4

5

A

123

57

198

154

92

Machine

B

300

156

201

162

99

C

76

200

211

122

211

88

The algorithm will be worked through step-by-step.

Step 1: Since there is an empty presequence R(B) = 0

Step 2: Minimum Ai is job 2 with 57,

156 4 57

tep 3: Using job "b" as 1 and comparing 21 against 1

Hj(C)' = 156 ^ max (0,57) = 213

Hj^i(C)' = 156 + 300 - 200 ^ (0,57, 57 + 123 -

= 256

156)

Hj(C)" = 300 - max (0,123) = 423

423 4 max (213, 256). Therefore job 1 is dominated

and eliminated from consideration for the first sequence

position.

Step 4: Since this is a 3-machine problem, there are only

2 conditions.

Step 5: The data for Step 5 is summarized below:

TABLE V

SUMMATION OF CALCULATIONS

Job "b"

3

4

5

j - 1

HjCC)'

213

213

233

Job "a" = 2

Hj4i(C)'

256

175

114

Hj (C)"

399

316

191

z

r

89

'Ml

Notice that jobs 3 and 4 are dominated by job 2. Job 5 is

not dominated by job 2.

Step 6: Since job 5 is the only job remaining in the candi

date subset it is also a candidate for the jth position and

cannot dominate any other job.

Step 7: Since there is only one presequence (empty), no

more calculations are necessary.

Step 8: The candidate sequences are then:

2 __ _ _ _ Q(B) - 57 Q(C) = 213

5 Q(B) = 92 Q(C) = 191 .

Steps 9-14: These partial sequences are not permutations

of each other, therefore no sequence dominance is possible.

Step 15: Taking sequence 2 first.

Step 1: R(B} - 57 - 57 ^ 156 = 156 .

Step 2: Minimum A^ = 92 for job 5.

99 > 92

11^

% IX

= 248

Step 3: 251 vs. 21 Hj(C)' = 99 + max (156, 92) = 255

Hv^,i(C)' = 99 + 300 - 211 + max (156, 92, 116)

H (C)" = 300 + max (156, 123, -85) = 456

456 4 max (255, 248).

Therefore job 1 is dominated by job 5.

Step 5c The remainder of the comparisons are summarized in

90

the fell owing table:

TABLE VI

SUMMATION OF CALCULATIONS

Presequence 2

J = 2 Job "a" = 5

Job "b" Hj(C)' Hi.i(C)' Hj(C)"

255

2S5

280

206

399

318

Net ice that both jcbs 3 and 4 are dominated by job 5

S ep 7: Repeat step 1-6 for presequence 5 _<

Step 1: R(B) = 92 -r 99 - 92 = 99

tep 2: MinimuiT A. = 5 7 for job 2,

156 57 ,,

S^eps 5 and 5: The calculations are summarized in the follow

m e table. TABLE VII

SUMMATION OF CALCULATIONS

0 0 U M b "

1

5

4

Presequence 5 _ _ = 2 Job ^a^ = 2

HjlC)' Hj-i(C)'

255

255

255

355

256

217

Hj(C)"

423

399

316

7

91

Notice that job 3 dominates all three jobs.

Steps 8 and 9: The two candidate sequences are:

^ 25 Q(B) = 57 Q(C) = 213

° 52 Q(B) = 92 Q(C) = 191 .

Steps 10 and 11: Let S' be 25 and S" be 52.

Step 12: Q(Bj' < Q(B)" but Q(C)' > Q(C)" so no domination

exists and both partial sequences are retained.

Step 15: For j = 3 presequence 25 ^ _ is considered.

Step 1: R(B:1 - 57 + (156 - 99) - (57 - 92) = 163 .

Step 2: MinimuiT A^ = 123 for job 1.

300 123

Steps 3 and S: All calculations are summarized in the follow

mg table:

TABLE VIII

SUMMATION OF CALCULATIONS

Presequence 25_ _

J - 3 Job "a" = 1

Job "b" Hj(C)' Hj^^(C)' Hj(C)"

463 588 399

463 549 325

Notice that job 1 does not dominate job 3 or job 4.

7

92

Step 6: Next minimum Ai = 154 for job 4,

Step 2: 162 4 154

Step 3: Comparing 2543 _ vs 253 the following is ob­

tained:

Hj(Cj' = 325, H^-^^(C)' = 440, Hj(C)" = 399 .

Therefore job 4 does not dominate job 3.

Step 7: Repeat Steps 1-6 for presequence 52

Step 1: R(B) = 92 - (156 ~ 99) - (57 - 92) = 198

Step 2: Minimum A- = 123 for job 1, 300 4 123.

Steps 3 and 5: The calculations are summarized in the follow

ing table: TABLE IX

SUMMATION OF CALCULATIONS

Presequence 52_ _ _ _

j = 3 Job "a" = 1

Job "b" Hj(C)' HJ^-L(C)' Hj(C)"

498 623 399

498 584 360

Notice job 1 does not dominate either job 3 or job 4

Step 6: Repeat steps 2-5 for the next minimum A^

-.if

IX 1:!)

/

93

Step 2: Next minimum A^ is 154 for job 4, 162 4 154

Step 3: Comparing 5243 _ vs 523 :

H^(C)" = 399, Hj(C)' = 260, H^,^(C)' = 439 .

Therefore job 4 does not dominate job 3.

Steps 8 and 9: The candidate sequences now are:

lo 251 Q(B) = 57 Q(C) = 213

2o 253 Q(B) = 92 Q(C) = 213

3. 254 _ _ Q(B) = 57 Q(C) = 213

4. 521 Q(B) = 92 Q(C) = 236

5. 523 Q(B) = 92 Q(C) = 191

6. 524 Q(B) = 92 Q(C) = 191

Steps 10 and 11: Let S' be #1 and S" be #2. Since these

partial sequences are not permutations of the same jobs

Step 13 IS used and S" is finally set at sequence #4 which is

a permutation of #1.

Step 12: Q(B)^ 4 QiB)" and Q(C)' 4Q(C)". Therefore sequence

*r4 ].s dominated and eliminated from consideration.

Step 13^ Sequences ^5 and #6 are not permutations of #1.

Step 14: Let S* be sequence #2 and repeat steps 11 and 13

until sequence #5 is found to be a permutation of sequence #1,

Step 12: QfB)' - Q(B)" and Q(C)' 4Q(C)",

therefore sequence ^2 is dominated and eliminated from consi­

der at i on.

/

94

Continuing this analysis it can be seen that the only

other comparison possible is between sequences ^3 and #6,

In this case Q(B)« < Q(B)" but Q(C)' - Q(C)", Therefore

neither of the sequences is dominated and both are retained

tor consideration.

The remaining four candidate sequences (1, 3, 5 and 6)

are now used to deteimme jobs for the last two positions.

Step 16: For the presequence 251 _ _ :

J - 1 T

1 = 1

J - 1 z

i = l

J -1

1 = 1

A

B

C

= 2^2

= 555

= 487

>

>

Job "a" is 3 and 30b "b" is 4,

K.rCV - 555 - 201 ^ 487 * max (57, 272 + 198 - 555) - 269 -J^ ^

m ax (57, -85) = 326

K .rev - 555 + 201 ' 162 - 487 - 211 ^ max (57, -85, 272 -

198 + 154 - 555 - 201) = 211 * max (57, -85, -232)

= 268

K(C)" ^ 555 * 162 - 487 ^ max v5 7, 2 72 * 154 - 555) = 230

^ max (57, -29) - 287

K. (Ci" - 555 * 162 ^ 201 - 487 - 122 + max (57, -29, 272

^ 154 ^ 198 - 555 - 162) = 309 * max (57, -29,

^193) = 366

/

95

Since max (213, 326, 268) _ max (213, 287, 366), S', or 25134

is a feasible sequence with total time of 820 ^ 326 = 1146,

The remaining computations for the other presequences

are summarized in the following table:

TABLE X

SUMMATION OF CALCULATIONS

n-l^t and n positions

Partial j'^ (jU)^"^ Sequence Pos Pos Q(C} Kj(C)' Kj+i(C)' Kj(C)" Kj.i(C)"

251 3 4 213 326

254 1 3 213 241

253 1 4 191 226

524 1 3 191 276

268

366

312

401

287

213

88

177

366

258

266

266

Step 17: The feasible solutions and total elapsed times

for this problem are:

Sequence Time

2.5134 1146

25431 1078

b2241 1086

5r431 1086

with ^5431 which has a total time of 1078 being optimal,

it is evident that on small problems such as this,

many of the step^ oi the algorithm would be skipped or treated

in a less formal fashion. This is especially true in the

sequence dominance check. However on large problems with

/

/

96

many candidate sequences a proceduralized method such as the

one presented will insure all combinations are checked and

no errors are made.

All problems are worked in essentially the same manner.

Larger problems are more suited for computer solution, however.

The next chapter will report on the results when problems

were worked using a computer.

ft

0

CHAPTER V

RESULTS AND CONCLUSIONS

The algorithm which has been presented will yield

at least one of the optimal sequences. However the effi­

ciency with which this is done has not been demonstrated.

Before definite conclusions can be drawn this must be demon­

strated.

Analytical Verification

To verify the calculational efficiency of the proposed

algorithm a number of problems were worked by computer.

The computer available for use was an IBM-1620 Model II

digital computer. This model is equipped with disk storage

and has a maximum working capacity of 40,000 core storage.

This limited storage capacity was the critical factor in

determining the maximum size problem worked.

Two measures of efficiency were noted. First the

number o£ sequences generated was considered and then the

time required to generate the optimal solution was considered.

Comparisons made were between three methods of obtaining

the optimal solution:

lo The proposed algorithm

' i

97

A0^A

v:

I-

O

98

Ir The Dudek-Teuton algorithm

3. Complete enumteration of all sequences.

Machine Programs

The programs used in the working of these problems

were worked in Fortran, In each case they were loaded on

to the disks and executed from them. For each of them the

same data was used m the same format. Data was furnished

to the machine by punched cards and results were received

m punched cards. A copy of all program.s in Fortran language

13 inc"! idsd as Appendix B with instructions concerning

rheir use.

Proposed Algorithm

The program for the proposed algorithm is simiply a

coni/ersion of the step-by-step procedure given m Chapter 4

into machine language. In order to conserve storage space

this was done by using a mam program and four subprograms.

5y^^-T^^t2Il_:f^lj.5- ithm.

The Dudek-Teucon algorithm was originally worked on

Model I of rhe same computer. In order to make the programs

com.parabie this algorithm was rewritten so that it could be

worked on Model II. Also several calculational modifications

were m.ade for simplicity purposes. The first of these in­

volved a simplification of conditions sim.ilar to that done

in Chapter 4. Also the condition for the (n-l)St and nth

1 cb was modified to :

"Job 'a' precedes job 'b' if:

izr 7

m

99

ax [Q(M), Kj(M)', Kj^i(M)'] 4 max [Q(M), Kj(M)",

Kj+i(M)"]."

These changes and modifications to input and output

format made it possible to use some of the same subprograms

as used in the proposed algorithm.

For purposes of further comparison a program was

written which incorporated the sequence dominance check into

the Dudek-Teuton algorithm. Problems were also worked with

this program.

Enumeration

The enumeration program used was the most efficient

one available. This program was written by William R.

Edwards for the same computer as used in the other verifi­

cation. The only modification was to the input format so

that the same data cards previously used could be utilized. jJ' at; IX

In order to conserve time this program only furnishes opti- jr^

mal(or near optimal) solutions on large job problems (n 4 5).

Since the output operation of a computer is the slowest this

is a considerable savings of time.

Sample input and output of one of the problems for

all programs is shown in Appendix C,

All programs were written for the general n-job,

m-machine case. However, storage capacity of the computer

limited the size problem which could be worked, 3-machine

and 5-machine problems were worked. The 3-machine problems

ranged from 3-job to 8-job, The 5-machine problems ranged

100

from 3-job to 7-job, Larger problems were beyond the capa­

city cf this computer. Enumeration was completed for all

problems through 6-job, In order to conserve time only se­

lected 7 and 8-job problems were enumerated.

Conclusions Based on Results of Verification

The results of verification allow several conclusions

to be made. However the data from which these conclusions

are drawn should be shown first. Results of working indi­

vidual problems are shown in Appendix A. All problems are

on file in the Department of Industrial Engineering, Texas

Technological College.

Number of Sequences

The tables in Appendix A show the number of sequences

generated by individual problems. It is evident that the

proposed algorithm is efficient when compared to total

enumeration. The m -ximum number of feasible solutions which

could be generated by the algorithm is nJ/2. This is the

case m 8 o£ the 15 3-job, 3-machine problems and 8 of the

15 3-job, 5-machine problems. It is also the case in 1 of

the 4-iob, 5-machine problems but it is not the case in any

of the other problems. In fact this figure is not even

approached m larger problems. The proportion of sequences

generated by the algorithm decreases as problems become

larger.

Tables }(IX and XX are summarized by Tables XI and

XI10 Here the advantage of this algorithm o/er enumeration

r

101

is even more evident. It can also be seen that the number

of sequences generated increases as machines increase but is

still more efficient than enumeration when m = 5,

A second comipariscn was made between the proposed

algorithm and the Dudek-Teuton algorithm. The 3-machine

problem, will be discussed firs^,

TABLE XI

AVERAGE NUMBER OF SEQUENCES GENERATED

m - 3

Nr, Of Jcbs Algorithm Dudek-Teuton Enumeration

3 2,067 1.800 6

4 5.000 3.650 24

5 llclOO 9.450 120

6 18.350 22.316 720

7 ISclOO 9,818 5040

8 38.000 --- 40320

TABLE XII

AVERAGE NUMBER OF SEQUENCES GENERATED

m ^ 5

Ni of Jobs Algorithm Dudek-Teuton Enumeration

3

4

5

6 -> 1

2,333

7.882

21,444

54,200

80,6 7

1.933

5, 765

26,444

60.090

_ . -

6

24

120

720

5040

102

The first thing noticed irom Table XIX is that one counter­

example (5=5) existed to the Dudek-Teuton procedure. It is

obvious that the number of optimal sequences generated by

the two algorithms is comparable. The total number of se­

quences generated is again comparable. It should be noted

that the Dudek-Teuton procedure generally has fewer feasible

solutions for the 5 and 4 j:b problems. They are about even

for the 5-job problems and the proposed algorithm appears to

generate slightly fewer solutions for problems with more

than 6 jobs. (It should be pointed cut at this time that

the computer becamie overloaded when the nuir.ber of sequences

exceeded 150. This is the case in one 6-job problem and

four 7"job problems when worked with the Dudek-Teuton algo-

r:..thm. ) This is not a surprising phenomenon. There a e two

reasons why the Dudek-Teuton algorithm m.ight generate more

sequences than the proposed algorithm. First the lack of

transitivity between comparisons m the Dudek-Teuton proce­

dure m:ight cause more sequences to be generated. Each com­

parison is m.ade to determine the one job which always satis­

fies condition 1. Then conditions 2 through m-l are checked

tor each of these comparisons and if any one of these is

violated a second candidate is created. No check is made to

see if cne of these jobs whioh are made candidates by a vio­

lation of one of conditions 2 through m-1 is dominated by

another of the jobs created in the same manner. This could

lead to more sequences being created than absolute mmim.um.

/

103

The second reason for more sequences m the Dudek-

Teuton algorithm is the moie common and more obvious. This

is the use of the sequence dominance check in the proposed

algorithm. In this check the partial sequences 213 and 312

are compared while in the Dudek-Teuton algorithm they are

not. This is the principle reason that the larger job prob­

lems seem to have somewhat fewer feasible solutions for the

proposed algorithm than for the Dudek-Teuton algorithm.

The same items are noticeable about the 5-machine

problems irom Table XX, Ihere is also one counter-example

to the Dudek-Teuton algorithm (7-1),

Some comments are necessary regarding Tables XI and

XIIo Notice that on the /-job, 3-machine problems the average

is lower than would be expected. This is because there were

four problems with over 150 sequences generated which were

not included m the Dudek-Teuton averages. If 150 - an

absolute minimum - is used for these four problems this aver­

age would increase to 47,2 sequences. In Table XII the aver­

age for the 6~job problems worked with the Dudek-Teuton al-

go/ithm again appears to be low. In this case there are

again four problems with over 150 sequences which were not

mcludedo If 150 is again used this average would be 84,1,

In summary it is felt that the data presented shows

that the proposed algorithm compares favorably with the

Dudek-Teuton procedure in number of sequences generated when

it is remembeied that the latter is not completely general.

r

104

Since the sequence dominance check has such a signi­

ficant effect on the results, the Dudek-Teuton procedure was

modified to include this dominance check. The results of

Its use are shown in Tables XIII and XIV. The problems chosen

to be used are those in which the Dudek-Teuton procedure

generated miore than an average number of solutions. No prob­

lems of less than 5 jobs were worked because the dominance

check has less effect for 4-job problems and none for 3-job

problems.

It IS obvious that the application of the dominance

check greatly reduces the number of sequences generated.

The number of sequences generated for m = 3 is shown in

Table XIX and summarized in Table XIII. There are still

some problemis (e.g. 7-8, 7 = 10, 7-13) where the Dudek-Teuton

with dom.mance still generates more feasible solutions than

the proposed method. This is possibly due to the lack of

transitivity of the conditions which was previously commented

on. However, this is an exception rather than a rule. For

this reason the large number of possible sequences shown

for 7-job problems should be somewhat discounted. If more

problems were run it is felt that this average would even­

tually be below that of the proposed algorithm.

Equally so it is felt that the average for 8-job

problems is probably too low. Note that in problem 8-1 only

one feasible solution is generated. Since only four prob­

lems were worked, this one problem carries an undue amount

/

105

of weight in the averages

TABLE XIII

AVERAGE NUMBER OF SEQUENCES GENERATED

WITH DUDEK-TEUTON WITH DOMINANCE CHECK

m = 3

Nr, of Jobs Algorithm D-T with Dom Enumeration

5 13.600 13.000 120

6 22,167 19,500 720

7 28.100 32.400 5040

8 38,00 19.250 40320

TABLE XIV

AVERAGE NUMBER OF SEQUENCES GENERATED

WITH DUDEK-TEUTON WITH DOMINANCE I • f'

r

" = 5 : ;

Nr, of Jobs Algorithm D-T with Dom Enumeration

5 33.00 26.80 120

6 72,00 58,83 720

7 80,67 33.67 5040

The results of problems when m = 5 are in Table XX

with a summary in Table XIV, Notice that in this case the

number of feasible sequences generated is, with one exception.

r

/

106

less for the Dudek-Teuton than the proposed algorithm. How­

ever with the exception of the 7-job problems this difference

is not significant in light of the generality of the proposed

algorithm. The 7-job problems require additional comment.

Note that problem 7-1 is a counter-example to the Dudek-Teuton

algorithm. If this problem is dropped from consideration

the average number of feasible sequences increases to 46,0,

This indicates that the two methods are probably comparable.

However, it can definitely be stated that the sequence

dominance check has a highly significant effect on the num­

ber of sequences generated. This is dramatically indicated

by Its effect on the Dudek-Teuton algorithm.

Time Required for Calculations

A second measure of efficiency is the time required

for calculation. Table XIX also furnishes this data for in­

dividual 3 machine problems and Table XX does the same for

5-machine problems. Average times are shown in Tables XV

and XVI.

Opposed to enumeration it is evident that the algorithm

requires much less time. It is noted that the algorithm

requires more time on two 6-job, 5-machine problems than

enumeration. All other problems require less time and the

vast majority require far less time. It should be pointed

out at this time that the sequence dominance check is not an

efficient computer program. This was necessary to conserve

core storage and permit the working of larger problems.

/

107

However, it should be stressed that the average time required

for these 6-job problems is still considerably less (about

1/2). It is still apparent that the efficiency of the algo­

rithm is greater when the problem size is large.

TABLE XV

TIME REQUIRED*

m = 3

Nr. of Jobs

Algorithm Dudek-Teuton Range Average Range Average Enumeration

4

03

05

05

29

8

19- 1.61

07- 7,51

.13-23,18

1.66-36.74

.0400

.1485

.5890

1.967

3.502

20.39

.04- .12

,07- .41

.14-1.66

.16-4.28

.20-2,64

,0627

.1525

,4490

1,141

.947

*Time in Minutes

TABLE XVI

TIME REQUIRED* m = 5

Nr c of Jobs

Algorithm Dudek-Teuton

,165

.4364

2,2875

13.2438

131.460

844.0

Range Average Range Average Enumeration

3

4

5

6

7

.03

,06

12

,56

.46- 3c03

1.96-22,43

28,63-49,75

,0733

,3341

1,506

9.401

41, 70

.06- ,17

,10- ,52

1,53-7,28

.1007

,3047

1.467

3,345

.2133

.8830

2.9021

19.2321

187.80

J

' Time m Minutes

108

In comparison with the Dudek-Teuton algorithm the

first noticeable fact is that the time required for compu­

tation of small problems is less for the proposed algorithm.

The reason for this is simple. To perform the calculations

for the Dudek-Teuton algorithm it is necessary to calculate

idle time expressions through the last machine in order to

make the first comparison (Condition 1), In contrast the

first condition is checked on the 2^^ machine in the proposed

algorithm. This means that it is inherently slightly more

efficient in its calculations.

For the 3-machine case it is seen that for 5 and 6-job

problems the calculation time is smaller for the Dudek-Teuton

procedure than for the proposed procedure. However, the

times are sufficiently close when it is noted that the pro­

posed algorithm is completely general and the Dudek-Teuton

is not. The inefficiency of the sequence dominance check

IS again a factor.

It should be noted that the average time for compu­

tation for 7-job problems is much smaller for Dudek-Teuton

than the proposed method. This is not surprising. Again

it should be pointed out that the four problems with over

150 feasible solutions using the Dudek-Teuton algorithm are

not included in this average. If they were, this average

would change considerably.

The same discussion is appropriate for m = 5. The

6-job problems appear to require less time using the Dudek-

t i ^ . .

/

109

Teuton algorithm. However, there are again four problems with

over 150 feasible sequences which were omitted from this

average. It is felt that this would effect the average con­

siderably.

In looking at the computational time required for

the Dudek-Teuton procedure with dominance it is seen from

Table XVII that the proposed algorithm is the faster except

for 8-job problems. Again because of problem 8-1 it is felt

that the 8-job problems worked are not representative. The

same is true for 7-job problems except in reverse. It is

possible to state that the proposed algorithm with its in­

herent calculational efficiency appears to be slightly faster

than the Dudek-Teuton algorithm with a dominance check.

TABLE XVII

TIME REQUIRED WITH DUDEK-TEUTON

WITH DOMINANCE *

m = 3

Nr. of Jobs

Algorithm Range Average

D-T with Dom Range Average

5

6

7

8

38- 1,61

.68- 4,01

1.68-23,18

1,66-36.74

732

2.142

6,708

20.39

72- 1.85

1.62- 3.83

95-20,92

.92-35.53

1.084

2.743

12,342

15,293

*Time in Minutes

110

TABLE XVIII

TIME REQUIRED'' WITH DUDEK-TEUTON

WITH DOMINANCE

m = 5

Nrc of Algorithm D-T with Dom Jobs Range Average Range Average

1.66- 3,03 2,470 2,07- 3.34 2.72

3,92-22.43 14,898 8.24-22,06 13.105

28,63-49,75 41,70 2,41-38,96 19.68

V

*Time m Minutes

The time required for calculations where m=5 is shown

m Table XVIII. With he exception of the 7-job problems

they are highly comparable. If 7-1 is again dropped from

consideration the average time increases to 28.27 minutes

for the Dudek-Teuton algorithm. Again this is within a com- fj

parable range.

It appears that the proposed algorithm is efficient

m comparison to enumeration in both time of calculations

and teasible sequences. Also it is comparable to the Dudek-

Teuton algorithm in both of these areas and has the additional

characteristic of always determining the optimal sequence,

Comparison of Efficiency to Other

Known Algorithms

The two other principal works in the exact solution

Wj,\

Ill

of the sequencing problem both involve a "branch and bound"

procedure. Also both are restricted to the 3-machine case.

The Lomnicki paper (8) presents an algorithm but does not

present any analytical guides as to required time of compu­

tation. No exact comparison can then be drawn except that

the proposed algorithm appears to be as simple to apply as

the Lomnicki procedure.

The second major work was by Ignall and Schrage (5).

This article showed computing times for problems with 4 to

10 jobs. However, the lack of similarity between the compu­

ters (CDC 1604) and the program language (List Processing

fortran) makes direct comparisons of times impossible. How­

ever, one 10-job problem was shown m this article. This

problem was worked by hand using the proposed algorithm. A

total ot 33 feasible solutions was arrived at. Ignall and

Schrage showed the number oi nodes created at 2570 for this

problem. The number of candidate sequences before the se­

quence dominance check of the proposed algorithm is roughly

equivalent to the number of created nodes. In the hand calcu­

lation 704 total candidate sequences were used. By this com­

parison the proposed algorithm ranks at least comparable to the

Ignall and Schrage "branch and bound" procedure.

General Conclusions

From the data presented several conclusions can be

stated:

1. The aigoiithm will yield at least one optimal

.^

/

112

sequence when applied to a problem with the necessary re­

strictions. This was demonstrated by a formal mathematical

proof.

2. The proposed algorithm is very comparable to the

Dudek-Teuton algorithm in number of sequences generated and

time required for computation. This includes the addition

of such modifications to the Dudek-Teuton algorithm as are

possible without destroying its basic decision rules.

3o The proposed algorithm is at least comparable to

the other published algorithms in literature that are appro­

priate to only 3-machine cases.

4, As the number of jobs increase the number of

feasible solutions and time required for computation also

increases but the percentage of both when compared to com­

plete enumeration decreases. ^ ••r

No definite conclusion can be stated regarding the

efiiciency of the algorithm when the number of machines is

increased to greater than 5. It is noticed that both time

of calculation and number of sequences increase with the

number of machines. Also time required for complete enum­

eration increases.

Recommendations for Further Research

There are numerous possiblilities for further research

in this area. First this algorithm was based on a number

of assumptions listed m Chapter 1 which severely limit its

/

113

practical applicability. Se*parate research should be per­

formed relaxing one or more of these assumptions. Examples

are:

lo Using a stocastic or probabistic time required

for a job on a machine rather than a finite time. Also a

probability distribution of times is practical,

2. Considering due dates or ranking of jobs in im­

portance in determining optimal solutions,

3, Optimizing the sequence when machines do not have

to process jobs in a common order or jobs do not proceed

through machines m a common order.

Also any of the other optimizing criteria other than

minimum total time could be used. These were mentioned in

Chapter 1. It should be noticed that this algorithm could

easily be modified to use an optimizing criterion of the

minimum total idle time or minimum cost of idle time when the

machines have different idle time costs.

Summary of Results

The objectives of this research have been met since

a general algorithm has been devised to solve this specific

type of sequencing problem. Its efficiency has been analy­

tically demonstrated. Though primarily designed for machine

computation it is also suited to hand calculations for small

problems.

/

114

LIST OF REFERENCES

(1) Brooks, George H. , and White, Charles R., "An Algo­rithm 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 Solu­tions 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 Produc­tion 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 Multi­stage Process m the Minimum Total Time--A Quick Method of Obtaining a Near Optimum," Operations Research Quarterly, 16, 101-107 (1965),

(11) Teuton, 0 ules When

F. J., "Optimal M-Stage Production Sched-No Passing is Permitted," Unpublished

Master's Thesis, Texas Technological College, Lubbock, 1963

/

APPENDIX

A - Individual Problem Data

B - Programs and Instruction for Use

C - Sample Input and Output

116

i;

!!J r

117

APPENDIX A: INDIVIDUAL PROBLEM DATA

TABLE XIX:

Sequences Generated and Time Required (m = 3)

TABLE XX:

Sequences Generated and Time Required (m = 5)

I

/

118

to II B

Q W

t—I

c/ w Pi

w IS:

l-t H X

W

<

<

Q W

< Ci W

w CD

CO w u

w

w CO

PQ

Q W

w Cxi

W

C/5 w u w

W PQ

Q W W -: i H PQ <C

OO W 0 2 : W W UH CD

o cn, 2:

CO W

2: w :D

W PQ C/D

Q

O W

PL,

o ai z

a w & o

Q

IS

I

Q

I

Q

O &0

B

P! W

o Q

H I

Q

I

Q

O

w B o

Q

12

Q

E -I

Q

O

O M

<4-t {/) O Xi

o z

LO

0

LO 0

LO 0

LO 0

0

to 0

0

to 0

0

to 0

LO 0

LO 0

*!:*• 0

to 0

0

to 0

0

to 0

0

to 0

0

LO 0

0

LO 0

CTt 0

LO 0

!—I

0

VO

t o (Nl r H t o

t o t o r H to

t o r H fsj t o

l-H t o t o t o t o

CM t o . r H t o CNJ rsi Cs] ^

CNJ

(VJ rsj rH

ro

( N 4 t o « : t L o v o r ^ o o c n o (NJ to

t o

(/)

rH 3

c

• H

r H H-t

e •H E -

/

119

o

X t-H X

w PQ <

PQ

Q W

hH

cy w »: w IS

in w u z w tD C/>^ W PQ CO

Q W W hJ H PQ < HH D i CO (rt < z w w w u w o Di

z CO

w CJ

z w :D W PQ CO

o -:i W < H ^ ^ I—I D i H W CM Z o w

o w o Di

z

6 3

W

e o

Q

IS H

I Q

O

d w s o Q

H I

Q

( Q

O DO

w

o Q

IS H

I

O

O >H u z a. «4H (O

o u >-i z

vO to

eg

LO

o

o

LO T H

o <H

rH

00 O

»H <NI

o

(VI

o

LO

o

o r-i

LO

o

LO r-<

to iH

00 o

CM

o (SJ

LO r-i

(NJ

(NJ

o r-\

CO

o

to <NJ

rH

LO rH

o

o r-i

o

(NJ

to CM (NJ , H t o LO r H r-« t o (NJ rH rH

t O L O v O v O C n c M C M r l - r O L O r H t O t O O J t O

rH (NJ vO rH (Nl CNJ ^ CM CM to

(NJ

CM to rH (NJ

(Nl

(NJ

rH O

LO (NJ to "t:*- LO v O r ^ 00 CTi O CM to T^

^^-

120

o u

X I—I

X

w yX^ PQ <

PQ

Q W

a: (-H

CD' W Di

W IS

C/D W

z w C/PQ

w w

W Z W

CO

w w PQ HH

CO < W CD W

W

o Di z

C/5

w CJ z w :=) o'>-W PQ CO

Q

w w IS E- W CU Z

o w

o Di Z

3

W

s o

Q IS H

I Q

H I

Q

O

3

w e o

Q — IS

I

Q

H I

Q

O t>0

3

w

o Q IS

E-I

Q

H I

Q

O 00

O JH

M z

O ^ O

?- •-)

z

0 0 0 0 (NJ

• CM

(Nl 00

rH O ^ (NJ CM

t ^ t o CNJ CNJ

(NJ iH

O <NJ

to r-\

VO O

a\ o

vO o

o CM

CM (NJ

rH

'sr

VO 00

LO ^

rj r-\

CM rH

"«:*• (NJ

vO LO

O^ LO

CM CM

CM

rr

o r-

o vO

O lO

I^ lO

vD LO

\0 to

o (NJ

OO 00

O LO CM

a\ 0 0 LO vO

(NJ

t o

• 5 t r ^ o c M r - ^ ( N j ' : : } - 0 ' a -

CM <J^ vO CJ cn

(NJ t o CM 00 (M (NJ LO LO

CM

CM

(NJ

LO vO 00

(NJ

LO (NJ r H O

^ to rH

O r^j

CM t o LO vO

LO

cr> (NJ

(NJ

• ^ T-i

t o t o r-H r H

OO (T>

m.

/

1 2 1

o CJ

X

X

w PQ <

PQ

Q W Di \—\ :D CD' w Di

W

w CJ

z w 0 ' > H W PQ m

Q W W ^ H PQ < ^ ai CO w < Z w w VU CJ w o D: z

CO

w CJ

z w cy>« W PQ CO

Q H J W < : H 2 E-i W G. Z

o w CJ

z

3 CJ

w

o Q IS

E^ I

C5

E-H

Q O GO

3

W

s o

Q

E -

E-H

Q

O bO

B 3 rt

W

o Q

H I

Q

O bO

o u u z

MH 10 o ^

o v ^ z

(NJ

(O

o LO rH 00 (Ji

VO

00 to

LO (Nl

iH

LO r-i

o CVJ

CM

(7^ (M

rH to

00

oo 1.

66

rH vO

iH 00

OO

r-i

LO CM

to

00 LO

o

cr»

VO (NJ

LO

r-i (Nl

vO

vO r-i

o

00 rH

rj

to LO

cr>

o (NJ

to r t CM (Nl r-i

rj-(NJ

^O

t o

0 0

VO (NJ r t

00 CM

LO LO to

VO (NJ

to

a>

CM ( J Ok

(Nl vO vO f H vO t o (Nl (NJ

rH

LO

LO

VO

to rH

t^

ii 1

r^j r t rH CM (^J t o

r H CM t o C M r H t O C M r H r H C N l t O

(NJ t o LO vO 00 cr> o CM

CM t o - i ^

vO

122

o u

X

X

w w PQ < E-*

PQ

Q W ai

w D:

w

CO

w CJ z w :z3 cy>-W PQ CO

Q W W h-J E-" PQ < HH Di CO w < z w w W CJ w o Di

z CO

w CJ z w :D cy>--W PQ CO W <

(-H

O. O w o Di

z

Q W

< Di W z w CJ

3 rt w

o Q IS H

I

o bO

3 a w

o Q

E -I

Q

O bO

B 3 rt w

B o Q

IS E-^

E-i I

Q

O bO

Xi O >H

M Z Ct, MH t/l o o

>H H^

z

LO cr>

VO

00 to

CM

OO \0

(NJ

vO

o LO

(NJ

VO LO

LO

vO O

LO

rt LO

CM

O to

o

VO

CM (M rt

(Nl vO

CM

to OO

to

00 CM

LO cn

LO CM

LO CM

rt CM

to

to

CM

VO to

cn oo

(NJ rsj

(M

LO VO

00 LO

to

^0

LO CM

(NJ to rH rH to to

CO rt

vO

CM

to

o

LO rt

CM CM

cn

CM OO

OO LO

OO

o •Xi

vO

(NJ

o CM

to o rt

to

vO

CM to

CM to

CM CM

OJ (M

OO

n

LO

to

iH CM

LO to

CM CM

CM to

O) •^

vO r-i

LO r-i

to rH

t^ LO to (Nl r--

to

LO "^ to

CM LO

to •^

rH oo CT>

rH T t LO

LO vo r- 00 cn o (NJ to rt LO \o r--. 00 cr-.

fm.-,.

123

rt o u

X >—i

X

w w PQ <

Q W Di \—i

CD' W ai w IS

CO w CJ z w :=) CD'>^ W PQ CO

Q

w w ^ ^ PQ < l-H a^ CO w < z w w W CJ UH

o Di

z CO w u z w ^3 cy>H W PQ CO

O W EH < ai w z w CJ

E-D-, O

w o ai z

3 rt w B o Q

E-H I

Q

I

Q

O bO

6 3 a w

o

Q

E-

H I

o bO

B 3 rt w B o Q

IS H

I

Q

E -I

Q

O bO

O U ?-< z

CL,

«4-l t/)

o ^ O

VO rt

to

00

o

r-\

o rt

00

o rt O LO

to

to

o CM

(NJ

O

to

CM

o 00 vO

OO CM

o to

o to

vO o to

(Nl cn (Nl

rt rt

O

to

rsi

to

(NJ

o vO (NJ

00 CO

LO

00

(NI

rt to

to LO

CM

m

O (NJ

CM (Nl

O

cn C7>

(Nl (NJ

LO

o

to rt

vO (NJ

vO

CM

LO CM

CM (NJ

rt rt

OM

LO

:>»: rH

LO CM

rt- rH cn (NJ 00 ^ =»: ,—{

O (NJ

r-i C<t 00 00 • •

ro oo

o cn

00

(NJ

OO

to (NJ

(NJ

LO

CD

r t r t r t

O (Nl rH

=tt= :**:

:«= :*»=

%: 4fc

^ ^

=tfe *fc =»fc

:*: 4fc

:»fc

=*!= =!»= :»*:

tfc

^ :«: =te

(Nl

:*«= :4fc

* : t r t C M ^ L O ( N J t O r H ' < ^ ' ^ t O v O

( v j t O r t L O v O t ^ O O C n O , H ( N j i O T ^

KS!^

124

o u

X HH

X

w w PQ < E-H

PQ

Q W ai HH

CD' W Di

w IS

CO w u z w :=3 cy>^ W PQ CO

Q W W • J E-PQ <^ h-i D . CO W < z w w W CJ

w o Di

z

CO W u z w

W PQ CO

a

E-" W f^ Z o w

CJ t in

o Di Z

3 r-l

w B o Q

H I

Q

H I

Q

O bO

3 rt w

o Q IS

E -

E -I

Q

O bO

B 3 rt w B o

CD

E-^ I

Q

I

Q

O bO

O >H JH Z

CL,

*+H t/l o .o

o z

LO

cn

o o •

"t '^ 00

CM

cn VO 00

to

00 f-.

VO rH

to LO

LO to

vO OO

oo VO

VO vO

CM CM

LO O

r t

CM o CM

VO to

o (NJ to o r t

LO 0 0 CM to

CM

to

vO CM LO cn r t

LO

=»*: ^

to t o

a» t o CM

t o I t •

ro rH cn to to

t o (NJ t o r t

4C

4C

0 0

B x: • p • H

o bO

r-i Vi

a o • p

3 CD

E-H I

<D

3 Q

<D rrt • P

• P • H IS

(D

?H

O

•P O

u (D IS

to B (D

r-i . Q O U P .

o I

0 0

•K

>H

(D +-> 3 P . B o o (D

Xi +-> 1 3 (D

1 3 cti O

r-i i-i

> O

B (D

rH

o u a.

1 3 <D • p

5 H

CD

3

0) • p o

B

r H

O

u :tfc

t v ^

t •Ss:^ t

125

X X

w > ^ CQ <

LO II B

Q W Di HH

CD' W D :

w s

Q Z <

C5

w

W z w CJ

CO w u z w w CO

PQ

C3 W Di }—i

CD cy w Di

W IS

CO w ( J z w CD CD'>H W PQ CO

CD) W W W H PQ < HH Di CO W < z w w W CJ

o Di

z CO

w CJ z w CD'>^

( W PQ CO

Q -D W

< Di

E-" W DH Z o w

CJ PL,

o

< IS

Di z

3 rt w B o CD

IS H

I CD

E-^ I

CD

O bO

B 3

w

o Q IS H

I

CD

H

Q O bO

6 3 rt w e o

Pi IS

E -I

Q

O bO

Xi O ?H ? H Z

a. O Xi

o 5H H 5

Z

to

O O L O v O v O O t O C O v O C T > C O v O r ^ O r H r H O O r H r H O O O O O r H

LO

o t**. o

LO

o to o

r-H

o r-. o

vO o

r o

^ o

r-H

o LO

o to o

to rH

vO

rH to to to CM (M rH (NJ CM

C M t O C M r H t O t O ( N J t O r H t O C M to

( N j r o r t L O v o r ^ o o c n o (NJ

ro

O

3

to ci r-i HH

0) B

•H E -

•K

/

126

o u

X X

w w PQ < E-H

PQ

Q W Di H-t

c/ w Di

W IS

CO w u z w CD

W PQ CO

Q W W W E-H PQ

CO W < Z w w W CJ

U-,

o Di

z CO w u z w CD'>H W PQ CO

Q

< P S E-" W C Z o w

CJ

o Di

z

e 3 rt w s o

Q

IS H

1

CD

E-^ I

CD

O bO

B 3 C

W

o CD

IS E -

I

CD

E-H

CD

O bO

B 3 i:i

W

B o

E-H I

CD

I

CD

O bO

O >H 5H Z

D.

UH (/) O Xi

O >H H^)

z

ro to 00

LO r-i

CM

vO T H

(NJ rH

iH CM

O CM

rt

to

cn to

00 to

o rH

vO O

rt rH

r t •

to

LO rH

vO CM

CO rH

O CM

LO r-i

rsi to

o rt

(NJ

CM CM

rt to

O LO

cn to

r-]

o LO

(NJ

vO rt-

r t CM

to to rt 00 O

to to vO O O

C M t O t O t O C n L O r H t ^ r t

c n v O L O c n c n c n r H r H o o

rH rH to r t rH

CM

rt rH

r t r-i

« ? t L O r H C M t O r t L O v O r H . O O C J ^ O , H ( N J t r ^

/

127

w -D CQ < E -

PQ

Q W ai >—i

CD cy w Di

w s

f—\

+J ~

rt o u V — /

X X

CO w u z w :=)

c/>^ W PQ CO

CD w w W H PQ < >-i Di CO W < Z W W W CJ

w o Di z

CO

w CJ z w o'> W PQ CO HJ W

< e->—i ai ir-< W PH Z O W

CJ w o Di

z

rt w

B o CD

E-I

CD

H I

CD

O bO

B 3 rt w B o Q IS H

I

CD fH

I

P ,o bO

B ,3 W

o CD

CD

H

Q

O bO

I

O M fH 2

P H •

<-H t/) O Xi

o z

r-H

o CM

o to

(- CM

o CM

O CM

cn (NJ

to

to

00 (NJ CM

to

LO

rt CM (N ,—i. vO CM to O CM rH rt

to

to

CM LO

LO rH

LO CM

CM rt

OO (NJ

OO

to

r-i LO

vO LO

rf vO

CvJ vO

C7> r-H.

(NJ

00

r^ rt

vO rt

1.6

8

VO vO

2.0

3

CM

to

cn LO

CM O

1.5

0

o vO

2.1

8

rt rt

1.6

8

CM

cn

CM

to

to vO

2.5

0

VO LO

(NJ

to rH (NJ

rH (NI (NJ

^ LO vo r-

r-j

to

CM to rH

(NJ to rH CM

LO

00 CM

t^

to

to CM

to to

r-i to

OO

oo 1-i

o CM

cn

VO to

r3-to

to to

r (NJ

LO

CM iH

vO rt

oo to

(NJ

r-i (NJ CM

( N j t o r t L O v o r > « o o c n o

r

7 12(i

t—\ -p -

Con

V /

X X

w r J

TA

B

> H PQ

Ck

s y-i

CD cy w Di

W IS \-i H

CO W u

UE

N

0 ' > H W PQ CO

Q W W W H PQ < ; HH D i CO W

< z w w w u f i ,

o ai z

CO

w CJ

z w CD 0 ' > H W PQ CO

C3 w w < H ss H W PH Z

o w CJ

w o Di z

3 rt w

0 Q

^ H

1

CD

1

Q

Igo

<

B

Enu

s 0 P ^ lis H

1 Q

in 1

P (O bO

e '3 .^

w

e 0 p

• N s ^

IS H

1

P ' H

1

P

' 0

ff ; <

, 0 0 ^ fH Z

PH '

t p m 0 . 0

0 U »-)

z

LO LO

• (NJ

t-H. LO

i H

0

r t

to CM

^

r~A

CM

(Nl

P H

to *

CM

f H r H

• (NJ

VO vO

CM

0 0 CM

(NJ

r t

lO to

CNJ

r-i

r H

f H

t o r H

0 LO

cn LO

0 0

P •-1

f

I

r H

r-i

r H

r t r^

t

r> •

(NJ

t H r t

(NJ

to 0

to

cn CM

to r t

r-H

to

r H

r-i

r-i

r-i

LO r H

0 0 r-H

0 0 0 0

to rH

r t r-i

r^

r^

r-i

vO r H

to r t

CM

r H CNJ

(N>

r t r t

LO (NJ

i H

r H

r-i

r-H

rH

LO CM

• i H

CM r-i

t H

r-i (NJ

r t r-i

CM

i H

CM

0 0 r-i

CM to ( M

r-i

to LO

• r H

CM 0

t o

0 CM

0 to

LO to

r-i

r-i

r H

r H

VO

r H

• CM

VO

cn

r-i

CM LO

r t (NJ

r-i r H

r-i r H

cn

(NJ

r t (NJ

. 0 0

^

1 0 t o

r-i r-i

r-i

r t

=»*=

0 vO

r t

to

=»te

(NJ

t o

(NJ r-H

r-i

cn r-i

r t

r-i to

r-i

to

CM

r-i

r-i

^

0 0

r^ .

0 r-i

0 0 CM

CM

cn

r t r-i

fH^

r t

LO to r H

VO vO

CM

r H

CM

r-i

LO

VO

0 •

CM CM

4*:

to r t

(NJ CM

0 cn

^

to cn

vO to

0 r H

:«=

0 r-i

vO

CM 0 0

• CM

0 ( M

LO

t -^

r t

CM n-

t ^

r t

t o

r--.

vO 0

• CM

cn to

(NJ

r-i

r t

0 0 CM

r-i

T-i

r-i

0 0

129

1 N

P

rt o u V '

X X

w HD CQ < E-

> H

PQ

P W Di \-i p Cf w a^

w IS V-i E-

CO W CJ Z w p 0 ' > H W PQ CO

CD W W W H CQ < HH D i CO W < Z w w W CJ

PH

o Di

z

CO w u z w p 0 ' > H W CQ CO

p KD W < H

s < HH OC,

E-" W OH Z

o w CJ

w o Di z

e 3 rt w B o p — IS

H 1

P

H 1

P

O bO

r-i <

B 3 rt w

e

H ^

^ H

J

P EH

P , o bO

r-i <

uin

c w B o p

^ E-H

1

CD

E-1

P

o bO

r-i <

r O O fH fH Z

CU

t+H to

o ^ o

fH H j ;2 w

LO

cn •

CM

r-i (NJ

vO

CM UO

0 0 r t

t o

r-i

CM

cn

CM

cn .

(NJ

r-i r t

OO

vO r t

0 0 LO

r-i

r H

r H

O r H

0 0 vO

• OO

t o CM

• r i -

OO VO

vO r H

o\ • *

o 0 0

vO OO

r-i

i H

r H

r H

r H r-i

O LO

• (NJ

r-i

4fc

(NJ

CT>

t o

vO LO

=te

cn to

r-i

r-i

:**:

r H

CM r H

r H o

• r t

0 0 vO

cn

vO vO

to uo

cn

r t

CM

to r-^

t-H.

t o •

vO r H

:**:

<y\ o

o CM

o r-H

:«=

OO 00

r H

r H

=tt=

r H

r t r-i

r-i r-i

• LO

vO LO

o r-i

i H OO

CM vO

r H

rH

r-i

LO r-i

O 0 0

• rHH

0 0 r H

r H r t

• (NJ

1

to vO

0 0 CM

o r t O LO

cn

. 1

to r-H.

: « * : :*»=

O

1

r-i

r-i

« 4C

t-H

0 0 LO

• t - H

r-i

1

to t - H

vO r t

CM CM

1

0 0

4fc

r H

1

r-i

(NJ

VO

cn •

CO to

1

LO f H .

cn r t

O t-^

1

O 00

( M

r H

1

r H

to

B XX •p • H fH

o bO

r-i cd

^ o

Teu

t 1

n3 3

P

.rt 4->

XX

• H IS

(U

o IS

•p

o a <u u <L) IS

(0

B 0

r-i

o fH

o. ^ o

t - H

4: «

ter

3

B o o (D .rt

T 3 <D

' ^

O r-i fH 0 >

o B (U

T H

O

^

T 3

P 03 fH 1) B 3 rt <u p

o rt B <D

rH

o fH

:ifc =»»:

r-

/

130

APPENDIX B: PROGRAMS AND INSTRUCTIONS FOR USE

PURPOSE

To illustrate the programs used and how to use them.

GENERAL:

All programs are written in Fortran II and can be

used on all computers which will process this language.

Also all programs must be loaded on disks and executed off

of .hesec No instructions will be given for clearing the

machine smvze this changes for different models of the

con.puter c

RESTRICTIONS:

Maximum number of jobs is 8 and maximum number of

machines is 5.

DHIA CARD PREPARATION:

Beginning kn Column Punch

Card 1 1

3

Caid 2 1

5

9

13

17

NOo of jobs (2 digits w/o decimal)

NOo of machines (2 digits w/o decimal)

4 digits w/o decimal)

BT (4 digits w/o decimal)

4 digits w/o decimal)

An (4 digits w/o decimal)

Bn (4 digits w/o decimal)

/

131

Card 3 1

5

9

13

17

^2

A3

H ^3

A4

Same as above -

Continue until all machine times are entered. There

are always five values per card.

LOADING ON DISKS:

The programs are loaded on disks in accordance with

the procedures in effect for the computer usedc The instruc

tion cards for the specific program are shown with the pro­

gram.

EXECUTION OFF DISKS:

1 Proposed Algorithm:

<fffXEQSRDSSEQ 101 Da t a

^IOCAL RDS SEQ,DOMl,D0M2,D0M3,D0M4

2 Dudek-Teuton Algorithm

ff?^XEQSOFTSEQ 101 Data

^ L OCALOFTSEQ,D0M3,D0M5,D0M6

3 Dudek-Teuton Algorithm With Dominance

ff^XEQSOFTSED 101 Da t a

« LOCALOf TSEQ,D0M2,D0M3,D0M4,D0M5,D0M6

4e Enumexation

##XEQSBBENUM Data

tis^'-

7

132

(Note that # is 0,2,8 Multi-Punched)

Fox the algorithm it is possible to run more than

one problem simply by placing SENSE SWITCH #2 to the ON

position. To run a new problem the START button need only

be depressed.

PROGRAMS: All programs and subprograms follow:

/

133

P ) , L S ( " » 1 - ) *LDISKRDS5EQ

DIMENSION L( 5*8) »L0( 5»150) »JS( 130,9UJC( 1 0 DIMENSION NC(150)

C N-JOBtM-MACHINE SEOUFNCING PROGRAM BY PlCtMR(^ n, ^MITH COMMON NP»NM,NJ»NS»L»L0»LS9JS»JC»NC

200 CONTINUE READ 10»NJ»NM

10 FORMAT (2U) PUNCH 11»NM»NJ

11 FORMAT (lOHTHIS IS A »I2»9H MACHINF»»I 2•12H JOM PQMRIFM)

READ 13»((L{J»K)»J=1»NM)•K=1»NJ) 13 FORMAT ( 5U)

PRINT 500 500 FORMAT (5HSTART)

NS=1 JS(1»1)=0 DO lA K=1»NM LQ(K.1)=0

1^ LS(K»1)=0 M0=NJ-2 DO 100 NP=1»M0 CALL DOMl

26»30»30 30

26 27

28»28»27

19

20 21

18

22 28

29 31

IF (NS-2) CALL D0M2 CALL D0M4 GO TO 100 IF (NC(l)-l) M1 = NC( 1) DO 22 I=2»M1 JS(I,NP+1)=JC(1»I) J1=JS(IfNP+1) L0( 1»I )=0 DO 21 J=2»NM LH1 = L( J-1»J1)+LS( J-ia)-LS(J.l)+LQ(J-l»I ) IF {LH1-LQ(J»1)) 20»20»19 LQ(J»I)=LH1 GO TO 21 LQ(J»I)=L0(J»l) CONTINUE DO 18 J=1»NM LS(J»I)=L(J»J1)+LS(J»1) DO 22 J=1»NP JS( I •J)=JS(1»J) JS( 1,NP+1)=JC(1»1) J1=JS(1»NP+1) DO 31 J=2>NM LH1=L(J-1»J1 )+LS(J-1»1)-LS(J»1)+L0(J-1»] ) IF (LH1-L0(J»1)) 31»31»29 LQ(J»1)=LH1 CONTINUE DO 32 J=1»NM

M .")

32 LS(J»1)=L(J»J1)+LS(J»1) NS=NC(1)

100 CONTINUE PUNCH 110

110 FORMAT (33H SEQUENCES TIMP) NP=NJ-1 CALL D0M3 PAUSE IF (SENSE SWITCH 2) 200*300

300 CONTINUE END

/

— r

*LDISK0FT5E0 C TEUTON S N-JOB* M-MACHINE SEQUENCING ALr.OPITflf

DIMENSION L( 5»8) •LQ( 5» 150) »JS{ 150*9) »JC( 150,8) •LSI >. 1 30) DIMENSION NC(150) COMMON NP»NM»NJ*NS»L»LQ»LS*JS»JC»NC

200 CONTINUE READ 10*NJ*NM

10 FORMAT (214) READ 13»((L(J»K)>J=1*NM)»K=1»NJ)

13 FORMAT (514) PUNCH 11,NM»NJ

11 FORMAT (lOHTHIS IS A »I2»9H MACHINE* , 12,12H JOB PR')RLE'>i) PRINT 500

500 FORMAT (5HSTART) NS = 1 JS(1*1)=0 DO 14 K=1*NM LQ(K*1)=0

14 LS(K»1)=0 M0=NJ-2 DO 100 NP=1*M0 CALL D0M5

15 CALL D0M6 100 CONTINUE

PUNCH 110 110 FORMAT (33H SEQUENCES TIMF)

NP=NJ-1 NC(1)=0 JC(1*1)=0 CALL D0M3 • PAUSE IF (SENSE SWITCH 2) 200*300

300 CONTINUE END

/

136

LDI5K0FTSED TEUTON S N-JOB* M-MACHINE SEQUENCING ALGORITHM WITH POMIN^'JCF DIMENSION L(5*8)*L0(5*150)*JS(150*9)*JC(150*8)*L5(5,15n) DIMENSION NC(150) COMMON NP,NM*NJ*NS*L*LQ*LS*JS*JC*NC

200 CONTINUE READ 10*NJ*NM

10 FORMAT (214) READ 13* ( (L( J*K) *'J=1*NM) *K=1*NJ)

13 FORMAT (514) PUNCH 11*NM*NJ

11 FORMAT (lOHTHIS IS A *I2*9H MACHINE**I 2,1 2H JOB ppn^LFD PRINT 500

500 FORMAT (5HSTART) NS=1 JS(1*1)=0 DO 14 K=1*NM LQ(K*1)=0

14 L5(K»1)=0 M0=NJ-2 DO 100 NP=1*M0 CALL D0M5 IF (NS-2) 15*16*16

15 CALL D0M6 GO TO 100

16 CALL D0M2 CALL D0M4

100 CONTINUE PUNCH n o

110 FORMAT (33H SEQUENCES TIME) NP=NJ-1 NC(1)=0 JC(1*1)=0 CALL D0M3 PAUSE IF (SENSE SWITCH 2) 200*300

300 CONTINUE END

137

*LDISKD0M1 SUBROUTINE DOMl DIMENSION L( 5*8) »L0( 5*150 ) *JS( 150*9) *JC( 150*8 ) *LS{''* 150) DIMENSION NC(150) DIMENSION LR(5)*M(8)*JD(7) COMMON NP*NM,NJ*NS*L*LQ»LS*JS*JC*NC DO 90 1=1,NS M0=NM-1 DO 10 J=2*M0

10 LR(J)=LQ(J*I)-LS(1*1)+LS(J*I) NC(I)=0 K0 = 0 DO 13 J=1*NJ DO 12 K=1*NP IF (J-JS(I*K)) 12*13*12

12 CONTINUE K0=K0+1 M(KO)=J

13 CONTINUE M0=NJ+1-NP DO 80 J=1*M0

15 MINA = M(1 ) MSS=1 DO 18 IC = 2*K0 DO 17 K1=1*NM M1=M(K) IF (L(K1*MINA)-L(K1*M1)) 18*17*16

16 MINA =M(K) MSS = K GO TO 18

17 CONTINUE 18 CONTINUE

JD(1)=0 ND=1 IF (L(2*MINA)-L(1*MIMA)) 70*19*19

19 DO 60 K=1»K0 J1=M(K) IF (MINA-Jl) 20*60*20

20 LH1=L(1*MINA) LH2=L(1*MINA)+L(1*J1)"L(2*MINA) LH3 = L(1*J1 ) DO 50 K1=3*NM IF (LH1-LR(K1-1)) 21*22*22

21 LH1=LR(K1-1) 22 IF (LH2-LH1) 23*24*24 23 LH2=LH1 24 IF (LH3-LR(K1-1)) 25*26*26 25 LH3=LR(K1-1) 26 LH1=L(K1-1*MINA)+LH1

LH2=L(K1-1*MINA)+L(K1-1*J1)-L(K1*MINA)+LH2 LH3 = L(K1-1*J1)'»-LH3

/

13P

27 50

60 70

60921*21 60*50*50

71

72 73

77

78

14

80 90

73,73

IF (LH3-LH1) IF (LH3-LH2) CONTINUE NDsND-l-l JD(ND)=J1 CONTINUE NC( I )=NC(I) + l M1=NC(I) JC(I*M1)=MINA IF (MSS-KO) 71 M1=K0-1 DO 72 K=MSS*M1 M(K)=M(K+1) K0=K0-1 KN = 0 DO 78 K=1*K0 DO 77 K1=1*ND IF (M(K)-JD(Kl)) CONTINUE KN=KN+1 M(KN)=M(K) CONTINUE KO=KN IF (KO-1) 90*14*80 NC(I)=NC(I)+l M1=NC(I) JC(I*M1)=M(1) GO TO 90 CONTINUE CONTINUE RETURN END

77,78*77

139

*LDISKD0M2 SUBROUTINE D0M2 DIMENSION L(5*8),LQ(5,150)*JS(150*9) *JC(15C,8),LS(b,l50) DIMENSION NC(150) COMMON NP,NM,NJ*NS*L*LO,LS*JS*JC*NC M0=NS-1 DO 80 1=1*M0 IF (NC(I)-O) 80*80*10

10 M1=NC(I) DO 75 J=1*M1 J0=I+1 DO 70 K=J0*NS IF (NC(K)-O) 70*70*11

11 K0=0 DO 14 K1=2*NP DO 13 K2=2*NP IF ( JS( I*K1)-JS(K*K2) ) 13,12*13

12 K0=K0+1 GO TO 14

13 CONTINUE 14 CONTINUE

IF (K0-(NP-2)) 70*15*19 15 DO 16 K1=2*NP

IF (JC(I*J)-JS(K»K1)) 16*17*16 16 CONTINUE

GO TO 70 17 M2=NC(K)

DO 18 K1=1*M2 DO 18 K2=2*NP IF (JC(K*K1)-JS(I*K2)) 18,21*18

18 CONTINUE GO TO 70

19 M2=NC(K) DO 20 K1=1,M2 IF (JC(I,J)-JC(K,K1)) 20,21,20

20 CONTINUE GO TO 70

21 KSS=K1 N=JC(I*J) M=JC(K*KSS) K0=0 N0 = 0 LH1=0 LH2 = 0 DO 30 K2=2*NM LH1 = L(K2-1*N)+LS(K2-1*I )-LS(K2*I)+LHl LH2 = L(K2-l*M)+LS(K2-l*K)-LS(K2*K)-i-LH2 IF (LH1-L0(K2*I)) 22*23*23

22 LH1=LQ(K2*I) 23 IF (LH2-LQ(K2*K)) 24*25*25 24 LH2=LQ(K2*K)

14 0

31*32*32 70*36*36 33*35*35

25 IF (LH1-LH2) 26*27*28 26 KO = KO-»-l

GO TO 30 27 KO«KO-»-l 28 N0=N0+1 30 CONTINUE

IF (KO-(NM-l)) 31 IF (NO-(NM-l)) 32 IF (KSS-NC(K)) 33 M2=NC(K)-1

DO 34 K2=KSS*M2 34 JC(K,K:2)=JC(K*K2 + 1 )

35 NC(K)=NC(K)-1 GO TO 70

36 JC( I ,J)=0 GO TO 75

70 CONTINUE 75 CONTINUE

K0 = 0 M1=NC(I) DO 77 K1=1*M1 IF (JC(I*Kl)-0) 77*77*76

76 K0=K0+1 JC(I*K0)=JC(I,K1)

77 CONTINUE NC(I)=K0

80 CONTINUE RETURN END

1 4 1

*LDISfCD0M3 SUBROUTINE D0M3

DIMENSION L(5*8J*LQ(5*150)*JS(150*9)*JC(150,8)*LS(5*150) DIMENSION NC(150) DIMENSION M ( 2 ) COMMON NP*NM*NJ*NS*L*LQ*LS»JS*JC*NC DO 100 I=1*N5 K0 = 0 DO 15 J=1*NJ DO 14 K=2*NP IF ( J - J S ( I * K ) ) 14,15*14

14 CONTINUE K0=K0+1 M(KO)=J

15 CONTINUE N1=M(1) N2=M(2)

17 LH1=0 LH2 = 0 LH3 = 0 LH4 = 0 DO 30 J=2*NM LH1=L(J-1*N1)+LS(J-1*I)-LS(J*I)+LHl LH2 = L(J-1»N1)+L(J-1*N2)+LS(J-1*I)-L(J*N1)-LS(J * I)+LH2 IF (LQ(J*I)-LHl) 19*19*18

18 LH1 = LQ(J»I ) 19 IF (LH2-LH1) 20*21*21 20 LH2=LH1 21 LH3 = L(J-1*N2)"»-LS( J-1*I )-LS(J*I )+LH3

LH4 = L(J-1*N2)+L(J-1*N1)+LS(J-1*I )-L ( J *N2 )-LS ( J , I )+LH''* IF (LH3-LQ(J*I)) 22,23*23

22 LH3=LQ(J*I) 23 IF (LH4-LH3) 24*30*30 24 LH4=LH3 30 CONTINUE

IF (LH2-LH4) 31*31*32 31 JS(I*NJ)=N1

JS(I*NJ+1)=N2 LT=LS(NM,I)+L(NM*Nl)+L(NM*N2)+LH2 GO TO 33

32 JS(I*NJ)=N2 JS(I,NJ+1)=N1 LT = LS(NM,I )+L(NM*Nl)-i'L(NM*N2)+LH4

33 SEQ=0.0 X=10«0**(NJ-1) M0=NJ+1 DO 40 J=2*M0 Y=JS(I,J) SEQ=X*Y+SEO

40 X=X/10*0 PUNCH 50,SE0,LT

•Vl»lMl^

/

142

50 FORMAT (9H ,F13.1,10H ,14) JC( I ,1)=0

100 NC(I)=0 PRINT 600

600 FORMAT (3HEND) RETURN END

1 13

*LDISKD0M4 SUBROUTINE D0M4 DIMENSION L( 5,8) ,LQ( 5,150 ) ,JS( 150*9) ,JC( 15U, 8) ,LSCJ. 150) DIMENSION NC(150) COMMON NP,NM,NJ*NS*L*LQ*LS*JS*JC*NC K0 = 0 DO 85 I=1*NS IF (NC(I)-O) 85*85*81

81 K0=K0+1 DO 82 J=1,NP

82 JS(KO*J)=JS( I*J) M2=NC(I) DO 83 J=1*M2

83 JC(KO,J)=JC( I *J) NC(KO)=NC( I ) 00 84 J=1,NM L0(J*KO)=LQ(J*I)

84 LS(J»KO)=LS(J*I ) 85 CONTINUE

N5 = K0 DO 100 I=1*K0 JS(I*NP+1)=JC(I*1) IF (NC(I)-2) 95*101*101

101 M2=NC(I) DO 94 J=2*M2 NS=NS+1 DO 86 K=1*NP

86 JS(NS*K)=JS(I*K) JS(NS,NP+1)=JC(I»J) LQ(1*NS)=0 N=JC(I*J) DO 89 K=2*NM LH1 = L(K-1»N)+LS(K-1*I)-LS(K* I)+L0(K-1*NS) IF (LH1-L0(K*I) ) 87,88*88

87 LQ(K*NS)=LQ(K»I ) GO TO 89

88 LQ(K*NS)=LH1 89 LS(K*NS)=LS(K,I)+L(K*N)

LS(1»NS)=LS( 1*1 )+L(l*N) 94 CONTINUE 95 N=JS(I,NP+1)

DO 98 J=2*NM LH1=L{J-1*N)+LS(J-1*I)~LS(J*I)+L0(J-1*I) IF (LH1-LQ(J*I)) 98*98*96

96 L0(J*I)=LH1 98 CONTINUE

DO 99 J=l9NM 99 LS(J,I)=LS(J*I)+L(J*N)

100 CONTINUE RETURN END

/

1 14

* L D I S K D 0 M 5 SUBROUTINE D0M5 DIMENSION L ( 5 * 8 ) » L 0 ( 5 * 1 5 0 ) * J S ( 1 5 0 * 9 ) » J C ( 1 5 0 » 8 ) * L S ( ^ , 1 5 0 ) DIMENSION N C ( 1 5 0 ) DIMENSION M ( 8 ) , L R ( 5 ) * J T ( 6 ) COMMON N P , N M * N J 9 N S * L * L Q * L S * J S * J C * N C DO 200 I = 1 * N S DO 20 J=2*NM

20 L R ( J ) = L O ( J * I ) - L S ( 1 * 1 ) + L S ( J * I ) L R ( 1 ) = 0 K0 = 0 DO 30 J = 1 , N J DO 25 K=1*NP I F ( J - J S ( I * K ) ) 2 5 , 3 0 * 2 5

25 CONTINUE K 0 = K 0 + 1 M { K O ) = J

30 CONTINUE 31 K 1 = M ( 1 )

L 1 = L ( 1 * K 1 ) + L ( 2 * K l ) MSS=1 DO 40 K = 1 * K 0 K2=M(K) L 2 = L ( 1 * K 2 ) + L ( 2 * K 2 ) I F ( L 1 - L 2 ) 4 0 , 4 0 , 3 2

32 K1=K2 L1 = L2 MSS = K

40 CONTINUE NT = 0 M2=K0*K0 DO 90 J 0 = 1 * M 2 DO 60 K = 1 , K 0 I F (K -MSS) 4 1 , 6 0 , 4 1

4 1 K2=M(K) L H 1 = L ( 1 * K 1 ) L H 2 = L ( 1 , K 1 ) + L ( 1 , K 2 ) - L ( 2 , K 1 ) L H 3 = L ( 1 , K 2 ) L H 4 = L { 1 , K 2 ) + L ( 1 * K 1 ) - L ( 2 , K 2 ) DO 50 M1=3,NM I F ( L H l - L R ( M l - l ) ) 4 2 , 4 3 , 4 3

42 L H 1 = L R ( M 1 - I ) 43 I F ( L H 2 - L H 1 ) 4 4 , 4 5 , 4 5 44 LH2=LH1 45 I F ( L H 3 - L R ( M 1 - 1 ) ) 4 6 * 4 7 * 4 7 46 L H 3 = L R ( M 1 - 1 ) 47 I F ( L H 4 - L H 3 ) 4 8 * 4 9 * 4 9 48 LH4=LH3 49 L H 1 = L ( M 1 - 1 » K 1 ) + L H 1

L H 2 = L ( M 1 - 1 , K 1 ) + L ( M 1 - 1 , K 2 ) - L ( M 1 , K 1 ) + L H 2 L H 3 = L ( M 1 - 1 * K 2 ) + L H 3

msiv:*^^ WeJUkS

145

51 LC1=LH2 GO TO 53

52 LC1=LH1 53 IF (LH3-LH4) 54,55,55 54 LC2=LH4

GO TO 56 55 LC2=LH3 56 IF (LC1-LC2) 60,58,57 58 NT=NT+1

JT(NT)=K2 60 CONTINUE

GO TO 61 57 K1=K2

MSS = K NT = 0

90 CONTINUE 61 JC(I,1)=K1

NC( I )=1 IF (NT-0) 69,69,62

62 DO 68 J4=1,NT NC(I )=NC(I) + l N1=NC(I)

68 JC( I ,N1)=JT(J4) 69 K2=NC(I) 91 DO 150 J=1,NJ

DO 95 K=1,NP IF (J-JS(I,K))

95 CONTINUE DO 100 K=1,K2 IF (J-JC(I,K))

100 CONTINUE LH1 = 0 LH2 = 0 LH3 = 0 LH4 = 0 M2=NM-1 DO 120 K=2*M2 LH1=L(K-1,K1)+LHl LH2=L(K-1,K1)+L(K-l,J)-L(K,Kl)+LH2 LH3=L(K-1,J)+LH3 LH4 = L(K-l,J)-fL(K-l,Kl)-L(K,J)+LH4 IF (LHl-LR(K)) 101*102,102

101 LH1=LR(K) 102 IF(LH2-LH1) 103,104,104 103 LH2=LH1 104 IF (LH3-LR(K)) 105,106,106 105 LH3=LR(K) 106 IF (LH4-LH3) 107,106,108 107 LH4=LH3

95,150,95

100,150,100

*.'*. d

/

1 1 r >

108 IF (LH4-LH2) 109,120,120 109 NC( I )=NC(I) + l

N1=NC(I) JC(I*N1)«J GO TO 150

120 CONTINUE 150 CONTINUE 200 CONTINUE

RETURN END

il

/

147

10

*LDISKnOM6 SUBROUTINE D0M6 DIMENSION L( 5,8) ,LQ( 5,150 ) ,JS( 150,9) ,JC( 1 50,8) .L >( ,1 50) DIMENSION NC(150) COMMON NP,NM,NJ,NS,L,LO,LS,JS,JC,NC KO = NS DO 100 1=1,KO IF (NC(I)-l) 60,60,10 M1=NC(I) DO 50 J=2,M1 NS=NS+1 JS(N5,NP+1)=JC(I,J) M2=JS(NS,NP+1) LQ(1,NS)=0 DO 40 K=2,NM LH1=L(K-1,M2)+LS(K-1,I)-LS(K,I)+LO(K-l,N^) IF (LH1-LQ(K*I) ) 21*20*20 LQ(K*NS)=LH1 GO TO 22 LQ(K»NS)=LQ(K,I) LS(K*NS)=LS(K*I )+L(K*M2) CONTINUE LS(1*NS)=LS( 1*1 )+L(l*M2) DO 50 K=1,NP JS(NS*K)=JS( I»K) JS(I*NP+1)=JC(1*1) N=JS(I*NP+1) DO 70 K=2,NM LH1=L(K-1,N)+LS(K-1,I)-LS(K,I)+LQ{K-l,I) IF (LH1-LQ(K,I)) 70*70,65 LO(K,I)=LH1 CONTINUE DO 80 J=1,NM LS(J*I)=LS(J*I)+L(J*N) NC(I)=0 JC(I*1)=0 CONTINUE RETURN END

20

21 22 40

50 60

65 70

80

100

/

118

*LDIS<BBENUM C ENUMERATION PROGRAM BY W. R« EDWARDS C SENSE SWITCH ONE — ON - PARTIAL OFF - COMPLf IF C SENSE SWITCH TWO — ON - PRINT OFF - PUNCH

DIMENSION D(8*20)*X(8>20)*F(8*20)*II(8),JJ(33,2O),1M(33) DIMENSION L(5*8)

5 READ 10*NJ*NM 10 FORMAT (214)

READ 13*((L(J*K)*J=1*NM)*K=1*NJ) 13 FORMAT (514)

NP = 1 DO 15 1 = 1,NJ DO 15 J=1,NM

15 0(1 *J)=L(J»I ) 34 FORMAK//) 35 FORMAT ( 24X* 15HPR0BLEM NUMBER * 12* 1H-* 12, 1H-, 12 ) 40 FORMAT (3(15X,5HT0TAL,4X)) 41 FORMAT (3(5X,3HJ0B*6X,7HELAPSED,3X)) 42 FORMAT (3(3X,8HSEQUENCE,4X,4HTIME,5X))

IF(SENSE SWITCH 2)4,2 2 I0P=1

PUNCH 34 PUNCH 35, NJ, NM, NP PUNCH 40 PUNCH 41 ! PUNCH 42 GO TO 3

4 I0P=2 PRINT 34 PRINT 35, tvlJ, NM, NP PRINT 40 PRINT 41 PRINT 42

3 DO 45 1=4,8 45 I K I ) = 0

IF(NJ-4)601,601,610 610 IF(NJ-7)620,602,602 620 IF(SENSE SWITCH 1)602,601 601 IND=1

GO TO 603 602 IND=2 603 N=0

SMALL=10000000000. DO 300 III = 1, NJ I I ( 1 ) = I II DO 290 112= 1, NJ IF ( 112-11(1) ) 47, 290, 47

47 11(2) = 112 50 DO 280 113=1,NJ

I I(3) = I 13 51 IF ( II(3) - M(1) ) 52*280* 52

140

52 58 60

63 61 62 68 70

71

72 78 80

81

82

90

91 292

92

310

303 302 100

120

130

140

150

160 170

1602 580

IF ( IF ( I I (4) IF (

(

11(3) - 11(2) NJ - 3 ) 500* = 11(4) + 1

) 58*280* 100, 60

58

IF IF ( IF ( IF ( 11(5) IF ( DO 72 IF (

11(4) « 11(4) -11(4) -11(4) -NJ - 4 ) = 11(5) 11(5) -I = 1*

11(5) -

NJ ) 63* 63* 261 II (1) ) 61* 60* 61

) 62* 60* 62 ) 68* 60* 68 100* 70

II (2) 11(3) 500* + 1

NJ ) 4 I I ( I )

71* 71* 251

) 72* 70* 72

100* 80

81* 81* 241

) 82* 80* 82

CONTINUE IF ( NJ - 5 ) 500* 11(6) = 11(6) + 1 IF ( II(6) - NJ ) DO 82 I = 1, 5 IF ( 11(6) - II( I ) CONTINUE IF(NJ-6) 500*100,90 I I(7)=II{7) + l IF( I I(7)-NJ)91,91,231 DO 92 1=1,6 IF( I I(7)-II( I ) )92*90,92 CONTINUE IF(NJ-7^ 500,100,310 I I(8) = II(8) + l IF( I I (8)-NJ) 303,303.*301 DO 302 1=1*7 IF( II {8)-II( I ) )302*310*302 CONTINUE

1* NJ 1, NM

DO 120 I = DO 120 J = K = I I ( I )

*J) ,1) 130 ,J) 140 ,1) 170 170

D(K X(l = 2 F(l = 2

*J) ,1) * NM ,J-1) , NJ

F(1-1,1) = 2, NJ = 2, NM 1,J) - F(I,J-1)

+ X(1,J)

+ X(I ,1)

X( I F(l DO F(l DO 140 I F( I DO 170 I DO 170 J IF ( F( I' BIG = F(I,J-1) GO TO 170 BIG = F(I-l,J) F(I,J) = BIG + X(I,J) TET=F(NJ,NM) GO TO {1601,1602),IND IF(SMALL-TET) 5 50,1601,580 SMALL=TET

) 150, 160* 160

ISO

1601

540

559 561

560 562 570 550 350 301 236 231 235 241 240 251 250 261 280 290 300

713 709 710 714

711 715 712 500

N = 0 N = N+1 DO 540 K=l*8 JJ(N»K)=II(K) TM(N)=TET IF(N-33)550*55Q>559 GO TO (561*560)*IOP PUNCH 570*((JJ(N,K),K=1,8),TM(N),N=1,33) GO TO 562 PRINT 570,((JJ(N,K),K=1,8),TM(N),N=1,33) N = 0 FORMAT (3(3X,8I1,1X,F9«0,3X)) GO 10(300,290,280*2 50,240,2 3 5,236,350),NJ IF(II(8)-NJ) 310,301,500" I I(8)=0 IF(II(7)-NJ) I I(7)=0 IF ( II(6)

= 0 11(5) = 0 11(4) = 0

90,231,500

- NJ ) 80, 241, 500

- NJ ) 70, 251, 500

NJ ) 60, 261, 500

I I (6) IF ( 11(5) IF ( I I (4) CONTINUE CONTINUE CONTINUE IF(N)713,713,709 GO TO (715,714),IOP GO TO (711,710),IOP PRINT 570*((JJ(I*K)*K=1*8 PRINT 34 GO TO 712 PUNCH 5709((JJ(I*K)*K=1*8 PUNCH 34 IF(IOP) 5*500*5 CALL EXIT END

)*TM(I)*I=1*N)

)*TM(I)*I=1*N)

i5

APPENDIX C - SAMPLE INPUT AND OUTPUT

PROBLEM:

This :s a 3-machine, 5-job problem^

A B C

1 75 55 16 2 67 26 26 3 12 6 2 1 4 87 25 28 5 88 34 53

DATA CARDS

00050003 00750055001600670026 0026001^006200010087 00250028008800340053

PROPOSED ALGORITHM OUTPUT

Ihi.r is a 3-machine, 5-job problem.

Sequences

32451o0 12453.0 53412.0 31254.0 34251.0 35214.0 14253.0 15234.0 52431.0 54231,0 31452.0 31542o0 35142.0 15432.0

Time

400 414 381 382 400 382 414 382 400 401 381 381 381 389

Jt

DUDEK-TEUTON ALGORITHM OUTPUT

This is a 3-machine, 5-job problem

Sequences Time

53142.0 12534.0 35142.0 13542.0 15342.0 31542.0 12354.0

381 382 381 381 381 381 382

DUDEK-TEUTON WITH DOMINANCE OUTPUT

This is a 3-machine, 5-job problem

Sequences Time

12534.0 35142.0 31542.0 12354.0

382 381 381 382

ENUMERATION OUTPUT

Problem Number 5- 3- 2

Total Total Total Job Elapsed Job Elapsed Job Elapsed

Sequence Time Sequence Time Sequence Time

13452000 381. 13542000 381. 14352000 381. 15342000 381. 31452000 381. 31542000 381. 34152000 381. 34512000 381. 35142000 381. 35412000 381. 43152000 381. 43512000 381. 45312000 381. 51342000 381. 53142000 381. 53412000 381. 54312000 381.