^{1}

^{1}

^{2}

Ordinal online schedule for jobs with similar sizes in
on two parallel machines system is considered. Firstly it is proved that the worst case performance ratio of the existing algorithm
*P _{2}* cannot be improved even if the job processing times are known in
for any
. Then a better algorithm named

*S*is developed and its worst case performance ratio is given for .

The scheduling problem on m parallel identical machines is defined as follows: Given a job set L = { J 1 , J 2 , ⋯ , J n } of n jobs where job J j has non-negative processing time p j , assign the jobs on m machines { M 1 , M 2 , ⋯ , M m } so as to minimize the maximum completion times of the jobs on each machine. The earliest algorithm for on-line scheduling jobs on parallel machines is the List Scheduling (LS) algorithm, which was introduced by Graham [

In this paper, we will consider ordinal online scheduling jobs with sizes in [ 1, r ] ( 1 ≤ r ≤ 2 ) on two parallel machines. The model of ordinal online scheduling was proposed by Liu et al. [_{m} was developed for the system of m machines and it is proved that the algorithm is the best online algorithm for m = 2 , 3 . In current research, it will be proved that, for m = 2 , the worst case performance ratio of algorithm P_{2} can not be improved even if the sizes of all jobs are known in [ 1, r ] for any r ≥ 1 . Then a better algorithm named S is proposed for r ∈ [ 1,2 ] and its worst case performance ratio is given.

The rest of the paper is organized as follows. In Section 2, some definitions and the algorithm S and P_{2} are given. Section 3 analyzes the competitive ratio of the algorithm S. Finally, some concluding remarks are given in Section 4.

Definition 1. Given m parallel machines, let L = { J 1 , J 2 , ⋯ , J n } be any list of jobs. Algorithm A is a heuristic algorithm. Let C max A ( L ) and C max O P T ( L ) be the makespan of algorithm A and the makespan of an optimal off-line algorithm respectively. We refer to

R ( m , A ) = sup L C max A ( L ) C max O P T (L)

as the worst case performance ratio of algorithm A.

In the following of this paper, we always assume that the number of machines is two (i.e. m = 2 ) and the sizes of job list L = { J 1 , J 2 , ⋯ , J n } satisfies p 1 ≥ p 2 ≥ ⋯ ≥ p n and p j ∈ [ 1 , r ] ( j = 1 , 2 , ⋯ , n , 1 ≤ r ≤ 2 ) if no specific explanation is given.

Algorithm P_{2} [

M 1 : { J 3 k + 1 | k ≥ 0 } , M 2 : { J 3 k − 1 , J 3 k | k ≥ 1 } .

i.e.

M 1 : J 1 J 4 J 7 J 10 ⋯ M 2 : J 2 J 3 J 5 J 6 J 8 J 9 ⋯

Algorithm S.

Jobs are assigned to machines as follows:

M 1 : { J 1 } ∪ { J 4 k , J 4 k + 1 | k ≥ 1 } , M 2 : { J 4 k − 2 , J 4 k − 1 | k ≥ 1 } .

i.e.

M 1 : J 1 J 4 J 5 J 8 J 9 J 12 ⋯ M 2 : J 2 J 3 J 6 J 7 J 10 J 11 ⋯

The two algorithms are the same for assigning the first four jobs. The differences are that P_{2} assign the first two jobs on M_{2} and the third on M_{1} for job set { J j | j = 3 k + 2 , 3 k + 3 , 3 k + 4 } ( k ≥ 1 ) . However algorithm S assign the two consecutive job J 2 k + 1 , J 2 k + 2 ( k ≥ 2 ) on two machines alteratively.

In the following, we consider the worst case performance ratio of algorithm P_{2} and S. We will show that algorithm S is better than P_{2} under the assumption of p j ∈ [ 1, r ] for r ≤ 2 .

Theorem 1. For algorithm P_{2}, its worst case performance ratio is 4 3 . Furthermore, its worst case performance ratio can not be improved if p j ( j = 1 , 2 , ⋯ , n ) satisfy p j ∈ [ 1, r ] for any r ≥ 1 .

Proof: The first conclusion is a direct result from Liu et al. [

p 1 = p 2 = p 3 = p 4 = r ≥ 1 , p 5 = p 6 = ⋅ ⋅ ⋅ = p 6 k + 4 = 1.

By the rules of P_{2}, we get

M 1 : r r 1 1 ⋯ M 2 : r r 1 1 1 1 ⋯

It is obvious that C max P 2 ( L ) = 2 r + 4 k and C max O P T ( L ) = 2 r + 3 k . Hence

C max P 2 ( L ) C max O P T ( L ) = 2 r + 4 k 2 r + 3 k → 4 3 ( k → ∞ ) .

In the following of this paper, let L i ( i = 1 , 2 ) to denote the completion time of machine M_{i} in the schedule assigned by algorithm S.

Lemma 2. Given any job list L = { J 1 , J 2 , ⋯ , J n } , the following inequality holds

C max S ( L ) C max O P T ( L ) ≤ 1 + r 2 C max O P T ( L ) .

Proof: By the rules of S algorithm, we get

C max S ( L ) C max O P T ( L ) = max { L 1 , L 2 } C max O P T ( L ) = L 1 + L 2 + max { L 1 , L 2 } − min { L 1 , L 2 } 2 C max O P T ( L ) ≤ 1 + | L 1 − L 2 | 2 C max O P T ( L ) .

That means it is enough to prove | L 1 − L 2 | ≤ r . We consider it according to the four cases of n = 4 k , n = 4 k + 1 , n = 4 k + 2 , n = 4 k + 3 .

Case 1: n = 4 k . In this case,

L 1 = p 1 + ∑ j = 1 k − 1 ( p 4 j + p 4 j + 1 ) + p 4 k ; L 2 = ∑ j = 1 k ( p 4 j − 2 + p 4 j − 1 ) .

Hence the following inequalities hold:

L 1 − L 2 = p 1 + ∑ j = 1 k − 1 ( p 4 j + p 4 j + 1 − p 4 j − 2 − p 4 j − 1 ) + p 4 k − p 4 k − 2 − p 4 k − 1 ≤ p 1 ≤ r , L 2 − L 1 = p 2 + p 3 − p 1 + ∑ j = 1 k − 1 ( p 4 j + 2 + p 4 j + 3 − p 4 j − p 4 j + 1 ) − p 4 k ≤ p 2 ≤ r .

That means | L 1 − L 2 | ≤ r .

Case 2: n = 4 k + 1 . In this case,

L 1 = p 1 + ∑ j = 1 k ( p 4 j + p 4 j + 1 ) , L 2 = ∑ j = 1 k ( p 4 j − 2 + p 4 j − 3 ) .

Hence the following inequalities hold:

L 1 − L 2 = p 1 + ∑ j = 1 k ( p 4 j + p 4 j + 1 − p 4 j − 2 − p 4 j − 1 ) ≤ p 1 ≤ r , L 2 − L 1 = p 2 + p 3 − p 1 + ∑ j = 1 k − 1 ( p 4 j + 2 + p 4 j + 3 − p 4 j − p 4 j + 1 ) − p 4 k − p 4 k + 1 ≤ p 2 ≤ r .

That means | L 1 − L 2 | ≤ r . Similarly it is easy to show that the conclusion is true for the case of n = 4 k + 2 and n = 4 k + 3 .

Theorem 3. For any job list L = { J 1 , J 2 , ⋯ , J n } with p 1 ≥ p 2 ≥ ⋯ ≥ p n and p j ∈ [ 1, r ] ( 1 ≤ r ≤ 2 ) , algorithm S has worst case performance ratio

C max S ( L ) C max O P T ( L ) ≤ ( 2 + r 3 , 3 2 < r ≤ 2 7 6 , 4 3 ≤ r ≤ 3 2 r + 1 2 , 1 ≤ r < 4 3 (1)

Proof: Suppose (1) is not true. For 3 2 ≤ r ≤ 2 the following inequalities hold by Lemma 2:

2 + r 3 < C max S ( L ) C max O P T ( L ) ≤ 1 + r 2 C max O P T (L)

That means C max O P T ( L ) < 3 r 2 ( r − 1 ) < 5 . Similarly C max O P T ( L ) < 5 also holds for 4 3 ≤ r < 3 2 . That means there are at most four jobs assigned on any machine in

any optimal schedule, i.e., n ≤ 8 . It is easy to prove that algorithm S is optimal if n < 5 . Now consider n = 5 . In this case

L 1 = p 1 + p 4 + p 5 ≥ p 2 + 2 ≥ p 2 + p 3 = L 2 , C max O P T ( L ) ≥ p 3 + p 4 + p 5 .

Hence

C max S ( L ) C max O P T ( L ) ≤ p 1 + p 4 + p 5 p 3 + p 4 + p 5 ≤ p 1 + ( p 4 + p 5 ) p 3 + ( p 4 + p 5 ) ≤ p 1 + 2 p 3 + 2 ≤ r + 2 3 .

For the case of n = 6 , there are exactly three jobs on each machine in any optimal schedule. If L 1 > L 2 , we get

C max S ( L ) C max O P T ( L ) ≤ p 1 + p 4 + p 5 p 1 + p 5 + p 6 ≤ p 4 + p 1 + p 5 p 6 + p 1 + p 5 ≤ r + 2 3

If L 1 ≤ L 2 we have

C max S ( L ) C max O P T ( L ) ≤ p 2 + p 3 + p 6 p 1 + p 5 + p 6 ≤ p 2 + ( p 3 + p 6 ) p 5 + ( p 3 + p 6 ) ≤ p 2 + 2 p 3 + 2 ≤ r + 2 3 .

For the case of n = 7 , the following holds

L 2 = p 2 + p 3 + p 6 + p 7 ≥ p 2 + p 3 + 2 ≥ p 1 + p 2 + p 3 = L 1 .

In any optimal schedule, exactly four jobs are assigned on one machine and exactly three jobs are assigned on another. If the machine assigned four jobs in optimal schedule has at least one job from set { J 1 , J 2 , J 3 } , then the following inequality holds:

C max O P T ( L ) ≥ p 3 + p 5 + p 6 + p 7 .

Hence we get

C max S ( L ) C max O P T ( L ) ≤ p 2 + p 3 + p 6 + p 7 p 3 + p 5 + p 6 + p 7 ≤ p 2 + 3 p 5 + 3 ≤ r + 3 4 ≤ r + 2 3 .

Otherwise the optimal schedule is that { J 1 , J 2 , J 3 } and { J 4 , J 5 , J 6 , J 7 } are assigned separately on two machines. Let a = p 2 + p 3 2 , b = p 4 + p 5 2 , c = p 6 + p 7 2 . It is easy to see that a ≥ b ≥ c holds. We analyze the following two cases. In the case of 3 a ≤ 2 b + 2 c , we get

C max S ( L ) C max O P T ( L ) ≤ p 2 + p 3 + p 6 + p 7 p 4 + p 5 + p 6 + p 7 = a + c b + c ≤ 2 b + 5 c 3 b + 3 c = 2 3 + c b + c ≤ 7 6 ,

the last inequality results from b ≥ c .

In the case of 3 a > 2 b + 2 c we get

C max S ( L ) C max O P T ( L ) ≤ p 2 + p 3 + p 6 + p 7 p 1 + p 2 + p 3 = 2 a + 2 c 3 a = 2 3 + 2 c 3 a ≤ 2 3 + 2 c 2 b + 2 c ≤ 7 6 .

For n = 8 , there are exactly four jobs assigned on each machine and there is a machine on which at least two jobs from { J 1 , J 2 , J 3 } are assigned in any optimal schedule. Hence the following inequality holds:

C max O P T ( L ) ≥ max { p 2 + p 3 + p 7 + p 8 , p 1 + p 6 + p 7 + p 8 } .

Therefore if L 1 ≥ L 2 we get

C max S ( L ) C max O P T ( L ) ≤ p 1 + p 4 + p 5 + p 8 p 2 + p 3 + p 7 + p 8 ≤ p 1 + p 4 + p 5 + p 8 p 7 + p 4 + p 5 + p 8 ≤ r + 3 4 ≤ r + 2 3 .

If L 1 ≤ L 2 we get

C max S ( L ) C max O P T ( L ) ≤ p 2 + p 3 + p 6 + p 7 p 1 + p 6 + p 7 + p 8 ≤ p 2 + p 3 + p 6 + p 7 p 8 + p 3 + p 6 + p 7 ≤ r + 3 4 ≤ r + 2 3 .

By the conclusions above, we get

C max S ( L ) C max O P T ( L ) ≤ max { 7 6 , r + 2 3 } = ( 2 + r 3 , 3 2 < r ≤ 2 7 6 , 4 3 ≤ r ≤ 3 2

Hence (1) is true for 4 3 ≤ r ≤ 2 .

Now we consider the case of 1 ≤ r ≤ 4 3 according to the four cases of

n = 4 k + 1 , 4 k + 2 , 4 k + 3 , 4 k + 4 , k = 0 , 1 , 2 , ⋯ . In the following, we will use S i

and S i * to denote the job set assigned on machine M_{i} by algorithm S and optimal algorithm, respectively.

For the case of n = 4 k + 1 , we have | S 1 | = 2 k + 1 , | S 2 | = 2 k , max { | S 1 * | , | S 2 * | } ≥ 2 k + 1 . Without loss of generality, suppose | S 1 * | ≥ 2 k + 1 . Then it is easy to see that there exists i ∈ { 1,2 } satisfying | S 1 * ∩ S i | ≥ k + 1 . If | S 1 * ∩ S 1 | ≥ k + 1 , then | S 1 \ S 1 * | ≤ k . By

L 2 − L 1 = p 2 + p 3 − p 1 + ∑ j = 1 k − 1 ( p 4 j + 2 + p 4 j + 3 − p 4 j − p 4 j + 1 ) − p 4 k − p 4 k + 1 ≤ 0 ,

we get L 1 ≥ L 2 . Therefore

C max S ( L ) C max O P T ( L ) = L 1 C max O P T ( L ) ≤ ∑ j ∈ S 1 p j ∑ j ∈ S 1 * p j ≤ ∑ j ∈ S 1 ∩ S 1 * p j + ∑ j ∈ S 1 \ S 1 * p j ∑ j ∈ S 1 ∩ S 1 * p j + ∑ j ∈ S 1 * \ S 1 p j ≤ | S 1 ∩ S 1 * | + | S 1 \ S 1 * | r | S 1 ∩ S 1 * | + | S 1 * \ S 1 | ≤ | S 1 ∩ S 1 * | + ( | S 1 | − | S 1 ∩ S 1 * | ) r 2 k + 1 ≤ k r + k + 1 2 k + 1 ≤ r + 1 2 .

If | S 1 * ∩ S 1 | ≤ k , then | S 1 * ∩ S 2 | ≥ k + 1 . By

L 1 − L 2 = p 1 + ∑ j = 1 k ( p 4 j + p 4 j + 1 − p 4 j − 2 − p 4 j − 3 ) ≤ p 1

we get L 1 ≤ L 2 + p 1 . Therefore

C max S ( L ) C max O P T ( L ) ≤ L 2 + p 1 C max O P T ( L ) ≤ ∑ j ∈ S 2 p j ∑ j ∈ S 1 * p j ≤ ∑ j ∈ S 2 ∩ S 1 * p j + ∑ j ∈ S 2 \ S 1 * p j + p 1 ∑ j ∈ S 2 ∩ S 1 * p j + ∑ j ∈ S 1 * \ S 2 p j ≤ | S 2 ∩ S 1 * | + | S 2 \ S 1 * | r + r | S 2 ∩ S 1 * | + | S 1 * \ S 2 | ≤ | S 2 ∩ S 1 * | + ( | S 2 | − | S 2 ∩ S 1 * | ) r + r 2 k + 1 ≤ k r + k + 1 2 k + 1 ≤ r + 1 2 .

For the case of n = 4 k + 2 , we have | S 1 | = 2 k + 1 , | S 2 | = 2 k + 1 , max { | S 1 * | , | S 2 * | } ≥ 2 k + 1 . Without loss of generality, suppose | S 1 * | ≥ 2 k + 1 . Therefore there exists i ∈ { 1,2 } satisfying | S 1 * ∩ S i | ≥ k + 1 . In the following we consider this case according to the two subcases of L 1 ≥ L 2 and L 1 < L 2 .

In this case of L 1 ≥ L 2 , if | S 1 * ∩ S 1 | ≥ k + 1 holds, then the following is true:

C max S ( L ) C max O P T ( L ) = L 1 C max O P T ( L ) ≤ ∑ j ∈ S 1 p j ∑ j ∈ S 1 * p j ≤ ∑ j ∈ S 1 ∩ S 1 * p j + ∑ j ∈ S 1 \ S 1 * p j ∑ j ∈ S 1 ∩ S 1 * p j + ∑ j ∈ S 1 * \ S 1 p j ≤ | S 1 ∩ S 1 * | + | S 1 \ S 1 * | r | S 1 ∩ S 1 * | + | S 1 * \ S 1 | ≤ | S 1 ∩ S 1 * | + ( | S 1 | − | S 1 ∩ S 1 * | ) r 2 k + 1 ≤ k r + k + 1 2 k + 1 ≤ r + 1 2 .

If | S 1 * ∩ S 1 | ≤ k holds, we consider the following two subcases of | S 1 * | = 2 k + 1 and | S 1 * | ≥ 2 k + 2 .

For the case of | S 1 * | = 2 k + 1 , | S 2 * | = 2 k + 1 holds by n = 4 k + 2 . By | S 1 | = 2 k + 1 and | S 1 * ∩ S 1 | ≤ k we get | S 2 * ∩ S 1 | ≥ k + 1 . Therefore

C max S ( L ) C max O P T ( L ) = L 1 C max O P T ( L ) ≤ ∑ j ∈ S 1 p j ∑ j ∈ S 2 * p j ≤ ∑ j ∈ S 1 ∩ S 2 * p j + ∑ j ∈ S 1 \ S 2 * p j ∑ j ∈ S 1 ∩ S 2 * p j + ∑ j ∈ S 2 * \ S 1 p j ≤ | S 1 ∩ S 2 * | + | S 1 \ S 2 * | r | S 1 ∩ S 2 * | + | S 2 * \ S 1 | ≤ | S 1 ∩ S 2 * | + ( | S 1 | − | S 1 ∩ S 2 * | ) r 2 k + 1 ≤ k r + k + 1 2 k + 1 ≤ r + 1 2 .

For the case of | S 1 * | ≥ 2 k + 2 , by | S 1 * ∩ S 1 | ≤ k we get | S 1 * ∩ S 2 | ≥ k + 2 . By rules of S algorithm, we have

L 1 − L 2 = p 1 + ∑ j = 1 k ( p 4 j + p 4 j + 1 − p 4 j − 2 − p 4 j − 1 ) − p 4 k + 2 ≤ p 1 − p 4 k + 2 .

That means L 1 ≤ L 2 + p 1 − p 4 k + 2 . Therefore

C max S ( L ) C max O P T ( L ) = L 1 C max O P T ( L ) ≤ L 2 + p 1 − p 4 k + 2 C max O P T ( L ) ≤ ∑ j ∈ S 2 ∩ S 1 * p j + ∑ j ∈ S 2 \ S 1 * p j + p 1 − p 4 k + 2 ∑ j ∈ S 2 ∩ S 1 * p j + ∑ j ∈ S 1 * \ S 2 p j ≤ | S 2 ∩ S 1 * | + | S 2 \ S 1 * | r + r − 1 | S 2 ∩ S 1 * | + | S 1 * \ S 2 | ≤ | S 2 ∩ S 1 * | + ( | S 2 | − | S 2 ∩ S 1 * | ) r + r − 1 2 k + 2 ≤ k r + k + 1 2 k + 2 ≤ k r + k + 1 2 k + 1 ≤ r + 1 2 .

Similarly we can prove the case of L 1 < L 2 .

By the same way used above, we can also show that (1) is true for the case of n = 4 k + 3 and n = 4 k + 4 for 1 ≤ r ≤ 4 3 . Now we show the tightness of the bound.

For 3 2 < r ≤ 2 , Let L ( 1 ) = { J 1 , J 2 , J 3 , J 4 , J 5 } with p 1 = r , p i = 1 , i = 2 , ⋯ , 5 . By

the rules of S algorithm, we have L 1 = r + 2 , L 2 = 2 , i.e., C max S ( L ( 1 ) ) = r + 2 . It is easy to see that C max O P T ( L ( 1 ) ) = 3 . Hence

C max S ( L ( 1 ) ) C max O P T ( L ( 1 ) ) = r + 2 3 .

It is easy to show the tightness for 4 3 ≤ r ≤ 3 2 by job list L ( 2 ) = { J 1 , J 2 , J 3 , J 4 , J 5 , J 6 , J 7 } with p 1 = p 2 = p 3 = 4 3 , p 4 = p 5 = p 6 = p 7 = 1 and for 1 ≤ r ≤ 4 3 by job list with p 1 = p 2 = p 3 = r , p 4 = p 5 = p 6 = p 7 = 1 .

In this paper, we consider ordinal on-line scheduling for jobs with known sizes in [ 1, r ] ( r ≥ 1 ) and non-decreasing processing times on two parallel machines system. Firstly it is proved that the worst case performance ratio of the existing algorithm P_{2} can not be improved even if the job processing times are known in [ 1, r ] for any r ≥ 1 . Secondly, an algorithm named S is proposed and its worst case performance ratio is given as follow:

R ( 2 , S ) = ( 2 + r 3 , 3 2 < r ≤ 2 7 6 , 4 3 ≤ r ≤ 3 2 r + 1 2 , 1 ≤ r < 4 3

which is better than algorithm P_{2}. Just two machines are considered here. It is an interesting problem to consider general m machines system to design better algorithm.

The authors would like to express their thanks to the National Natural Science Foundation of China for financially supporting under Grant No. 11471110 and the Foundation Grant of Education Department of Hunan (No. 16A126).

The authors declare no conflicts of interest regarding the publication of this paper.

Wang, L.M., Li, R.H. and Zhou, Y.X. (2019) Better Algorithm of Ordinal Online Schedule for Jobs with Similar Sizes on Two Machines. American Journal of Operations Research, 9, 235-243. https://doi.org/10.4236/ajor.2019.95015