Download as pdf or txt
Download as pdf or txt
You are on page 1of 18

Journal of Manufacturing Technology Management

Quick value-setting algorithms for the longest path problem of job-shop scheduling
Shiu Hong Choi Feng Yu Yang
Article information:
To cite this document:
Shiu Hong Choi Feng Yu Yang, (2005),"Quick value-setting algorithms for the longest path problem of job-
shop scheduling", Journal of Manufacturing Technology Management, Vol. 16 Iss 8 pp. 956 - 972
Permanent link to this document:
http://dx.doi.org/10.1108/17410380510627906
Downloaded on: 01 February 2015, At: 05:48 (PT)
References: this document contains references to 21 other documents.
Downloaded by Tulane University At 05:48 01 February 2015 (PT)

To copy this document: permissions@emeraldinsight.com


The fulltext of this document has been downloaded 506 times since 2006*

Access to this document was granted through an Emerald subscription provided by 402646 []
For Authors
If you would like to write for this, or any other Emerald publication, then please use our Emerald for
Authors service information about how to choose which publication to write for and submission guidelines
are available for all. Please visit www.emeraldinsight.com/authors for more information.
About Emerald www.emeraldinsight.com
Emerald is a global publisher linking research and practice to the benefit of society. The company
manages a portfolio of more than 290 journals and over 2,350 books and book series volumes, as well as
providing an extensive range of online products and additional customer resources and services.
Emerald is both COUNTER 4 and TRANSFER compliant. The organization is a partner of the Committee
on Publication Ethics (COPE) and also works with Portico and the LOCKSS initiative for digital archive
preservation.

*Related content and download information correct at time of download.


The Emerald Research Register for this journal is available at The current issue and full text archive of this journal is available at
www.emeraldinsight.com/researchregister www.emeraldinsight.com/1741-038X.htm

JMTM
16,8 Quick value-setting algorithms
for the longest path problem of
job-shop scheduling
956
Shiu Hong Choi and Feng Yu Yang
Department of Industrial and Manufacturing Systems Engineering,
Received March 2004
Revised September 2004 The University of Hong Kong, Hong Kong, People’s Republic of China
Accepted October 2004

Abstract
Purpose – The disjunctive graph is a network representation of the job-shop scheduling problem,
Downloaded by Tulane University At 05:48 01 February 2015 (PT)

while the longest path problem (LPP) is one of the most important subjects in this research field.
This paper aims to study the special topological structure of the disjunctive graph, and proposes a
suite of quick value-setting algorithms for solving the LPPs commonly encountered in job-shop
scheduling.
Design/methodology/approach – The topological structure of the disjunctive graph is analyzed,
and some properties and propositions regarding LPPs are presented. Subsequently, algorithms are
proposed for solving LPPs encountered in job-shop scheduling.
Findings – The proposed algorithms significantly improve the efficiency of the shifting-bottleneck
procedure, making it practicable to realise real-time scheduling and hence effective operations of
modern manufacturing systems.
Originality/value – The paper demonstrates that it is possible to develop very efficient algorithms
by imposing a special topological structure on the network.
Keywords Optimized production scheduling, Programming and algorithm theory
Paper type Conceptual paper

Nomenclature
J ¼ set of jobs I ¼ dummy source vertex
M ¼ set of machines O ¼ dummy sink vertex
Q ¼ set of operations m(v) ¼ weight of vertex v
m ¼ number of machines (v, w) ¼ vertex pair with precedence
n ¼ number of jobs relation
c ¼ number of operations of all jobs [v, w ] ¼ directed arc from vertex v to w
pi ¼ processing time of operation i {v, w} ¼ disjunctive edge linking vertex
ri ¼ release time of operation i v and w
qi ¼ delivery time of operation i M0 ¼ set of scheduled machines
ti ¼ start time of operation i for DS ¼ directed graph (digraph)
processing D ¼ semi-digraph
tn ¼ solution makespan P(v, w) ¼ path from vertex v to w
J(i ) ¼ job to which operation i belongs Pmax(v, w) ¼ the longest path from vertex v
M(i ) ¼ machine on which operation i is to w
Journal of Manufacturing Technology processed Pmax(w) ¼ the longest path from I to w
Management
Vol. 16 No. 8, 2005 G ¼ disjunctive graph l(P(v, w)) ¼ the length of the path P
pp. 956-972 V ¼ set of vertices R ¼ binary precedence relation of
q Emerald Group Publishing Limited
1741-038X
A ¼ set of directed arcs operations belonging to the
DOI 10.1108/17410380510627906 E ¼ set of disjunctive edges same job
S ¼ binary precedence relation of JC(k) ¼ job chain of job k Quick
operations processed on the xCV(k) ¼ current vertex of job k
same machine N ¼ natural numbers value-setting
predJ(w) ¼ adjacent predecessor of C ¼ total number of times of algorithms
operation (vertex) w in its job solving the longest path
chain problems
predM(w) ¼ adjacent predecessor of TCC ¼ theoretical computing cost
operation (vertex) w in its incurred by the longest path 957
machine chain problems
succJ(w) ¼ adjacent successor of operation T(i ) ¼ computing time of algorithm j
(vertex) w in its job chain for the longest path problem
succM(w) ¼ adjacent successor of operation Tmean ¼ mean computing time
(vertex) w in its machine chain RD/Q ¼ ratio of the computing time of
b(v, w) ¼ determination status of SBDL to that of SBQV
Pmax(v, w) R(D/Q)mean ¼ mean value of RD/Q
Downloaded by Tulane University At 05:48 01 February 2015 (PT)

1. Introduction
Modern manufacturing has been facing huge pressure from global competition and
market changes. There is a growing demand to manufacture products in wide varieties
with short development cycles. Therefore, effective scheduling policies are required to
plan the operations of manufacturing systems in order to cope with the increasing job
processes and workflow patterns efficiently.
Job-shop scheduling problem (JSSP) plays an important role in production
scheduling. It is a mathematical optimization problem to allocate and sequence jobs
under the constraints of limited production resources, time, and precedence of
operations, etc. with optimization objectives such as minimizing maximum tardiness
and mean flow time (Jeong et al., 1999). In general, the optimality of the obtained
solutions and reduction in the computing costs are among the ultimate goals. Although
many scheduling algorithms were developed to obtain optimal or near-optimal
solutions to JSSPs (Jain and Meeran, 1999), they have become inapt and can no longer
satisfy the needs of modern manufacturing. There is, indeed, an increasing need for
more efficient scheduling algorithms to solve large JSSPs for real-time production
scheduling.
The disjunctive graph (Roy and Sussmann, 1964) is a network representation of
JSSP and its solutions. It is more prevalent than the Gantt chart (Blazewicz et al., 1996),
which has traditionally been a popular method to represent JSSP solutions. The
disjunctive graph is indeed the basis on which some heuristic methods (Lin and Tsai,
1991; Wu et al., 1999), some branch-and-bound methods (Ashour et al., 1974; Carlier and
Pinson, 1989), the shifting-bottleneck procedure (SBP) (Adams et al., 1988), and the
neighbourhood structure of some local search methods (Wang and Wu, 1999) are
constructed.
The significance of the disjunctive graph in job-shop scheduling has attracted
considerable attention. Its properties and calculating rules have been well presented,
whereas the longest path problem (LPP) is one of the most important subjects. The
LLPs are often encountered in the machine-based decomposition method, which breaks
a JSSP down into a number of single-machine problems and puts the single-machine
solutions together to create a full solution. Traditionally, the label-setting methods and
JMTM the label-correcting methods (Dijkstra, 1959; Ford and Fulkerson, 1956), which were
proposed for solving the shortest path problems of general networks, are directly used
16,8 to solve LPPs in the disjunctive graph. Adams et al. (1988) applied a modified labelling
algorithm, which is based on deleting or simply ignoring irrelevant arcs of the
resulting diagraph with O(c) complexity, where c is the number of operations, to solve
LPPs encountered in SBP. Demirkol et al. (1997) reported that a method described by
958 Ahuja et al. (1993), which is a kind of the label-setting or the label-correcting algorithms
with O(c 2) complexity in the worst case, had been used in their implementation of SBP.
Wang and Wu (1999) implemented the label-setting algorithms and the label-correcting
algorithms to calculate the total tardiness of jobs as the cost function of an annealing
simulating algorithm. Liaw (1998) applied the label-correcting method to compute the
start/end time to convert the sequencing component into the scheduling component for
an open-shop scheduling problem.
Since the topological structure of the disjunctive graph is different from that of
Downloaded by Tulane University At 05:48 01 February 2015 (PT)

general networks, the label-setting and label-correcting methods perform poorly for
solving LPPs often encountered in job-shop scheduling. Indeed, the procedure to solve
LPPs is very time-consuming (Adams et al., 1988). Hence, if more efficient algorithms
for LPPs of the disjunctive graph are developed, the computing time of job-shop
scheduling methods based on or related to the disjunctive graph can be significantly
reduced without diminishing solution quality. As a result, the conflicting goals of
reducing computing time and of enhancing solution quality are mutually achieved.
It would also be possible to develop very efficient scheduling algorithms if a special
topological structure is imposed on the underlying network (Ahuja et al., 1993).
In this paper, the topological structure of the disjunctive graph is analyzed, and
some useful properties and propositions regarding LPPs are presented. Subsequently,
algorithms are proposed for solving LPPs encountered in job-shop scheduling. They
provide a framework for incorporation of efficient scheduling algorithms to solve large
JSSPs, as required for real-time production scheduling of modern manufacturing.
The rest of the paper is arranged as follows. Section 2 formulates LPPs after
introducing the disjunctive graph and the types of LPPs encountered in job-shop
scheduling. Section 3 analyses the topological structure and properties of the
disjunctive graph, and then proposes a suite of algorithms for LPPs. Section 4 presents
the comparison results of the conventional methods and the proposed methods
incorporated into SBP. Finally, conclusions are drawn in Section 5.

2. Problem formulation
In a typical job-shop, there are a job set, J, a machine set, M, and an operation set, Q.
For each operation v [ Q, there is a unique job J ðvÞ [ J to which it belongs, a unique
machine M ðvÞ [ M on which it requires processing, and a processing time pv [ N
where N is natural numbers. The jobs are to be processed on the machines with the
objective of minimizing some functions, subject to the constraints that:
(1) the sequence of machines for each job is prescribed, and
(2) each machine can process only one job at a time. A JSSP solution is indeed a set
of job sequences representing the processing order on the machines.

The disjunctive graph, G ¼ ðV ; A; EÞ, is a network representing a JSSP. The set of


vertices, V, corresponds to the operations, including a dummy source vertex, I, and
a dummy sink vertex, O (Steinhofel et al., 1999). The set of directed arcs, A, represents Quick
the precedence relations of operations, and the set of disjunctive arcs, E, denotes pairs
of operations performed on the same machine. The disjunctive graph can be defined as
value-setting
follows. algorithms
V ¼ Q < {I ; O}; ð1Þ
959
A ¼ {½v; wjv; w [ Q; ðv; wÞ [ R} < {½I ; wjw [ Q} < {½v; Ojv [ Q}; ð2Þ

E ¼ {{v; w}jv; w [ Q; v – w; M ðvÞ ¼ M ðwÞ}: ð3Þ


If any two vertices, v and w, are linked by a directed arc, [v, w ], then v is called the
adjacent predecessor of w, and w is called the adjacent successor of v. All the vertices in
V are weighted, and the weight of vertex v, m(v), m:V ! N, is given by the processing
Downloaded by Tulane University At 05:48 01 February 2015 (PT)

time pv, i.e.


mðvÞ ¼ pv ; mðI Þ ¼ mðOÞ ¼ 0: ð4Þ
The source vertex, I, has arcs emanating to the first operations of jobs, and the sink
vertex, O, has arcs coming from the final operations of jobs. Figure 1 shows a
disjunctive graph corresponding to a JSSP with four machines and five jobs, which was
drawn by Adams et al. (1988).
The directed arcs only exist between operations belonging to the same job. For a
JSSP solution, the disjunctive edges are replaced with the directed arcs since the job
sequences of all the machines are determined. Thus a feasible solution, S, corresponds
to an acyclic directed graph (called digraph), DS, which is given by
DS ¼ ðV ; A < dðEÞÞ; ð5Þ
where d is an orientation function to determine the direction of the disjunctive edges
such that
dð{v; w}Þ [ {½v; w; ½w; v}: ð6Þ

Figure 1.
The disjunctive graph of a
JSSP
JMTM In the case that partial machines are scheduled, only the job sequences of the scheduled
machines are fixed. Then the corresponding semi-digraph, D, is constructed by
16,8 replacing the disjunctive edge set Ep with dðE p Þ, i.e.
D ¼ ðV ; A < dðE p Þ; E 2 E p Þ; p [ M 0 : ð7Þ
where M0 is the set of scheduled machines. Thus the disjunctive graph G and the
960 digraph DS can be regarded as special cases of the semi-digraph D, i.e.
8
>
> ðV ; A; EÞ ¼ G; jM 0 j ¼ 0;
<
D ¼ ðV ; A < dðE p Þ; E 2 E p Þ; while 0 , jM 0 j , jM j; ð8Þ
>
>
: ðV ; A < dðEÞÞ ¼ DS ; jM 0 j ¼ jM j:

A path, P, from vertex xi to vertex xj in the semi-digraph D, is a sequence of vertices, i.e.


Downloaded by Tulane University At 05:48 01 February 2015 (PT)

Pðxi ; xj Þ ¼ ðxi ; xiþ1 ; . . . ; xj Þ; i and j [ N ; i , j; xi and xj [ V ; ð9Þ


such that for any vertex, xk, ½xk , xkþ1  [ A < dðE p Þ, p [ M 0 , while i # k # j, i.e. all
directed arcs [xk, xkþ 1] on a path P(xi, xj) are conjunctive. The length of a path P(xi, xj) is
defined as:
X
j
lðPðxi ; xj ÞÞ ¼ mðxk Þ: ð10Þ
k¼i

The longest path, Pmax(xi, xj), is a path from xi, to xj with the maximum length, i.e.
;Pðxi ; xj Þ [ D : lðPðxi ; xj ÞÞ # lðP max ðxi ; xj ÞÞ: ð11Þ
Let v and w denote the start and the end vertices of a path, respectively. LPPs can be
divided into three sub-types in job-shop scheduling. The first type of LPPs is to calculate
the length of the longest path from the source vertex, I, to any other vertex, w, i.e.
lðP max ðI ; wÞÞ, w [ V 2 {I }, which is referred to as the longest path length of w, or
Pmax(w). The second type of LPPs is to calculate the length of the longest path from any
vertex, v, other than the sink vertex O, to O, i.e. lðP max ðv; OÞÞ, v [ V 2 {O}, which is
referred to as the reverse longest path length of v. The third type is to calculate the length
of the longest path between any two vertices other than the source and the sink vertices,
i.e. lðP max ðv; wÞÞ, where v; w [ V 2 {I ; O}, which is referred to as the all-pair LPP.
By solving the first type of LPPs, the following three problems can be solved:
(1) Deriving the processing schedule, i.e. a timetable about the start/finish times for
various operations, from the obtained job sequences of the machines. The start
time, tw, of operation w is exactly the longest path length of the corresponding
vertex in DS, i.e.
t w ¼ lðP max ðwÞÞ: ð12Þ

(2) Calculating the makespan of a solution, tn. In fact, the makespan of a solution is
equal to the length of the longest path from vertex I to vertex O in DS, which is
referred to as Pmax, i.e.
tn ¼ lðP max Þ: ð13Þ Quick
value-setting
(3) Calculating the release time, rw, of operation w. When deriving a single-machine algorithms
scheduling problem from a JSSP, which is usually encountered in the
machine-based decomposition method, the release time and the delivery time of
each operation are acquired. In fact, the release time rw is equal to the longest 961
path length of w in D, i.e.
r w ¼ lðP max ðwÞÞ: ð14Þ

The second type of LPPs is applied in calculating the delivery time of the operation,
which is equal to the reverse longest path length of the corresponding operation minus
its processing time, i.e.
Downloaded by Tulane University At 05:48 01 February 2015 (PT)

qv ¼ lðP max ðv; OÞÞ 2 pv : ð15Þ


In the single-machine scheduling of the machine-based decomposition method for
JSSP, each time an operation, v, is scheduled, the release time of other unscheduled
operations processed on the same machine, say w, M ðvÞ ¼ M ðwÞ, may have to be
updated by solving the third type of LPPs, i.e.
r w ¼ Maxðr w ; t v þ lðP max ðv; wÞÞÞ: ð16Þ

3. The proposed methods for LPPS


3.1 The topological structure and properties of the disjunctive graph
In a JSSP, there exist two types of operation chains, namely, job chains and
machine chains. The operations that belong to the same job compose a job chain,
while the operations processed on the same machine compose a machine chain.
For each vertex, xi, where xi [ V 2 {I ; O}, there is at most one operation, xj, such
that
½xi ; xj  [ A; J ðxi Þ ¼ J ðxj Þ; ð17Þ
where J(xi) is the job to which operation xi belongs, whereas there is no such a
vertex, xk, that
½xi ; xk  [ A while k – i and J ðxi Þ ¼ J ðxk Þ; ð18Þ
or
½xk ; xj  [ A while k – j and J ðxk Þ ¼ J ðxj Þ: ð19Þ
In other words, for any vertex other than I and O, there is at most one adjacent
predecessor vertex and at most one adjacent successor vertex in its job chain.
At the same time, the set V is decomposed into machine chains, Vp, where p [ M ,
so that
;w [ V p ; M ðwÞ ¼ p; ð20Þ
JMTM where M(w) is the machine on which operation w is processed. In the semi-digraph
D, directed arcs exist only in two situations, i.e. when ½v; w [ A or ½v; w [ dðE p Þ,
16,8 where p [ M 0 .
P1. For any vertex w, w [ V 2 {I ; O}, in a semi-digraph D, there are at most two
adjacent predecessors and two adjacent successors, i.e. the adjacent
successors in the job chain and the machine chain, succJ(w) and succM(w),
962 and the adjacent predecessors in the job chain and the machine chain, predJ(w)
and predM(w).
P2. For a vertex w, w [ V 2 {I }, in semi-digraph D, if Pmax(w) is determined,
then Pmax(predJ(w)) and Pmax(predM(w)) must be determined. On the other
hand, if Pmax(w) is not determined, then neither Pmax(succJ(w)) nor
Pmax(succM(w)) can be determined.
Downloaded by Tulane University At 05:48 01 February 2015 (PT)

Proof. According to P1, all the paths from I to w must pass through predJ(w) or
predM(w). Set e ¼ predJ ðwÞ and f ¼ predM ðwÞ, then it can be deduced that
lðP max ðwÞÞ ¼ MaxðlðP max ðeÞÞ þ mðeÞ; lðP max ð f ÞÞ þ mð f ÞÞ: ð21Þ
J M
If Pmax(pred (w)) and Pmax(pred (w)) are not determined, Pmax(w) cannot be determined.
Similarly, if Pmax(w) is not determined, then neither Pmax(succJ(w)) nor Pmax(succM(w))
can be determined. A
According to P1 and P2, the available conditions to determine Pmax(w), where
w [ V 2 {I }, can be denoted as:
(
bðI ; predJ ðwÞÞ ¼ bðI ; predM ðwÞÞ ¼ 1;
ð22Þ
bðI ; wÞ ¼ 0;

where bðxi ; xj Þ ¼ 1, if Pmax(xi,xj) has been determined, otherwise bðxi ; xj Þ ¼ 0. Any


vertex satisfying Condition (22) is called an available vertex. The source vertex, I, is
always available. Consider a job chain, ðI ; x1 ; x2 ; . . . ; xm ; OÞ, vertex xk is called the
current vertex of the job chain while regarding I as x0 and satisfying the condition of
(
bðI ; xk21 Þ ¼ 1;
ð23Þ
bðI ; xk Þ ¼ 0; 1 # k # m:

P3. The current vertex xk is an available vertex if the following condition is


satisfied.
(
M ðxk Þ  M 0 ;
ð24Þ
bðI ; predM ðxk ÞÞ ¼ 1; M ðxk Þ [ M 0 :

Proof. Since the processing sequence of the operations in the job chain is
predetermined, i.e.
xk21 ¼ predJ ðxk Þ: ð25Þ Quick
value-setting
According to the definition of current vertex specified in condition (23), it can be algorithms
deduced that

(
bðI ; predJ ðxk ÞÞ ¼ 1: 963
ð26Þ
bðI ; xk Þ ¼ 0; 1 # k # m:

The combination of conditions (24) and (26) shows that condition (22) is satisfied.
Therefore, the vertex xk is an available vertex. A

3.2 The proposed quick value-setting algorithm


Downloaded by Tulane University At 05:48 01 February 2015 (PT)

P1 and P2 specify the special topological structure and the property that distinguish
the disjunctive graph from general networks. Since a current vertex is more likely to be
available than others, a quick value-setting (QV) algorithm is proposed based on P3.
The algorithm searches available vertices in the current vertices and calculates the
longest path length of the first encountered available vertex. Since there is at most one
current vertex in each job chain, it costs at most n times to find the next available
vertex. In comparison, the traditional label-setting algorithms cost mn times in this
procedure.
Denote JC(k) as the job chain of job k, and xCV(k) as the current vertex of job k. Set
e ¼ predJ ðxCVð jÞ Þ, f ¼ predM ðxCVð jÞ Þ, and m, n the numbers of machines and jobs. Set a
vertex index, index(w), for each vertex w, w [ V , to record its longest path. The QV
algorithm is given in Figure 2.
The proposed QV algorithm calculates the longest path from the source vertex I to
w, w [ V 2 {I }, in a forward manner. Since the longest path length from v, where
v [ V 2 {O}, to the sink vertex O is equal to that from O to v, it can be calculated by
the QV algorithm while regarding the sink vertex as the source vertex and reversing
the orientations of all directed arcs in D. Setting g ¼ succJ ðxcvð jÞ Þ and h ¼ succM ðxcvð jÞ Þ,
a reverse QV algorithm is proposed for the reverse LPP, as shown in Figure 3.
In the single-machine scheduling procedure of the machine-based decomposition
method, the release-times of unscheduled operations need to be updated as described in
equation (16). Conventionally, a method for solving the all-pair LPP in Oðm 3 n 3 Þ times
(Ahuja et al., 1993) is implemented to check one unscheduled operation each time. In
this paper, a practical algorithm, which checks and updates all unscheduled operations
in a run, as shown in Figure 4, is proposed based on the following proposition.
P4. If the longest path length of v, where v [ V 2 {I ; O}, is changed when a
disjunctive edge is orientated as a directed arc in D, then the longest path
length of a successor of v, say g, may be changed, i.e.

lðP max ðgÞÞ ¼ MaxðlðP max ðgÞÞ; lðP max ðvÞÞ þ lðP max ðv; gÞÞÞ: ð27Þ

If l(Pmax(v)) is not changed, l(Pmax(g)) cannot be affected by vertex v, though it may be


changed by its other predecessors.
JMTM
16,8

964
Downloaded by Tulane University At 05:48 01 February 2015 (PT)

Figure 2.
The QV algorithm

3.3 Performance assessment of the proposed algorithms


The QV algorithm and its reverse version determine the lengths of the longest paths
for all operations in O(mc) times, where c ¼ mn is the total number of operations of all
the jobs. The computing time is allocated to the following two basic operations:
(1) Node selections. In the worst case, the selection process cost m times to find
an available vertex and to determine its longest path. The algorithm iterates
the selection process for a total of c vertices, costing in the worst case O(mc)
times.
Quick
value-setting
algorithms

965
Downloaded by Tulane University At 05:48 01 February 2015 (PT)

Figure 3.
The reverse value-setting
algorithm

Figure 4.
The release-time updating
algorithm

(2) Length determination. The algorithm determines the longest path length of an
available vertex in O(1) times. Hence a total of O(mc) times is required for
obtaining the longest path lengths of all the vertices.

In order to verify the performance of the proposed algorithms, a theoretical computing


cost (TCC) is introduced to represent the total time required for solving the LPPs.
JMTM Since SBP is a machine-based decomposition method containing all types of LPPs in
16,8 the disjunctive graph, the TCC value of SBP is calculated. It is the product of the total
number of LPPs encountered and the time to solve a LPP. The straight version of SBP
is described briefly as follows. It solves a JSSP by iteratively scheduling jobs processed
on the same machine, one by one, till all machines are scheduled. At intermediate
iterations, some machines have been scheduled and others remain unscheduled. A
966 single-machine problem with release and delivery times is identified and solved with
each unscheduled machine. The makespan of the single-machine solution is taken as
the value of an unscheduled machine. The machine with the largest value is selected as
the bottleneck machine, which will be scheduled next. Each time a bottleneck machine
is identified and solved, machines previously scheduled are re-optimized in light of the
current situation. In the re-optimisation procedure, the value of each scheduled
machines is calculated while keeping the job sequences of other scheduled machines.
If an improvement is found, the new single-machine solutions substitute the old ones,
Downloaded by Tulane University At 05:48 01 February 2015 (PT)

and the procedure is repeated at most three times. After these so-called local
re-optimization cycles, the procedure is repeated after the last a non-critical machines
are removed from the list of scheduled machines. They are rescheduled one by one,
1=2
where a is taken to be the minimum of jM j and the number of non-critical scheduled
machines. When these non-critical machines are rescheduled, the re-optimization
procedure is completed.
P5. In a straight version of SBP, the value of TCC is more than ð7m 4 þ 13m 3 Þn in
the worst case.

Proof. In a straight version of SBP, the LPP and the reverse LPP are encountered in
the generation procedure of SMSPs and in the re-optimization procedure each time a
machine is scheduled. Let jM 0 j denotes the number of scheduled machines, then
jM j 2 jM 0 j SMSPs are generated and solved for selecting the next bottleneck machine.
The number of LPPs encountered is
C1 ¼ ðjM j 2 jM 0 jÞ £ 2 ¼ 2ðm 2 jM 0 jÞ: ð28Þ
In a local re-optimization cycle, each scheduled machine is re-generated and solved
while the job sequences on the other scheduled machines as fixed. As long as
jM 0 j , jM j, at most three local re-optimization cycles are gone through, while the local
re-optimization procedure is continued till there is not further improvement for a full
cycle when jM 0 j ¼ jM j. Thus the number of LPPs encountered in the local
re-optimization procedure is
C2 ¼ ðjM 0 j þ 1Þ £ 2 £ 3: ð29Þ
In fact, a full re-optimization is composed of a local re-optimization and a
post-optimization. A post-optimization means removing the last a non-critical
machines from the scheduled machine set and reintroducing these machines,
successively, where a is the minimum of jM 0 j1=2 and the number of non-critical
machines in M0, i.e.
 
a ¼ Min jM 0 j1=2 ; jN ðM 0 Þj : ð30Þ
where N(M0) is the set of no-critical machines in M0, i.e. Quick
;w [ N ðM 0 Þ; for w  P max : ð31Þ value-setting
Thus in the worst case, a ¼ jM 0 j
1=2
. The number of LPPs encountered in the
algorithms
post-optimization procedure is
X
a   967
C3 ¼ ðjM j 2 jM 0 j þ i Þ £ 2 þ ðjM 0 j 2 i þ 1Þ £ 2 £ 3 : ð32Þ
i¼1

And in the worst case,


3=2 1=2
C3 ¼ 4jM 0 j 2 2jM 0 j þ ð2m þ 4ÞjM 0 j : ð33Þ
3=2
Since jM 0 j . jM 0 j and jM 0 j $ 1,
Downloaded by Tulane University At 05:48 01 February 2015 (PT)

C3 . 4jM 0 j 2 2jM 0 j þ ð2m þ 4Þ ¼ 2jM 0 j þ 2m þ 4; ð34Þ


set j ¼ jM 0 j, then the total number of LPPs encountered in a SBP is
X
m X
m
C¼ ðC1 þ C2 þ C3Þ . ð6j þ 4m þ 10Þ ¼ 7m 2 þ 13m: ð35Þ
j¼1 j¼1

Hence, the TCC, as defined above, is given by


TCC ¼ C £ mc . ð7m 2 þ 13mÞ £ mc ¼ ð7m 4 þ 13m 3 Þn: A ð36Þ
The value of TCC shows that the time for solving LPPs in a SBP is a function of the
numbers of machines and jobs. Since the function value increases exponentially with
the increase of m and n, even a slight improvement on the method for solving LPPs will
result in a dramatic reduction in the overall time for solving the JSSP.

4. Computational experiments
Traditional algorithms and the proposed algorithms for LPPs are incorporated with the
straight version of SBP separately to measure their efficiency. The comparison results on
the benchmark instances, LA1-LA40 (Lawrence, 1984), SWV6-10 (Storer et al., 1992) and
YN1-4 (Yamada and Nakano, 1992), are shown in Table I. Computational experiments are
listed in ascending order of their dimensions. SBDL stands for the modified SBP of
Dauzere-Peres and Lasserre (1993), while SBCL and SBQV denote the SBP with the
conventional label-correcting (CL) algorithm and the proposed QV algorithm for solving
LPPs, respectively. The data for SBDL, which were obtained by implementing the
algorithm on a SUN4 workstation, were extracted from Balas’ work (1995), while the data
for SBCL and SBQV were obtained on a Pentium III 650 MHz computer.
Since the computing times for solving problems with the same number of machines
and jobs vary slightly, Tmean is used to denote the mean computing time of a group of
problems with the same numbers of machines and jobs. Figure 5 shows distributions of
the mean computing times of different algorithms. The category axis shows the sizes of
the problems in ascending order of their TCC values, while the value axis denotes the
computing times on a logarithmic scale. The TCC values of the problem groups are
shown as a reference line.
Downloaded by Tulane University At 05:48 01 February 2015 (PT)

16,8

968

Table I.
JMTM

different algorithms
The computing time of
Computing time (s)
SBDL (SUN 4) SBCL (PIII-650) SBQV (PIII-650)
Problem m n TCC (million) T(SBDL) Tmean T(SBCL) Tmean T(SBQV) Tmean RD/Q R(D/Q)mean

LA1 5 10 0.5 0.015 0.001 500


LA2 5 10 1.6 0.016 0.001 1600
LA3 5 10 0.060 1.2 0.78 0.016 0.016 0.001 0.001 1200 780
LA4 5 10 0.3 0.015 0.001 300
LA5 5 10 0.3 0.016 0.001 300
LA6 5 15 1.3 0.031 0.001 1300
LA7 5 15 1.2 0.047 0.001 1200
LA8 5 15 0.090 3.4 1.48 0.109 0.053 0.001 0.001 3400 1480
LA9 5 15 0.8 0.047 0.001 800
LA10 5 15 0.7 0.031 0.001 700
LA11 5 20 1.6 0.125 0.001 1600
LA12 5 20 1.4 0.109 0.001 1400
LA13 5 20 0.120 2.0 1.52 0.094 0.122 0.001 0.001 2000 1520
LA14 5 20 1.1 0.093 0.001 1100
LA15 5 20 1.5 0.187 0.001 1500
LA16 10 10 12.3 1.250 0.015 820
LA17 10 10 12.0 0.719 0.016 750
LA18 10 10 0.830 10.3 11.76 0.735 0.813 0.015 0.015 687 765
LA19 10 10 13.2 0.765 0.015 880
LA20 10 10 11.0 0.594 0.016 688
LA21 10 15 29.3 6.281 0.046 637
LA22 10 15 31.5 8.906 0.031 1016
LA23 10 15 1.245 33.4 30.22 2.687 6.012 0.032 0.037 1044 845
LA24 10 15 28.7 2.875 0.031 926
LA25 10 15 28.2 9.312 0.047 600
LA26 10 20 65.2 31.81 0.063 1035
LA27 10 20 82.5 22.53 0.047 1755
(continued)
Downloaded by Tulane University At 05:48 01 February 2015 (PT)

Computing time (s)


SBDL (SUN 4) SBCL (PIII-650) SBQV (PIII-650)
Problem m n TCC (million) T(SBDL) Tmean T(SBCL) Tmean T(SBQV) Tmean RD/Q R(D/Q)mean

LA28 10 20 1.660 62.7 71.04 27.63 29.5 0.046 0.047 1363 1644
LA29 10 20 76.3 31.88 0.031 2461
LA30 10 20 68.5 33.84 0.047 1457
LA31 10 30 90.3 672.7 0.109 828
LA32 10 30 58.0 224.6 0.094 617
LA33 10 30 2.490 54.3 81.16 283.9 487.8 0.109 0.103 498 775
LA34 10 30 160.1 498.6 0.109 1469
LA35 10 30 43.1 759.1 0.093 463
LA36 15 15 122.4 120.4 0.063 1943
LA37 15 15 101.6 269.1 0.110 924
LA38 15 15 5.974 128.0 113.54 108.2 160.0 0.094 0.091 1362 1305
LA39 15 15 102.8 150.4 0.094 1094
LA40 15 15 112.9 152.0 0.094 1201
SWV6 15 20 – 42386 0.172 –
SWV7 15 20 – 29808 0.156 –
SWV8 15 20 7.965 – – 33704 34837 0.172 0.169 – –
SWV9 15 20 – 43290 0.171 –
SWV10 15 20 – 24995 0.172 –
YN1 20 20 – – 18672 0.250 –
YN2 20 20 24.480 – 20675 22012 0.282 0.277 – –
YN3 20 20 – 20523 0.296 –
YN4 20 20 – 28179 0.281 –
value-setting
algorithms
Quick

969

Table I.
JMTM
16,8

970

Figure 5.
The computing time of
different algorithms

It can be seen that the computing time of SBCL increases significantly with the numbers
Downloaded by Tulane University At 05:48 01 February 2015 (PT)

of machines and jobs, while the increase of computing time of SBQV is much less
dramatic, which shows that SBQV is more efficient than SBCL in the range of a dozen to
a few hundred thousands times. On the other hand, the reference line is almost parallel
to the line of SBQV, which confirms the complexity analysis of the proposed algorithms
and the observations made in P5.
Since the computing times of SBDL and SBQV cannot be compared directly because
they were run on different hardware platforms, Table I also presents the ratio of the
computing time of SBDL to that of SBQV as RD=Q ¼ TðSBDL Þ=TðSBQV Þ, and the mean
ratio of the computing time of SBDL to that of SBQV, R(D/Q)mean, for each problem
groups.
Figure 6 shows the R(D/Q)mean for different problem groups. An upper bound line,
which was derived from the ratio of the composite theoretical performance (CTP) of
PIII-650 to that of SUN4 workstation, is provided for reference. CTP is a current
criterion used as an industry standard performance indicator and is measured in units
called million theoretical operations per second (MTOPS). The CTP in MTOPS of
PIII-650 is 1516.7 while the value of SUN4 is ranged from 4.4 to 22.2. This means a
computing cost of 1 s on a PIII-650 is equivalent to 344.7 or 68.3 s on a SUN4 station of

Figure 6.
The mean ratio of the
computing times
lower-end or higher-end configuration, respectively. As shown in Table I, the range of Quick
R(D/Q)mean is between 765 and 1,644. It may, therefore, be said that SBQV out-performs value-setting
SBDL by a factor in the range of 2.22-24.07. Hence, the proposed algorithms are deemed
efficient for real-time job-shop scheduling. Indeed, they will have significant impacts algorithms
on effective operations of modern manufacturing systems, particularly when amplified
by constant improvement of computing technologies.
971
5. Conclusions
The LPP is an important subject of the network theory, while the disjunctive graph is
the most popular model to represent the JSSP and the corresponding solutions.
However, the conventional algorithms for LPPs were designed for the environment of
general networks; they are ineffective when applied in the disjunctive graph. This
paper demonstrates that it is possible to develop very efficient algorithms by imposing
a special topological structure on the network. Based on the topological structure and
Downloaded by Tulane University At 05:48 01 February 2015 (PT)

the characteristics of LPPs in the disjunctive graph, a QV algorithm, a reverse


value-setting algorithm and a practical release-time updating algorithm have been
proposed. The algorithms are incorporated with a machine-based decomposition
method including all types of LPPs and are measured on benchmark job-shop
problems. The algorithms are found efficient for real-time job-shop scheduling, and
they will have significant impacts on effective operations of modern manufacturing
systems.

References
Adams, J., Balas, E. and Zawack, D. (1988), “The shifting bottleneck procedure for job-shop
scheduling”, Management Science, Vol. 34 No. 3, pp. 391-401.
Ahuja, R.K., Magnanti, T.L. and Orlin, J.B. (1993), Network Flows: Theory, Algorithms, and
Applications, Prentice-Hall, Englewood Cliffs, NJ.
Ashour, S., Moore, T.E. and Chin, K.Y. (1974), “An implicit enumeration algorithm for
non-preemptive shop scheduling problem”, AIIE Transactions, Vol. 6 No. 1, pp. 62-72.
Balas, E., Lenstra, J.K. and Vazacopoulos, A. (1995), “The one machine problem with delayed
precedence constraints and its use in job shop scheduling”, Management Science, Vol. 41,
pp. 94-109.
Blazewicz, J., Domschke, W. and Pesch, E. (1996), “The job-shop scheduling problem:
conventional and new solution techniques”, European Journal of Operational Research,
Vol. 93 No. 1, pp. 1-33.
Carlier, J. and Pinson, E. (1989), “An algorithm for solving the job shop problem”, Management
Science, Vol. 35 No. 2, pp. 164-74.
Dauzere-Peres, S. and Lasserre, J.B. (1993), “A modified shifting bottleneck procedure for
job-shop scheduling”, International Journal of Production Research, Vol. 31 No. 4,
pp. 923-32.
Demirkol, E., Mehta, S. and Uzsoy, R. (1997), “A computational study of shifting bottleneck
procedures for shop scheduling problems”, Journal of Heuristics, Vol. 3 No. 2, pp. 111-37.
Dijkstra, E. (1959), “A note on two problems in connexion with graphs”, Numerical Mathematics,
Vol. 1, pp. 269-71.
Ford, L.R. and Fulkerson, D.R. (1956), “Solving the transportation problem”, Management
Science, Vol. 3, pp. 24-32.
JMTM Jain, A.S. and Meeran, S. (1999), “Deterministic job-shop scheduling: past, present and future”,
European Journal of Operational Research, Vol. 113 No. 2, pp. 390-434.
16,8 Jeong, H.I., Park, J. and Leachman, R.C. (1999), “A batch splitting method for a job shop
scheduling problem in an MRP environment”, International Journal of Production
Research, Vol. 37 No. 15, pp. 3583-98.
Lawrence, S. (1984), Supplement to Resource Constrained Project Scheduling: An Experimental
972 Investigation of Heuristic Scheduling Techniques, Carnegie-mellon University, Pittsburgh,
PA.
Liaw, C.F. (1998), “An iterative improvement approach for the nonpreemptive open shop
scheduling problem”, European Journal of Operational Research, Vol. 111 No. 3, pp. 509-17.
Lin, C.F. and Tsai, W.H. (1991), “Motion planning for multiple robots with multi-mode operations
via disjunctive graphs”, Robotica, Vol. 9, pp. 393-408.
Roy, B. and Sussmann, B. (1964), “les problemes d’ordonnancement avec constraints
disjonctives”, SEMA, Note D.S., No. 9, Paris.
Downloaded by Tulane University At 05:48 01 February 2015 (PT)

Steinhofel, K., Albrecht, A. and Wong, C.K. (1999), “Two simulated annealing-based heuristics
for the job shop scheduling problem”, European Journal of Operational Research, Vol. 118
No. 3, pp. 524-48.
Storer, R.H., Wu, S.D. and Vaccari, R. (1992), “New search spaces for sequencing instances with
application to job shop scheduling”, Management Science, Vol. 38, pp. 1495-509.
Wang, T.Y. and Wu, K.B. (1999), “An efficient configuration generation mechanism to solve job
shop scheduling problems by the simulated annealing algorithm”, International Journal of
Systems Science, Vol. 30 No. 5, pp. 527-32.
Wu, S.D., Byeon, E.S. and Storer, R.H. (1999), “A graph-theoretic decomposition of the job shop
scheduling problem to achieve scheduling robustness”, Operations Research, Vol. 47 No. 1,
pp. 113-24.
Yamada, T. and Nakano, R. (1992), “A genetic algorithm applicable to large-scale job-shop
instances”, in Manner, R. and Manderick, B. (Eds), Parallel Instance Solving from Nature 2,
North-Holland, Amsterdam, pp. 281-90.

You might also like