9 Open Shop Scheduling
The formulation of an open shop scheduling problem is the same as for the flow
shop problem except that the order of processing tasks comprising one job may
be arbitrary.
Thus, the open shop scheduling problem (OSP) can be described as follows:
a finite set of tasks has to be processed on a given set of machines. Each task has
a specific processing time during which it may not be interrupted, i.e. preemption
is not allowed. Tasks are grouped to jobs (sets of tasks), so that each task belongs
to exactly one job. Furthermore, each task requires exactly one machine for pro-
cessing. The objective of the OSP is to schedule all tasks, i.e. determine their
start times, so as to minimize the maximum completion time (makespan) given
the additional constraints that (a) tasks which belong to the same job and (b)
tasks which use the same machine cannot be processed simultaneously.
9.1 Complexity Results
Problem O2 | | C
max
Let us consider non-preemptive scheduling first. Problem O2 | | C
max
can be
solved in O(n) time [GS76]. We give here a simplified description of the algo-
rithm presented in [LLRK81]. For convenience let us denote a
j
= p
1j
, b
j
= p
2j
, A
= {J
j
| a
j
b
j
}, B = {J
j
| a
j
< b
j
}, K
1
= a
j
and K
2
= b
j
.
Algorithm 9.1.1 Gonzalez-Sahni algorithm for O2 | | C
max
[GS76].
begin
Choose any two jobs J
k
and J
l
for which a
k
max
J
j
A
{b
j
} and b
l
max
J
j
B
{a
j
};
Set A ' := A {J
k
};
Set B ' := B {J
l
};
Construct separate schedules for B ' {J
l
} and A ' {J
k
} using patterns
shown in Figure 9.1.1; -- other tasks from A ' and B ' are scheduled arbitrarily
Join both schedules in the way shown in Figure 9.1.2;
Move tasks from B ' {J
l
} processed on P
2
to the right;
-- it has been assumed that K
1
a
l
K
2
b
k
; the opposite case is symmetric
© Springer Nature Switzerland AG 2019
J. Blazewicz et al., Handbook on Scheduling, International Handbooks
on Information Systems, https://doi.org/10.1007/978-3-319-99849-7_ 9
321