Parametric analysis of the quality of single preemption schedules on three uniform parallel machines

For a scheduling problem to minimize the makespan on three uniform parallel machines we present a parametric analysis of the quality of a schedule with at most one preemption compared to the global optimal schedule with any number of preemptions. A tight bound is derived as a function of the relative speeds of the machines, provided that two of the machines have the same speed.


Introduction
In parallel machine scheduling, we are given the jobs of set N = {J 1 , J 2 , . . ., J n } and m parallel machines M 1 , M 2 , . . ., M m .If a job J j ∈ N is processed on machine M i alone, then its processing time is known to be p i j .There are three main types of scheduling systems with parallel machines: (i) identical parallel machines, for which the processing times are machine-independent, i.e., p i j = p j ; (ii) uniform parallel machines, which have different speeds, so that p i j = p j /s i , where s i denotes the speed of machine M i ; and (iii) unrelated parallel machines, for which the processing time of a job depends on the machine assignment.
In this paper, we focus on the problem of minimizing the makespan, i.e., the maximum completion time across all m machines.For a schedule S, the makespan is denoted by C max (S).In a non-preemptive schedule, each job is processed on the machine it is assigned to without interruption.In a preemptive schedule, the processing of a job on a machine can be interrupted at any time and then resumed either on this or on any other machine, provided that the job is not processed on two or more machines at a time.For an instance of a scheduling problem on parallel machines, let S * (q) and S * p denote an optimal schedule with at most q preemptions, and an optimal preemptive schedule which uses an unlimited number of preemptions, respectively.We will refer to schedules with an unlimited number of preemptions as simply preemptive.The case q = 0 corresponds to a non-preemptive schedule, and an optimal non-preemptive schedule is denoted by S * np .The number of preemptions in an optimal schedule S * p need not exceed m −1 in the case of identical machines and 2 (m − 1) in the case of uniform machines, as proved by McNaughton (1959) and Gonzalez and Sahni (1978), respectively.
If any number of preemptions is allowed, then even in the most general settings with unrelated machines an optimal schedule can be found in polynomial time.Finding an optimal non-preemptive schedule is an NP-hard problem, even on two identical parallel machines.See a focused survey by Chen (2004) on parallel machine scheduling with the makespan objective for details and references.
For m ≥ 3, the problem of finding an optimal preemptive schedule with at most q ≤ m −2 preemptions on identical parallel machines is NP-hard due to Shchepin and Vakhania (2008).For m ≥ 3 uniform machines, the problem of finding an optimal schedule with the number of preemptions q such that q is even and q ≤ 2 (m − 3) is shown to be NP-hard by Shachnai et al. (2005).Soper and Strusevich (2018) prove that finding an optimal schedule with at most one preemption on two unrelated parallel machines is NP-hard.On the other hand, it is shown by Soper and Strusevich (2018) that on two uniform machines an optimal schedule with at most one preemption can be found in polynomial time; we reproduce the corresponding algorithm in Sect.2.2.
Consider an instance of a scheduling problem to minimize the makespan C max on m parallel machines (identical, uniform or unrelated).For the corresponding problem, we measure the quality of a schedule with a limited number of preemptions by an upper bound ρ (q) m on the ratio C max (S * (q) )/C max (S * p ).The bound ρ (q) m determines what can be gained regarding the maximum completion time if instead of at most q preemptions any number of preemptions is allowed.More formally, in order to determine the exact value of ρ (q) m for a particular problem it has to be demonstrated that the inequality holds for all instances of the problem at hand.To establish tightness of the bound ρ (q) m , instances of the problem have to be exhibited, for which (1) holds as equality.
Most of the known results in this area address the situation of q = 0, i.e., are aimed at comparing an optimal non-preemptive schedule with an optimal preemptive schedule, regarding the makespan objective.The value ρ (0) m is often called the power of preemption.Some of the results on determining ρ (0) m are reviewed below.Among the results on the power of preemption measured with respect to objective functions other than the makespan, here we mention the recent studies on the single machine problem to minimize the weighted completion time by Epstein and Levin (2016) and on the problem on uniform parallel machines to minimize the total completion time by Epstein et al. (2017).
For the makespan objective, if the machines are identical parallel, then it is known that ρ (0) m = 2 − 2/ (m + 1), as independently proved by Braun and Schmidt (2003) and Lee and Strusevich (2005).It is shown in Rustogi and Strusevich (2013) that the value of ρ (0) m can be reduced for some instances that contain jobs with fairly large processing times.
According to Woeginger (2000), for m uniform parallel machines ρ (0) m = 2 − 1/m.In Soper and Strusevich (2014b), the necessary and sufficient conditions under which the global bound of 2 − 1/m is tight are given.If the makespan of an optimal preemptive schedule S * p is equal to the ratio of the total processing time of r < m longest jobs over the total speed of r fastest machines, it is shown in Soper and Strusevich (2014b) that the tight bound on the power of preemption ρ (0) For unrelated parallel machines, a tight bound ρ (0) m = 4 on the power of preemption is established in Correa et al. (2012).
For uniform machines, several papers conduct a parametric analysis of the power of preemption.For example, an analysis of ρ (0) 2 with respect to the speed of the faster machine is independently performed in Jiang et al. (2014) and Soper and Strusevich (2014a).For m = 3, a similar analysis is contained in Soper and Strusevich (2014a), provided that the machine speeds take at most two values, 1 and s ≥ 1; in other words, either there are two fast machines with speed s and one slow machine with speed 1 or there are two slow machines with speed 1 and one fast machine with speed s.Notice that the difference between the problem in this paper and the one studied in Soper and Strusevich (2014a) is that in the latter paper an optimal preemptive schedule is compared with an optimal schedule with no preemption.
Several publications compare optimal schedules with a limited number of preemptions to optimal preemptive schedules.For identical machines, Braun and Schmidt (2003) prove that ρ (q) m = (2m) / (m + q + 1), where 0 ≤ q ≤ m − 1, and that this bound is tight.For the problem on m uniform parallel machines, Soper and Strusevich (2018) show that ρ (1) m = 2 − 2/m, where m ≥ 3. Jiang et al. (2014) perform a parametric analysis of a single preemption for two uniform machines with speeds s and s , where s ≥ s , from which it follows that This function attains its maximum value of 9/8 when s = 2s .
In this paper, we focus on the problem on three uniform parallel machines.The bound ρ (1) 3 = 4 3 follows from Soper and Strusevich (2018) and holds as a global bound for all instances, irrespective of relative speeds of the machines.The main purpose of this paper is to perform a parametric analysis of the value ρ (1)

. Although we establish bounds on ρ
(1) 3 with respect to arbitrary speeds on the machines, as a rule we are only able to demonstrate the tightness of these bounds, provided that there are either two fast machines or two slow machines.
The problem that we address may arise in producing schedules for multi-processor systems.We limit our analysis, at least as far as the tightness of the derived bounds is concerned, to the situations in which the speeds of the processors have two values, 1 (slow) and s ≥ 1 (fast).Uniform machines with two distinct values of machine speeds are often used in attempts either to improve bounds of approximation algorithms or to demonstrate tightness of those bounds; see Gonzalez et al. (1977) as an example.Besides, having s as a parameter, allows performing a thorough parametric analysis, as is done for the problem of minimizing the makespan on two uniform machines when no preemption is allowed (see Mireault et al. (1997)) or a single preemption is allowed (see Jiang et al. (2014), Soper and Strusevich (2014a)).For these problems, as well as for the problems on three uniform machines in Soper and Strusevich (2014a) and in this paper, the results of the parametric analysis allow the user to perform an appropriate speed scaling in order to achieve a certain guaranteed performance.
The single-parameter analysis performed in Soper and Strusevich (2014a) and in this paper for three uniform machines requires considerable technical efforts, which give an estimate of a possible difficulty of extending a similar analysis to a larger number of machines.The latter can be seen as a goal for further research.
An additional interest in considering the three-machine problem with at most one preemption is due to (i) m = 3 is the smallest number of machines for which finding a schedule with at most one preemption is NP-hard, and (ii) for m = 3 allowing at most one preemption leads to the smallest loss of quality of the makespan compared to the global preemptive schedule.
The remainder of this paper is organized as follows.Section 2 presents two main tools that are used as subroutines in the subsequent parts of the paper.A tight bound on the quality of a schedule with a single preemption is derived as a function of the relative speeds of the machines in Sects.3 and 4.

Main ingredients
We start this section by introducing a classification of the instances of the problem on m uniform parallel machines, based on the shape of the optimal preemptive schedule S * p .In our analysis of the quality of schedules with a single preemption on three uniform parallel machines we rely on two tools: (i) a polynomial-time algorithm for finding an optimal schedule with a single preemption on two uniform parallel machines, and (ii) a parametrized partition algorithm that splits a set of jobs into two subsets with required properties.These two tools are discussed in the remainder of this section.

Class distinction
An instance I of the problem with n jobs and m uniform parallel machines is defined by the list L n = ( p 1 , p 2 , . . ., p n ) of the processing times of the jobs and the list M m = (s 1 , s 2 , . . ., s m ) of the machine speeds.In what follows, we assume that both lists are non-increasing.In other words, the jobs are numbered in accordance with the LPT rule (6) and the machines are numbered in non-increasing order of their speeds, i.e., Feasible non-preemptive and preemptive schedules for an instance I = (L n , M m ) are denoted by S np (L n , M m ) or S np (I ), and by S p (L n , M m ) or S p (I ), respectively; the corresponding optimal non-preemptive and preemptive schedules are denoted by S * np (L n , M m ) or S * np (I ) and by S * p (L n , M m ) or S * p (I ) , respectively.The reference to an instance may be omitted if it is clear which instance is being discussed.
For our analysis, we need precise expressions for the makespan of the preemptive schedules.The fastest algorithm for finding an optimal preemptive schedule on uniform parallel machines is due to Gonzalez and Sahni (1978) and requires O(n + m log m) time.
Given an instance I = (L n , M m ), for each u, 1 ≤ u ≤ m, define the total speed of the u fastest machines S u = u i=1 s i .Besides, define the set of the u longest jobs H u = {1, 2, . . ., u}.
Define m = min {n, m − 1} and It is well-known (see, e.g., Brucker (2007)) that for an optimal preemptive schedule S * p (I ) the makespan is equal to In the case of three machines, we will distinguish between three classes s 1 , for Class 1 instances s 1 +s 2 +s 3 for Class 3 instances. (5) Given an instance of the problem on three uniform machines, we determine its class by computing the values T r , 1 ≤ r ≤ 3, and the value of r associated with the largest T r defines the class of the instance.In the case of ties, an instance may belong to more than one class; however, for our purposes instances of Class 3 are harder to handle and we assume without loss of generality that the ties are broken in favour of the smaller r .
Clearly T m = p (N ) /S m is a lower bound on C max (S * p (I )) even when simultaneous execution of jobs is allowed, since it is the average machine load, i.e., the time for processing all jobs, provided all machines are continuously busy.
For an instance I , a schedule S (1) (I ) with exactly one preemption is defined by (i) a job J k ∈ N which is processed with preemption on two machines M k and M k such that 1 ≤ k < k ≤ m; the actual processing times of job J k on these machines are equal to x k /s k and y k /s k , where , where the jobs of set N i are assigned to be processed on machine M i , 1 ≤ i ≤ m.
Notice that even in an optimal schedule some of the subsets N i can be empty, since it may be counterproductive to assign jobs to very slow machines.For a particular instance, it might be optimal not to preempt any job, in which case a schedule S (1) (I ) is defined by a partition of set N into m subsets N 1 , N 2 , . . ., N m .If there is a preempted job J k in schedule S (1) (I ) then the jobs assigned to machines M k and M k must be arranged in a such a way that the two portions of job J k do not overlap.

Single preemption on two uniform parallel machines
The algorithm that finds an optimal schedule with at most one preemption on two uniform parallel machines is used throughout this paper as a subroutine.This is why below we present it in a generic way, so that the two machines are denoted by M and M , while their speeds are s and s , respectively, where s ≥ s .Assume that the jobs are numbered in accordance with the LPT rule, i.e., in non-increasing order of their processing times For a non-empty subset R ⊆ N , define and for completeness define p (∅) = 0.
For two uniform parallel machines, instances can only be of either Class 1 or Class 2, i.e., C max S * p = max p 1 /s , T 2 ,where As follows from Gonzalez and Sahni (1978), if there is no restriction on the number of preemptions, then an optimal preemptive schedule S * p can be found in O (n) time.The algorithm below finds an optimal schedule with at most one allowed preemption.It is developed by Soper and Strusevich (2018).

Algorithm Q2Pr1
Step 1. Compute T 2 by (7).If p 1 < s T 2 , go to Step 2; otherwise, output a non-preemptive schedule S (1) with job J 1 on machine M and the other jobs on machine M and stop.
Step 2. Scanning the jobs in the order of their numbering, find job J k such that Step 3. Compute Step 4; otherwise, output the following schedule S (1) (see Fig. 1a): on M the jobs J 1 , . . ., J k−1 are processed in any order, followed by a part of job J k for x k /s time units; on M process a part of job J k for y k /s time units, followed by an arbitrary sequence of jobs J k+1 , . . ., J n .Stop.
Step 4. For job J k , compute the values xk and ỹk such that Output the following schedule S (1) (see Fig. 1b): on M the jobs J 1 , . . ., J k−1 are processed in any order, followed by a part of job J k for xk /s time units; on M process a part of job J k for ỹk /s time units, followed by an arbitrary sequence of jobs J k+1 , . . ., J n .Stop.Soper and Strusevich (2018) show that Algorithm Q2Pr1 finds an optimal schedule and it requires O (n) time, provided that the LPT numbering of the jobs is available.Obtaining such a numbering can be seen as a preprocessing stage.Thus, the overall time complexity of Algorithm Q2Pr1 is O (n log n).
On several occasions in this paper, we demonstrate that certain bounds are tight by exhibiting instances of the problem for which inequalities similar to (1) hold as equalities.In the analysis of such instances, we quite often need the value of the makespan for a schedule found by Algorithm Q2Pr1 applied to two jobs of equal duration.
Notice that for schedule S (1) found in Step 4, we have that ỹk Lemma 1 Let S (1) be a schedule found by Algorithm Q2Pr1 applied to the instance that contains two jobs J 1 and J 2 such that p 1 = p 2 = w.Then Proof For the instance under consideration, Algorithm Q2Pr1 will output schedule S (1) found in Step 4. Applying (8) with k = 2, we obtain and (9) follows.

Parametric partition algorithm
Below, we present and analyze Procedure Split, which is used as a subroutine in the algorithms presented in Sect. 4.Although the procedure is used in this paper as an auxiliary tool, it is of interest in its own right and is applicable if one needs a partition with some prescribed properties.Such partitions are often required in approximation scheduling algorithms.For example, a simplified version of Procedure Split has been used in Soper and Strusevich (2014a) for the single-parameter analysis of the power of preemption on three uniform machines.

Procedure Split
Input: An integer r ≥ 3, a set of jobs N = {J 1 , J 2 , . . ., J n } with normalized processing times, p (N ) = 1, numbered in the LPT order (at least for the r − 1 longest jobs) and with p j ≤ 2 r +1 for all j ∈ N Output: A partition of set N into two subsets H and H such that p(H ) ≤ 2 r +1 and p(H Step 1. Scanning the jobs in the order of their numbering, determine the job J u , u > 1, such that and go to Step 4. Otherwise go to Step 2.
Step 2. Scanning the jobs in the order of their numbering, consider the sum r −1 j=1 p j .If then define U := {J 1 , . . ., J r −1 }, and go to Step 4. Otherwise go to Step 3.
Step 3. Continue scanning the jobs until the first job J u is reached such that Step 4. Stop.

The running time of Procedure Split is O(n).
Lemma 2 Procedure Split finds a required partition.
and under the condition (11) we have that as required.
We come to Step 2 if the inequality p (U ) < 1 r holds for set U defined in Step 1 by (10).In fact, p 1 < 1 r , i.e., the duration of each job is less than 1 r .This implies that If ( 12) holds, then we may set that the sum of the two smallest processing times p r −2 + p r −1 does not exceed 2 r +1 .Thus, if p r −2 + p r −1 ≥ 1 r , we have as required.
We come to Step 3 with p r −2 + p r −1 < 1 r , which implies that p r −1 and the processing time p j of each job j ≥ r is smaller then 1 2r .Thus, for job J u , u ≥ r , found in Step 3, we deduce where the last inequality holds for all r ≥ 3. Thus, In this paper, Procedure Split is used in Sect. 4 and is applied with r = 4. 123 3 Single parameter analysis for three uniform machines: Classes 1 and 2 The remainder of this paper focuses on the case of three uniform machines, i.e., we consider instances I = (L n , M 3 ).We perform a class-based analysis, for each form of the optimal preemptive schedule, considering Classes 1 and 2 first and then the more intricate Class 3. Our results give tight bounds for each class as a function of a single parameter equal to the relative speeds of the machines.
In this section, we consider instances of the problem with three uniform machines that belong either to Class 1 or 2; see Definition 1.The Class 3 instances are studied in Sect. 4.
We create heuristic schedules with at most one preemption, that will deliver an upper bound on ρ (1) 3 as a function of the speeds of the three machines.Although most of the presented arguments hold for arbitrary speeds, similarly to Soper and Strusevich (2014a) we derive our final conclusion for the models with two fast machines (s 1 = s 2 = s ≥ s 3 = 1 ) and for those with two slow machines (s 1 = s ≥ s 2 = s 3 = 1).This will allow us to deliver the bound on ρ (1) 3 as a function of a single parameter s and to prove its tightness.Consider instances of the form I = (L n , M 3 ) of the problem with three uniform machines M 1 , M 2 and M 3 that belong to either Class 1 or Class 2. As above, it is assumed that the jobs are numbered in accordance with (6), while for the machines s 1 ≥ s 2 ≥ s 3 holds.
For an instance 3 (Class r ) denote the ratio of the makespan that is optimal for schedules with at most one preemption to the optimal makespan for preemptive schedules for instances of that class.We derive an upper bound on ρ ( 1) The algorithm below takes as input an instance I = (L n , M 3 ) of either Class 1 or Class 2, and finds a schedule S H (1) (L n , M 3 ) with at most one preemption.

Algorithm Q3Pr1CL1&2
Step 1.If a given instance I = (L n , M 3 ) belongs to Class 1, go to Step 2; otherwise, go to Step 3.

Step 2. Find schedule S H
(1) (L n , M 3 ) in which job J 1 is assigned to be processed on machine M 1 , while the remaining jobs are scheduled by Algorithm Q2Pr1 on machines M = M 2 and M = M 3 .Go to Step 4.
Step 3. Find schedule S H (1) (L n , M 3 ) in which jobs J 1 and J 2 are scheduled by Algorithm Q2Pr1 on machines M = M 1 and M = M 2 , while the remaining jobs are processed non-preemptively in any order on machine M 3 .Go to Step 4.
Step 4. Stop.Algorithm Q3Pr1CL1&2 is analyzed below.Part of the analysis is based on the parametric bound (2) developed in Jiang et al. (2014) for two uniform machines.

Theorem 1 For an instance I
where Proof First, note that the running time of Algorithm Q3Pr1CL1&2 is determined by the running time of Algorithm Q2Pr1, and is therefore O (n log n).
For a given instance of Class r , r ∈ {1, 2}, define the lists L r and M r , that contain the r longest jobs and the r fastest machines, respectively.Also define the lists L r and M r obtained from the lists L n and M 3 by the removal of the r longest jobs and the r fastest machines, respectively.In other words, L r = ( p r +1 , . . ., p n ) and M r = (s r +1 , . . ., s 3 ).
By definition of a Class r instance, we have that For schedule S H (1) (L n , M 3 ) found by Algorithm Q3Pr1CL1&2, we have that It follows that For instances of Class 1, Step 2 of Algorithm Q3Pr1CL1&2 guarantees that Since the remaining jobs are scheduled on machines M 2 and M 3 optimally with at most one preemption, we have that where the last inequality follows from (2) applied to the machines with speeds s = s 2 and s = s 3 .Thus, ( 14) holds for r = 1, since 2s 2 2 + s 2 s 3 − s 2 3 /2s 2 2 ≥ 1.
since the machine environment M 2 consists only of machine M 3 , so that Step 3 of Algorithm Q3Pr1CL1&2 guarantees that , and due to (2) applied with s = s 1 and s = s 2 , we conclude that Thus, (14) holds for r = 2.
Figure 2 illustrates (s 1 , s 2 , s 3 ) as a function of the speed ratio: s 2 /s 3 for r = 1 or s 1 /s 2 for r = 2.The maximum of the function is 9 8 , attained for the ratio equal to 2. That value provides a global numerical bound on ρ (1) 3 for the instances of Classes 1 and 2. Lemma 3 Bound (14) is tight for instances of Class 2.
Proof Take a Class 2 instance given by a set of three jobs with L 3 = p, p, p 2s 3 (1) (L 3 , M 3 ) be the schedule found by Algorithm Q3Pr1CL1&2.The algorithm schedules the identical jobs J 1 and J 2 on machines M 1 and M 2 and the remaining job on machine M 3 .It follows that schedule S H (1) (L 2 , M 2 ) is in fact an optimal schedule S * (1) (L 2 , M 2 ) for processing the two longest jobs on the two fastest machines with at most one preemption.We deduce from (9) applied with s = s 1 , s = s 2 and w = p that Furthermore, and therefore ρ (1) Lemma 4 Bound ( 14) is tight for instances of Class 1 with two distinct values of speed.
Proof Consider a Class 1 instance given by a set of three jobs such that L 3 = p, p s 2 +s 3 2s 1 , p s 2 +s 3 2s 1 and (1) (L 3 , M 3 ) by scheduling job J 1 on machine M 1 and the two remaining identical jobs on machines M 2 and M 3 in accordance with Algorithm Q2Pr1.It follows from (9) applied with s = s 2 , s = s 3 and w = p s 2 +s 3 2s 1 that (1) L 1 , M 1 , and therefore Bound ( 14) is tight for the instance under consideration if schedule S H (1) (L 3 , M 3 ) is in fact an optimal schedule with at most one preemption.However, unlike for the Class 2 instances discussed in Lemma 3, this does not happen for all combinations of speeds.To demonstrate this, assume that s 1 = s, s 2 = s 2 and s 3 = 1.It follows that However, for such an instance an optimal schedule with exactly one preemption can be found by splitting job J 3 between machines M 1 and M 3 .In this schedule S * (1) (L 3 , M 3 ), jobs J 1 and J 2 are processed without preemption on machines M 1 and M 2 , respectively.Job J 3 is processed in the time interval [0, p/s] on machine M 3 and then starting from time p/s on machine M 1 , so that the makespan of this schedule becomes It is easily seen that 5s−2 4s 2 < (s + 2) s−1 s 3 for 2 < s < 4. Still, bound ( 14) is tight if there are two different values of speeds only, i.e., either s 1 = s > s 2 = s 3 = 1 (two slow machines) or s 1 = s 2 = s > s 3 = 1 (two fast machines).
In the former case, the smallest makespan of p/s is achieved for a non-preemptive schedule, and that cannot be improved by allowing any number of preemptions, so that ρ (1) 3 (Class 1) becomes equal to 1, which complies with ( 14).
In the latter case, schedule S H (1) (L 3 , M 3 ) is in fact an optimal schedule with a single preemption, which implies that ρ (1) Note that for two slow machines s 2 = s 3 , the bound ρ (1) 3 (Class 1) becomes equal to 1. Notice that the example above demonstrates that for the Class 2 instances the bound ( 14) is tight for arbitrary machines speeds, in particular for instances with two fast and two slow machines.
Since our main intention is to perform a single parameter analysis of the quality of schedules with at most one single preemption on three uniform parallel machines, below we formulate the results of this section in terms of the instances with two fast machines and with two slow machines.

Corollary 1 For the instances of the problem with two fast machines (s
3 (Class 2) = 1 hold and are tight.For the instances of the problem with two slow machines ( s 1 = s > 1 = s 2 = s 3 ) the following bounds ρ (1) 2s 2 hold and are tight.

The fact that the bound ρ (1)
3 is equal to 1 for some classes of instances complies with the fact that for those instances the optimal preemptive schedule requires at most one preemption.

Single parameter analysis for Class 3 instances on three uniform machines
It remains to consider instances of Class 3, i.e., instances for which C max S * p (I ) = T 3 .Our analysis is presented in two subsections, starting with instances for which the ratio between the fastest and the slowest speeds is limited to 2 and followed by instances with larger relative speeds.

Limited relative machine speeds s 2 ≤ s 1 ≤ 2s 3
Temporarily assume that the feasibility of schedules with a single preemption is ignored, i.e., simultaneous processing of pieces of the same (preempted) job on different machines is allowed.Let C be the makespan of an optimal schedule of this type.Comparing C with the optimal makespan C max S * p (I ) = T 3 , define an upper bound (s 1 , s 2 , s 3 ) such that the inequality C ≤ (s 1 , s 2 , s 3 ) T 3 holds across all instances of Class 3. Obtaining the required heuristic schedule simplifies to an appropriate split of the jobs into two sets, and an allocation of one of these sets to be processed on a single machine, and placing the other on the remaining pair of machines, using the preemption to share the load appropriately between the pair.The splitting of the jobs is performed by Procedure Split defined and analyzed in Sect.2.3.
During the analysis of the Class 3 instances we will assume that the jobs of any instance have normalized processing times, p (N ) = 1, so that Algorithm OneSplit below partitions the set of jobs into two subsets N u and N v,w such that for some triple (u, v, w) of the machine indices 1, 2 and 3 the inequalities hold, provided that s 2 ≤ 2s 3 .In what follows, without loss of generality we assume that v < w, i.e., (u, v, w) is one of the triples (1, 2, 3) , (2, 1, 3) or (3, 1, 2).

Algorithm OneSplit
Input: An instance I = (L n , M 3 ) of Class 3, with normalized processing times, p (N ) = 1, numbered in the LPT order and a set of speeds satisfying s 3 ≤ s 2 ≤ s 1 ≤ 2s 3 Output: Subsets N u and N v,w that satisfy (17) and ( 18) for some triple (u, v, w) Step 1. Compute T 3 and T 3 .If p 1 > 2/5 then output N 1 = {J 1 } and N 2,3 = N \ {J 1 } and stop.Otherwise, run Procedure Split with r = 4, to produce two sets of jobs H and H satisfying p(H ) ≤ 2 5 and p(H ) ≤ 3 4 .
Step 2. Identify a triple (u, v, w) Lemma 5 Algorithm OneSplit splits the jobs of set N into two subsets N u and N v,w such that (17) and (18) hold for some triple (u, v, w).
Proof For a partition N 1 and N 2,3 found in Step 1, we deduce that since ≥ 1 and our instance is of Class 3, so that p 1 s 1 ≤ T 3 .It follows from p (N 1 ) = p 1 > 2/5 that p N 2,3 < 3 5 .Using the fourth term in the right-hand side of ( 16), we derive The right-hand side of the above inequality decreases in s 2 , so that s 2 ≤ 2s 3 implies T 3 (s 2 + s 3 ) ≥ 3 5 , as required by ( 18).Thus, the lemma holds for (u, v, w) = (1, 2, 3).We carry out Step 2 if p 1 ≤ 2/5, so that the conditions for running Procedure Split are satisfied and the two sets of jobs H and H will be found with p(H ) ≤ 2 5 and p(H ) ≤ 3 4 .This additionally bounds p(H ) from below, since p(H If for some triple (u, v, w) we have that p H ∈ [1 − T 3 (s u + s v ) , T 3 s w ] then the lemma holds for such a triple.Thus, we need to prove that such a triple always exists.
Consider the three intervals [1 It is straightforward to check that the right endpoint of each interval is no less than its left endpoint, since ≥ 1, so that the intervals are well defined.We can consider the intervals in the natural order: , since in this sequence the right endpoints of the intervals are nondecreasing, as are their left endpoints.
We show that the value p H such that 1 4 ≤ p(H ) ≤ 2 5 belongs to at least one of these intervals.
Using each of the components of in the order of their appearance in the right-hand side of ( 16), we deduce that Suppose that p H belongs to neither the interval [1 − T 3 (s 1 + s 2 ) , T 3 s 3 ] nor to [1 − T 3 (s 2 + s 3 ) , T 3 s 1 ]; otherwise, the lemma holds either for (u, v, w) = (3, 1, 2) or for (u, v, w) = (1, 2, 3), respectively.This is only possible if the two intervals do not intersect and However, since each of these two intervals intersects with [1 − T 3 (s 1 + s 3 ) , T 3 s 2 ], we obtain that , and the lemma holds for (u, v, w) = (2, 1, 3).
Algorithm OneSplit is used as a splitting procedure in the following algorithm for finding a schedule with a single preemption.

Algorithm Q3Pr1CL3Lim
Input: An instance I = (L n , M 3 ) of Class 3, with its jobs having normalized processing times, p (N ) = 1, numbered in the LPT order Output: A schedule S H (1) with at most one preemption  (u, v, w).
Step 4. Run Algorithm Q2Pr1 to find a schedule S v,w for processing the jobs of set N v,w on machines M = M v and M = M w , provided that at most one preemption is allowed.Create the following schedule S H (1) : schedule the jobs of set N u nonpreemptively on machine M u and process the remaining jobs in accordance with schedule S v,w .Stop.
In the analysis below, the following notation is used.For schedule S H (1) found by Algorithm Q3Pr1CL3Lim that is associated with a triple (u, v, w) of indices, let C u = p (N u ) /s u denote the makespan of processing the jobs of set N u non-preemptively on machine M u , while C v,w denotes the makespan of processing the jobs of set N v ,w with a single preemption on machines M v and M w .Thus, C max S H (1) = max C u , C v,w .

Lemma 6 For schedule S H
(1) associated with the sets N 1,2 and N 3 found in Step 1 of Algorithm Q3Pr1CL3Lim the following bound (1) holds, where is defined by (16).

Proof Since in
Step 1, we have that p 1 ≥ p 2 ≥ T 3 s 2 , it follows from ( 16) that ≤ 1 2s 2 +s 3 ≤ T 3 .Therefore, C 3 ≤ T 3 as required.According to (8), the processing of jobs J 1 and J 2 will complete at time , since we deal with instances of Class 3 (and not of Class 1) and ≥ 1.Further, since we are considering instances of Class 3 (and not of Class 2), it follows from T 2 = p 1 + p 2 s 1 +s 2 ≤ T 3 = 1 s 1 +s 2 +s 3 that p 1 ≤ s 1 +s 2 s 1 +s 2 +s 3 − p 2 , which implies that p 2 ≤ s 1 +s 2 2(s 1 +s 2 +s 3 ) due to p 2 ≤ p 1 .We deduce This proves the lemma.

Lemma 7 For schedule S H
(1) associated with the sets N u and N v,w found either in Step 2 or in Step 3 of Algorithm Q3Pr1CL3Lim the following bound holds, where is defined by (16).

123
Proof We only need to analyze the instances for which p 2 ≤ T 3 s 2 .Since for any triple (u, v, w) we have that v ≤ 2, it follows that p 2 ≤ T 3 s v .
In our proof, we need to distinguish between the following three options: the sets N u and N v,w are found Option 1: in Step 2 of Algorithm Pr1CL3Lim, so that First, we prove that C u ≤ T 3 .For Option 1, the inequality C u = p 2 /s 2 ≤ T 3 follows immediately.For Options 2 and 3, set N u is found by Algorithm OneSplit, so that (17) holds due to Lemma 5.
From now on, we focus on establishing an upper bound on C v,w .Let p = max p j |J j ∈ N v,w denote the duration of the longest job in set N v,w , and σ = (σ (1) , σ (2) , . ..) be the sequence of indices for jobs of set N v,w taken in the LPT order, so that p σ (1) = p.Adapting (8), the makespan C v,w can be written as where in the last term the preempted job J σ (k) , such that σ (k) ≥ 2, is identified by Algorithm Q2Pr1.
We start with the case that C v,w is determined by the average load on machines M v and M w .Again, for Options 2 and 3, set N v,w is found by Algorithm OneSplit, so that (18) holds due to Lemma 5 and C v,w ≤ T 3 .For Option 1, it follows from and [1 − T 3 (s 1 + s 3 ) , T 3 s 2 ] overlap; see the proof of Lemma 5. Thus, for Option 1, we deduce that p and the lemma holds.Now we look at the case that C v,w = p s v , so that schedule S v,w is non-preemptive and its makespan is determined by the duration of processing the longest job in set N v,w on the fastest machine For Option 2, clearly p = p 2 .For Option 3, set N v,w is found by Procedure Split run with r = 4.It follows from Step 1 of that procedure that either job J 1 belongs to set N u and therefore p ≤ p 2 , or p ≤ p 1 ≤ 1 4 .It follows from (16) that since s 2 ≤ s 1 ≤ 2s 3 .This guarantees that T 3 s 3 ≥ 1 4 for all speeds of the range under consideration.If p ≤ p 2 then the inequality p 2 ≤ T 3 s v ensures C v,w ≤ T 3 .Alternatively, p ≤ 1 4 and we have that We are now left to consider the case that C v,w is given by the third term in the right-hand side of (20).It can be derived that C max S v,w does not exceed the actual processing time of the preempted job J σ (k) on the slower machine, i.e., C v,w ≤ p σ (k) s w .Since (8) implies that job J σ (k) is at most the second longest in set N v,w , it follows that p σ (k) ≤ p 2 .In the case of Options 2 and 3, the condition p 2 ≤ T 3 s 3 implies that so that we only need to consider Option 1.If p σ (k) ≤ 1 4 then we apply (21) to deduce In the remainder of this proof, we assume p σ (k) > 1 4 , i.e., job J σ (k) , as the second longest job of set N 1,3 is job J 3 .
Since p 3 ≤ 1 3 and s 1 ≤ 2s 3 for the range of speeds under consideration, we finally derive as required.
Lemmas 6 and 7 together provide a global upper bound on ρ (1) 3 (Class 3).We now use this to provide tight bounds for the cases of two slow and two fast machines.
We first notice that the component of given by s 1 +s 2 +s 3 s 1 +2s 3 is dominated by (2s 1 −s 3 )(s 1 +s 2 +s 3 ) 3s 2 1 found in Lemma 7 since (2s 1 −s 3 ) The latter condition holds for s 3 ≤ s 1 ≤ 2s 3 , the speed range of interest.Hence we define ˜ to be with the component s 1 +s 2 +s 3 s 1 +2s 3 removed.

Corollary 2 For schedule S H
(1) on two slow machines holds and this bound is tight.
Proof For the case of two slow machines, T 3 = 1 s+2 and we derive from ( 16) that If the makespan of schedule S H (1) is dominated by preemptive processing, then the expressions given in Lemma 6 and in Lemma 7, respectively, simplify as Since s+1 2 > s+2 3 for s ≥ 1, it follows that in the two expressions above the first one dominates the second.On other other hand, we can compare (2s−1)(s+1) 2s 2 with the second and the third components of ˜ .We see that (2s−1)(s+1) ≤ ˜ , so that ρ (1) 3 (Class 3) ≤ ˜ .The break-points are easily seen to be as in (22).
Figure 3 shows the graph of ρ (1) 3 (Class 3), as a function of s ∈ [1, 2].Tight instances are represented by five jobs of equal length for 1 ≤ s ≤ 8 7 , four jobs of equal length for 8 7 ≤ s ≤ 5 4 and three jobs of equal length for 5 4 ≤ s ≤ 2; see rows 1-3 of Table 1.In this table, the column labelled S * (1) shows the assignment of the jobs to the machines; if a job appears in two of the columns labelled M 1 , M 2 or M 3 , then the job is processed on the corresponding machines with a single preemption.
For the instance in row 1 of Table 1, we have that ˜ = 2(s+2) 5s .The schedule shown in Fig. 4a assigns two jobs to the fast machine M 1 and processes the remaining three jobs on two slow machines with a single preemption of job J 4 .Notice that 2 5s > 3 10 for s < 4 3 .This schedule is in fact an optimal schedule for the instance.Indeed, with a single preemption, we need to schedule four full jobs and two parts of the fifth job on three machines.In any case, (1) for the instances in Table 1: a row 1, b row 2 there will be a machine that processes at least two full jobs, so that the makespan cannot be smaller than 2 5s .For the instance in row 2, we have that ˜ = 3(s+2)  4(s+1) .The schedule shown in Fig. 4b processes three jobs on machines M 1 and M 2 , while machine M 3 processes a single job.The preempted job J 2 is processed on M 2 in the time interval 0, 2−s  4(s+1) , where 2−s 4(s+1) < 1 4s for all s.Job J 2 is also processed on machine M 1 in the time interval 1 4s , 3 4(s+1) .There is no overlap in the processing of this job.Machine M 2 performs 2−s s+1 of the job, while machine M 1 performs 2s−1 s+1 = 1 − 2−s s+1 of the job, i.e., job J 2 is processed in full.Since 3 4(s+1) ≥ 1 4 for s ≤ 2, the makespan of this schedule is equal to 3 4(s+1) , which is the average machine load for processing three jobs on two non-identical machines, i.e., this schedule is the best schedule, provided that the fast machine is involved in the processing of the preempted job.In the alternative class of schedules, exactly one job is processed on machine M 1 , while the remaining three jobs are processed with a single preemption on machines M 2 and M 3 , similarly to the schedule shown in Fig. 4a.However, the makespan of the latter schedule is equal to 3 8 ≥ 3 4(s+1) .Thus, the schedule in Fig. 4b is optimal.For the instance in row 3, we have that ˜ = s+2 3 .Consider a schedule in which each machine receives exactly one job, which is processed with no preemption.The makespan of the resulting schedule is 1 3 .If no job is processed in full on a slow machine, then the average load of the fast and a single slow machine is equal to 1 s+1 , which is no less than 1 3 for s ≤ 2. This completes the proof.
holds and this bound is tight.
Proof For the case of two fast machines, T 3 = 2s + 1 and we derive from ( 16) that where the last equality holds since 2 5s dominates the other components for s ≤ 2.

If the makespan of schedule S H
(1) is dominated by preemptive processing, then the expressions given in Lemma 6 and in Lemma 7, respectively, simplify as and the break-point is easily seen to be as in ( 23). 1) for the instances in Table 1: a row 4, b row 5 Figure 5 shows the graph of ρ (1) 3 (Class 3), as a function of s ∈ [1, 2] .Tight instances consist of five jobs of equal length for 1 ≤ s ≤ 5 4 , and of three jobs of equal length for 5 4 ≤ s ≤ 2; see rows 4-5 of Table 1.For the instance in row 4 of Table 1, we have that ˜ = 2(2s+1)  5s .The schedule shown in Fig. 6a assigns two jobs to each of the fast machines M 1 and M 2 , while the fifth job is processed on M 3 .The makespan of this schedule is 2 5s ≥ 1 5 for s ≤ 2. This schedule is in fact an optimal schedule for the instance.Indeed, with a single preemption, we need to schedule four full jobs and two parts of the fifth job on three machines.In any case, there will be a machine that processes at least two full jobs, so that the makespan cannot be smaller than 2 5s .
For the instance in row 5, the schedule shown in Fig. 6b assigns one job to be processed non-preemptively on each fast machine M 1 and M 2 , while job J 3 is processed with a single preemption: on the slow machine M 3 in the time interval 0, 1 3s and on machine M 1 in the interval 1 3s , 2s−1 3s 2 .There is no overlap in the processing of this job.Machine M 3 performs 1 s of the job, while machine M 1 performs s−1 s = 1 − 1 s of the job, i.e., job J 3 is processed in full.If machine M 3 processes at least one full job, then it completes no earlier than time 1 3 , which is no less than 2s−1 3s 2 for all s ≥ 1.If M 3 processes no jobs at all, then the three jobs are to be processed on two identical fast machines M 1 and M 2 , which implies the makespan of at least 1 2s , the latter value being no less than 2s−1 3s 2 for s ≤ 2. Thus, the schedule in Fig. 6b is an optimal schedule S * (1) .

Unlimited relative machine speeds (s 1 ≥ 2s 3 )
In this section, we assume that s 1 ≥ 2s 3 .The analysis of the value of ρ (1) 3 (Class 3) is focused on the instances of the three-machine problem with either two fast or two slow machines.For these situations, we derive tight upper bounds on the value ρ (1) 3 (Class 3).The algorithm below schedules all jobs with at most one preemption on the first two machines, the slowest machine M 3 is not used at all.

Algorithm Q3Pr1CL3UnLim
Input: An instance I = (L n , M 3 ) of Class 3, with its jobs having normalized processing times, p (N ) = 1, numbered in their LPT order; among the three machines there are either two fast (s 1 = s 2 = s ≥ 2, s 3 = 1) or two slow (s 1 = s ≥ 2, s 2 = s 3 = 1) Output: A schedule S H (1) with at most one preemption Step 1. Create schedule S H (1) in which all jobs are scheduled in accordance with Algorithm Q2Pr1 on machines M = M 1 and M = M 2 .Stop.

Lemma 8 For schedule S H
(1) found in Step 1 of Algorithm Q3Pr1CL3UnLim, the inequality ρ ( 1) 3s 2 holds for two slow machines, while the inequality Proof Algorithm Q2Pr1 will produce a schedule with the makespan equal to the maximum of one of three expressions similarly to (20), i.e., The second expression p 1 s 1 cannot dominate, since p 1 s 1 = T 1 ≤ T 3 = 1 s 1 +s 2 +s 3 < 1 s 1 +s 2 for Class 3 instances.
In the case of two fast machines, in order to create schedule S H (1) , two identical machines of speed s are used and C max S H (1) = 1 s 1 +s 2 = 1 2s for any Class 3 instance.Hence, ρ (1) (1) T 3 = 2s+1 2s as claimed.This function is decreasing and attains its maximum of 5 4 at s = 2; see Fig. 7.For two slow machines, the makespan C max S H (1) is given by either the average machine load on the two machines 1 s 1 +s 2 = 1 s+1 , or is defined by the total actual processing time of the preempted job J k .In the latter case, the third expression of (24) for the two slow machines simplifies to If k = 2, then in schedule S H (1) the jobs J 1 and J 2 are scheduled exactly as in the schedule analyzed in Lemma 6.Thus, (19) holds, which for the two slow machines simplifies to 2s 2 1 (s 1 + s 2 + s 3 ) = (2s − 1) (s + 1) 2s 2 (s + 2) .
For both situations, the tightness of the bounds is provided by the instance with three identical jobs, p 1 = p 2 = p 3 = 1 3 .In the schedules discussed below the slow machine M 3 is assigned no jobs.
In the case of two fast machines, the schedule shown in Fig. 8a processes the jobs on two identical machines of speed s with a single preemption, which gives the makespan of 1 2s .This schedule is in fact an optimal schedule for the instance.Indeed, if machine M 3 processes a full job, then that job would complete at time 1 3 > 1 2s for s ≥ 2. If there is a job which is processed with preemption on M 3 and on one of the fast machines, then we get a schedule shown in Fig. 6b, with the makespan 2s−1 3s 2 ≥ 1 2s for s ≥ 2. In the case of two slow machines, consider the schedule shown in Fig. 8b, in which two full jobs are processed on machine M 1 , and job J 3 is processed with a single preemption, on the slow machine M 2 in the time interval 0, 2 3s and on machine M 1 in the interval 2 3s , 3s−2 3s 2 .There is no overlap in the processing of this job.Machine M 2 performs 2 s of the job, while machine M 1 performs s−2 s = 1 − 2 s of the job, i.e., job J 3 is processed in full.If a slow machine processes at least one full job, then it completes no earlier than time 1 3 , which is no less than 3s−2 3s 2 for s ≥ 2 .Thus, the schedule in Fig. 8b is an optimal schedule S * (1) .

Conclusion
In this paper, for the problem on three uniform machines to minimize the makespan we have performed a parametric analysis of the quality of a schedule with at most one preemption compared to the optimal preemptive schedule.We have derived tight bounds in terms of a single parameter, the relative speed of the machines, for the cases of two fast and two slow machines, respectively.We hope that Procedure Split, simple as it, may appear useful as part of various scheduling algorithms that require partitioning of jobs into two subsets with prescribed properties.
For the general problem on m ≥ 3 uniform machines, it is an interesting research goal to deduce a quality measure of schedules on uniform machines, provided any fixed number of preemptions 2 ≤ q ≤ 2 (m − 1) is allowed.Possible extensions may also include an objective function other than the makespan and/or a more general machine environment, e.g., unrelated parallel machines.
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/),which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

Fig. 2
Fig. 2(s 1 , s 2 , s 3 ) as a function of speed ratio 2 } and go toStep 4; otherwise go to Step 3.Step 3. Run Algorithm OneSplit that outputs sets N u and N v,w for a triple of indices

Fig. 3
Fig. 3 Graph of Graph of ρ (1) 3 (Class 3) for two slow machines as a function of s

Fig. 5
Fig. 5 Graph of ρ (1) 3 (Class 3) for two fast machines as a function of s Corollary 3 For schedule S H (1) on two fast machines (2 ≥ s 1 = s 2 = s ≥ 1 = s 3 ) found by Algorithm Q3Pr1CL3Lim the bound C max S H (1) C max S * p fast machines.Both bounds are tight.

Fig. 8
Fig. 8 Schedule S * (1) in the case of a two fast machines; b two slow machines

Table 1
Tightness examples-limited relative machine speeds