In this paper, we investigate the problem of semi-on-line scheduling n jobs on m identical parallel machines under the assumption that the ordering of the jobs by processing time is known and the jobs have arbitrary release times. Our aim is to minimize the maximum completion time. An ordinal algorithm is investigated and its worst case ratio is analyzed.
The problem of minimizing the maximum completion time for scheduling n jobs on m identical parallel machines (which is denoted by P m / ⋅ / C max ) have attracted the interests of many researchers since it was proposed by Graham in 1969 [
A scheduling problem is called off-line if we have complete information about the job data before constructing a schedule. In contrast, the scheduling problem is called online if the jobs appear one by one and it requires scheduling the arriving job irrevocably on a machine without knowledge of the future jobs. The processing time of next job becomes available only after the current job is scheduled. Graham [
Li and Huang [
For the classical online problem on the identical parallel machine system, we know that no algorithm can be better than algorithm LS when the number of machines is less than 4. In many applications, partial information about jobs can be made available in advance. This motivates us to study semi-online scheduling problems when different types of partial information become available [
Liu et al. [
p 1 ≥ p 2 ≥ ⋯ ≥ p n . The problem can be denoted as P m / ordinal / C max . They proposed an algorithm with worst case performance ratio not greater than
1 + m − 1 m + ⌈ m 2 ⌉ . Later Q 2 / ordinal / C max is considered by Tan and He [
P 3 / ordinal / C max is considered by He and Tan [
In this paper, we assume that we are given m identical parallel machines { M 1 , M 2 , ⋯ , M m } and an ordinal job list L = { J 1 , J 2 , ⋯ , J n } with arbitrary release times, i.e., each J j has a release time r j and a processing size of p j satisfying p 1 ≥ p 2 ≥ ⋯ ≥ p n . Our aim is to minimize the maximum completion time. We denote this problem as P m / ( ordinal , r j ) / C max .
The rest of the paper is organized as follows. In Section 2, some definitions and the algorithm P are given. In Section 3, we analyze the algorithm P and show its the upper bound of the worst case ratio. In Section 4, we give some concluding remarks.
In this section we will give some definitions and an algorithm P.
Definition 1. Let algorithm A be a heuristic algorithm of scheduling job list L . C max A ( L ) and C max O P T ( L ) denote the makespan of algorithm A and an optimal off-line algorithm, respectively. We define
R ( m , A ) = sup L C max A ( L ) C max O P T (L)
as the worst case performance ratio of algorithm A .
Definition 2. Suppose that J j is the current job with information ( r j , p j ) , i.e., release time r j and size of p j , to be scheduled on machine M i . We say that machine M i has an idle time interval for job J j , if there exists a time interval [ T 1 , T 2 ] satisfying the following two conditions:
1) Machine M i is idle in interval [ T 1 , T 2 ] and a job with release time T 2 has been assigned to machine M i to start at time T 2 .
2) T 2 − max [ T 1 , r j ] ≥ p j .
It is obvious that if machine M i has an idle time interval for job J j then we can assign J j to machine M i in the idle interval.
The algorithm P:
Let L = { J 1 , J 2 , ⋯ , J n } be a job list of problem P m / ( ordinal , r i ) / C max . We assign jobs of L one by one on machine M i ( i = 1 , 2 , ⋯ , m ) according to the following rules:
If 1 ≤ i ≤ ⌊ m 2 ⌋ holds, we assign the following jobs on machine M i :
{ J i } ∪ { J 2 m + 1 − i + k ( m + ⌈ m 2 ⌉ ) | k ≥ 0 } .
If 1 + ⌊ m 2 ⌋ ≤ i ≤ m holds, we assign the following jobs on machine M i :
{ J i } ∪ { J 2 m + 1 − i + k ( m + ⌈ m 2 ⌉ ) | k ≥ 0 } ∪ { J 3 m + 1 − i + k ( m + ⌈ m 2 ⌉ ) | k ≥ 0 } .
Assignment example for m = 5 :
M 1 : J 1 J 10 J 18 ⋯ M 2 : J 2 J 9 J 17 ⋯ M 3 : J 3 J 8 J 13 J 16 J 21 ⋯ M 4 : J 4 J 7 J 12 J 15 J 20 ⋯ M 5 : J 5 J 6 J 11 J 14 J 19 ⋯
Note: The above assignment just means the order of the job’s assigning, not mean the order of job’s processing because of the release times of the jobs. For example on machine M 1 , if r 1 = 6 , p 1 = 8 , r 10 = 6 , p 10 = 6 , then J 10 begin to be processed at time zero and J 1 begin to be processed at 6 even though J 1 is assigned before J 10 because J 1 appears before J 10 .
The following symbols will be used in the analysis of this paper later on:
1) P 1 n = ∑ j = 1 n p j , P k n = ∑ j = k n p j .
2) U i : the total sum of the idle time on machine M i in the schedule P.
3) C i : The completion time of machine M i in the schedule P. It is equal to the total sum of the processing time of the jobs assigned on machine M i and the idle time of machine M i in the schedule P. It is easy to see that C max P ( L ) = max { C 1 , C 2 , ⋯ , C m } holds.
1) [ h ] i : the index of the h-th job assigned on machine M i in the schedule P.
2) ⌈ x ⌉ : It represents the smallest integer not less than x.
3) ⌊ x ⌋ : It represents the largest integer not bigger than x.
The following simple inequality will be referred to later on:
C max O P T ( L ) ≥ max { ∑ j = 1 n p j m , r j + p j , j = 1 , 2 , ⋯ , n , U i + p i , i = 1 , 2 , ⋯ , m }
Furthermore it is easy to get
C max O P T ( L ) ≥ U i , i = 1 , 2 , ⋯ , m
Lemma 1: For any job list L = { J 1 , J 2 , ⋯ , J n } from problem
P m / ( ordinal , r i ) / C max , suppose that h jobs are assigned on machine M i by
algorithm P. If h ≥ 2 and [ h ] i − [ 1 ] i = [ h ] i − i ≥ h − 1 x hold, then we have
C i ≤ x P i + 1 n + U i + p i .
Proof: It is easy to see that ∀ h ≥ 2 , x ≥ h − 1 [ h ] i − i holds. Firstly we prove the
following statement by induction for h :
x P i + 1 [ h ] i ≥ p [ 2 ] i + ⋯ + p [ h ] i + [ x ( [ h ] i − [ 1 ] i ) − ( h − 1 ) ] p [ h ] i (1)
For h = 2 we have
x P i + 1 [ 2 ] i = x ( p [ 1 ] i + 1 + ⋯ + p [ 2 ] i ) ≥ x [ ( [ 2 ] i − [ 1 ] i ) p [ 2 ] i ] = p [ 2 ] i + [ x ( [ 2 ] i − [ 1 ] i ) − ( 2 − 1 ) ] p [ 2 ] i
That means the statement is true for h = 2. Now suppose (1) holds for h = k, i.e.,
x P i + 1 [ k ] i ≥ p [ 2 ] i + p [ 3 ] i + ⋯ + p [ k ] i + [ x ( [ k ] i − [ 1 ] i ) − ( k − 1 ) ] p [ k ] i .
Then for h = k + 1 we have
x P i + 1 [ k + 1 ] i ≥ p [ 2 ] i + p [ 3 ] i + ⋯ + p [ k ] i + [ x ( [ k ] i − [ 1 ] i ) − ( k − 1 ) ] p [ k ] i + x ( p [ k ] i + 1 + p [ k ] i + 2 + ⋯ + p [ k + 1 ] i ) ≥ p [ 2 ] i + p [ 3 ] i + ⋯ + p [ k ] i + [ x ( [ k ] i − [ 1 ] i ) − ( k − 1 ) ] p [ k ] i + [ x ( [ k + 1 ] i − [ k ] i ) ] p [ k + 1 ] i ≥ p [ 2 ] i + p [ 3 ] i + ⋯ + p [ k ] i + [ x ( [ k ] i − [ 1 ] i ) − ( k − 1 ) ] p [ k + 1 ] i
+ [ x ( [ k + 1 ] i − [ k ] i ) ] p [ k + 1 ] i = p [ 2 ] i + p [ 3 ] i + ⋯ + p [ k + 1 ] i + [ x ( [ k + 1 ] i − [ 1 ] i ) − ( k + 1 − 1 ) ] p [ k + 1 ] i
By (1) we have
x P i + 1 n + U i ≥ x P i + 1 [ h ] i + U i ≥ p [ 2 ] i + p [ 3 ] i + ⋯ + p [ h ] i + [ x ( [ h ] i − [ 1 ] i ) − ( h − 1 ) ] p [ k ] i + U i ≥ p [ 2 ] i + p [ 3 ] i + ⋯ + p [ h ] i + U i = C i − p i
where the last equality results from [ 1 ] i = i by the rules of algorithm P. The claim is proved.
Lemma 2: For any job list L = { J 1 , J 2 , ⋯ , J n } from problem P m / ( ordinal , r i ) / C max , we have
C i ≤ { 2 p i + 1 n 3 ( m − i + 1 ) + U i + p i 1 ≤ i ≤ m ; m is even 2 p i + 1 n 3 ( m − i + 1 ) + 1 + U i + p i 1 ≤ i ≤ m − 1 2 ; m is odd 4 p i + 1 n 3 m + 1 + U i + p i m + 1 2 ≤ i ≤ m ; m is odd
Proof: Case 1: m is even and 1 ≤ i ≤ m .
Case 1.1: 1 ≤ i ≤ m 2 and h = k + 2 .
By the rules of P we have
h − 1 [ h ] i − i = k + 2 − 1 2 m + 1 − 2 i + 3 k m 2 = 2 k + 2 4 m − 4 i + 2 + 3 k m = 2 ( k + 1 ) 3 ( k + 1 ) ( m − i + 1 ) + 3 k ( i − 1 ) + m − i − 1 ≤ 2 ( k + 1 ) 3 ( k + 1 ) ( m − i + 1 ) = 2 3 ( m − i + 1 )
Case 1.2: m 2 < i ≤ m and h = 2 k + 1 .
h − 1 [ h ] i − 1 = 2 k 2 m + 1 − 2 i + 3 k m 2 = 2 k 3 k ( m − i + 1 ) + 3 k ( i − 1 − m 2 ) + 2 ( m − i ) + 1 ≤ 2 3 ( m − i + 1 )
Case 1.3: m 2 < i ≤ m and h = 2 k + 2
h − 1 [ h ] i − 1 = 2 k + 1 3 m + 1 − 2 i + 3 k m 2 = 2 ( k + 1 2 ) 3 ( k + 1 2 ) ( m − i + 1 ) + 3 k ( i − 1 − m 2 ) + 3 m − i − 1 2 ≤ 2 3 ( m − i + 1 )
Let x = 2 3 ( m − i + 1 ) , by Lemma 1 when m is even and 1 ≤ i ≤ m we have
C i ≤ 2 P i + 1 n 3 ( m − i + 1 ) + U i + p i
Case 2: m is odd. 1 ≤ i ≤ m − 1 2 and h = k + 2 hold.
h − 1 [ h ] i − 1 = k + 2 − 1 2 m + 1 − 2 i + k ( 3 m + 1 ) 2 = 2 ( k + 1 ) 3 ( k + 1 ) ( m − i + 1 ) + ( k + 1 ) + 3 k ( i − 1 ) + m − i − 2 ≤ 2 ( k + 1 ) 3 ( k + 1 ) ( m − i + 1 ) + ( k + 1 ) + 3 k ( i − 1 ) + i + 1 − 2 ≤ 2 ( k + 1 ) 3 ( k + 1 ) ( m − i + 1 ) + ( k + 1 ) ≤ 2 3 ( m − i + 1 ) + 1
Let x = 2 3 ( m − i + 1 ) + 1 , by Lemma 1, when m is odd and 1 ≤ i ≤ m − 1 2 we have
C i ≤ 2 P i + 1 n 3 ( m − i + 1 ) + 1 + U i + p i
Case 3: m is odd and m + 1 2 ≤ i ≤ m
Case 3.1: h = 2 k + 1
h − 1 [ h ] i − i = 2 k 2 m + 1 − 2 i + k ( 3 m + 1 ) 2 ≤ 4 3 m + 1
Case 3.2: h = 2 k + 2
h − 1 ⌈ h ⌉ i − i = 2 k + 1 3 m + 1 − 2 i + k ( 3 m + 2 ) 2
= 4 ( k + 1 2 ) ( k + 1 2 ) ( 3 m + 1 ) + 3 2 + 9 m 2 − 4 i ≤ 4 3 m + 1
Let x = 4 3 m + 1 , when m is odd and m + 1 2 ≤ i ≤ m we have
C i ≤ 4 P i + 1 n 3 m + 1 + U i + p i
Hence the Lemma is proved.
Theorem 3 For any job list L = { J 1 , J 2 , ⋯ , J n } from problem P m / ( ordinal , r i ) / C max we have:
R ( m , P ) ≤ 2 + m − 1 m + ⌈ m 2 ⌉
Proof: Case 1: If m is even and 1 ≤ i ≤ m holds, by Lemma 2 we have
C i ≤ p i + 2 P i + 1 n 3 ( m − i + 1 ) + U i = p i − 2 P 1 i 3 ( m − i + 1 ) + 2 P 1 n 3 ( m − i + 1 ) + U i = 2 3 ( m − i + 1 ) ( 3 ( m − i + 1 ) 2 p i − P 1 i ) + 2 P 1 n 3 ( m − i + 1 ) + U i
≤ 3 m − 5 i + 3 3 ( m − i + 1 ) p i + 2 m 3 ( m − i + 1 ) × P 1 n m + U i ≤ 8 m − 8 i + 6 3 ( m − i + 1 ) max { p i , P 1 n m , U i } ≤ 8 m − 8 i + 6 3 ( m − i + 1 ) C max O P T ( L ) ≤ 8 m − 2 3 m C max O P T (L)
where the last inequality results from the fact that 8 m − 8 x + 6 3 ( m − x + 1 ) is a decreasing
function of x in interval x ∈ [ 1 , m ]
Case 2: m is odd and 1 ≤ i ≤ m − 1 2
By Lemma 2 we have
C i ≤ p i + 2 P i + 1 n 3 ( m − i + 1 ) + 1 + U i = p i − 2 P 1 i 3 ( m − i + 1 ) + 1 + 2 P 1 n 3 ( m − i + 1 ) + 1 + U i
= 2 3 ( m − i + 1 ) + 1 ( 3 ( m − i + 1 ) + 1 2 p i − P 1 i ) + 2 P 1 n 3 ( m − i + 1 ) + 1 + U i ≤ 3 m − 5 i + 4 3 ( m − i + 1 ) + 1 p i + 2 m 3 ( m − i + 1 ) + 1 × P 1 n m + U i ≤ 8 m − 8 i + 8 3 ( m − i + 1 ) + 1 max { p i , P 1 n m , U i } ≤ 8 m − 8 i + 8 3 ( m − i + 1 ) + 1 C max O P T ( L ) ≤ 8 m 3 m + 1 C max O P T (L)
where the last inequality results from the fact that 8 m − 8 x + 6 3 ( m − x + 1 ) + 1 is a decreasing function of x in interval x ∈ [ 1 , m ] .
Case 3: m is odd and m + 1 2 ≤ i ≤ m
By Lemma 2 we have
C i ≤ p i + 4 3 m + 1 P i + 1 n + U i = p i + 4 3 m + 1 ( P 1 n − P 1 i ) + U i = 4 3 m + 1 [ ( 3 m + 1 ) p i 4 − ( p 1 + p 2 + ⋯ + p i ) ] + 4 3 m + 1 P 1 n + U i ≤ 4 3 m + 1 [ ( 3 m + 1 ) p i 4 − i p i ] + 4 3 m + 1 P 1 n + U i
= 3 m − 4 i + 1 3 m + 1 p i + 4 3 m + 1 P 1 n + U i ≤ 10 m − 4 i + 2 3 m + 1 max { p i , P 1 n m , U i } ≤ 10 m − 4 i + 2 3 m + 1 C max O P T ( L ) ≤ 8 m 3 m + 1 C max O P T (L)
By the above conclusions, when m is even we have C i ≤ 8 m − 2 3 m C max O P T (L)
hold for i = 1 , 2 , ⋯ , m . Hence we get
C max P ( L ) C max O P T ( L ) ≤ 8 m − 2 3 m C max O P T ( L ) C max O P T ( L ) = 8 m − 2 3 m = 2 + m − 1 m + ⌈ m 2 ⌉
When m is odd then C i ≤ 8 m 3 m + 1 C max O P T ( L ) hold for i = 1 , 2 , ⋯ , m . Hence we get
C max P ( L ) C max O P T ( L ) ≤ 8 m 3 m + 1 C max O P T ( L ) C max O P T ( L ) = 8 m 3 m + 1 = 2 + m − 1 m + ⌈ m 2 ⌉
Thus we get
R ( m , P ) = sup L C max P ( L ) C max O P T ( L ) ≤ 2 + m − 1 m + ⌈ m 2 ⌉
Hence the theorem is proved.
In this paper, we consider the semi-online scheduling problem
P m / ( ordinal , r i ) / C max in which the job list has non-increasing processing times and arbitrary release times. An algorithm is investigated and it is shown that its
worse case performance ratio is bounded by 2 + ( m − 1 ) / ( m + ⌈ m 2 ⌉ ) for all
values of m. For this problem, to investigate better algorithms or give lower bound and upper bound would be worth doing. There are many other scheduling problems where ordinal algorithms could be developed. The investigations to find good algorithms for these problems would be also of interest to the scheduling community.
This work was partly supported by the Chinese National Natural Science Foundation Grant (No.11471110) and the Foundation Grant of Education Department of Hunan (No. 16A126).
Ji, S., Li, R.H. and Zhou, Y.X. (2017) Ordinal Semi On-Line Scheduling for Jobs with Arbitrary Release Times on Identical Parallel Machines. Intelligent Information Management, 9, 245-254. https://doi.org/10.4236/iim.2017.96014