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