Advertisement

Journal of Scheduling

, Volume 16, Issue 4, pp 439–441 | Cite as

Erratum to: Minimizing total tardiness on parallel machines with preemptions

  • Svetlana A. Kravchenko
  • Frank WernerEmail author
Erratum

Abstract

In this note, we correct a mistake which was made in the paper “Minimizing Total Tardiness on Parallel Machines with Preemptions” (see J Schedul 15:193–200, 2012).

Keywords

Parallel machines Total tardiness  Preemptions  NP-hardness 

Introduction

In Sect. 3 of paper (Kravchenko and Werner 2012), a mistake in the NP-hardness proof for the problem \(P\mid \text{ pmtn}\mid \sum T_j\) was made. A counterexample was given in Prot et al. (2012). In Sect. 2 of this note, we present a corrected proof. In Sect. 3, we give some further remarks.

Corrected proof

In this section, we show that problem \(P\mid \text{ pmtn}\mid \sum T_j\) is NP-hard, i.e., we consider the problem of scheduling \(n\) jobs on \(m\) machines \(\{1,\ldots ,m\}\) with preemptions to minimize the total tardiness value \(\sum _{j=1}^n T_j\). Thus, for each job \(j\), we know in advance its processing time \(p_j\) and its due date \(d_j.\)

The proof is obtained by a reduction from PARTITION: Given a set of positive integers \(a_1,\ldots , a_k, b\) with \(\sum _{i=1}^k a_i = 2b.\) Does there exist a subset \(I\subseteq \{ 1, \ldots , k\}\) such that \(\sum _{i\in I} a_i =b\)?

PARTITION is ordinary NP-hard (Karp 1972), and it can be shown that it remains so under the assumption that \(3k<b/2\). To see this, it is sufficient to replace \(a_1,\ldots , a_k, b\) by \(6k a_1,\ldots , 6k a_k, 6k b.\)

Given any instance of PARTITION, we define a corresponding instance of the problem \(P\mid \text{ pmtn}\mid \sum T_j\) as follows. Let \(n=3k-1\) and \(m=k.\) We set \(L=10b^3\). There are three classes of jobs:
  • the class of \(a\)-jobs comprises \(k\) jobs with processing times \(a_i\) and due dates \(d_i=L\) for \(i=1,\ldots , k;\)

  • the class of \(ba\)-jobs comprises \(k\) jobs with processing times \(9b^3+a_i b^2 - a_i\) and due dates \(d_i=L-a_i\) for \(i=1,\ldots , k;\)

  • the class of \(b\)-jobs comprises \(k-1\) jobs with processing times \(b^3\) and due dates \(b^3.\)

We claim that PARTITION has a solution if and only if there exists a schedule with \(\sum T_j\le b^3+b.\)
First, we show that, if PARTITION has a solution, then for the corresponding instance of the problem \(P\mid \text{ pmtn}\mid \sum T_j\) a schedule exists with \(\sum T_j\le b^3+b.\) Without loss of generality, suppose that \(\{ a_1,\ldots , a_z\}\) is a solution for PARTITION, i.e., we suppose that \(\sum _{i=1}^z a_i = b\) holds. Then:
  1. 1.

    we schedule each \(ba\)-job \(i\), \(i=1,\ldots , k,\) with processing time \(9b^3+a_ib^2-a_i\) for \(9b^3-a_i\) time units in the interval \([b^3,L-a_i]\) on machine \(i\), and each \(ba\)-job \(i, i=1,\ldots , z,\) for \(a_ib^2\) time units in the interval \([L,L+a_ib^2]\) on machine \(i\);

     
  2. 2.

    we schedule each \(a\)-job \(i\), \(i=1,\ldots , k,\) with processing time \(a_i\) for \(a_i\) time units in the interval \([L-a_i,L]\) on machine \(i\);

     
  3. 3.

    we schedule each \(b\)-job \(i, i=1,\ldots , k-1,\) with processing time \(b^3\) for \(b^3\) time units in the interval \([0,b^3]\) on machine \(i\); and

     
  4. 4.
    we schedule the remaining parts of the \(ba\)-jobs \(i, i=z+1,\ldots , k,\) in the interval \([0,b^3]\) on machine \(k,\) see Fig. 1.
    Fig. 1

    Scheduling the jobs for the given partition

     
Note that after steps 1–3, all \(a\)-jobs, all \(b\)-jobs, and all \(ba\)-jobs for \(i=1,\ldots , z\) are completely scheduled whereas for \(i=z+1,\ldots , n\), each \(ba\)-job is scheduled for \(9b^3-a_i\) time units. Thus, before step 4, the only unscheduled jobs are the \(ba\)-jobs for \(a_ib^2\) time units, \(i=z+1,\ldots , n\).

Since, before step 4, machine \(k\) is idle for the time interval \([0,b^3]\) and \(\sum _{i=z+1}^n a_ib^2 = b^3\) holds, step 4 completes the construction of a feasible schedule.

Besides, for the constructed schedule we obtain
$$\begin{aligned}&\sum _{b{\text{-jobs}}} T_j= 0, \quad \sum _{a{\text{-jobs}}} T_j= 0, \qquad \mathop {\sum _{ba{\text{-jobs}}}}\limits _{j\in \{1,\ldots ,z\}} T_j= b^3+b,\\&\quad \mathop {\sum _{ba{\text{-jobs}}}}\limits _{j\in \{z+1,\ldots ,n\}} T_j= 0. \end{aligned}$$
Thus, for the constructed schedule \(\sum T_j= b^3+b\) holds.

Next, we show that, if there exists a schedule for which \(\sum T_j\le b^3+b\) holds, then PARTITION has a solution. Consider a schedule, say \(s\), with \(\sum T_j\le b^3+b\).

The \(b\)-jobs have to be scheduled within the time interval \([0,2b^3+b],\) since otherwise inequality \(\sum T_j> b^3+b\) holds. Thus, after \(L\) only \(a\)-jobs and \(ba\)-jobs can be scheduled.

All \(a\)-jobs have to be scheduled before their due dates, i.e., before the time \(L=10b^3\). To see this, consider a \(ba\)-job, say \(f\), with the maximal completion time \(C_f\) among all \(ba\)-jobs. There are two cases:

Case 1. If there is an \(a\)-job scheduled (partially or completely) within the interval \([C_f,+\infty [,\) one can switch this part of the \(a\)-job with the \(ba\)-job \(f\) scheduled within the interval \([2b^3+b,9b^3].\) The value \(\sum T_j\) does not increase.

Case 2. However, if there are no \(a\)-jobs scheduled within the interval \([C_f,+\infty [,\) take any \(a\)-job processed within the interval \([L,C_f[\) for some time, say for \(\Delta \) time units. Denote this part of the \(a\)-job by \(a_\Delta .\) Now one can take the part of the \(ba\)-job \(f\) processed within the interval \([2b^3+b,9b^3]\) for \(\Delta \) time units. Denote this part of the job by \(f_\Delta .\) Finally, one can replace \(f_\Delta \) by \(a_\Delta ,\) and schedule \(f_\Delta \) in the interval \([C_f,C_f+\Delta ]\). The value of \(\sum T_j\) does not increase.

As a result, we obtain a new schedule, say \(s^{\prime }\), where all \(a\)-jobs are processed before \(L\) and the completion time of the \(ba\)-job \(f\) is \(C_f+X,\) where \(X\) is the total amount of the processing of \(a\)-jobs, scheduled after \(L\) in \(s\). Since the completion times are known for all jobs, the schedule \(s^{\prime }\) can be constructed without applying the described transformation, but using a network flow model (Horn 1974) with a vertex for each job and for each completion time.

Thus, after the time \(L=10b^3\), only \(ba\)-jobs can be scheduled. Denote this set of jobs by \(A,\) i.e., \(A=\{ i \mid i \text{ is} \text{ a} ba{\text{-job} \text{ and} } C_i\ge L\}\). Denote by \(l_i\) the total length of a \(ba\)-job \(i,\) scheduled after \(L\).

Moreover, since the sum of all processing times is \(10b^3k+b^3,\) we have \(\sum _{i\in A} l_i\ge b^3\) and therefore, all \(b\)-jobs have to be scheduled not in the interval \([0, 2b^3+b]\) but in the interval \([0, b^3+b].\)

Thus, within the interval \([b^3+b,10b^3]\), only \(ba\)-jobs and \(a\)-jobs can be scheduled. Since the total length of the \(a\)-jobs is \(2b,\) it follows that each \(ba\)-job has to be processed in the interval \([b^3+b,10b^3]\) for at least \(9b^3-3b\) time units and thus, inequality \(l_i\le p_i-9b^3+3b\) holds, and since \(p_i=9b^3+a_ib^2-a_i,\) we obtain the inequality \(l_i\le a_ib^2+3b-a_i,\) i.e., \(l_i\le a_ib^2+3b\) holds.

Now, by assumption, we have \(b^3+b\ge \sum _{i\in A} T_i\). Since \(\sum _{i\in A} T_i\ge \sum _{i\in A} a_i + \sum _{i\in A} l_i\) and \(\sum _{i\in A} l_i\ge b^3,\) we obtain
$$\begin{aligned} b^3+b\ge \sum _{i\in A} T_i\ge \sum _{i\in A} a_i + \sum _{i\in A} l_i\ge \sum _{i\in A} a_i+b^3 \end{aligned}$$
and therefore, \(\sum _{i\in A} a_i \le b\) holds.
Moreover, since inequalities \(\sum _{i\in A} l_i \ge b^3\) and \(l_i\le a_i b^2 +3b\) hold, we get
$$\begin{aligned} b^3\le \sum _{i\in A} l_i \le \sum _{i\in A} (a_ib^2+3b). \end{aligned}$$
Now, we have \(\sum _{i\in A} (a_ib^2+3b) = (\sum _{i\in A} a_i)b^2+|A|3b.\) Since \(|A|\le k,\) then
$$\begin{aligned} b^3 \le \left(\sum _{i\in A} a_i \right)b^2+3kb. \end{aligned}$$
Thus, one can see that, if \(3k<b/2,\) then inequality \(\sum _{i\in A} a_i \ge b\) holds.

Hence, we obtain \(\sum _{i=1}^z a_i = b,\) i.e., the set of \(ba\)-jobs completed after time point \(L\) defines the solution for PARTITION.

Remarks

In Kravchenko and Werner (2012), the polynomial transformation from PARTITION to the problem \(P\mid r_j, p_j=p, \text{ pmtn}\mid \sum T_j\) substantially used the decision version of the problem \(P\mid \text{ pmtn}\mid \sum T_j.\) In fact, the decision version of the problem \(P\mid \text{ pmtn}\mid \sum T_j\) was polynomially reduced to the decision version of the problem \(P\mid r_j, p_j=p, \text{ pmtn}\mid \sum T_j.\) In the corrected proof, we changed the decision version of the problem \(P\mid \text{ pmtn}\mid \sum T_j.\) However, it is easy to see that the new decision version of the problem \(P\mid \text{ pmtn}\mid \sum T_j\) can be polynomially transformed to the problem \(P\mid r_j, p_j=p, \text{ pmtn}\mid \sum T_j\) using the same scheme given in Kravchenko and Werner (2012).

Thus, both problems \(P\mid \text{ pmtn}\mid \sum T_j\) and \(P\mid r_j, p_j=p, \text{ pmtn}\mid \sum T_j\) are NP-hard.

References

  1. Horn, W. A. (1974). Some simple scheduling algorithms. Naval Research Logistics Quarterly, 21, 177–185.CrossRefGoogle Scholar
  2. Karp, R. M. (1972). Reducibility among combinatorial problems. In R. E. Miller & J. W. Thatcher (Eds.), Complexity of computer computations (pp. 85–103). New York: Plenum Press.CrossRefGoogle Scholar
  3. Kravchenko, S. A., & Werner, F. (2012). Minimizing total tardiness on parallel machines with preemptions. Journal of Scheduling, 15, 193–200.CrossRefGoogle Scholar
  4. Prot, D., Bellenguez-Morineau, O., & Lahlou, C. (2012). A note on the paper “Minimizing total tardiness on parallel machines with preemptions” by Kravchenko and Werner (2012). Journal of Scheduling doi: 10.1007/s10951-012-0283-z.

Copyright information

© Springer Science+Business Media New York 2013

Authors and Affiliations

  1. 1.United Institute of Informatics ProblemsMinskBelarus
  2. 2.Fakultät für MathematikOtto-von-Guericke-UniversitätMagdeburgGermany

Personalised recommendations