0% found this document useful (0 votes)
9 views

Machine Sequencing via Disjunctive Graphs An Implicit Enumeration Algorithm

Uploaded by

孫ウィーユ
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

Machine Sequencing via Disjunctive Graphs An Implicit Enumeration Algorithm

Uploaded by

孫ウィーユ
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

Machine Sequencing via Disjunctive Graphs: An Implicit Enumeration Algorithm

Author(s): Egon Balas


Source: Operations Research , Nov. - Dec., 1969, Vol. 17, No. 6 (Nov. - Dec., 1969), pp.
941-957
Published by: INFORMS

Stable URL: https://www.jstor.org/stable/168317

REFERENCES
Linked references are available on JSTOR for this article:
https://www.jstor.org/stable/168317?seq=1&cid=pdf-
reference#references_tab_contents
You may need to log in to JSTOR to access the linked references.

JSTOR is a not-for-profit service that helps scholars, researchers, and students discover, use, and build upon a wide
range of content in a trusted digital archive. We use information technology and tools to increase productivity and
facilitate new forms of scholarship. For more information about JSTOR, please contact [email protected].

Your use of the JSTOR archive indicates your acceptance of the Terms & Conditions of Use, available at
https://about.jstor.org/terms

INFORMS is collaborating with JSTOR to digitize, preserve and extend access to Operations
Research

This content downloaded from


61.205.36.253 on Fri, 05 Jul 2024 12:26:56 +00:00
All use subject to https://about.jstor.org/terms
MACHINE SEQUENCING VIA DISJUNCTIVE GRAPHS:
AN IMPLICIT ENUMERATION ALGORITHM

Egon Balas

Carnegie-Mellon University, Pittsburgh, IPennsylvania

(Received March 11, 1968)

One formulation of the machine sequencing problem is that of finding a mini-


maximal path in a disjunctive graph. This paper describes an implicit
enumeratioti procedure that solves the problem by generating a sequence of
circuit-free graphs and solving a slightly amended critical-path problem for
each graph in the sequence. Each new term of the sequence is generated
from an earlier one by (complementing one disjunctive arc. The search
tree is drastically cut down by the fact that the only disjunctive arcs that
have to be considered for being complemented are those on a critical path.
All evaluation of these candidates is uased to direct the search at each stage.
The procedure can start with any feasible schedule (like the one actually
used in production, or generated by some heuristics), and gradually im-
prove it. Thus one (can possibly stop short of the optimum, with a reason-
ably 'good' feasible schedule. Storage requirements are limited to the data
pertinent to the current node of the search tree.

r T HE MACHINE-sequencing problem (also known as job-shop sched-


ulilg, see references 1-9), in its simplest form, is that of finding ail
optimal sequence for processing m items on q machines, when the comple-
tion time for each operation is known, and (a) a given operation (job)
Oin a given item has to be performed on a specified machine, (b) the opera-
tions pertaining to a given item are to be carried out in a technologically
prescribed sequence, (c) there is freedom of choice as to the sequence of
operations for each machine, and (d) oIle is looking for a sequence mini-
mizing total completion time (the time needed to perform all operations
on all items).
It is known [8,10, ill that this problem reduces to that of finding a minii-
maximal path in a disjunctive graph.
Tl'wo arcs of a graph are said to form a disjunctive pair,[8] if any path in
the graph is allowed to meet at most one of them. A graph D containing
disjunctive arcs is called a disjunctive graph and denoted

D=)(N; Z, W), (1)

where N is the set of nodes, Z the set of conjunctive (i.e., nondisjunctive)


arcs, and W the set of disjunctive arcs.
For each machine sequencing problem one can define a (directed)
disjunctive graph D= (N; Z, W), by associating
941

This content downloaded from


61.205.36.253 on Fri, 05 Jul 2024 12:26:56 +00:00
All use subject to https://about.jstor.org/terms
942 Egon Balas

(a) a node jeN with each operation, including two dummies: node 0
('start') to be the source of D, and node n ('end') to be the sink of D;
(3) a (conjunctive) arc (i, j) eZ with each pair of operations pertaining
to the same item and adjacent in the technological sequence; also, an arc
(O h) eZ for each h that is the first operation to be performed on some item,
and an arc (k, n) for each k that is the last operation pertaining to an
item;
('y) a disjunctive pair of arcs (i, j) eW, (j, i) eW, with each pair of
operations to be performed on different items but on the same machine;
(a) a length (nonnegative real) dij with each arc (i, j) eZUW, equal
to the minimal required time lapse between the starting of operations i
and j.
A disjunctive pair of arcs [(i, j), (j, i)] expresses the condition that
one of the two operations i, j, must be finished before the other one is
started.

A~~~~F~
Figure 1

Figure 1 depicts the disjunctive graph of a problem with 3 items and 4


machines. If N. denotes the operations pertaining to item i, and Nk those
pertaining to machine k, then

N1= {1, 2, 3, 4}, N2= {5, 6, 7, 8}, N3= {9, 10, 11, 12, 13};

N'= {1, 5, 9}, N2= {2, 6,10,12}, N3= {3,11}, N4= {4, 7, 8, 13}.

A path in D or in any of the graphs considered in this paper will be de-


fined as a sequence of arcs (i1, j1), (i2, j2), * *, (i, jin), such that =kik+1
for k= 1, , n-1. A circuit is a closed path, i.e., such that jn =ii. The
length of a path is the sum of the lengths of the arcs in the path. If (i, j)
is an arc of the graph, i is a predecessor of j, and j is a successor of i.
Denoting by G= (N, Z) the graph obtained from D by dropping all
disjunctive arcs, and letting NkCN be the subset of nodes associated with
(operations to be performed on) machine k, kEQ = { 1, e *, q}, the dis-
junctive graph D defined by (a), (A), (by), and (a) has the following
obvious properties:

This content downloaded from


61.205.36.253 on Fri, 05 Jul 2024 12:26:56 +00:00
All use subject to https://about.jstor.org/terms
Machine Sequencing Via Disjunctive Graphs 943

Property 1. If 0 is the source and n the sink of G, then for every


jeN- {O} U {n} there is a path from 0 to j and a path from j to n in G.
G is circuit-free (has no circuits).
Property 2. The set W of pairwise disjunctive arcs of D is such that

W = UkEQ { (i, j) eNkXN kIi j and there is no path connecting i with j in G}.

f(i, j) and (r, s) formal Xf (i, j)PW, (r, s)EW} (2)


a disjunctive pair 0f l and r=j, s=i 2
For any (i, j)EW, the arc (j, i) is called the complement of (i, j), and
the act of replacing (i, j) by (j, i) will be referred to as that of comple-
menting (i, j).
A subset of W containing at most one arc of each disjunctive pair is
called a selection. A selection containing exactly one arc of each disjunc-
tive pair is complete. In this paper we consider only complete selections,
hence we shall call them simply selections. Let

8= {SI, ., So} (3)

be the set of all (complete)


number of disjunctive pairs of
Each selection ShcES generates a (conjunctive) graph of the form

Gh= (N, ZUSh)=(N, Zh). (4)

A longest path from source to sink in Gh (if it exists, i.e., if Gh is circuit-


free) is called a critical path in GOh.
Let
g= {Gi, ., Ga}, (5)
and = fGhelGh has no circuits}. (6)
A critical path in GkE9' is called a minimaximal path in D, and the
associated selection Sk is called optimal, if, denoting by Vh the length of
a critical path in GOh,
Vk = minGhEg' Vh. (7)
The machine sequencing problem is then equivalent to:
Problem P.'[10, 11 Find an optimal selection and an associated mini-
maximal path in the disjunctive graph D defined by (a), (A), (by), and
(8).
In reference 11 we have used a specialized version of Benders's parti-
tioning procedure to solve P by repeatedly solving two subproblemjs: a
zero-one integer program and a critical path problem.
In the present paper, we describe an implicit enumeration procedure
(of the type proposed in reference 12) which solves P by generating a
sequence of circuit-free graphs Gheg', and solving a slightly amended criti-

This content downloaded from


61.205.36.253 on Fri, 05 Jul 2024 12:26:56 +00:00
All use subject to https://about.jstor.org/terms
944 Egon Balas

cal path problem for each Gh in the sequence. No integer program is


to be solved. Each graph Gh is obtained from some previously generated
term of the sequence by complementing one disjunctive arc. At each
stage, some of the disjunctive arcs are fixed, while others are free (to be
considered for being complemented); but the only candidates that ac-
tually need to be considered are the free arcs on a critical path of the
current graph Gh. An easily obtained evaluation of the candidates is then
used to direct the search so as to go from the current graph to the 'best'
one that can be obtained by complementing one free disjunctive arc.
At each stage the shortest critical path found so far provides a current
upper bound for the search, whereas a critical path in the partial graph
containing only the fixed arcs yields a current lower bound, which is
tested against the current upper bound.
While computational experience is not yet available for determining the
size of problems this method can solve in a reasonable time, the following
features seem to be worth mentioning:
(a) The procedure can start with any feasible sequence (for instance,
one actually used in production, or generated by some heuristics), and
gradually improve it. Thus one can stop short of the optimum, with a
reasonably 'good' feasible sequence.
(b) Storage requirements are limited to the data pertinent to the
current node of the search tree.
At the beginning of this section, we have introduced the machine
sequencing problem in its simplest possible form. However, the model
we are using, i.e., the disjunctive graph defined by (a), (d), ('y), and (a)
can accommodate some more general situations than the case presented
under (a), (b), (c), and (d) above.

Figure 2

First, the model can handle items resulting from the assembly of other
items; G = (N, Z) will then contain a construction of the form shown in
Fig. 2, where i and j are the last operations to be performed on two differ-
ent items, h is the operation consisting of their assembly, and k is the first
operation on a third item, resulting from the assembly of the first two.

This content downloaded from


61.205.36.253 on Fri, 05 Jul 2024 12:26:56 +00:00
All use subject to https://about.jstor.org/terms
Machine Sequencing Via Disiunctive Graphs 945

Second, the operations pertaining to a given item may be only par-


tially ordered. If 5 operations have to be performed on an item and
only the following precedence relations are prescribed: 1 <2, 1 <3, 2-<4,
3 <5, 4<5 (where i <j means 'i has to precede j'), this can be translated
by the set of conjunctive and disjunctive arcs shown in Fig. 3.
Third, set-up time for each operation may be taken into account by
simply letting dj to be the completion time for operation i plus the set-up
time for operation j.
Fourth, the same model can be used for sequencing lots of items rather
than individual items. In this case dij is to be interpreted as the required
lead time for operation i in relation to operation j.
However, this model does not include the case when a given operation
is not related to an individual machine, but to a set of identical machines
(i.e., can be performed on any machine in that set). This requires a
generalization of the model, which is left to another paper. [131
Two related, but different procedures for solving the model discussed
in this paper are described in references 14 and 15.

Figure 3

PROPERTIES OF THE DISJUNCTIVE GRAPH

CONSIDER THE disjunctive graph D defined by (a), (f), (Q), and (s), and
the related family of (conjunctive) graphs 9' defined by (4), (5), and (6).
PROPOSITION 1. For any Ghe?' and any arc (i, j) ESh, there is a path in
Gh from source to sink, containing (i, j).
Proof. By Property 1, there is a path in G (hence in Gh), say T(O, i),
from 0 to i, and a path, say T(j, n), from j to n. Hence the arcs in the
set T(0, i) U{ (i, j)} UT(j, n) form a path in Gh from 0 to n.
We shall now make the following
ASSUMPTION. For any GhE9, if (i, J) EZh= ZUSh, then (i, j) is the unique
shortest path from i to j.
In other words, if there is a path (i, h), (h, k), , (r, s), (s,j)
from i to j in Gh, other than (i, j), then

dii <dih+dhk+ * * - +drs+d8j. (8)

This content downloaded from


61.205.36.253 on Fri, 05 Jul 2024 12:26:56 +00:00
All use subject to https://about.jstor.org/terms
946 Egon Balas

It follows from the meaning attributed to the numbers dij that this
assumption is realistic for any disjunctive graph representing a machine
sequencing problem.
PROPOSITION 2. Let Ch be a critical path in Gheq'. Any graph Gk ob-
tained from Gh by complementing one arc (i, i) EShnCh is circuit-free.
Proof. Gheg' is circuit-free by the definition of 9'. If complementing
the arc (i, j) creates a circuit, then Gh contains a path from i to j, other
than (i, j). However, since (i, j) ECh, (i, j) is a longest path from i to j;
also, according to the assumption made above, (i, j) is the unique shortest
path from i to j in Gh. Hence (i, j) is the only path from i to j in Gh,
and its complementing cannot create a circuit.
PROPOSITION 3. Let Ch be a critical path in GhEg'. If there exists a graph
Gp=(N, Z USp) Eg' with a critical path Cp shorter than Ch, then the selection
Sp contains the complement (j, i) of at least one arc (i, ;) ESh nCh.
Proof. If Sp does not contain the complement of any arc (i, j) EShnCh,
then Zp=ZUSp contains Ch and a longest path in Gp cannot be shorter
than Ch, which contradicts the assumption.
For any Gheq and any node jeN, let

Ph(j) = {iENJ (i, j) eZh} (9)


and
Sh(j) = {iENI(j, i)EZhl (10)
be the set of predecessors, and the set of successors, respectively, of node j
in Gh. Further, for Ghe9', let Vh( i, j) denote the length of a longest path
from i to j, with the convention that Vh(i, i) = 0. It is well known (and
obvious) that, for any node jEN-{O},

Vh(?, j)= maxi'Oh U) {Vh ( 0 i) +dijJ,(1


and, for any jEN-{n},

Vh(j, n) =maxifSh(h) {dji+vh(i, n)}. (12)

Let ip and is be the nodes for which the right-hand sides of (11) and
(12) attain their respective maxima. Further, if (Ph(j) - I ip) , let

VhI(0, j) = maxi6(J>h()-)iP} {Vh(0, i) +dAj , (13)


and, if Sh(j)-is75k, let

Vh/(j, n) =MaXi68h(D-141s fdji+Vh(i, n)}. (14)


In other words, let Vh'(O, j) be the length of the longest path from 0 to
j that does not contain the arc (ip, j), and Vh'(j, n) be the length of t
longest path from j to n that does not contain the arc (j, is).

This content downloaded from


61.205.36.253 on Fri, 05 Jul 2024 12:26:56 +00:00
All use subject to https://about.jstor.org/terms
Machine Sequencing Via Disjunctive Graphs 947

Finally, whenever Vh'(0, j) and/or Vh'(j, n) is defined, let

6h(O, j) =Vh(0, j)-Vh'(0, j) and/or (15


ah(j, n) =Vh(j, n) -Vh (j, n).
PROPOSITION 4. The value

Ah(i) j) =dij+dji- bh(Oy j) - h(i, n) (16)


is well-defined for all (i, j) eSh.
Proof. Ah(i, j) is well-defined if Vh'(0, j) and Vh'(i, n) are well-defined,
i.e., if j has more than one predecessor and i has more than one successor
in Gh. But this is always the case, since (a) each node jeN-{O} U{n} has a
predecessor and a successor in G= (NY Z) (Property 1 of D); (b) i is a
predecessor of j (and j is a successor of i) in Gh, but not in G; and
hence, in Gh, j has at least one predecessor other than i and i has at least
one successor other than j.
PROPOSITION 5. Let Gheq' and let Gk be the graph obtained from Gh by com-
plementing the arc (i, i) ECh, where Ch is a longest path in Gh. Then

Vk(0, n) =vh(0, n) +A h(i, j) if Ah(i, j) >O (17)


Vh(0, n) >Vk(O, n) Vh(0, n) +Ah(ij) if Ah(ij) _? 0 (

Proof. It is easy to see that Vh(O, n) +Ah(i, j) is the length of a long-


est path through (j, i), i.e., containing (j, i), in Gk. Indeed,

Vh(O, n) +Ah(i, j)=Vh' (O j) +dji+vh'(k, n) (18)


= Vk(O j) +?dji+Vk(i, n).

But a longest path in Gk can be longer than a longest path Ch in Gh


only if it contains (j, i), the sole arc of Gk that is not an arc of Gh. Hence,
if Ah(i, j) >0, i.e., if a longest path through (j, i) in Gk is longer than Ch,
then it is a longest path in Gk and its length Vk(O, n) is given by the equality
in (17). If, however, Ah(i, i) _0, i.e., if a longest path through (j, i)
in Gk is not longer than Ch, then the length Vh(O, n) of Ch is an upper bound,
and the length of a longest path through (j, i) in Gk is a lower bound, on
the length Vk(O, n) of a longest path in Gk-hence the inequalities in (17).

THE ALGORITHM

WE SHALL define a direction for each disjunctive pair of arcs in W by


calling the arc (i, j) normal if i<j, and reverse if i>j. W+ and W- will
denote the set of all normal arcs and the set of all reverse arcs respectively.
Obviously, W+UW-=W, w+nw-=ck, W+S, W-S, and it is easy to see
that the graphs (N, ZUW+) and (N, ZUW-) have no circuits.
The algorithm described below is illustrated by a numerical example in
the next section. Starting with the graph (N, ZUW+) in which all

This content downloaded from


61.205.36.253 on Fri, 05 Jul 2024 12:26:56 +00:00
All use subject to https://about.jstor.org/terms
948 Egon Balas

disjunctive arcs are normal, we generate a sequence of graphs Gh= (N,


Z USh) E'. Each Gh is obtained from some preceding term of the sequence
by a forward step consisting of complementing one normal arc. When-
ever for some graph Gk we can make sure that further complementing of
normal arcs cannot bring any improvement, we abandon Gk and back-
track to the graph Gh from which Gk was generated. It is desirable for
bookkeeping purposes to associate with this sequence an arborescence
(rooted tree) A, a node of A being associated with each graph Gh, and an
arc of A with each pair of graphs Gh, Gk such that Gk is obtained from Gh.
Since Gk differs from Gh by exactly one disjunctive arc, say (i, j)ESh,
(j, i) ESk, the arc (Gh, Gk) of A will also be associated with the disjunctive
arc (j, i)ESk.
Whenever a new graph Gh is obtained by complementing a normal arc
(i, j) of some previously generated graph, the reverse arc (j, i) is tem-
porarily fixed in Gh, in the sense that it cannot be complemented in any of
the descendants Gp of Gh in A. (Gp is a descendant of Gh, and Gh is an
ancestor of Gp, if there is a path from Gh to Gp in A.) On the other hand,
whenever we backtrack to Gh from some successor Gk, we fix in Gh the nor-
mal arc (r, s), whose complementing had generated Gk. Thus, for each
graph Gh generated under the procedure, a subset FhCSh of disjunctive
arcs is fixed. The reverse arcs of Fh are those associated with the path in
A from the root to Gh, whereas the normal arcs of Fh are those associated
with abandoned arcs of A, incident out of Gh or out of some ancestor of
Gh in A. The arcs that are currently not fixed, i.e., those in the set Sh -Fh,
are termed free. Of special importance at each stage is the set of candi-
dates,
Bh=(Sh-Fh) nCh, (19)

i.e., the set of free arcs on a critical path Ch. (If Gh has more than one
critical path, any one of them can be used to define Bh.) As it will be shown
later, the only successors of Gh in A that may have to be generated under
this procedure are those obtained by complementing an arc (i, j) eBh.
Also, each such successor is circuit-free.
The numbers Ah(i, j) defined by (16) evaluate the effect of comple-
menting (i, j) on the length of a critical path in the resulting graph; hence,
they can be used as a criterion for choosing among the candidates.
Further, at each stage we have a ceiling or current upper bound v*
on the length of a minimaximal path in D, given by the length of the
shortest critical path found so far. Denoting by

G(Fh) = (N, ZUFh) (20)

the graph formed by dropping from Gh all currently free disjunctive arcs,

This content downloaded from


61.205.36.253 on Fri, 05 Jul 2024 12:26:56 +00:00
All use subject to https://about.jstor.org/terms
Machine Sequencing Via Disjunctive Graphs 949

and by v(Fh) the length of a critical path in G(Fh), it is obvious that


whenever
v(Fh) >?V* (21)

the graph Gh with all its potential descendants in A can be abandoned.


We start with GI= (N, ZUW+), F1= , i.e., all arcs normal and free,
and v* = oc. We associate with G1 the root of the search tree A.
A typical iteration of the algorithm may consist of the following steps.
Let Gr = (N, ZUS,) = (N, Zr) be the current graph and Fr the current
set of fixed disjunctive arcs.
1. Test step. Compute the length v(F,) of a longest path in G(Fr)=
(N, ZUFT). If v(F,)>v*, backtrack (go to step 4). Otherwise go to
step 2.
2. Evaluation step. For each jeN, compute v,(0, j) as defined by ( 11 ).
If vr(O, n) <vt, set the new ceiling at v*vr(O, n).
Identify a critical path Cr and the set B, of candidates, defined by (19).
If there are several critical paths in GC, choose any one, but only one, to
define Br.
If Br=O, backtrack (go to step 4). Otherwise, for each jeN such
that (i, j)eBr, compute vr (0, j) as defined by (13), and for each jeN such
that (j, i)eBr compute Vr(j, n) and Vr'(j, n) as defined by (12) and (14).
Then compute Ar(i, j) for each (i, j) EB, and go to step 3.
3. Forward step. Choose (i, j) eBr such that

Ar( i j) =min(h,k),Br Ar(h, k) (22)

[in case of ties, choose any arc satisfying (22)], and generate a new graph
Gs (N, Z) by complementing the (normal) arc (i, j) and fixing the
(reverse) arc (j, i), i.e., by letting

Z'= [Zr-{ (i, j)}]U { (j, i)} (23)

and Fs=FrU {I i)}. (24)


Accordingly, add to the search tree A a new node G8 and a new arc
(Gr, Gs), associated with the (reverse) arc (j, i) of the disjunctive graph D.
Then go to step 1.
4. Backtracking step. Backtrack to the predecessor G, of Gr in A.
If Gr has no predecessor, i.e., if we are instructed to backtrack from the
root of A, the algorithm terminates: the selection Sk associated with the
current v* is optimal and a longest path in Gk is minimaximal in D.
Otherwise, let (j, i) be the (reverse) arc of D associated with the back-
tracking arc (Gp, Gr) of A. Then drop all data referring to Gr, and up-
date the data for G,, by removing the (normal) arc (i, j) from the set

This content downloaded from


61.205.36.253 on Fri, 05 Jul 2024 12:26:56 +00:00
All use subject to https://about.jstor.org/terms
950 Egon Balas

B, and introducing it into


and FpU { (i, j)} respectively.
Then go to step 3.
PROPOSITION 6. The algorithm consisting of steps 1, 2, 3, and 4 above
finds a minimaximal path in D in a finite number of steps.
Proof. By Propositions 1 and 2, each graph GC generated under the
procedure is circuit-free and has a critical path. Hence, and by Propo-
sition 4, the steps of the algorithm are well-defined. (This is not true for
more general disjunctive graphs, for which Proposition 1 does not hold:
in such cases the procedure could generate a graph having no path from
source to sink-which would make the steps of the algorithm ill-defined.)
Further, since 9' is a finite set, all we have to show is that (a) all elements
of g' are explicitly or implicitly examined, and (b) no element is examined
twice, i.e., the algorithm cannot cycle.
(a) A complete enumeration of the elements of 9 can be represented
by means of a rooted tree T generated under the same rules as our search
tree A, except that the successors of Gr in T are all graphs obtainable from
GC by complementing a free arc. Obviously, A is a subtree of T.
A node GC of A (with all its descendants in T) is abandoned under the
algorithm when Test 1 is failed, or when all successors of Gr obtainable by
complementing a free arc on a critical path, have been examined. In the
first case, no descendant of Gr in T can have a shorter critical path than the
current best one, since all fixed arcs of Gh are fixed in all its descendants.
In the second case, the same conclusion follows from Proposition 3.
(b) For each node Gr of A (and of T), and for all descendants of Gr
in T, the set of fixed arcs contains all reverse arcs associated with the path
from the root of A (of T) to Gr. Let us denote this set of arcs by R.
After backtracking from Gr, the set of fixed arcs for the current node of A
(which is either an ancestor of Gr in A, or a descendant of an ancestor)
always contains the complement of at least one arc in R, namely the one
associated with the last backtracking on the path from the root to Gr.
Hence, after backtracking from Gr, the current node can never become
identical with either Gr, or any of its descendants in T.
This completes the proof of Proposition 6.
There are two computational remarks we would like to make:
1. The values vr'(0, j) and Vr'(j, n) can be computed at the same
time with Vr(O, j) and vr(j, n); thus the evaluation step involves little
more than an ordinary critical path computation.
2. Storage requirements are minimal: besides the input data (list of
nodes, list of conjunctive and disjunctive arcs with their respective lengths),
all one needs is a full characterization of the current graph Gh in terms of
the state of its disjunctive arcs (normal or reverse, free or fixed), including

This content downloaded from


61.205.36.253 on Fri, 05 Jul 2024 12:26:56 +00:00
All use subject to https://about.jstor.org/terms
Machine Sequencing Via Disjunctive Graphs 951

the order in which the fixing has occurred (this is necessary in order to
find the predecessor of Gh in A in case one has to backtrack).

ILLUSTRATION

WE NOW illustrate the algorithm by solving a small numerical machine


sequencing problem (example 1 of reference 11):

TABLE I

Item
Machine \ I 2 3

I 7 IO 9

2 II 8

Three items (lots of items) are to be processed on two machines: first on ma-
chine 1, then on machine 2. The times required for processing each item on each
machine are shown in Table I, while Table II indexes the operations. The asso-
ciated disjunctive graph is shown in Fig. 4.
The following is a brief description of the successive iterations, also illustrated
in Figs. 5, 6, and 7.
The first three graphs GhE9 are shown in Fig. 5. Critical paths are marked by
thick lines (full or broken). Heavy, solid arrows indicate fixed arcs. The numbers
in the four boxes for each node j are, from left touright, Vh'(O, W), vh(O, j), Vh(0, n) -
Vh(j, n), and Vh(O, n) -Vh'(j, n). Thus the absolute difference between the numbers
in the first two boxes is 3h(O, j), and that between the numbers in the last two
boxes is Sh(j, n).

TABLE II

Operation I 2 3 4 5 6

Item I I 2 2 3 3
Machine I 2 I 2 I 2

The other graphs Gh or Gh(Fh) generated are pictured in Fig. 6, while Fig. 7
shows the arborescence A associated with the problem.
The graph G3 is optimal. There are two minimaximal paths of length 31,
which is the minimum total time for processing the three items. The optimal
sequence of operations is given by G3.
1. We start with Gi = (X, ZUW+), F1= /, v =o.
Test: v(Fi) = 18 < oo.
Evaluation: vl =v1(O, 7) = 34, set v* 34; B1 = {(1, 3), (3, 5) }.
L,1(1, 3)=d13+d31- 1(O, 3)-36(1, 7) =7+10-7-3=7.
A1(3, 5) =d35+d53-81(O, 5) -6S(3, 7) =10+9-10-4==5.
Forward: Choose (3, 5) and generate G2 by fixing (5, 3).

This content downloaded from


61.205.36.253 on Fri, 05 Jul 2024 12:26:56 +00:00
All use subject to https://about.jstor.org/terms
952 Egon Bolas

2. F2= {(5,3)J.
Test: v(F2)=24 <34.
Evaluation: v2=39; B2 ={ (1, 5), (4, 6)1.
A2(1, 5) =7+9-7-8=1; A2(4, 6) =5+8-13-8= -8.
Forward: Choose (4, 6) and generate G3 by fixing (6, 4).
3. F3= {(5, 3), (6, 4) 1.
Test: v(F3) =24 <34.
Evaluation: v3= 31, set v* =31; B3 = {(2, 6)1 (of the two critical paths, we use
the one shown by a broken line in Fig. 5).
A3(21 6) = 11 +8-2-8 =9.
Forward: Choose (2, 6); generate G4.
4. F4= {(5, 3), (6, 4), (6, 2)}.
Test: v(F4) 28 <31.

0 \9 7 3

Figure 4

Evaluation: v4=40; B4= {(1, 5), (2, 4)1.


A4(1, 5)=7+9-7-17=-8, A4(2, 4)=11+5-9-5=2.
Forward: Choose (1, 5); generate Gs.
5. F6= {(5, 3), (6, 4), (6, 2), (5, 1)}.
Test: v(F5) =28 <31.
Evaluation: v5 33; Br = {(2, 4) 1.
A6(2, 4) = 11 +5 -2 -5 =9.
Forward: Generate G6 by fixing (4, 2).
6. F0= {(5, 3), (6, 4), (6, 2), (5, 1), (4, 2) 1.
Test: v(F6)=35>31.
Backtrack: Introduce (2, 4) into F5. Then B5 =4, hence again:
Backtrack: Introduce (1, 5) into F4. Then B4 =1(2, 4)1.
Forward: Generate G7 by fixing (4, 2).
7. F7= {(5, 3), (6, 4), (6, 2), (1, 5), (4, 2)1.
Test: v(F7) =42>31.
Backtrack: Introduce (2, 4) into F4. Then B4= 0, hence:
Backtrack: Introduce (2, 6) into F3. Then B3 = , hence:

This content downloaded from


61.205.36.253 on Fri, 05 Jul 2024 12:26:56 +00:00
All use subject to https://about.jstor.org/terms
Machine Sequencing Via Disjunctive Graphs 953

Go

7y 17 7 fJ'i JiiI
0 10~~~~~~1

II 6

00t\2
I 7Z0 0f1 0
18313

t08 7\>> ~~10 th


I 101 ..I J 7 6E

S~~~

)185a31

Figure 5

This content downloaded from


61.205.36.253 on Fri, 05 Jul 2024 12:26:56 +00:00
All use subject to https://about.jstor.org/terms
954 Egon Balas

o 40 0 333

G (Fi6) G9

o( 6)33 4 734 2

6 'fQ3)=32 5 6

____ GC'h)

a VI a

5 6 1J?36 5,) 68

G ure

Fi2)-:33

Figure 6

This content downloaded from


61.205.36.253 on Fri, 05 Jul 2024 12:26:56 +00:00
All use subject to https://about.jstor.org/terms
Machine Sequencing Via Disjunctive Graphs 955

Backtrack: Introduce (4, 6) into F2. Then B2 = { (1, 5)


Forward: Generate G8 by fixing (5, 1).
8. F8= ((5, 3), (4, 6), (S. 1).

BactrckIn (, 5) i

G6~~~~~~~~~~~~~~~

Backtrack: Introduce (3, 5) into F1. Then B1 - 1 (1, 3) } .


Forward: Generate G9 by fixing (3, 1).

This content downloaded from


61.205.36.253 on Fri, 05 Jul 2024 12:26:56 +00:00
All use subject to https://about.jstor.org/terms
956 Egon Balos

9. F9= 1(3, 5), (3, 1)}.


Test: v(F9) = 28 <31.
Evaluation: vs =41; B9 = {(2, 4), (4, 6)1
A9(2, 4)=11+5-18-5=-7; A9(4, 6)=5+8-7-8=-2.
Forward: Choose (2, 4), generate Gio.
10. F1o = {(3, 5), (3, 1), (4, 2)1.
Test: v(Flo) =28 <31.
Evaluation: vio =36; B1o = ((2, 6) }.
A10(2, 6) =11+8-2-8=9.
Forward: Fix (6, 2) and generate G1l.
11. F11= {(3, 5), (3, 1), (4, 2), (6, 2)).
Test: v(Fil) = 38 >31.
Backtrack: Introduce (2, 6) into Flo. Then Blo =q5, hence:
Backtrack: Introduce (2, 4) into F9. Then B9 - { (4, 6) 1.
Forward: Generate G12 by fixing (6, 4).
12. F12= {(3, 5), (3, 1), (2, 4), (6, 4)1.
Test: v(Fl2)=33>31.
Backtrack: Introduce (4, 6) into F9. Then B9=4, hence:
Backtrack: Introduce (1, 3) into F1. Then B1 =4, hence:
Backtrack: End.

ACKNOWLEDGMENTS

I WISH to thank a referee for his useful comments on an earlier version


of this paper. This report was partially supported by IBM's New York
Scientific Center. It was prepared as part of the activities of the Manage-
ment Sciences Research Group, Carnegie-Mellon University, under a
contract with the US Office of Naval Research.

REFERENCES

1. S. M. JOHNSON, "Optimal Two- and Three-Stage Production Schedules with


Set-Up Times Included," Naval Res. Log. Quart. 1, 61-68 (1954).
2. F. H. BOWMAN, "The Schedule-Sequencing Problem," Opns. Res. 7, 621-624
(1959).
3. H. WAGNER, "An Integer Programming Model for Machine Scheduling,"
Naval Res. Log. Quart. 6, No. 2 (1959).
4. G. B. DANTZIG, "A Machine-Job Scheduling Model," Management Sci. 6, 191-
196 (1960).
5. A. S. MANNE, "On the Job-Shop Scheduling Problem," Opns. Res. 8, 219-223
(1960).
6. B. GIFFLER AND G. L. THOMPSON, "Algorithms for Solving Production Schedu-
ling Problems," Opns. Res. 8, 487-503 (1960).
7. L. NPMETI, "Das Reihenfolgeproblem in der Fertigungsprogrammierung und
Linearplanung mit logischen Bedigungen," Mathematika 6(29) (1964).
8. S. ROY AND B. SUSSMAN, "Les problemes d'ordonnancement avec contraintes
disjonctives," SEMA, Note D.S. No. 9 bis (decembre 1964).

This content downloaded from


61.205.36.253 on Fri, 05 Jul 2024 12:26:56 +00:00
All use subject to https://about.jstor.org/terms
Machine Sequencing Via Disjunctive Graphs 957

9. R. W. CONWAY, W. L. MAXWELL, AND L. W. MILLER, Theory of Scheduling,


Addison-Wesley, New York, 1964.
10. E. BALAS, "Finding a Minimaximal Path in a Disjunctive PERT Network,"
Theorie des Graphes, Journ6es internationales d'etude, Rome, Juillet 1966,
Dunod, Paris-Gordon and Beach, pp. 21-30, New York, 1967.
11. , "Discrete Programming by the Filter Method," Opns. Res. 15, 915-
957 (1967).
12. -, "An Additive Algorithm for Solving Linear Programs with Zero-One
Variables," Opns. Res. 13, 517-546 (1965).
13. , "Project Scheduling with Resource Constraints," Proceedings of the
NATO Conference on Applications of Mathematical Programming, Cambridge
(England), June 24-28, 1968.
14. J. F. RAIMOND, "An Algorithm for the Exact Solution of the Machine Schedul-
ing Problem," IBM, New York Scientific Center Report No. 320-2930
(February 1968).
15. E. BALAS, "Machine Sequencing: Disjunctive Graphs and Degree-Constrained
Subgraphs," IBM, New York Scientific Center Report No. 320-2971 (April
1969).

This content downloaded from


61.205.36.253 on Fri, 05 Jul 2024 12:26:56 +00:00
All use subject to https://about.jstor.org/terms

You might also like