Better Algorithm for Order On-Line Scheduling on Uniform Machines

Show more

1. Introduction

For the online scheduling on a system of m uniform parallel machines, denoted by Q_{m}/online/C_{max}, each machine
${M}_{i}\left(i=1,2,\cdots ,m\right)$ has a speed s_{i}, i.e., the time used for finishing a job with size p on M_{i} is p/s_{i}. Without loss of generality, we assume
${s}_{1}<{s}_{2}\le \cdots \le {s}_{m}$ . Cho and Sahni [1] are the first to consider the online scheduling problem on m uniform machines. For Q_{2}/online/C_{max}, Epstein et al. [2] showed that LS has the competitive ratio
$\mathrm{min}\left\{\left(2s+1\right)/\left(s+1\right),\left(s+1\right)/s\right\}$ and is an optimal online algorithm, where the speed ratio
$s={s}_{2}/{s}_{1}$ . Q_{3}/online/C_{max} was considered by Cai and Yang [3] . They showed that the algorithm LS is an optimal online algorithm when the speed ratios
$\left(s,t\right)\in {G}_{1}\cup {G}_{2}$ , where
$s={s}_{2}/{s}_{1}$ ,
$t={s}_{3}/{s}_{2}$ ,

${G}_{1}=\left\{\left(s,t\right)|1\le t<\frac{1+\sqrt{31}}{6},s\ge \frac{3t}{5+2t-6{t}^{2}}\right\}$ ,

${G}_{2}=\left\{\left(s,t\right)|t\ge 1+s,s\ge 1,t\ge 1\right\}$ .

Aspnes et al. [4] are the first to try to design better algorithm for Q_{m}/online/C_{max}. They presented a new algorithm with competitive ratio of 8 for the deterministic version, and 5.436 for its randomized variant. Later the previous ratios are improved to 5.828 and 4.311, respectively, by Berman et al. [5] .

The special case
${s}_{i}=1\left(i=1,2,\cdots ,m-1\right)$ and
${s}_{m}=s\ge 1$ was fisrt considered by Li and Shi [6] . It is proved that for
$m\le 3$ LS is optimal when s_{m} = 2 and they also developed an algorithm with a better competitive ratio than LS for m ≥ 4 and s_{m} = s ≥ 1. For m ≥ 4 and 1 ≤ s ≤ 2, Cheng et al. [7] proposed an algorithm with a competitive ratio not greater than 2.45.

Motivated by air cargo import terminal problem, a generalization of the Graham’s classical on-line scheduling problem was proposed by Li and Huang [8] [9] . They describe the requests of all jobs in terms of order, where for any job list
$L=\left\{{J}_{1},{J}_{2},\cdots ,{J}_{n}\right\}$ , job J_{j} is given as order with the information of a release time r_{j} and a processing size of p_{j}. More recent results can be found in the research by Li et al. [10] and Yin et al. [11] .

Our task is to allocate an order sequence of jobs to m parallel uniform machines which have speeds of ${s}_{1}\le {s}_{2}\le \cdots \le {s}_{m}$ in an online fashion, while minimizing the maximum completion time of the machines. An algorithm with worst case performance not bigger than 7.4641 is developed. The result is better than the existing result of 12 in Cheng et al. [12] .

The rest of the paper is organized as follows. In Section 2, some definitions are given. In Section 3, an algorithm R is addressed and its competitive ratio is analyzed.

2. Some Definitions

In this section we will give some definitions.

Definition 1: We have m parallel machines with speeds
${s}_{1},{s}_{2},\cdots ,{s}_{m}$ , respectively. Let
$L=\left\{{J}_{1},{J}_{2},\cdots ,{J}_{n}\right\}$ be any list of jobs, where jobs arrives online one by one and each J_{j} has a release time r_{j} and a processing size of p_{j}. Algorithm A is a heuristic algorithm.
${C}_{\mathrm{max}}^{A}\left(L\right)$ and
${C}_{\mathrm{max}}^{OPT}\left(L\right)$ denote the makespan of algorithm A and an optimal off-line algorithm, respectively. We refer to

$R\left(m,A\right)=\underset{L}{\mathrm{sup}}\frac{{C}_{\mathrm{max}}^{A}\left(L\right)}{{C}_{\mathrm{max}}^{OPT}(L)}$

as the competitive ratio of algorithm A.

Definition 2: Suppose that J_{j} is the current job with release time r_{j} and size of p_{j}. We say that machine M_{i} has an idle time interval for job J_{j}, if there exists a time interval
$\left[{T}_{1},{T}_{2}\right]$ satisfying the following two conditions:

1) Machine M_{i} is idle in interval
$\left[{T}_{1},{T}_{2}\right]$ and a job with release time T_{2} has been assigned to machine M_{i} to start at time T_{2}.

2) ${T}_{2}-\mathrm{max}\left[{T}_{1},{r}_{j}\right]\ge \frac{{p}_{j}}{{s}_{i}}$ .

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.

In the following we consider m parallel uniform machines with speeds
${s}_{1},{s}_{2},\cdots ,{s}_{m}$ and a job list
$L=\left\{{J}_{1},{J}_{2},\cdots ,{J}_{n}\right\}$ with information (r_{j}, p_{j}) for each job
${J}_{j}\in L$ , where r_{i} and p_{i} represent its release time and processing size, respectively. For convenience, we assume that the sequence of machine speeds is non-decreasing, i.e.,
${s}_{1}\le {s}_{2}\le \cdots \le {s}_{m}$ . Let

$S=\left\{0,{s}_{1},{s}_{2},\cdots ,{s}_{m}\right\}$ ;

$\text{Bigsum}\left(s\right)={\displaystyle \underset{{s}_{i}\in S,{s}_{i}>s}{\sum}{s}_{i}}$ ;

${S}_{i}=\left\{0,{s}_{i},{s}_{i+1},\cdots ,{s}_{m}\right\}$ ; $i=1,2,\cdots ,m,m+1$ ;

$\text{Bigsum}\left(i,s\right)={\displaystyle \underset{{s}_{{i}^{\prime}}\in S,{s}_{{i}^{\prime}}>s}{\sum}{s}_{{i}^{\prime}}}$ ; $i=1,2,\cdots ,m$ ,

$\text{Bigsum}\left(s,\Delta ,L\right)={\displaystyle \underset{{J}_{j}\in L,s{r}_{j}+{p}_{j}>s\Delta}{\sum}{p}_{j}}$ .

By our definition, ${S}_{m+1}=\left\{0\right\}$ .

3. Algorithm R and Its Performance

Now we present the algorithm R by use of the notations given in the former section in the following:

Algorithm R:

Step 0. Let t: = 0, Δ_{t}: = very small positive number.

For i = 1 to m do m_{i}: = Δ_{t}s_{i}, c_{i}: = 2 m_{i}, H_{i} = 0.

${L}^{t}:=\Phi $ .

Step 1. Let J_{j} be a new job with release time r_{j} and processing size p_{j} given to the algorithm. If there is a machine M_{i} which has an idle time interval for job J_{j}, then we assign J_{j} to machine M_{i} in the idle interval and set
${L}^{t}:={L}^{t}\cup {J}_{j}$ .

Step 2. If ${r}_{j}\ge {\Delta}_{t}$ or $\text{Bigsum}\left(s,{\Delta}_{t},{\displaystyle {\cup}_{k=0}^{t}{L}^{k}}\right)>{\Delta}_{t}\text{Bigsum}\left(s\right)$ for some $s\in S$ then goto Step 3. Otherwise goto Step 4.

Step 3. (*start a new phase*)

Set Δ: = rΔ_{t}, t: = t + 1, Δ_{t}: = Δ,

For i = 1 to m do ${m}_{i}:={\Delta}_{t}{s}_{i}$ , ${c}_{i}:={c}_{i}+\left(2-1/r\right){m}_{i}$ .

Set ${L}^{t}:=\Phi $ and Goto Step 2.

Step 4. (*schedule p_{j}*)

$k:=\mathrm{min}\left\{i|{c}_{i}+{m}_{i}>{s}_{i}{r}_{j}+{p}_{j}\right\}$ ;

Assign J_{j} on machine M_{k}; Set:

${c}_{k}:={c}_{k}-\mathrm{max}\left\{0,{s}_{k}{r}_{j}-{H}_{k}\right\}-{p}_{j}$ ;

${H}_{k}:={H}_{k}+\mathrm{max}\left\{0,{s}_{k}{r}_{j}-{H}_{k}\right\}+{p}_{j}$ .

Set ${L}^{t}:={L}^{t}\cup {J}_{j}$ .

The running time of R is mainly in Step 1 and Step 4. In Step 1, at most j-1 times of checking can determine if there is an idle interval for current job J_{j}. In Step 4 at most m times can determine to assign current job J_{j}. Hence the complexity of our algorithm is O(n^{2}).

Now we begin to analyze the performance of algorithm R. The following statement is obvious:

Lemma 1. For a job list L, if
${C}_{\mathrm{max}}^{OPT}\left(L\right)\le \Delta $ , then
$\text{Bigsum}\left(s,\Delta ,L\right)\le \Delta \text{Bigsum}\left(s\right)$ and r_{j} < Δ hold for every
$s\in S$ and every
$j\in L$ .

Let L^{l} be the stream of jobs scheduled in phase l. We define
${L}_{i}^{l}$ to be the stream of jobs that in phase l machine M_{i} passed over or M_{i}_{+1} received,
$i=0,1,\cdots ,m$ (for
$1\le i<m$ , these two conditions are equivalent, for i = 0, only the latter and for i = m only the former applies).

Now the correctness of algorithm R will mean that the stream ${J}_{m}^{l}$ is empty for every phase l.

Lemma 2. For every $i=0,1,2,\cdots ,m$ and every phase l, we have

$\underset{t=0}{\overset{l}{\sum}}\text{Bigsum}\left(0,{\Delta}_{t},{L}_{i}^{t}\right)}\le \left({\displaystyle \underset{t=0}{\overset{l}{\sum}}{\Delta}_{t}}\right)\left({\displaystyle \underset{q=i+1}{\overset{n}{\sum}}{s}_{q}}\right).$

Proof: First of all, by the rules of the algorithm, we have

$\text{Bigsum}\left(s,{\Delta}_{t},{\displaystyle {\cup}_{t=0}^{l}{L}^{t}}\right)\le {\Delta}_{l}\text{Bigsum}\left(s\right).$

for every phase l and every $s\in S$ . Therefore

$\text{Bigsum}\left(s,{\Delta}_{t},{L}^{l}\right)\le {\Delta}_{l}\text{Bigsum}\left(s\right).$

for every phase l and every $s\in S$ . Now we prove the claim by induction. For i = 0, it follows simply from the fact that

$\text{Bigsum}\left(0,{\Delta}_{t},{L}_{0}^{t}\right)=\text{Bigsum}\left(0,{\Delta}_{t},{L}^{t}\right)\le {\Delta}_{t}\text{Bigsum}\left(0\right)={\Delta}_{t}{\displaystyle \underset{q=1}{\overset{m}{\sum}}{s}_{q}},\forall t\le l.$

For l = 0, L^{0} is empty and hence
${\text{L}}_{i}^{0}$ is empty for all i. Thus we have

$\text{Bigsum}\left(0,\Delta ,{L}_{i}^{0}\right)=0,\text{\hspace{0.17em}}\text{\hspace{0.17em}}i=1,2,\cdots ,m$ .

This means that it is true for all i.

Now we will show the claim for (i, l) is true under the assumptions that the claim is true for (i−1, l) and (i, l−1). We prove it according to the following two cases:

Case 1. c_{i} > 0. In this case, any job J with release time r and size p satisfying
$r{s}_{i}+p\le {m}_{i}=\Delta {s}_{i}$ in
${L}_{i-1}^{l}$ cannot be passed over machine M_{i} to machine M_{i}_{+1}. Hence we have

${L}_{i}^{l}=\left\{j|{r}_{j}{s}_{i}+{p}_{j}>{\Delta}_{l}{s}_{i},j\in {L}^{l}\right\}$ .

Thus we have

$\text{Bigsum}\left(0,{\Delta}_{l},{L}_{i}^{l}\right)=\text{Bigsum}\left({s}_{i},{\Delta}_{l},{L}^{l}\right)\le {\Delta}_{l}\text{Bigsum}\left({s}_{i}\right)={\Delta}_{l}{\displaystyle \underset{q=i+1}{\overset{m}{\sum}}{s}_{q}}$ .

By the assumption on the claim for (i, l−1), we get

$\underset{t=0}{\overset{l-1}{\sum}}\text{Bigsum}\left(0,{\Delta}_{t},{L}_{i}^{t}\right)}\le \left({\displaystyle \underset{t=0}{\overset{l-1}{\sum}}{\Delta}_{t}}\right)\left({\displaystyle \underset{q=i+1}{\overset{n}{\sum}}{s}_{q}}\right).$

Adding up the above two inequality we get the claim for (i, l).

Case 2.
${c}_{i}\le 0$ . In this case, we consider the sum of job sizes that assigned on machine M_{i} from phase 0 to phase l, which can be expressed as

$\underset{t=0}{\overset{l}{\sum}}\left[\text{Bigsum}\left(0,{\Delta}_{t},{L}_{i-1}^{t}\right)-\text{Bigsum}\left(0,{\Delta}_{t},{L}_{i}^{t}\right)\right]$

Because
${c}_{i}\le 0$ , H_{i}, the height of machine M_{i} at the end of phase l, is at least

$\begin{array}{c}{H}_{i}\ge {\displaystyle \underset{t=0}{\overset{l}{\sum}}{c}_{i}^{t}}=2{\Delta}_{0}{s}_{i}+\left(2-\frac{1}{r}\right){\Delta}_{1}{s}_{i}+\cdots +\left(2-\frac{1}{r}\right){\Delta}_{l}{s}_{i}\\ =2{\Delta}_{0}{s}_{i}+\left(2{\Delta}_{1}-{\Delta}_{0}\right){s}_{i}+\cdots +\left(2{\Delta}_{l}-{\Delta}_{l-1}\right){s}_{i}\\ =\Delta {}_{l}s{}_{i}+{s}_{i}{\displaystyle \underset{t=0}{\overset{l}{\sum}}{\Delta}_{t}}\end{array}$

By the rules of the algorithm, no job has release time greater than Δ_{l}. Thismeans that there is no idle time in time interval
$\left[{\Delta}_{l},{\Delta}_{l}+{\displaystyle \underset{t=0}{\overset{l}{\sum}}{\Delta}_{t}}\right]$ on machineM_{i}. Hence the sum of the job sizes that assigned on machine M_{i} from phase 0 to phase l satisfies:

$\underset{t=0}{\overset{l}{\sum}}\left[\text{Bigsum}\left(0,{\Delta}_{t},{L}_{i-1}^{t}\right)-\text{Bigsum}\left(0,{\Delta}_{t},{L}_{i}^{t}\right)\right]}\ge {s}_{i}{\displaystyle \underset{t=0}{\overset{l}{\sum}}{\Delta}_{t}$ .

By the inductive hypothesis for (i−1, l), we have

$\underset{t=0}{\overset{l}{\sum}}\text{Bigsum}\left(0,{\Delta}_{t}\right)}\le \left({\displaystyle \underset{q=i}{\overset{m}{\sum}}{s}_{q}}\right)\left({\displaystyle \underset{t=0}{\overset{l}{\sum}}{\Delta}_{t}}\right).$

The above two inequalities include the truth of the claim for (i, l).

Lemma 2 show that, for every phase t, we have

$\text{Bigsum}\left(0,{\Delta}_{t},{L}_{m}^{t}\right)=0$ .

This includes that ${L}_{m}^{t}$ is empty for every phase t.

Theorem 3. The competitive ratio of algorithm R is not greater than 7.4641.

Proof: Suppose that the algorithm ended at phase k. Then the optimal value is at least $\text{\hspace{0.05em}}{\Delta}_{k-1}={r}^{k-1}{\Delta}_{0}$ and the completion time of the algorithm is at most

$\begin{array}{c}\frac{{\displaystyle \underset{t=0}{\overset{k}{\sum}}{c}_{i}^{t}}}{{s}_{i}}=2{\Delta}_{0}+\left(2-\frac{1}{r}\right){\Delta}_{1}+\cdots +\left(2-\frac{1}{r}\right){\Delta}_{k}+{\Delta}_{k}\\ =2{\Delta}_{0}+\left(2{\Delta}_{1}-{\Delta}_{0}\right)+\cdots +\left(2{\Delta}_{k}-{\Delta}_{k-1}\right)+{\Delta}_{k}\\ =2\Delta {}_{k}+{\displaystyle \underset{t=0}{\overset{k}{\sum}}{\Delta}_{t}}=\left(2{r}^{k}+{\displaystyle \underset{t=0}{\overset{k}{\sum}}{r}^{t}}\right){\Delta}_{0}\\ ={\displaystyle \underset{t=0}{\overset{k}{\sum}}{\Delta}_{t}}=\left(2{r}^{k}+\frac{{r}^{k+1}-1}{r-1}\right){\Delta}_{0}.\end{array}$

Hence the performance ratio is not greater than

$\left(2{r}^{k}+\frac{{r}^{k+1}-1}{r-1}\right)/{r}^{k-1}<2r+\frac{{r}^{2}}{r-1}=3r+1+\frac{1}{r-1}.$

It is easy to see that the best value of r is $1+\frac{\sqrt{3}}{3}$ and the performance ratio is $4+2\sqrt{3}\approx 7.4641$ .

4. Conclusion

In this paper, on-line scheduling problem for jobs with arbitrary release times on uniform machines is considered. We developed an algorithm with the competitive ratio of 7.4641 which is better than existing result of 12. In order to improve the competitive ratio more detailed consideration should be taken in.

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

References

[1] Cho, Y. and Sahni, S. (1980) Bounds for List Schedules on Uniform Processors. SIAM Journal on Computing, 9, 91-103.

https://doi.org/10.1137/0209007

[2] Epstein, L., Noga, J., Seiden, S.S., Sgall, J. and Woeginger, G.J. (2001) Randomized on-Line Scheduling on Two Uniform Machines. Journal of Scheduling, 4, 71-92.

https://doi.org/10.1002/jos.60

[3] Cai, S.Y. and Yang, Q.F. (2012) Online Scheduling on Three Uniform Machines. Discrete Applied Mathematics, 160, 291-302.

https://doi.org/10.1016/j.dam.2011.10.001

[4] Aspnes, J., Azar, Y., Fiat, A., Plotkin, S. and Waarts, O. (1997) On-Line Routing of Virtual Circuits with Applications to Load Balancing and Machine Scheduling. Journal of the ACM, 44, 486-504.

https://doi.org/10.1145/258128.258201

[5] Berman, P., Charikar, M. and Karpinski, M. (2000) On-Line Load Balancing for Related Machines. Journal of Algorithms, 35, 108-121.

https://doi.org/10.1006/jagm.1999.1070

[6] Li, R.H. and Shi, L.J. (1998) An on-Line Algorithm for Some Uniform Processor Scheduling. SIAM Journal on Computing, 27, 414-422.

https://doi.org/10.1137/S0097539799527969

[7] Cheng, T.C.E., Ng, C. and Kotov, V. (2006) A New Algorithm for Online Uniform-Machine Scheduling to Minimize the Makespan. Information Processing Letters, 99, 102-105.

[8] Li, R.H. and Huang, H.C. (2004) On-Line Scheduling for Jobs with Arbitrary Release Times. Computing, 73, 79-97.

https://doi.org/10.1007/s00607-004-0067-1

[9] Li, R.H. and Huang, H.C. (2007) Improved Algorithm for a Generalized On-line Scheduling Problem on Identical Machines. European Journal of Operations Research, 176, 643-652.

https://doi.org/10.1016/j.ejor.2005.06.061

[10] Li, K., Zhang, H., Cheng, B. and Pardalos, P. (2018) Uniform Parallel Machine Scheduling Problem with Fixed Machine Cost. Optimization Letter, 12, 73-86.

https://doi.org/10.1007/s11590-016-1096-3

[11] Yin, Y., Chen, Y., Qin, K. and Wang, D. (2019) Two-Agent Scheduling on Unrelated Parallel Machines with Total Completion Time and Weighted Number of Tardy Jobs Criteria. Journal of Scheduling, 22, 315-333.

https://doi.org/10.1007/s10951-018-0583-z

[12] Cheng, X., Li, R. and Zhou, Y. (2016) On-Line Scheduling for Jobs with Arbitrary Release Times on Parallel Related Uniform Machines. Intelligent Information Management, 8, 98-102.

https://doi.org/10.4236/iim.2016.84008