<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Single Machine Inserted Idle Time Scheduling with Release Times and Due Dates</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Mathematics and Mechanics, St.Petersburg State University</institution>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <fpage>336</fpage>
      <lpage>343</lpage>
      <abstract>
        <p>The single machine scheduling problem is considered in which each task has a release dates, a processing time and a due date. The objective is to mimimize the maximum lateness. Preemption is not allowed. Scheduling problem 1jrjjLmax is a NP-hard problem. We de ne an IIT (inserted idle time) schedule as a feasible schedule in which a processor is kept idle at a time when it could begin processing an operation. We propose an approximate IIT algorithm named ELS/IIT (earliest latest start/ inserted idle time) and branch and bound algorithm, which produces a feasible IIT schedule for a xed the maximum lateness L. In order to optimize over L we must iterate the scheduling process over possible values of L. New dominance criteria are introduced to curtail the enumeration tree. By this approach it is generally possible to eliminate most of the useless nodes generated at the lowest levels of decision tree.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Copyright ⃝c by the paper's authors. Copying permitted for private and academic purposes.
algorithm for P jrjjLmax problem. The goal of this paper is to propose IIT schedule for
1jrjjLmax problem. We propose an approximate IIT algorithm named ELS/IIT
(earliest latest start/ inserted idle time) and branch and bound algorithm, which produces
a feasible IIT(inserted idle time) schedule for a xed maximum lateness L. The
algorithm may be used in a binary search mode to nd the smallest maximum lateness. A
new method for evaluating partial solutions, selecting the next task and new ways of
reducing the exhaustive search was designed.</p>
      <p>We consider a system of tasks U = fu1u2; : : : ; ung. Each task is characterized by
its execution time t(ui), its release time r(ui) and its due dates D(ui). Release time
r(ui) is the time at which the task is ready for processing. Due date D(ui) speci es
the time limit by which the task should be completed. Set of tasks is performed on one
processor. Task preemption is not allowed.</p>
      <p>A schedule for a task set U is the mapping of each task ui 2 U to a start time
(ui). Maximum lateness of schedule S is the quantity</p>
      <p>Lmax = maxf (ui) + t(ui)</p>
      <p>D(ui)jui 2 U g:</p>
      <p>First, we propose an approximate IIT algorithm named ELS/IIT (earliest latest
start/ inserted idle time). Then by combining the ELS/IIT algorithm and B&amp;B method
this paper presents BB/IIT algorithm which can nd optimal solutions for single
processor scheduling problem.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Approximate algorithm ELS/IIT</title>
      <p>For each task ui, we know the earliest starting time r(ui) and the latest start time
vmax(ui) = D(ui) t(ui); which is a priority of task. Let k tasks have been put in the
schedule and partial schedule Sk have been constructed.</p>
      <p>Let be tmin(k) the time of the termination of the processor after completion all tasks
from the partial schedule Sk. The approximate schedule is constructed by ELS/IIT
algorithm as follows:
1. Select the task u0, such as vmax(u0) = minfvmax(ui)jui 2= Skg:
2. If idle(u0) = r(u0) tmin(k) &gt; 0 then choose a task u 2= Sk, which can be executed
during the idle time of the processor without increasing the start time of the task
u0.</p>
      <p>Namely de ne the start time of task ui as (ui) = maxftmin(k); r(ui)g then set
d(ui) = (ui) + t(ui) and nd task u such as
vmax(u ) = minfvmax(ui)jd(ui)
r(u0); ui 2= Skg:
3. If the task u is found, then we assign to the processor the task u ; otherwise the
task u0:</p>
      <p>Suppose that Lopt denotes the maximum lateness of optimal schedule, while LELS
denotes the the maximum lateness when the tasks are sequenced using ELS/IIT
heuristic. We are interested in seeing how much worse LELS can be compared to Lopt. In
what follows we will prove the following worse-case bound. Let T = ∑kn=1 t(k) and
tmin = minft(ui)jui 2 U g.
then
and</p>
      <sec id="sec-2-1">
        <title>Then</title>
      </sec>
      <sec id="sec-2-2">
        <title>Then</title>
        <p>Lemma 1.</p>
        <sec id="sec-2-2-1">
          <title>LELS</title>
        </sec>
        <sec id="sec-2-2-2">
          <title>Lopt</title>
        </sec>
        <sec id="sec-2-2-3">
          <title>Lopt + Dmax</title>
          <p>1
tmin :</p>
          <p>T
Proof. Suppose that the sequence = (l1; l2; :::; ln) is generated using ELS/IIT
algorithm. In schedule let task lj be the task with maximum lateness, then LELS = (lj)+
t(lj) D(lj). Then we can nd the task li such as LELS = r(li) + ∑jk=i t(lk) D(lj),
where 1 li lj ln. If there is a choice, it is assumed that lj is as small as possible
and that li is as large as possible. Then either task li is the rst task in the schedule
or the processor will be idle before the beginning of task li. Consider tasks from li to
lj in the sequence . If for all i k j 1 it is true that</p>
        </sec>
      </sec>
      <sec id="sec-2-3">
        <title>Otherwise we can nd k such as i</title>
        <p>k
j</p>
      </sec>
      <sec id="sec-2-4">
        <title>1 and task lk such as</title>
        <p>But for k + 1
u
j</p>
      </sec>
      <sec id="sec-2-5">
        <title>1 we have that</title>
        <p>D(lk) t(lk)</p>
        <p>D(lk+1) t(lk+1)
D(li) t(li)</p>
        <p>D(lj) t(lj):
D(lk) t(lk) &gt; D(lk+1) t(lk+1):
D(lu) t(lu)</p>
        <p>D(lu+1) t(lu+1):
Then (lk) &lt; r(lk+1) and (lk) + t(lk) r(lk+1). Hence during the application of
ELS=IIT algorithm task lk+1 begins at its release date (lk+1) = r(lk+1), which
contradicts the choice of task li. If k = j 1 and task lj begins at its release date
(lj) = r(lj) then schedule is optimal schedule.</p>
        <p>In either case we have from the construction of schedule that</p>
        <p>D(li) t(li)</p>
        <p>D(lj) t(lj):</p>
      </sec>
      <sec id="sec-2-6">
        <title>On the other hand</title>
        <sec id="sec-2-6-1">
          <title>Lopt</title>
          <p>r(li) + t(li)
D(li)
r(li) + t(lj)
D(lj)</p>
        </sec>
        <sec id="sec-2-6-2">
          <title>Lopt</title>
          <p>T</p>
        </sec>
        <sec id="sec-2-6-3">
          <title>Dmax:</title>
        </sec>
        <sec id="sec-2-6-4">
          <title>LELS</title>
        </sec>
        <sec id="sec-2-6-5">
          <title>Lopt</title>
          <p>j
r(li) + ∑ t(lk)
k=i
j 1
D(lj) r(li) t(lj) + D(lj) = ∑ t(lk):
k=i</p>
        </sec>
        <sec id="sec-2-6-6">
          <title>LELS</title>
        </sec>
        <sec id="sec-2-6-7">
          <title>Lopt</title>
        </sec>
        <sec id="sec-2-6-8">
          <title>Lopt</title>
          <p>∑jk=1i t(lk)</p>
          <p>To illustrate ELS heuristic we consider the following example. There are two task:
r1 = 0; t1 = T 1; D1 = T 1; r2 = 0; t2 = 1; D2 = 1 + : Then ELS/IIT algorithm will
schedule the large task rst and maximum lateness LELS = T 1 . But maximum
lateness of optimal schedule Lopt = 1.</p>
          <p>This problem can be solved using extended Jackon's rule (EDD): whenever the
machine is free and one or more tasks are available for processing, schedule an available
task with earliest due date. We consider examples, in which EDD algorithm builds a
bad schedule, while ELS algorithm builds the optimal schedule and vice versa. For this
example extended Jackson's rule (EDD heuristic) makes the optimal schedule. But if
we change example: r1 = 0; t1 = T 1; D1 = T ; r2 = r; t2 = 1; D2 = 1, EDD heuristic
will schedule the large task rst and maximum lateness LEDD = T 1. ELS/IIT
algorithm generates optimal schedule LELS = r and Lopt = r;</p>
          <p>
            The example 2 from [
            <xref ref-type="bibr" rid="ref5">5</xref>
            ] in table 1 demonstrates the worse-case instance for
approximation algorithm B,which was proposed in [
            <xref ref-type="bibr" rid="ref5">5</xref>
            ]. There are ve tasks, ri,ti,Di
represent the release date, processing time and due date, respectively, of task i. Li =
i + ti Di and vmax(i) = Di ti: ELS/IIT algorithm generates the optimal schedule
(2; 3; 1; 5; 4) with the maximum lateness LELS = Q + 2. Algorithm B [
            <xref ref-type="bibr" rid="ref5">5</xref>
            ] generates
schedule (1; 2; 3; 4; 5) with the maximum lateness LB = 2Q + 2.
3
          </p>
          <p>Algorithm for constructing an optimal schedule
The branch and bound algorithm produces a feasible IIT schedule for a xed maximum
lateness L. In order to optimize over L we must iterate the scheduling process over
possible values of L. Let Lopt be maximum lateness of optimal schedule. We de le
interval (a; b] such as a &lt; Lopt b:</p>
          <p>First we de ne the low bound of maximum lateness. We calculate two low bounds
and</p>
          <p>LB1 = maxfr(ui) + t(ui)</p>
          <p>D(ui)jui 2 U g
n
LB2 = maxf∑ t(ui)
i=1</p>
          <p>Dmaxg:
Then the low bound of maximum lateness LB is</p>
          <p>
            LB = maxfLB1; LB2g:
The upper bound b = ∑in=1 t(ui) + rmax Dmin [
            <xref ref-type="bibr" rid="ref10">10</xref>
            ]. Then Lopt 2 (a; b].
          </p>
          <p>Select z = ⌈(a + b)=2⌉ and use branch and bound method for constructing a feasible
schedule BB(U; D + z; S): If we nd a feasible schedule then we take interval (a; z],
else we take interval (z; b] and repeat .</p>
          <p>Algorithm SCHEDU LE(U ; Sopt; Lopt)</p>
        </sec>
      </sec>
      <sec id="sec-2-7">
        <title>1. Calculate a b:</title>
        <p>2. While b a &gt; eps do
3. Set z := ⌈(a + b)=2⌉:
4. We recalculate due dates D(ui) as D (ui) = D(ui) + z; recalculate makespan</p>
        <p>Dmax = maxfD (ui)jui 2 U g
and the latest start times vmax(ui) = D (ui) t(ui):
5. Use procedure BB(U; D ; S; LS ) for constructing a feasible schedule.
6. If we nd feasible schedule S , then Srec := S; Lrec := LS and set b := LS , else set
a := z:
7. endwhile
8. Sopt := Srec; and Lopt := Lrec:
4</p>
        <p>Branch and bound method for constructing a feasible
schedule BB(U; D ; S)
The branch and bound algorithm produces a feasible IIT( inserted idle time) schedule
for a xed maximum lateness L. In order to optimize over L we must iterate the
scheduling process over possible values of L.</p>
        <p>For the formal description of the branch and bound method we must give a de nition
of partial solutions. It is convenient to represent the schedule as a permutation of tasks.
For each permutation of tasks = (ui1 ; ui2 ; : : : ; uin ); one can construct a schedule S
as follows: the task is assigned to the processor at the earliest possible time. Partial
solution k; where k the number of jobs will be regarded as a partial permutation
k = (ui1 ; ui2 ; : : : ; uik ), which is determined partial schedule.</p>
        <p>De nition 1. The solution n = (l1; l2; : : : ; ln) is called the extension of partial
solutions k = (q1; q2; : : : ; qk), if l1 = q1; l2 = q2; : : : ; lk = qk.</p>
        <p>De nition 2. A partial solution
k, which is a feasible schedule.</p>
        <p>k is called a feasible if there exists an extension of
For each task ui, we know the earliest starting time r(ui) and the latest start time
vmax(ui) = D(ui) t(ui); In order to make the feasible schedule, it is necessary that
each task ui 2 U; the start time of its execution (ui) satis es the inequality
r(ui)
(ui)</p>
        <p>vmax(ui):
In order to describe the branch and bound method it is necessary to determine the
set of tasks that we need to add to a partial solution, the order in which task will be
chosen from this set and the rules that will be used for eliminating partial solutions.</p>
        <p>Let I be the total idle time of processor in the feasible schedule S of length Dmax,
then I = Dmax ∑in=1 t(ui):</p>
        <p>For a partial solution k we know for task idle(ui)| idle time of processor before
start the task ui:</p>
        <p>At each level k will be allocated a set of tasks Uk, which we call the the ready tasks.
These are tasks that need to add to a partial solution k 1, so check all the possible
continuation of the partial solutions.</p>
        <p>De nition 3. Task u 2= k is called the ready task at the level k, if r(u) satis es the
inequality r(u) tmin(k) I ∑u2 k idle(ui):</p>
        <p>The main way of reducing of the exhaustive search will be the earliest possible
identi cation unfeasible solutions.</p>
        <p>De nition 4. Let the task ucr 2= k is such as vmax(ucr) = minfvmax(u)ju 2=
The task ucr 2= k is called the delayed task for k, if vmax(ucr) &lt; tmin(k).
kg:</p>
        <p>Below we formulate and proof the rules of deleting unfeasible partial solutions.
Lemma 2. Let delayed task ucr for a partial solution k exists, then
1. The partial solution k is unfeasible.
2. For any task u, such as maxftmink</p>
        <p>k 1 [ u is unfeasible.
3. If maxftmin(k 1); r(ucr)g + t(ucr) &gt; vmax(uk) then the partial solution
unfeasible.</p>
        <p>1; r(u)g + t(u) &gt; vmax(ucr) a partial solution
k 1 is
Proof. 1. This follows from de nition the delayed task.</p>
        <p>2. Let tmin(k) is the time of ending all tasks which are included in a partial solution
k</p>
        <p>If the task ucr is delayed task, then vmax(ucr) &lt; tmin(k).</p>
        <p>After cancelation of the last scheduled task uk, algorithm returns to the partial
solution k 1. Processor ends all task at time tmin(k 1). If we add a task u to the
partial solution k 1 on step k, we must assign the task ucr on the processor on step
k + 1. Therefore should be performed
maxftmin(k); r(u)g + t(u)
vmax(ucr):
3. Consider two cases.
3.1 vmax(uk) vmax(ucr). If the task ucr is delayed task, then vmax(ucr) &lt; tmin(k):
After deleting the task uk, the task ucr is assigned to processor. Processor ends all
it's task at time tmin(k) = maxftmin(k 1); r(ucr)g + t(ucr):</p>
        <p>On lemma maxftmin(k 1); r(ucr)g + t(ucr) &gt; vmax(uk), then the task uk will be
the delayed task for partial solution k = k 1 [ ucr.</p>
        <p>3.2. If vmax(uk) &gt; vmax(ucr) then the partial solution k 1 [ ucr was tested early
and it was unfeasible. For any solution k 1 [ u task uk or task ucr will be delayed
task. The partial solution k = k 1 [ u is unfeasible for all u, then the partial solution
k 1 is unfeasible.
Algorithm 1 BB/IIT algorithm</p>
        <p>
          Another method for determining unfeasible partial solutions based on a
comparison of resource requirements of tasks and processor power. In this case we propose to
modify the algorithm for determining the interval of concentration [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] for the
complete schedule. We apply this algorithm to a partial schedule k and determine its
admissibility.
        </p>
        <p>We consider time intervals [t1; t2] [tmin(k); Dmax].</p>
        <p>For all tasks ui 2= k we nd minimal time of its begin: v(ui) = maxfr(ui); timekg.
Let L([t1; t2]) be a length of time interval [t1; t2].</p>
        <p>Let Mk(t1; t2) be the total minimal time of tasks in time interval [t1; t2]; then
Mk(t1; t2) =
∑ minfL(xk(ui)); L(y(ui))g;
ui2= k
where</p>
        <p>Let</p>
        <p>xk(ui) = [v(ui); v(ui) + t(ui)] \ [t1; t2];
y(ui) = [vmax(ui); vmax(ui) + t(ui)] \ [t1; t2]:
est( k) =</p>
        <p>max
[t1;t2]2[tmin(k);Dmax]
fMk(t1; t2)
(t2
t1):g
Lemma 3. If est( k) &gt; 0 then a partial solution k is unfeasible.</p>
        <p>The pseudo-code of Branch and bound method for constructing a feasible schedule
BB(U; D; S) is shown in Algorithm 1.
In this paper we propose IIT schedule for 1jrj jLmax problem. We propose an
approximate IIT algorithm named ELS/IIT (earliest latest start/ inserted idle time) and
branch and bound algorithm, which produces a feasible IIT(inserted idle time) schedule
for a xed maximum lateness L. The algorithm may be used in a binary search mode
to nd the smallest maximum lateness. We compare IIT algorithm and algorithms
which use extended Jackson's rule. We can see, that algorithms build good schedule
for various examples, so combining the two approaches, we can get the best solutions
for all examples.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Graham</surname>
            <given-names>R.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lawner</surname>
            <given-names>E.L.</given-names>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Kan</surname>
          </string-name>
          .
          <article-title>Optimization and approximation in deterministic sequencing and scheduling: A survey /</article-title>
          / Ann. of Disc. Math.
          <year>1979</year>
          . Vol.
          <volume>5</volume>
          , 10. P.
          <volume>287</volume>
          {
          <fpage>326</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>P.</given-names>
            <surname>Brucker. Scheduling</surname>
          </string-name>
          <string-name>
            <surname>Algorithms</surname>
          </string-name>
          , (
          <year>1997</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Lenstra</surname>
            <given-names>J.A.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Kan</surname>
          </string-name>
          . and Brucker P. Complexity of machine scheduling problems//Ann. of Disc. Math.
          <year>1977</year>
          , 1 P.
          <volume>343</volume>
          {
          <fpage>362</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Potts</surname>
            <given-names>C.N.</given-names>
          </string-name>
          <article-title>Analysis of a heuristic for one machine sequencing with release dates and</article-title>
          delivery times// Operational Research.
          <year>1980</year>
          . V.28 No. 6, P.
          <volume>445</volume>
          {
          <fpage>462</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Hall</surname>
            <given-names>L.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shmoys D.B.</surname>
          </string-name>
          <article-title>Jackson's rule for single-mashine scheduling: making a good heuristic better</article-title>
          // Mathematics of operations research.
          <year>1992</year>
          . V.
          <volume>17</volume>
          .,
          <source>No.1. P</source>
          <volume>22</volume>
          {
          <fpage>35</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>K.R.</given-names>
            <surname>Baker</surname>
          </string-name>
          . Introduction to Sequencing. John Wiley &amp; Son, New York(
          <year>1974</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>J.</given-names>
            <surname>Kanet</surname>
          </string-name>
          and
          <string-name>
            <given-names>V.</given-names>
            <surname>Sridharan</surname>
          </string-name>
          .
          <article-title>Scheduling with inserted idle time:problem taxonomy and literature review</article-title>
          ,
          <source>Oper.Res</source>
          <volume>48</volume>
          (
          <issue>1</issue>
          ), pp.
          <fpage>99</fpage>
          -
          <lpage>110</lpage>
          , (
          <year>2000</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Grigoreva</surname>
            <given-names>N.S. Branch</given-names>
          </string-name>
          <article-title>and bound method for scheduling precedence constrained tasks on parallel identical processors</article-title>
          <source>// Lecture Notes in Engineering and Computer Science: Proc. of The World Congress on Engineering</source>
          <year>2014</year>
          ,
          <string-name>
            <surname>WCE</surname>
          </string-name>
          <year>2014</year>
          ,
          <volume>2</volume>
          {
          <issue>4</issue>
          <year>July</year>
          ,
          <year>2014</year>
          , London, U.K., P.
          <volume>832</volume>
          {
          <fpage>836</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Grigoreva</surname>
            <given-names>N.S. Multiprocessor</given-names>
          </string-name>
          <article-title>Scheduling with Inserted Idle Time to Minimize the Maximum Lateness//</article-title>
          <source>Proceedings of the 7th Multidisciplinary International Conference of Scheduling: Theory and Applications</source>
          . Prague, MISTA.
          <year>2015</year>
          , P.
          <volume>814</volume>
          {
          <fpage>816</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Mastrolilli</surname>
            <given-names>M.</given-names>
          </string-name>
          <article-title>Efficient approximation schemes for scheduling problems with release dates and</article-title>
          delivery times//Journal of Scheduling.
          <year>2003</year>
          .6,P.
          <volume>521</volume>
          {
          <fpage>531</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Fernandez</surname>
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bussell</surname>
            <given-names>B. Bounds</given-names>
          </string-name>
          <article-title>the number of processors and time for multiprocessor optimal schedules //</article-title>
          <source>IEEE Trans. on Computers</source>
          .
          <year>1973</year>
          , Vol.
          <volume>4</volume>
          , 11 P.
          <volume>745</volume>
          {
          <fpage>751</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>