Abstract
This paper investigates semi-online scheduling problems on two parallel machines under a grade of service (GoS) provision subject to minimize the makespan. We consider three different semi-online versions with knowing the total processing time of the jobs with higher GoS level, knowing the total processing time of the jobs with lower GoS level, or knowing both in advance. Respectively, for the three semi-online versions, we develop algorithms with competitive ratios of 3/2, 20/13, and 4/3 which are shown to be optimal.
1. Introduction
Scheduling problem under a grade of service provision was first proposed by Hwang et al. [1]. The jobs should be assigned irrevocably to machines as soon as they arrive. Each job and machine are labeled with the GoS levels. A job can be processed by a particular machine if and only if the GoS level of the job is not less than that of the machine. In practice, the scheduling with GoS eligibility constraints is widely used. For more details, please refer to [1–3].
For the offline scheduling on m machines under a grade of service provision, Hwang et al. [1] presented an lg-lpt algorithm which has a tight bound of 5/4 for two machines and 2 − 1/(m − 1) for m (m ≥ 3) machines. Ji and Cheng [4] gave an fptas for this problem. However, Woeginger [5] gave two simpler fptass for the same problem. For the online version, Jiang [6] proved a lower bound of 2 for the case with two levels of GoS and presented an online algorithm with a competitive ratio of 2.52. Zhang et al. [7] improved the result and showed an algorithm with a competitive ratio of 1 + (m 2 − m)/(m 2 − sm + s 2) ≤ 7/3.
For m = 2, Park et al. [8] presented an optimal algorithm with a competitive ratio of 5/3. However, there are many papers focusing on the semi-online scheduling on two machines under GoS [8–13]. As the total processing time of all jobs is known, Park et al. [8] gave an optimal algorithm with a competitive ratio of 3/2. When the largest processing time of all jobs is known, Wu et al. [12] presented an optimal algorithm with a competitive ratio of . In the same paper, Wu et al. [12] gave an optimal algorithm with a competitive ratio of 3/2 when the optimal value of the instance is known. For the processing times bounded in an interval, Liu et al. [9] gave a competitive algorithm under some conditions and Zhang et al. [13] improved the result and gave an optimal algorithm for different intervals. In this paper, we focus on the semi-online scheduling problem where only partial information of the total processing time is known. The semi-online versions concerned in our paper are listed as follows.
-
sum · higher: the total processing time of all jobs with higher GoS level is known in advance.
-
sum · lower: the total processing time of all jobs with lower GoS level is known in advance.
We use P2 · GoS | s | C max to denote the semi-online problem with information s, where s ∈ {sum · higher, sum · lower}. Moreover, we use P2 · GoS | s1&s2 | C max to denote the semi-online problem where both information s1 and information s2 are available in advance.
Our results indicate that competitive ratios of three algorithms are better than 5/3 of the online version [8]. When knowing sum · higher in advance, the competitive ratio is the same as the optimal algorithm [8] presented for the semi-online problem where the total processing time of all jobs is known. For designing algorithm, the results indicate that knowing sum · higher&sum · lower is more useful than sum · higher or sum · lower. Moreover, knowing sum · higher is more useful than sum · lower. However, knowing sum · lower is better than knowing the largest processing time of all jobs [12].
The rest of this paper is organized as follows: in Section 2, we give some basic definitions. In Sections 3–5, we prove lower bounds and present algorithms for the three semi-online problems, respectively.
2. Basic Definitions
We are given two machines and a series of jobs arriving online which are to be scheduled irrevocably at the time of their arrivals. The arrival of a new job occurs only after the current job is scheduled. We denote by the set J = 1,…, n the set of all job indices arranged in the order of arrival. The jth arriving job is referred to as job J j. We denote each job by J j = (p j, g j). The GoS assigned to job J j is denoted by g j, which is 1 if the job must be processed only by the first machine and 2 if it may be processed by either of the two; p j is the processing time of job J j; p j and g j are not known until the arrival of job J j. Let T 1 = ∑gj=1 p j and T 2 = ∑gj=2 p j.
The scheduled can be seen as the partition of J into two subsets, denoted by (S 1, S 2), where S 1 and S 2 contain job indices assigned to the first and second machine, respectively. Let t(S) = ΣJj∈S p j for an arbitrary subset S of J. Then the maximum of t(S 1) and t(S 2), denoted by max{t(S 1), t(S 2)}, is the makespan of the scheduled (S 1, S 2). The problem is to minimize max{t(S 1), t(S 2)}.
The minimum makespan obtained by an optimal offline algorithm is denoted by C opt. The makespan generated by algorithm A is denoted by C A. The competitive ratio of A is defined to be the maximum C A/C opt.
3. Optimal Algorithm for P2 · GoS | sum · higher | C max
In this section, we prove a lower bound of competitive ratio and present an optimal algorithm for the semi-online version as T 1 is known in advance.
3.1. Lower Bound of Competitive Ratio
Theorem 1 —
Any semi-online algorithm for P2 · GoS | sum · higher | C max has a competitive ratio of at least 3/2.
Proof —
The theorem will be proved by adversary method. Let T 1 = 1 be known in advance. The first job is J 1 = (1,1). J 1 must be scheduled on the first machine. Then, we generate job J 2 = (1,2). If job J 2 = (1,2) is scheduled on the first machine, and there is no job arriving after, we have C A/C opt = 2 > 3/2. Otherwise, job J 2 is scheduled on the second machine, and we generate job J 3 = (2,2). No matter which machine that job J 3 is scheduled on, we have C A = 3. Since the optimal algorithm will scheduled job J 1 and job J 2 on the first machine and scheduled job J 3 on the second machine. Hence, C A/C opt = 3/2. The proof is completed.
3.2. Optimal Semi-Online Algorithm GoS-TH
Since we know T 1 in advance and all the jobs with g j = 1 must be scheduled on the first machine, we can regard them as one job; that is, J 0 = (T 1, 1). We scheduled job J 0 on the first machine at first and do not need to care about the job with g j = 1 later.
At the arrival of each job, H is updated to become a half of the total processing time of the jobs which include the jobs with GoS = 2 and job J 0; P is updated to become the maximum processing time. We define P j, S 1 j, S 2 j, and H j to be P, S 1, S 2, and H after we scheduled job J j. Then, clearly the optimum makespan C opt ≥ L = max(T, P). Combined with the online algorithm presented by Park et al. [8], we propose Algorithm GoS-TH.
Algorithm GoS-TH
Scheduled J 0 to the first machine and t(S 1 0) = T 1.
Let p j = 0 for all the jobs with g j = 1.
Suppose that the incoming job is J j and g j = 1; assign job J j to the first machine.
-
Suppose the incoming job is J j and g j = 2. H j = H j−1 + p j/2, P j = max(P j−1, p j), and L j = max(T j, P j).
-
(4.1)If t(S 2 j) + p j ≤ (3/2)L j, scheduled it to the second machine.
-
(4.2)If t(S 2 j) + p j > (3/2)L j, scheduled it to the first machine.
-
(4.1)
Theorem 2 —
The competitive ratio of Algorithm GoS-TH is 3/2 for P2 · GoS | sum · higher | C max.
Proof —
Suppose that Theorem 2 is false. There must exist an instance with the least number of jobs to make C GoS-TH > (3/2)C opt. The makespan is not determined until the arrival of job J n. Therefore,
(1) If g n = 1, based on Algorithm GoS-TH, we have t(S 1 n) = t(S 1 n−1) and t(S 2 n) = t(S 2 n−1). Due to the fact that max{t(S 1 n−1), t(S 2 n−1)} ≤ (3/2)C opt, we just need to prove Theorem 2 is true when g n = 2.
If g n = 2, when it is scheduled on the second machine, we have C GoS-TH = t(S 2 n) = t(S 2 n−1) + p n ≤ (3/2)C opt. This is contradicting with inequality (1). Otherwise, job J n is scheduled on the first machine, which leads to t(S 2 n−1) + p n > (3/2)L n ≥ (3/2)H n; combined with (t(S 2 n−1) + p n + t(S 1 n−1))/2 = H n, we get that t(S 1 n−1) < (1/2)L n ≤ (1/2)C opt. Since p n ≤ C opt, we have t(S 1 n−1) + p n < (3/2)C opt, which also contradicted with inequality (1). The proof is completed.
4. Optimal Algorithm for P2 · GoS | sum · lower | C max
In this section, we prove a lower bound of competitive ratio and present an optimal algorithm for the semi-online version as T 2 is known in advance.
4.1. Lower Bound of Competitive Ratio
Theorem 3 —
Any semi-online algorithm for P2 · GoS | sum · lower | C max has a competitive ratio of at least 20/13.
Proof —
We will construct a job sequence with T 2 = 26 to make an arbitrary algorithm A behave poorly. We begin with jobs J 1 = (1,2) and J 2 = (1,2). We discuss the following three cases.
Case 1 (J 1 and J 2 are scheduled on the first machine). We continue to generate jobs J 3 = (12,2) and J 4 = (12,2). If job J 3 and job J 4 are scheduled on the second machine, we have t(S 2) = 24; thus, C A/C opt = 24/14 > 20/13. Otherwise, if job J 3 or job J 4 is scheduled on the first machine or both of them are scheduled on the first machine, we further generate job J 5 = (26,1). We will have t(S 1) ≥ 40. Since optimal algorithm will scheduled jobs J 1, J 2, J 3, and J 4 on the second machine and scheduled job J 5 on the first machine, we have C A/C opt ≥ 20/13.
Case 2 (J 1 or J 2 is scheduled on the first machine). We continue to generate job J 3 = (2,2). Then we discuss the following two subcases.
Subcase 2.1 (job J 3 is scheduled on the first machine). We continue to generate jobs J 4 = (11,2) and J 5 = (11,2). If job J 4 and job J 5 are scheduled on the second machine, we have t(S 2) = 23 and t(S 1) = 2, which lead to C A/C opt = 23/13 > 20/13. Otherwise, if job J 4 or job J 5 is scheduled on the first machine or both of them are scheduled on the first machine, we further generate job J 6 = (26,1) which leads to C A/C opt ≥ 20/13.
Subcase 2.2 (J 3 is scheduled on the second machine). We generate job J 4 = (5,2). If job J 4 is scheduled on the second machine, we generate job J 5 = (13,2). If job J 5 is scheduled on the second machine, we have t(S 2) = 21. Since the optimal algorithm will scheduled jobs J 1, J 2, J 3, and J 4 on the first machine and scheduled job J 5 on the second machine, we have C A/C opt = 21/13 > 20/13. If job J 5 is scheduled on the first machine, we generate job J 6 = (26,1) which leads to C A/C opt ≥ 20/13.
Otherwise, if job J 4 is scheduled on the first machine, we generate job J 5 = (8,2). If job J 5 is scheduled on the first machine, we generate job J 6 = (26,1) which leads to C A/C opt ≥ 20/13. If job J 5 is scheduled on the second machine, we generate job J 6 = (9,2). If job J 6 is scheduled on the second machine, we have t(S 2) = 20 and C opt = 13; thus, C A/C opt = 20/13. If J 6 is scheduled on the first machine, we generate job J 7 = (26,1) and have t(S 1) = 40 and C opt = 26, which also lead to C A/C opt = 20/13.
Case 3 (J 1 and J 2 are scheduled on the second machine). We continue to generate job J 3 = (2,2). Then we discuss the following two subcases.
Subcase 3.1 (job J 3 is scheduled on the second machine). We generate jobs J 4 = (3,2) and J 5 = (3,2). If job J 4 or job J 5 is scheduled on the second machine or both of them are scheduled on the second machine, we further generate job J 6 = (1,2). If job J 6 is scheduled on the second machine, we generate job J 7 = (14,2). If job J 7 is scheduled on the second machine, we have t(S 2) = 22. Since the optimal algorithm will scheduled jobs J 1, J 2, J 3, J 4, J 5, and J 6 on the first machine and scheduled job J 7 on the second machine, we have C A/C opt ≥ 22/14 > 20/13. Otherwise, job J 7 is scheduled on the first machine, and then we generate job J 8 = (26,1) and have t(S 1) ≥ 40 and C opt = 26; hence, C A/C opt > 20/13. If job J 6 is scheduled on the first machine, we generate job J 7 = (13,2). If job J 7 is scheduled on the second machine, we have t(S 2) ≥ 20 and C opt = 13, hence, we also have C A/C opt > 20/13. Otherwise, job J 7 is scheduled on the first machine, and then we generate job J 8 = (26,1). We have C A/C opt > 20/13.
If job J 4 and job J 5 are scheduled on the first machine, we generate jobs J 6 = (8,2) and J 7 = (8,2). If job J 6 or job J 7 is scheduled on the first machine or both of them are scheduled on the first machine, we further generate job J 8 = (26,1). We have C A/C opt > 20/13. Otherwise, if job J 6 and job J 7 are scheduled on the second machine, we have t(S 2) = 20 and C opt = 13, which lead to C A/C opt = 20/13.
Subcase 3.2 (job J 3 is scheduled on the first machine). We generate job J 4 = (2,2). If job J 4 is scheduled on the first machine, we generate jobs J 5 = (10,2) and J 6 = (10,2). If job J 5 and job J 6 are scheduled on the second machine, we have t(S 2) = 22 and C opt = 13; thus, C A/C opt = 22/13 > 20/13. Otherwise, if job J 5 or job J 6 is scheduled on the first machine or both of them are scheduled on the first machine, we further generate job J 7 = (26,1) and have t(S 1) ≥ 40; thus, C A/C opt = 20/13.
Otherwise, if job J 4 is scheduled on the second machine, we generate job J 5 = (4,2). If job J 5 is scheduled on the second machine, we generate job J 6 = (13,2). If job J 6 is scheduled on the second machine, we have t(S 2) = 21 and C opt = 13; hence, C A/C opt = 20/13. If job J 6 is scheduled on the first machine, we generate job J 7 = (26,1) and have t(S 1) ≥ 41; thus, C A/C opt = 41/26 > 20/13.
Therefore, job J 5 is scheduled on the first machine. Then we generate jobs J 6 = (8,2) and J 7 = (8,2). If job J 6 or job J 7 is scheduled on the first machine or both of them are scheduled on the first machine, we further generate job J 8 = (26,1). We will have t(S 1) ≥ 40 and C opt = 26; hence, C A/C opt > 20/13. Otherwise, if job J 6 and job J 7 are scheduled on the second machine, we have t(S 2) = 20 and C opt = 13; also, we have C A/C opt = 20/13. The proof is completed.
4.2. Optimal Semi-Online Algorithm GoS-TL
In this subsection, we design an optimal algorithm with a competitive ratio of 20/13. Let x 1 and x 2 be the jobs with g j = 2 assigned to the first and second machine, respectively, where t(x 1) + t(x 2) = T 2. We define x 1 j and x 2 j to be x 1 and x 2 after we scheduled job J j. Then, we propose Algorithm GoS-TL.
Algorithm GoS-TL
Suppose that the incoming job is J j and g j = 1; assign job J j to the first machine.
-
Suppose that the incoming job is J j and g j = 2.
-
(2.1)(Stopping criterion 1). If (3/13)T 2 ≤ t(x 1 j−1) + p j ≤ (7/13)T 2, scheduled job J j and all the remaining jobs with GoS = 1 to the first machine, and then scheduled all the remaining jobs with GoS = 2 to the second machine. Stop.
-
(2.2)(Stopping criterion 2). If (6/13)T 2 ≤ t(x 2 j−1) + p j ≤ (10/13)T 2, scheduled job J j to the second machine and scheduled all the remaining jobs to the first machine. Stop.
-
(2.3)(Stopping criterion 3). If t(x 2 j−1) > 10/13, scheduled job J j and the remaining jobs to the first machine. Stop.
-
(2.4)If t(x 2 j−1) ≤ (7/26)T 2 and (7/13)T 2 ≤ t(x 2 j−1) + p j < (6/13)T 2, scheduled job J j to the first machine. Continue.
-
(2.5)Otherwise, scheduled job J j to the second machine. Continue.
-
(2.1)
Lemma 4 —
If (6/13)T 2 ≤ t(x 2) ≤ (10/13)T 2, then C GoS-TL ≤ (20/13)C opt.
Proof —
Since C opt ≥ (1/2)T 2, we have t(S 2) = t(x 2) ≤ (10/13)T 2 ≤ (20/13)C opt. Then, we only need to prove that t(S 1) ≤ (20/13)C opt. We discuss it by the following two cases.
Case 1 (T 1 ≥ T 2). In this case, we have t(S 1) = t(x 1) + T 1 and T 1 ≥ (T 1 + T 2)/2. Since (6/13)T 2 ≤ t(x 2) ≤ (10/13)T 2, we have t(x 1) ≤ (7/13)T 2. Combined with C opt ≥ T 1, we have
(2) Case 2 (T 1 < T 2). In this case, we have T 1 < (T 1 + T 2)/2, which leads to C opt ≥ (T 1 + T 2)/2. Then, we have
(3) Since ((14/13)T 2 + 2T 1)/(T 1 + T 2) is increasing function of the variation of T 1, thus, we have
(4) The proof is completed.
Based on Lemma 4, we straightforwardly have Corollary 5.
Corollary 5 —
(1) If t(x 1) ≤ (7/13)T 2, then t(S 1) ≤ (20/13)C opt; (2) if t(x 2) ≤ (10/13)T 2, then t(S 2) ≤ (20/13)C opt.
Lemma 6 —
t(x 1) ≤ (7/13)T 2.
Proof —
Since Algorithm GoS-TL will only scheduled a job with g j = 2 to the first machine only when t(x 1 j−1) + p j ≤ (7/13)T 2, the lemma can directly be got from the Algorithm GoS-TL. The proof is completed.
By using Corollary 5 and Lemma 6, we can obtain the following corollary.
Corollary 7 —
If t(x 2) ≤ (10/13)T 2, then C GoS-TL ≤ (20/13)C opt.
Based on Lemma 6 and Corollary 7, if we prove t(S 2) ≤ (20/13)C opt will hold when t(x 2) > (10/13)T 2, then we can prove that Algorithm GoS-TL is (20/13)-competitive.
Lemma 8 —
If job J j is scheduled on the second machine by Algorithm GoS-TL where t(x 2 j−1) + p j > (10/13)T 2 and t(x 2 j−1)≤(7/26)T 2, then t(S 2)<(20/13)C opt.
Proof —
If t(x 2 j−1) + p j > (10/13)T 2 and t(x 2 j−1) ≤ (7/13)T 2, we have p j > (1/2)T 2. Then we have C opt ≥ p j > (1/2)T 2. If job J j is scheduled on the second machine, Algorithm GoS-TL will scheduled the remaining jobs on the first machine. Thus,
(5) Since (t(x 2 j−1) + p j)/p j is decreasing function of the variation of p j and increasing function of variation of t(x 2 j−1), we have
(6) The proof is completed.
Lemma 9 —
If (6/13)T 2 ≤ t(x 2 j−1) ≤ (10/13)T 2, then t(S 2) > (10/13)T 2 will never happen.
Proof —
If (6/13)T 2 ≤ t(x 2 j−1)≤(10/13)T 2, Algorithm GoS-TL will scheduled the remaining jobs on the first machine, so t(S 2) = t(x 2 j−1)≤(10/13)T 2. The proof is completed.
Lemma 10 —
If job J j is scheduled on the second machine by Algorithm GoS-TL where (7/26)T 2 < t(x 2 j−1)<(6/13)T 2 and t(x 2 j)>(10/13)T 2, then t(S 2) = t(x 2 j)<(20/13)C opt.
Proof —
Let J w be the job that is scheduled on the second machine by Algorithm GoS-TL which satisfies t(x 2 w−1) ≤ 7/13 and (7/26)T 2 < t(x 2 w−1) + p w < (6/13)T 2. Since J w is scheduled on the second machine by Algorithm GoS-TL and (7/26)T 2 < t(x 2 w−1) + p w < (6/13)T 2, we have t(x 1 w−1) + p w > (7/13)T 2; otherwise, Algorithm GoS-TL will scheduled job J w on the first machine. Moreover, t(x 1 w−1) < (3/13)T 2 must hold which leads to p w > (4/13)T 2. This further implies that t(x 2 w−1) < (2/13)T 2 since t(x 2 w−1) + p w < (6/13)T 2.
If t(x 1 w−1) = 0, then p w > (7/13)T 2 which leads to t(x 2 w) > (6/13)T 2; this is contradicting with the definition of job J w. Therefore, we have t(x 1 w−1) > 0. Based on step (2.4) of Algorithm GoS-TL, the processing time of the job that is assigned to x 1 w−1 is larger than (3/26)T 2 since t(x 2 w−1) < (2/13)T 2. Combined with t(x 1 w−1) < (3/13)T 2, we know there is only one job in x 1 w−1, call it job J v. Since job J v, job J w, and t(x 2 w−1) need to satisfy
(7) we can get p v > (9/52)T 2, which implies that t(S 2) < (43/52)T 2.
Since there is no job with g j = 2 that will scheduled on the first machine between job J v and J j by Algorithm GoS-TL, combined with job J j being scheduled on the second machine, we have p v + p j > (7/13)T 2. Since p j > (4/13)T 2, p v, p w, and p j must satisfy
(8) which implies that C opt > (7/13)T 2, hence,
(9) The proof is completed.
Based on Lemma 4 to Lemma 10 and Corollary 5 to Corollary 7, we have the following theorem naturally.
Theorem 11 —
The competitive ratio of Algorithm GoS-TL is 20/13 for P2 · GoS | sum · lower | C max.
5. Optimal Algorithm for P2 · GoS | sum · high&sum · lower | C max
In this section, we show a lower bound of competitive ratio and present an optimal algorithm for the semi-online version as T 1 and T 2 are known in advance.
5.1. Lower Bound of Competitive Ratio
Theorem 12 —
Any semi-online algorithm for P2 · GoS | sum · high&sum · lower | C max has a competitive ratio of at least 4/3.
Proof —
The theorem will be proved by adversary method. Let T 1 = 1/3 and T 2 = 5/3 be known in advance. The first job is J 1 = (1/3, 1). Job J 1 must be scheduled on the first machine. Then job J 2 = (1/3, 2) arrives. If job J 2 is scheduled on the second machine, we further generate jobs J 3 = (1,2) and J 4 = (1/3, 2). In this situation, we have C A ≥ 4/3 and C opt = 1 since the optimal algorithm will scheduled jobs J 1, J 2, and J 4 on the first machine and scheduled job J 3 on the second machine. Thus, we have C A/C opt ≥ 4/3. Otherwise, if job J 2 is scheduled on the first machine, then we further generate jobs J 3 = (2/3, 2) and J 4 = (2/3, 2). In this situation, we also have C A ≥ 4/3 and C opt = 1 since the optimal algorithm will scheduled jobs J 1 and J 3 on the first machine and scheduled jobs J 2 and J 3 on the second machine. The proof is completed.
5.2. Optimal Semi-Online Algorithm GoS-TB
In this subsection, we design an optimal algorithm with a competitive ratio of 4/3. Since we know T 1 in advance and all the jobs with g j = 1 must be scheduled on the first machine, therefore, we can regard them as one job, that is, J 0 = (T 1, 1). We scheduled job J 0 on the first machine at first and do not need to care about the job with g j = 1 later. We present Algorithm GoS-TB as follows.
Algorithm GoS-TB
Scheduled J 0 to the first machine and t(S 1 0) = T 1.
Let p j = 0 for all the jobs with g j = 1.
Suppose that the incoming job is J j and g j = 1; assign job J j to the first machine.
-
Suppose that the incoming job is J j and g j = 2.
-
(4.1)If t(S 1) + p j ≤ (2/3)(T 1 + T 2), scheduled it to the first machine.
-
(4.2)(Stopping criterion). Suppose t(S 1) + p j > (2/3)(T 1 + T 2).
-
(4.2.1)If t(S 1 j−1) > (1/3)(T 1 + T 2), scheduled job J j and the remaining jobs with GoS = 2 on the second machine and scheduled the remaining jobs with GoS = 1 to the first machine. Stop.
-
(4.2.2)If t(S 1 j−1) ≤ (1/3)(T 1 + T 2), scheduled job J j to the second machine, and scheduled the remaining jobs to the first machine. Stop.
-
(4.2.1)
-
(4.1)
Theorem 13 —
The competitive ratio of Algorithm GoS-TH is 4/3 for P2 · GoS | sum · high&sum · lower | C max.
Proof —
Since the job with g j = 1 is scheduled at first and we do not need to care about them after that. We focus on the jobs with g j = 2.
Assume job J j is the first job with g j = 2 to make t(S 1) + p j > (2/3)(T 1 + T 2). We prove it by the following two cases.
Case 1 (t(S 1 j−1)>(1/3)(T 1 + T 2)). In this case, Algorithm GoS-TB schedules job J j and the remaining jobs with GoS = 2 on the second machine. Therefore, t(S 1) ≤ (2/3)(T 1 + T 2) and t(S 2) ≤ T 1 + T 2 − t(S 1) < (2/3)(T 1 + T 2). Since C opt ≥ (1/2)(T 1 + T 2), we have C GoS-TH = max{t(S 1), t(S 2)} ≤ (2/3)(T 1 + T 2) ≤ (4/3)C opt.
Case 2 (t(S 1 j−1)≤(1/3)(T 1 + T 2)). In this case, we have p j > (1/3)(T 1 + T 2). Algorithm GoS-TH will only scheduled job J j on the second machine and scheduled the remaining jobs on the first machine. If p j ≥ (1/2)(T 1 + T 2), we have C opt = p j and t(S 1) ≤ p j = t(S 2). Therefore, C GoS-TH = C opt. Otherwise, (1/3)(T 1 + T 2) < p j < (1/2)(T 1 + T 2), which leads to t(S 1) ≤ T 1 + T 2 − t(S 2) < (2/3)(T 1 + T 2). Hence, we have C GoS-TH = max{t(S 1), t(S 2)} ≤ (2/3)(T 1 + T 2) ≤ (4/3)C opt. The proof is completed.
Acknowledgments
This work is supported by National Natural Science Foundation of China under Grants 71071123, 60921003, and 71371129 and Program for Changjiang Scholars and Innovative Research Team in University under Grant IRT1173.
Conflict of Interests
The authors declare that there is no conflict of interests regarding the publication of this paper.
References
- 1.Hwang H-C, Chang SY, Lee K. Parallel machine scheduling under a grade of service provision. Computers and Operations Research. 2004;31(12):2055–2061. [Google Scholar]
- 2.Bar-Noy A, Freund A, Naor J. On-line load balancing in a hierarchical server topology. SIAM Journal on Computing. 2001;31(2):527–549. [Google Scholar]
- 3.Ou J, Leung JY-T, Li C-L. Scheduling parallel machines with inclusive processing set restrictions. Naval Research Logistics. 2008;55(4):328–338. [Google Scholar]
- 4.Ji M, Cheng TCE. An FPTAS for parallel-machine scheduling under a grade of service provision to minimize makespan. Information Processing Letters. 2008;108(4):171–174. [Google Scholar]
- 5.Woeginger GJ. A comment on parallel-machine scheduling under a grade of service provision to minimize makespan. Information Processing Letters. 2009;109(7):341–342. [Google Scholar]
- 6.Jiang Y. Online scheduling on parallel machines with two GoS levels. Journal of Combinatorial Optimization. 2008;16(1):28–38. [Google Scholar]
- 7.Zhang A, Jiang Y, Tan Z. Online parallel machines scheduling with two hierarchies. Theoretical Computer Science. 2009;410(38–40):3597–3605. [Google Scholar]
- 8.Park J, Chang SY, Lee K. Online and semi-online scheduling of two machines under a grade of service provision. Operations Research Letters. 2006;34(6):692–696. [Google Scholar]
- 9.Liu M, Chu C, Xu Y, Zheng F. Semi-online scheduling on 2 machines under a grade of service provision with bounded processing times. Journal of Combinatorial Optimization. 2011;21(1):138–149. [Google Scholar]
- 10.Liu M, Xu Y, Chu C, Zheng F. Online scheduling on two uniform machines to minimize the makespan. Theoretical Computer Science. 2009;410(21-23):2099–2109. [Google Scholar]
- 11.Lu X, Liu Z. Semi-online scheduling problems on two uniform machines under a grade of service provision. Theoretical Computer Science. 2013;489-490:58–66. [Google Scholar]
- 12.Wu Y, Ji M, Yang Q. Optimal semi-online scheduling algorithms on two parallel identical machines under a grade of service provision. International Journal of Production Economics. 2012;135(1):367–371. [Google Scholar]
- 13.Zhang A, Jiang Y, Fan L, Hu J. Optimal online algorithms on two hierarchical machines with tighly-grouped processing times. Journal of Combinatorial Optimization. 2013 [Google Scholar]
