American Journal of Operations Research
Vol.09 No.05(2019), Article ID:95163,9 pages
10.4236/ajor.2019.95015

Better Algorithm of Ordinal Online Schedule for Jobs with Similar Sizes on Two Machines

Limin Wang1, Rongheng Li1*, Yunxia Zhou2

1Key Laboratory of Computing and Stochastic Mathematics (Ministry of Education), Department of Mathematics, School of Mathematics and Statistics, Hunan Normal University, Changsha, China

2College of Information Science and Engineering, Hunan Normal University, Changsha, China

Copyright © 2019 by author(s) and Scientific Research Publishing Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).

http://creativecommons.org/licenses/by/4.0/

Received: June 5, 2019; Accepted: September 17, 2019; Published: September 20, 2019

ABSTRACT

Ordinal online schedule for jobs with similar sizes in [ 1, r ] ( 1 r 2 ) on two parallel machines system is considered. Firstly it is proved that the worst case performance ratio of the existing algorithm P2 cannot be improved even if the job processing times are known in [ 1, r ] for any r 1 . Then a better algorithm named S is developed and its worst case performance ratio is given for 1 r 2 .

Keywords:

Semi-Online Scheduling, Pm Algorithm, S Algorithm, Worst Performance Ratio

1. Introduction

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 [1] . Many models and algorithms for online scheduling are proposed later on. In classic scheduling problem, there is no constraints on the size of job. However, in practice, the size of job can neither be too large nor too small. This motivates researchers to study scheduling problems when the sizes of all jobs are known in [ 1, r ] with r 1 [2] - [7] .

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. [8] . It is assumed that the values of the processing times are unknown, but that the order of the jobs by non-increasing processing time is known, i.e., without loss of generality that p 1 p 2 p n . An algorithm named Pm 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 P2 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 P2 are given. Section 3 analyzes the competitive ratio of the algorithm S. Finally, some concluding remarks are given in Section 4.

2. Some Definitions and Algorithms

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 P2 [8] . Jobs are assigned to machines as follows:

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 P2 assign the first two jobs on M2 and the third on M1 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 P2 and S. We will show that algorithm S is better than P2 under the assumption of p j [ 1, r ] for r 2 .

3. Main Results

Theorem 1. For algorithm P2, 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. [8] . For the second conclusion, consider job list L = { J 1 , J 2 , , J 6 k + 4 } satisfying

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

By the rules of P2, 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 Mi 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 Mi 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 .

4. Concluding Remarks

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 P2 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 P2. Just two machines are considered here. It is an interesting problem to consider general m machines system to design better algorithm.

Acknowledgements

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).

Conflicts of Interest

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

Cite 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

References

  1. 1. Graham R.L. (1969) Bounds on Multiprocessing Timing Anomalies. SIAM Journal on Applied Mathematics, 17, 416-429. https://doi.org/10.1137/0117039

  2. 2. Cheng, T.C.E., Kellerer, H. and Kotov, V. (2012) Algorithms Better than LPT for Semi-Online Scheduling with Decreasing Processing Times. Operations Research Letters, 40, 349-352.

  3. 3. He, Y. and Dósa, G. (2005) Semi-Online Scheduling Jobs with Tightly-Grouped Processing Times on Three Identical Machines. Discrete Applied Mathematics, 150, 140-159.

  4. 4. He, Y. and Zhang, G. (1999) Semi on-Line Scheduling on Two Identical Machines. Computing, 62, 179-187. https://doi.org/10.1007/s006070050020

  5. 5. Kellerer, H., Kotov, V., Speranza, M.G. and Tuza, Z. (1997) Semi on-Line Algorithms for the Partition Problem. Operations Research Letters, 21, 235-242.https://doi.org/10.1016/S0167-6377(98)00005-4

  6. 6. Lin, L. and Tan, Z. (2014) Inefficiency of Nash Equilibrium for Scheduling Games with Constrained Jobs: A Parametric Analysis. Theoretical Computer Science, 521, 123-134. https://doi.org/10.1016/j.tcs.2013.11.012

  7. 7. Gupta, S., Dalal, U.D. and Mishra, V.N. (2014) Novel Analytical Approach of Conventional Mapping Scheme with Discrete Hartley Transform in OFDM System. American Journal of Operations Research, 4, 281-292. https://doi.org/10.4236/ajor.2014.45027

  8. 8. Liu, W.P., Sidney, J.B. and Vliet, A.V. (1996) Ordinal Algorithms for Parallel Machine Scheduling. Operations Research Letters, 18, 223-232. https://doi.org/10.1016/0167-6377(95)00058-5