<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">IJIS</journal-id><journal-title-group><journal-title>International Journal of Intelligence Science</journal-title></journal-title-group><issn pub-type="epub">2163-0283</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/ijis.2019.92004</article-id><article-id pub-id-type="publisher-id">IJIS-93841</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  Better Algorithm for Order On-Line Scheduling on Uniform Machines
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Rongheng</surname><given-names>Li</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Yunxia</surname><given-names>Zhou</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref></contrib></contrib-group><aff id="aff2"><addr-line>Department of Computer, Hunan Normal University, Changsha, China</addr-line></aff><aff id="aff1"><addr-line>Key Laboratory of Computing and Stochastic Mathematics (Ministry of Education), School of Mathematics and Statistics, Department of Mathematics, Hunan Normal University, Changsha, China</addr-line></aff><pub-date pub-type="epub"><day>30</day><month>04</month><year>2019</year></pub-date><volume>09</volume><issue>02</issue><fpage>59</fpage><lpage>65</lpage><history><date date-type="received"><day>5,</day>	<month>March</month>	<year>2019</year></date><date date-type="rev-recd"><day>27,</day>	<month>April</month>	<year>2019</year>	</date><date date-type="accepted"><day>30,</day>	<month>April</month>	<year>2019</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  In this paper, we consider online scheduling for jobs with arbitrary release times on the parallel uniform machine system. An algorithm with competitive ratio of 7.4641 is addressed, which is better than the best existing result of 12.
 
</p></abstract><kwd-group><kwd>Online Scheduling</kwd><kwd> Uniform Machine</kwd><kwd> Competitive Ratio</kwd><kwd> LS Algorithm</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>For the online scheduling on a system of m uniform parallel machines, denoted by Q<sub>m</sub>/online/C<sub>max</sub>, each machine M i ( i = 1 , 2 , ⋯ , m ) has a speed s<sub>i</sub>, i.e., the time used for finishing a job with size p on M<sub>i</sub> is p/s<sub>i</sub>. Without loss of generality, we assume s 1 &lt; s 2 ≤ ⋯ ≤ s m . Cho and Sahni [<xref ref-type="bibr" rid="scirp.93841-ref1">1</xref>] are the first to consider the online scheduling problem on m uniform machines. For Q<sub>2</sub>/online/C<sub>max</sub>, Epstein et al. [<xref ref-type="bibr" rid="scirp.93841-ref2">2</xref>] showed that LS has the competitive ratio min { ( 2 s + 1 ) / ( s + 1 ) , ( s + 1 ) / s } and is an optimal online algorithm, where the speed ratio s = s 2 / s 1 . Q<sub>3</sub>/online/C<sub>max</sub> was considered by Cai and Yang [<xref ref-type="bibr" rid="scirp.93841-ref3">3</xref>] . They showed that the algorithm LS is an optimal online algorithm when the speed ratios ( s , t ) ∈ G 1 ∪ G 2 , where s = s 2 / s 1 , t = s 3 / s 2 ,</p><p>G 1 = { ( s , t ) | 1 ≤ t &lt; 1 + 31 6 , s ≥ 3 t 5 + 2 t − 6 t 2 } ,</p><p>G 2 = { ( s , t ) | t ≥ 1 + s , s ≥ 1 , t ≥ 1 } .</p><p>Aspnes et al. [<xref ref-type="bibr" rid="scirp.93841-ref4">4</xref>] are the first to try to design better algorithm for Q<sub>m</sub>/online/C<sub>max</sub>. 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. [<xref ref-type="bibr" rid="scirp.93841-ref5">5</xref>] .</p><p>The special case s i = 1 ( i = 1 , 2 , ⋯ , m − 1 ) and s m = s ≥ 1 was fisrt considered by Li and Shi [<xref ref-type="bibr" rid="scirp.93841-ref6">6</xref>] . It is proved that for m ≤ 3 LS is optimal when s<sub>m</sub> = 2 and they also developed an algorithm with a better competitive ratio than LS for m ≥ 4 and s<sub>m</sub> = s ≥ 1. For m ≥ 4 and 1 ≤ s ≤ 2, Cheng et al. [<xref ref-type="bibr" rid="scirp.93841-ref7">7</xref>] proposed an algorithm with a competitive ratio not greater than 2.45.</p><p>Motivated by air cargo import terminal problem, a generalization of the Graham’s classical on-line scheduling problem was proposed by Li and Huang [<xref ref-type="bibr" rid="scirp.93841-ref8">8</xref>] [<xref ref-type="bibr" rid="scirp.93841-ref9">9</xref>] . They describe the requests of all jobs in terms of order, where for any job list L = { J 1 , J 2 , ⋯ , J n } , job J<sub>j</sub> is given as order with the information of a release time r<sub>j</sub> and a processing size of p<sub>j</sub>. More recent results can be found in the research by Li et al. [<xref ref-type="bibr" rid="scirp.93841-ref10">10</xref>] and Yin et al. [<xref ref-type="bibr" rid="scirp.93841-ref11">11</xref>] .</p><p>Our task is to allocate an order sequence of jobs to m parallel uniform machines which have speeds of s 1 ≤ s 2 ≤ ⋯ ≤ 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. [<xref ref-type="bibr" rid="scirp.93841-ref12">12</xref>] .</p><p>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.</p></sec><sec id="s2"><title>2. Some Definitions</title><p>In this section we will give some definitions.</p><p>Definition 1: We have m parallel machines with speeds s 1 , s 2 , ⋯ , s m , respectively. Let L = { J 1 , J 2 , ⋯ , J n } be any list of jobs, where jobs arrives online one by one and each J<sub>j</sub> has a release time r<sub>j</sub> and a processing size of p<sub>j</sub>. Algorithm A is a heuristic algorithm. 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 refer to</p><p>R ( m , A ) = sup L C max A ( L ) C max O P T (L)</p><p>as the competitive ratio of algorithm A.</p><p>Definition 2: Suppose that J<sub>j</sub> is the current job with release time r<sub>j</sub> and size of p<sub>j</sub>. We say that machine M<sub>i</sub> has an idle time interval for job J<sub>j</sub>, if there exists a time interval [ T 1 , T 2 ] satisfying the following two conditions:</p><p>1) Machine M<sub>i</sub> is idle in interval [ T 1 , T 2 ] and a job with release time T<sub>2</sub> has been assigned to machine M<sub>i</sub> to start at time T<sub>2</sub>.</p><p>2) T 2 − max [ T 1 , r j ] ≥ p j s i .</p><p>It is obvious that if machine M<sub>i</sub> has an idle time interval for job J<sub>j</sub>, then we can assign J<sub>j</sub> to machine M<sub>i</sub> in the idle interval.</p><p>In the following we consider m parallel uniform machines with speeds s 1 , s 2 , ⋯ , s m and a job list L = { J 1 , J 2 , ⋯ , J n } with information (r<sub>j</sub>, p<sub>j</sub>) for each job J j ∈ L , where r<sub>i</sub> and p<sub>i</sub> 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 ≤ s 2 ≤ ⋯ ≤ s m . Let</p><p>S = { 0 , s 1 , s 2 , ⋯ , s m } ;</p><p>Bigsum ( s ) = ∑ s i ∈ S , s i &gt; s s i ;</p><p>S i = { 0 , s i , s i + 1 , ⋯ , s m } ; i = 1 , 2 , ⋯ , m , m + 1 ;</p><p>Bigsum ( i , s ) = ∑ s i ′ ∈ S , s i ′ &gt; s s i ′ ; i = 1 , 2 , ⋯ , m ,</p><p>Bigsum ( s , Δ , L ) = ∑ J j ∈ L , s r j + p j &gt; s Δ p j .</p><p>By our definition, S m + 1 = { 0 } .</p></sec><sec id="s3"><title>3. Algorithm R and Its Performance</title><p>Now we present the algorithm R by use of the notations given in the former section in the following:</p><p>Algorithm R:</p><p>Step 0. Let t: = 0, Δ<sub>t</sub>: = very small positive number.</p><p>For i = 1 to m do m<sub>i</sub>: = Δ<sub>t</sub>s<sub>i</sub>, c<sub>i</sub>: = 2 m<sub>i</sub>, H<sub>i</sub> = 0.</p><p>L t : = Φ .</p><p>Step 1. Let J<sub>j</sub> be a new job with release time r<sub>j</sub> and processing size p<sub>j</sub> given to the algorithm. If there is a machine M<sub>i</sub> which has an idle time interval for job J<sub>j</sub>, then we assign J<sub>j</sub> to machine M<sub>i</sub> in the idle interval and set L t : = L t ∪ J j .</p><p>Step 2. If r j ≥ Δ t or Bigsum ( s , Δ t , ∪ k = 0 t L k ) &gt; Δ t Bigsum ( s ) for some s ∈ S then goto Step 3. Otherwise goto Step 4.</p><p>Step 3. (*start a new phase*)</p><p>Set Δ: = rΔ<sub>t</sub>, t: = t + 1, Δ<sub>t</sub>: = Δ,</p><p>For i = 1 to m do m i : = Δ t s i , c i : = c i + ( 2 − 1 / r ) m i .</p><p>Set L t : = Φ and Goto Step 2.</p><p>Step 4. (*schedule p<sub>j</sub>*)</p><p>k : = min { i | c i + m i &gt; s i r j + p j } ;</p><p>Assign J<sub>j</sub> on machine M<sub>k</sub>; Set:</p><p>c k : = c k − max { 0 , s k r j − H k } − p j ;</p><p>H k : = H k + max { 0 , s k r j − H k } + p j .</p><p>Set L t : = L t ∪ J j .</p><p>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<sub>j</sub>. In Step 4 at most m times can determine to assign current job J<sub>j</sub>. Hence the complexity of our algorithm is O(n<sup>2</sup>).</p><p>Now we begin to analyze the performance of algorithm R. The following statement is obvious:</p><p>Lemma 1. For a job list L, if C max O P T ( L ) ≤ Δ , then Bigsum ( s , Δ , L ) ≤ Δ Bigsum ( s ) and r<sub>j</sub> &lt; Δ hold for every s ∈ S and every j ∈ L .</p><p>Let L<sup>l</sup> 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<sub>i</sub> passed over or M<sub>i</sub><sub>+1</sub> received, i = 0 , 1 , ⋯ , m (for 1 ≤ i &lt; m , these two conditions are equivalent, for i = 0, only the latter and for i = m only the former applies).</p><p>Now the correctness of algorithm R will mean that the stream J m l is empty for every phase l.</p><p>Lemma 2. For every i = 0 , 1 , 2 , ⋯ , m and every phase l, we have</p><p>∑ t = 0 l Bigsum ( 0 , Δ t , L i t ) ≤ ( ∑ t = 0 l Δ t ) ( ∑ q = i + 1 n s q ) .</p><p>Proof: First of all, by the rules of the algorithm, we have</p><p>Bigsum ( s , Δ t , ∪ t = 0 l L t ) ≤ Δ l Bigsum ( s ) .</p><p>for every phase l and every s ∈ S . Therefore</p><p>Bigsum ( s , Δ t , L l ) ≤ Δ l Bigsum ( s ) .</p><p>for every phase l and every s ∈ S . Now we prove the claim by induction. For i = 0, it follows simply from the fact that</p><p>Bigsum ( 0 , Δ t , L 0 t ) = Bigsum ( 0 , Δ t , L t ) ≤ Δ t Bigsum ( 0 ) = Δ t ∑ q = 1 m s q , ∀ t ≤ l .</p><p>For l = 0, L<sup>0</sup> is empty and hence L i 0 is empty for all i. Thus we have</p><p>Bigsum ( 0 , Δ , L i 0 ) = 0 ,     i = 1 , 2 , ⋯ , m .</p><p>This means that it is true for all i.</p><p>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:</p><p>Case 1. c<sub>i</sub> &gt; 0. In this case, any job J with release time r and size p satisfying r s i + p ≤ m i = Δ s i in L i − 1 l cannot be passed over machine M<sub>i</sub> to machine M<sub>i</sub><sub>+1</sub>. Hence we have</p><p>L i l = { j | r j s i + p j &gt; Δ l s i , j ∈ L l } .</p><p>Thus we have</p><p>Bigsum ( 0 , Δ l , L i l ) = Bigsum ( s i , Δ l , L l ) ≤ Δ l Bigsum ( s i ) = Δ l ∑ q = i + 1 m s q .</p><p>By the assumption on the claim for (i, l−1), we get</p><p>∑ t = 0 l − 1 Bigsum ( 0 , Δ t , L i t ) ≤ ( ∑ t = 0 l − 1 Δ t ) ( ∑ q = i + 1 n s q ) .</p><p>Adding up the above two inequality we get the claim for (i, l).</p><p>Case 2. c i ≤ 0 . In this case, we consider the sum of job sizes that assigned on machine M<sub>i</sub> from phase 0 to phase l, which can be expressed as</p><p>∑ t = 0 l [ Bigsum ( 0 , Δ t , L i − 1 t ) − Bigsum ( 0 , Δ t , L i t ) ]</p><p>Because c i ≤ 0 , H<sub>i</sub>, the height of machine M<sub>i</sub> at the end of phase l, is at least</p><p>H i ≥ ∑ t = 0 l c i t = 2 Δ 0 s i + ( 2 − 1 r ) Δ 1 s i + ⋯ + ( 2 − 1 r ) Δ l s i = 2 Δ 0 s i + ( 2 Δ 1 − Δ 0 ) s i + ⋯ + ( 2 Δ l − Δ l − 1 ) s i = Δ s l i + s i ∑ t = 0 l Δ t</p><p>By the rules of the algorithm, no job has release time greater than Δ<sub>l</sub>. Thismeans that there is no idle time in time interval [ Δ l , Δ l + ∑ t = 0 l Δ t ] on machineM<sub>i</sub>. Hence the sum of the job sizes that assigned on machine M<sub>i</sub> from phase 0 to phase l satisfies:</p><p>∑ t = 0 l [ Bigsum ( 0 , Δ t , L i − 1 t ) − Bigsum ( 0 , Δ t , L i t ) ] ≥ s i ∑ t = 0 l Δ t .</p><p>By the inductive hypothesis for (i−1, l), we have</p><p>∑ t = 0 l Bigsum ( 0 , Δ t ) ≤ ( ∑ q = i m s q ) ( ∑ t = 0 l Δ t ) .</p><p>The above two inequalities include the truth of the claim for (i, l).</p><p>Lemma 2 show that, for every phase t, we have</p><p>Bigsum ( 0 , Δ t , L m t ) = 0 .</p><p>This includes that L m t is empty for every phase t.</p><p>Theorem 3. The competitive ratio of algorithm R is not greater than 7.4641.</p><p>Proof: Suppose that the algorithm ended at phase k. Then the optimal value is at least   Δ k − 1 = r k − 1 Δ 0 and the completion time of the algorithm is at most</p><p>∑ t = 0 k c i t s i = 2 Δ 0 + ( 2 − 1 r ) Δ 1 + ⋯ + ( 2 − 1 r ) Δ k + Δ k = 2 Δ 0 + ( 2 Δ 1 − Δ 0 ) + ⋯ + ( 2 Δ k − Δ k − 1 ) + Δ k = 2 Δ + k ∑ t = 0 k Δ t = ( 2 r k + ∑ t = 0 k r t ) Δ 0 = ∑ t = 0 k Δ t = ( 2 r k + r k + 1 − 1 r − 1 ) Δ 0 .</p><p>Hence the performance ratio is not greater than</p><p>( 2 r k + r k + 1 − 1 r − 1 ) / r k − 1 &lt; 2 r + r 2 r − 1 = 3 r + 1 + 1 r − 1 .</p><p>It is easy to see that the best value of r is 1 + 3 3 and the performance ratio is 4 + 2 3 ≈ 7.4641 .</p></sec><sec id="s4"><title>4. Conclusion</title><p>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.</p></sec><sec id="s5"><title>Acknowledgements</title><p>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).</p></sec><sec id="s6"><title>Conflicts of Interest</title><p>The authors declare no conflicts of interest regarding the publication of this paper.</p></sec><sec id="s7"><title>Cite this paper</title><p>Li, R.H. and Zhou, Y.X. (2019) Better Algorithm for Order On-Line Scheduling on Uniform Machines. International Journal of Intelligence Science, 9, 59-65. https://doi.org/10.4236/ijis.2019.92004</p></sec></body><back><ref-list><title>References</title><ref id="scirp.93841-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">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</mixed-citation></ref><ref id="scirp.93841-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">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</mixed-citation></ref><ref id="scirp.93841-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">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</mixed-citation></ref><ref id="scirp.93841-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">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</mixed-citation></ref><ref id="scirp.93841-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">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</mixed-citation></ref><ref id="scirp.93841-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">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</mixed-citation></ref><ref id="scirp.93841-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">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.</mixed-citation></ref><ref id="scirp.93841-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">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</mixed-citation></ref><ref id="scirp.93841-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">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</mixed-citation></ref><ref id="scirp.93841-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">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</mixed-citation></ref><ref id="scirp.93841-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">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</mixed-citation></ref><ref id="scirp.93841-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">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</mixed-citation></ref></ref-list></back></article>