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

359

Extension of Disjunctive Graph Model for


Job Shop Scheduling Problem

J. Blazewicz" E. Pesch', M. Sternal

lInstitute of Computing Science


Poznan University of Technology
Poznan, Poland

2Institute of Econontics and Business Administration, BWL 3


University of Bonn
0-53113 Bonn

Abstract: The disjunctive graph model is a commonly used representation of scheduling problems, We have proposed the
modification of the disjunctive graph for the job shop scheduling problem with the schedule length criterion, which is the basis
of a new consistent method of describing its instances. The graph is extended by an additional reverse arc connecting the sink
with the source, i.e. the end with the beginning of a schedule, that represents the upper bound of the schedule length. This new
arc closes cycles in the graph and makes it possible to calculate distances between its vertices, which represent time relations
between tasks in the system. The modified disjunctive graph model has been practically applied within a branch and bound
method using a modern machine graph representation called the graph matrix. The method proposed constructs schedules with
the efficiency comparable with other approaches of this type.

1 Extended Disjunctive Graph Model


The disjunctive graph model (Roy, Sussmann (1964» is a structure commonly used for representing disjunctive
scheduling problems (Blai:ewicz et al. (1996» such as job shop scheduling one. It is a directed graph
G=(V,CvD), where V denotes the set of vertices corresponding to tasks T={T], ... , Ti , ... , Tn} of jobs
J = {h ... , Jj , ... , I n }. This set contains two additional vertices: a source and a sink, which represent the start and
the end of a schedule, respectively. The source is equivalent to dummy task To preceding all other tasks and the
sink to dummy task T(n+l) succeeding all other tasks. Both dummy tasks have zero processing times. C is a set of
conjunctive arcs, which reflect the precedence constraints, initially connecting every two consecutive tasks of the
same job. Undirected disjunctive edges belonging to set D connect mutually unordered tasks which require the
same machine from set M= {M], ... , Mb ... , Mm} for their execution (a disjunctive edge can be represented by two
opposite directed arcs). Each arc is labelled with the positive weight equal to the processing time Pi of the task
where the arc begins.

The job-shop scheduling problem requires to find an optimal order of all tasks on the machines, resulting in a
schedule with the minimal length (in the case of applying the schedule length criterion). In the disjunctive graph
model, this is equivalent to select one arc from each disjunction, i.e. to tum each undirected disjunctive edge into a
directed conjunctive one. The resulting graph has to be acyclic and the length of the longest path from the source to
the sink has to be minimal, because it determines the schedule length, it is the duration of the longest chain of tasks
in a job-shop.

Looking for the new approaches to the classical job shop scheduling problem, the modified version of the
disjunctive graph has been proposed and practically applied within the branch and bound method (Blazewicz et al.
(1998». The modified disjunctive graph has been extended with an additional reverse arc representing the upper
bound of the schedule length and connecting sink T(n+l) with source To. The weight of this arc equals the decreased
and negated upper bound value of the schedule length (-UB+ 1). This modification makes it possible to express in
the implicit way much more information about an instance of the problem than it is possible in the classical model.
The additional arc introduced into the graph closes cycles between vertices. As a consequence, it enables
constructing a path between any pair of tasks built with the conjunctive arcs that would be impossible without this
additional element. Each such a path, or rather the length of such a path, represents the time gap between starting
times of considered tasks. Because, thanks the additional reverse are, there is a path between any pair of tasks in the
graph, the time relation for every pair of tasks in the system is specified. The example of an extended disjunctive
graph is given in Figure 1 (It is assumed that UB = 14 and consequently the weight of the reverse arc is settled to -
13).
360

-I)

machlocM 1

o I113CIu""M,
o macluneMJ

o lask.Tj
a disJuncuve edge
.....-.... a conjunctIve" 8ft

Figure 1: A modified disjunctive graph extended with the reverse arc.

Distances between all pairs of tasks, i.e. all pairs of vertices in a graph are the basis for building a square matrix of
distances D = [d;jl(n+2)X(n+2). It is a main data structure describing a job-shop at different stages of searching for
a solution and a convenient way of expressing time dependencies disclosed by introducing the additional reverse
arc.
Single entry dij of the distance matrix equals to the length of the longest path from vertex i to j that corresponds to
the longest path from task T; to ~. The path contains only conjunctive arcs, representing a precedence relation
between tasks. Disjunctive edges are not taken into consideration, because they give no information on a tasks
order. Distance do; is equal to the head of task T; and describes the amount of work that has to be done before the
execution of this task can start. Whereas, distance d;(n+l) is equal to the tail of task T; increased by its processing
time p; that determines the amount of work which still has to be done at the moment of starting this task. The
information on the heads and tails of tasks together with the deadline value is sufficient to determine bounds of
starting and completion times for each task, i.e. st;, ct;:
st;E [ est;, 1st; 1,where est; =do; ,1st; = -d(n+l)O - d;(n+l),
ct;E [ ect;, lct; 1,where ect; =do; + p; , let; =-d(n+l)O - d;(n+l) + Pi'
The distance matrix determines bounds of starting and completion times for any single task. Moreover, it reflects
time dependencies between pairs of tasks. If the order between two tasks T; and ~ is fixed and T; precedes ~ then
dij has the positive value and denotes the minimal time distance between the starting moment of T; and the starting
moment of ~, i.e. st; + dij ~ stj. If the order between two tasks T; and ~ is unkoown or T; succeeds ~ then
the interpretation of dij is different. In this situation, the path connecting tasks T; and ~ has to include the reverse
arc and distance dij is determined as follows: d;j = d;(n+l) + d(n+l)o + d Oj = d Oj - (-d(n+l)O -d;(n+l) = est] - 1st;.

The presented extension of the disjunctive graph model makes it possible to formulate a new method of describing
instances of the job shop scheduling problem by specifying distances in the graph. Those distances are initialised
and updated by the newly proposed rules without applying the general graph algorithms, which do not take into
account the specific character of the problem.

The work on the modified disjunctive graph allowed us also to verify the efficiency and the convenience of a new
machine graph representation called the graph matrix (Blai:ewicz et al. (2000». This data structure combines
advantages of a few classical graph representations without an increase of memory usage and can be applied for
storing any graph not only the disjunctive one. It synthesises the neighbourhood matrix with the predecessors and
successors lists completing them with the additional lists of tasks for which no precedence relation has been
disclosed. Thus, thanks to this data structure, one can obtain the information on the mutual relation between any
pair of tasks in constant time and easily browse groups of tasks remaining in different mutual relations. Extracting
information from the disjunctive graph and its updating are frequently executed operations within any method
solving the job shop scheduling problem. They are performed in the background of the main solution process
influencing its efficiency.

2 Branch and Bound Method


The modification of the disjunctive graph gave the basis for a new proposal of the branch and bound algorithm for
the job shop scheduling problem. The main element of the approach is a new auxiliary method of a partial solution
extension called the distance analysis. This technique plays a supporting role by enlarging a partial schedule,
without taking a branching decision. Thus, it significantly increases the efficiency of the approach.

You might also like