Skip to main content
Log in

Improved approximation algorithms for parallel machine scheduling with release dates and job rejection

  • Research paper
  • Published:
4OR Aims and scope Submit manuscript

Abstract

In this paper we study a parallel machine scheduling model with different job release dates, where each job is either accepted and processed by a machine at or after its release date, or it is rejected and a certain penalty cost is paid. The objective is to minimize the makespan of the accepted job plus the total penalty of all rejected jobs. The scheduling problem is NP-hard in the strong sense. Zhang and Lu (4OR A Q J Oper Res 14:165–172, 2016) have proposed a 2-approximation for the problem, and a fully polynomial time approximation scheme (FPTAS) for the special case when the number of machines m is fixed. In this paper we present an improved 2-approximation and a polynomial time approximation scheme for the problem. We also propose an improved FPTAS for the case when m is fixed.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Bartal Y, Leonardi S, Marchetti-Spaccamela A, Sgall J, Stougie L (2000) Multiprocessor scheduling with rejection. SIAM J Discrete Math 13:64–78

    Article  Google Scholar 

  • Chen B, Vestjens APA (1997) Scheduling on identical machines: how good is LPT in an on-line setting? Oper Res Lett 21:165–169

    Article  Google Scholar 

  • Fishkin AV, Jansen K, Mastrolilli M (2008) Grouping techniques for scheduling problems: simpler and faster. Algorithmica 51:183–199

    Article  Google Scholar 

  • Gusfield D (1984) Bounds for naive multiple machine scheduling with release times and deadlines. J Algorithms 5:1–6

    Article  Google Scholar 

  • Hall LA, Shmoys DB (1989) Approximation schemes for constrained scheduling problems. In: Proceedings of the 30th annual IEEE symposium on foundations of computer science, pp 134–139

  • He C, Leung JY-T, Lee K, Pinedo ML (2016) Improved algorithms for single machine scheduling with release dates and rejections. 4OR Q J Oper Res 14:41–55

    Article  Google Scholar 

  • Lenstra HW Jr (1983) Integer programming with a fixed number of variables. Math Oper Res 8:538–548

    Article  Google Scholar 

  • Li C-L, Wang XL (2010) Scheduling parallel machines with inclusive processing set restrictions and job release times. Eur J Oper Res 200:702–710

    Article  Google Scholar 

  • Li WD, Li JP, Zhang XJ, Chen ZB (2015) Penalty cost constrained identical parallel machine scheduling problem. Theor Comput Sci 607:181–192

    Article  Google Scholar 

  • Mastrolilli M (2003) Efficient approximation schemes for scheduling problems with release dates and delivery times. J Sched 6:521–531

    Article  Google Scholar 

  • Ou JW, Zhong XL (2016) Order acceptance and scheduling with consideration of service level. Ann Oper Res. doi:10.1007/s10479-016-2277-2

    Google Scholar 

  • Ou JW, Zhong XL, Wang GQ (2015) An improved heuristic for parallel machine scheduling with rejection. Eur J Oper Res 241:653–661

    Article  Google Scholar 

  • Ou JW, Zhong XL, Li C-L (2016) Faster algorithms for single machine scheduling with release dates and rejection. Inf Process Lett 116:503–507

    Article  Google Scholar 

  • Shabtay D, Gaspar N, Kaspi M (2013) A survey on offline scheduling with rejection. J Sched 16:3–28

    Article  Google Scholar 

  • Shmoys D, Tardos E (1993) An approximation algorithm for the generalized assignment problem. Math Program 62:461–474

    Article  Google Scholar 

  • Slotnick SA (2011) Order acceptance and scheduling: a taxonomy and review. Eur J Oper Res 212:1–11

    Article  Google Scholar 

  • Zhang LQ, Lu LF (2016) Parallel-machine scheduling with release dates and rejection. 4OR Q J Oper Res 14:165–172

    Article  Google Scholar 

  • Zhang LQ, Lu LF, Yuan JJ (2009) Single machine scheduling with release dates and rejection. Eur J Oper Res 198:975–978

    Article  Google Scholar 

  • Zhong XL, Pan ZM, Jiang DK (2016) Scheduling with release times and rejection on two parallel machines. J Comb Optim. doi:10.1007/s10878-016-0016-x

    Google Scholar 

Download references

Acknowledgements

The authors thank the AE and the anonymous referees for their helpful comments and suggestions. This research was supported in part by the National Natural Science Foundation of China (71101064, 71501051), the Humanities and Social Sciences Research Foundation of Ministry of Education of China (13YJC630239), and the Foundation for Distinguished Young Teachers in Higher Education of Guangdong Province (YQ201403). The second author is also supported by the Fundamental Research Funds for the Central Universities, and Jinan University Business School Research Grant 56910039.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jinwen Ou.

Appendix

Appendix

Proof of Theorem 1

Let \(Z_H\) denote the objective function value of \(\sigma '\). Let \(C_{max}(\sigma ')\) denote the makespan of the accepted jobs in \(\sigma '\), and \(C_j(\sigma ')\) denote the completion time of the accepted job \(J_j\) in \(\sigma '\). Assume that \(J_{q_\phi }\) is the job completed last in \(\sigma '\), i.e., \(C_{max}(\sigma ')=C_{q_\phi }(\sigma ')\). Remember that by the definition of \(Y_\eta \), for any job \(J_{q_j}\in Y_\eta \), we have

$$\begin{aligned} r_{qj}+p_{qj}\le r_{\eta } +p_{\eta }. \end{aligned}$$

According to procedure MLPT, if \(\phi \le m\), we have

$$\begin{aligned} C_{max}(\sigma ')&\le r_{\eta } + p_{\eta }. \end{aligned}$$

If \(\phi >m\), then on one hand, each job \(J_{q_i} (i=1,2,\ldots ,m)\) among the m longest jobs in \(Y_\eta \) starts to be processed on one machine at its release date, and we thus have \(C_{q_i}=r_{q_i}+p_{q_i}\le r_\eta + p_\eta \); on the other hand, no machine idle time exists during the processing for jobs \(J_{q_{(m+1)}},J_{q_{(m+1)}},\ldots ,J_{q_\phi }\) at and after the point of time \(r_\eta +p_\eta \). Therefore, if \(\phi >m\), we must have

$$\begin{aligned} C_{max}(\sigma ')&\le r_{\eta } + p_{\eta } + \frac{1}{m}\left( \sum \limits _{j=1}^{\phi }p_{qj}-\sum \limits _{j=1}^{m}p_{qj}-p_{q\phi }\right) +p_{q\phi }\\&= r_{\eta } + p_{\eta }+\frac{1}{m}\sum \limits _{j=1}^{\phi }p_{qj}-\frac{1}{m}\left( \sum \limits _{j=1}^{m}p_{qj}-(m-1)p_{q\phi }\right) . \end{aligned}$$

Note that \(J_{q_1},J_{q_2},\ldots ,J_{q_t}\) are in an order of non-increasing of processing times. We have \(p_{q_i}\ge p_{q_\phi }\) for any \(i=1,2,\ldots ,m\) if \(\phi >m\). This indicates that \(\sum \limits _{j=1}^{m}p_{q_j}-(m-1)p_{q_\eta }=p_{q_1}+\sum \limits _{j=2}^{m}(p_{q_j}-p_{q_\eta })>0\). In addition, by the definition of \(z_\eta \), we have

$$\begin{aligned} \frac{1}{m}\sum \limits _{j=1}^{\phi }p_{q_j}\le \frac{1}{m}\sum \limits _{j=1}^{t}p_{q_j}=\frac{1}{m}\sum \limits _{J_j\in Y_\eta }p_j=z_\eta . \end{aligned}$$

As a result, we have

$$\begin{aligned} C_{max}(\sigma ')&\le r_{\eta } + p_{\eta }+\frac{1}{m}\sum \limits _{j=1}^{\phi }p_{q_j}-\frac{1}{m}\left( \sum \limits _{j=1}^{m}p_{q_j}-(m-1)p_{q_\phi }\right) \le r_{\eta } + p_{\eta } + z_{\eta }. \end{aligned}$$

We then further have

$$\begin{aligned} Z_{H}=C_{max}(\sigma ')+ W'_{\eta }\le r_{\eta } + p_{\eta } + z_{\eta }+ W'_{\eta }=\bar{Z}_{\eta }. \end{aligned}$$
(1)

We now try to show that

$$\begin{aligned} Z_{H}\le 2 Z^{*}. \end{aligned}$$
(2)

To do so, let \(\alpha =\arg \max \{r_j+p_j\mid J_j \in A^*\}\). Then, \(J_\alpha \) is the job with maximum release time plus processing time of the jobs in \(A^*\). Notice that \(\bar{Z}_\eta \le \bar{Z}_j\) for any \(j=1,2,\ldots ,n\), and by (1), we then have

$$\begin{aligned} Z_{H}\le \bar{Z}_{\eta } \le \bar{Z}_{\alpha }. \end{aligned}$$
(3)

To prove (2), we only need to prove that

$$\begin{aligned} {\bar{Z}}_{\alpha }=r_{\alpha } + p_{\alpha } + z_{\alpha }+ W'_{\alpha }\le 2 Z^{*}. \end{aligned}$$

It is clear that

$$\begin{aligned} r_{\alpha }+p_{\alpha }\le C_{max}^*. \end{aligned}$$
(4)

We now show that

$$\begin{aligned} z_{\alpha } + W'_{\alpha }\le Z^*. \end{aligned}$$
(5)

To prove (5), we construct an auxiliary problem AUX, which is same as our original problem except that (i) there is a single machine instead of m identical parallel machines; (ii) there is also a set of n jobs \({\breve{J}}=\left\{ \breve{J}_1,\breve{J}_2,\ldots ,\breve{J}_n\right\} \), but the release date \(\breve{r}_j\), the rejection penalty \(\breve{w}_j\) and the processing time \(\breve{p}_j\) of job \(\breve{J}_j\) are defined as follows:

$$\begin{aligned} \breve{r}_j= & {} 0 \quad \text {for}~ j=1,2,\ldots ,n; \\ \breve{w}_j= & {} w_j \quad \text {for}~ j=1,2,\ldots ,n; \\ \breve{p}_j= & {} \frac{p_j}{m} \quad \text {for}~ j=1,2,\ldots ,\alpha ; \\ \breve{p}_j= & {} +\infty \quad \text {for}~ j=\alpha +1,\alpha +2,\ldots ,n. \end{aligned}$$

Let \(\breve{\sigma }^*\) denote the optimal solution to AUX, and \(\breve{Z}^*\) denote the objective function value of \(\breve{\sigma }^*\). It is clear that

$$\begin{aligned} \breve{Z}^{*}\le Z^{*} \end{aligned}$$

since AUX is a relaxation of the original problem. We now determine the value of \(\breve{Z}^*\). Define

$$\begin{aligned} \breve{Y}_{\alpha }= & {} \left\{ \breve{J}_j\mid j=1,2,\ldots ,\alpha ; \breve{p}_j< \breve{w}_j\right\} \\= & {} \left\{ \breve{J}_j\mid j=1,2,\ldots ,\alpha ; \frac{p_j}{m} < w_j\right\} . \end{aligned}$$

Clearly, the indexes of jobs in \(\breve{Y}_\alpha \) are the same as the one in job set \(Y_\alpha \). As a result, we have \(\sum _{\breve{J}_j\in \breve{Y}_\alpha }\breve{p}_j=\sum _{J_j\in Y_\alpha }\frac{p_j}{m}=z_\alpha \) and \(\sum _{j=1}^n \breve{w}_j - \sum _{\breve{J}_j\in \breve{Y}_\alpha }\breve{w}_j=\sum _{j=1}^n w_j - \sum _{J_j\in Y_\alpha }w_j=W'_\alpha \). It is easy to see that it is optimal to reject any job \(\breve{J}_j\) if \(\breve{p}_j \ge \breve{w}_j\), and that all of the remaining jobs are processed on the single machine consecutively without any idle time in \(\breve{\sigma }^*\). As a result,

$$\begin{aligned} \breve{Z}^*=\sum _{\breve{J}_j\in \breve{Y}_\alpha }\breve{p}_j + \sum _{j=1}^n \breve{w}_j - \sum _{\breve{J}_j\in \breve{Y}_\alpha }\breve{w}_j=z_\alpha +W'_\alpha . \end{aligned}$$

This indicates \(Z^*\ge \breve{Z}^* =z_\alpha +W'_\alpha \), i.e., inequality (5) holds. This completes the proof. \(\square \)

Proof of Lemma 1

To obtain inequality \(Z(\pi _2^*)\le Z(\pi _1^*)+4{\hat{\epsilon }}\), it suffices to show that there exists a feasible solution \(\pi '_2\) to \(I_2^{\sharp }\) such that \(Z(\pi '_2)\le Z(\pi _1^*)+4{\hat{\epsilon }}\), where \(Z(\pi '_2)\) is the solution value of \(\pi '_2\). We assume that the accepted jobs are processed on each machine in non-decreasing order of release dates in \(\pi _1^*\). Let \(A(\pi '_2)\) denote the set of accepted jobs in \(\pi '_2\), and \(R(\pi '_2)\) denote the set of rejected jobs in \(\pi '_2\). Let \(\Delta _{i,\mu }\) denote the total processing time of the type-\(\mu \) small jobs that are accepted and processed on machine \(M_i\) in \(\pi _1^*\) (\(\mu =1,2,\ldots ,h\)). Let \(\Delta _\mu =\sum _{i=1}^m \Delta _{i,\mu }\) be the total processing time of the type-\(\mu \) small jobs accepted in \(\pi _1^*\). Let \(A(\pi _1^*)\) denote the set of accepted jobs in \(\pi _1^*\), and \(R(\pi _1^*)\) denote the set of rejected jobs in \(\pi _1^*\).

Let \(\gamma _\mu =|{\hat{S}}_\mu |\) be the number of jobs in \({\hat{S}}_\mu \) for \(\mu =1,2,\ldots ,h\). We let \(\hat{J}_1,\hat{J}_2,\ldots ,\hat{J}_{\gamma _\mu }\) denote the \(\gamma _\mu \) jobs in \({\hat{S}}_\mu \). Let \(\hat{p}_j\) denote the processing time of \(\hat{J}_j\), and \(\hat{w}_j\) denote the rejection penalty of \(\hat{J}_j\). Note that after procedure \(P^2\), all jobs in \({\hat{S}}_\mu \) are in an order of non-increasing values of \(\hat{w}_j/\hat{p}_j\) such that

$$\begin{aligned} \frac{\hat{w}_1}{\hat{p}_1} \ge \frac{\hat{w}_2}{\hat{p}_2} \ge \cdots \ge \frac{\hat{w}_{\gamma _\mu }}{\hat{p}_{\gamma _\mu }}. \end{aligned}$$

For each \(\mu =1,2,\ldots ,h\), we now determine which jobs in \({\hat{S}}_\mu \) are accepted or rejected and how to assign the accepted jobs to the m machines so as to construct \(\pi '_2\). Based on sequence \(\hat{J}_1,\hat{J}_2,\ldots ,\hat{J}_{\gamma _\mu }\), we first find out some integer r such that

$$\begin{aligned} \sum \limits _{j=1}^{r-1}{\hat{p}}_j < {\Delta }_{\mu } \le \sum \limits _{j=1}^r {\hat{p}}_{j}. \end{aligned}$$
(6)

Let \({\hat{S}}'_\mu =\{ \hat{J}_1,\hat{J}_2,\ldots ,\hat{J}_r\}\). In solution \(\pi '_2\) we accept all jobs in \({\hat{S}}'_\mu \) and reject all jobs in \({\hat{S}}_\mu \setminus {\hat{S}}'_\mu \). By the order rule of sequence \(\hat{J}_1,\hat{J}_2,\ldots ,\hat{J}_{\gamma _\mu }\), we have

$$\begin{aligned} \sum \limits _{J_j\in A(\pi _1^*)\cap S_\mu } w_j \le \sum \limits _{\hat{J}_j\in {\hat{S}}'_\mu } \hat{w}_j, \end{aligned}$$

or equivalently,

$$\begin{aligned} \sum \limits _{J_j\in R(\pi _1^*)\cap S_\mu } w_j \ge \sum \limits _{\hat{J}_j\in S_\mu \setminus {\hat{S}}'_\mu } \hat{w}_j. \end{aligned}$$

We further have

$$\begin{aligned} \sum \limits _{\mu =1}^h\sum \limits _{J_j\in R(\pi _1^*)\cap S_\mu } w_j \ge \sum \limits _{\mu =1}^h\sum \limits _{\hat{J}_j\in {\hat{S}}_\mu \setminus {\hat{S}}'_\mu } \hat{w}_j. \end{aligned}$$

Remember that \(S= \cup _{\mu =1}^h S_\mu \) and \({\hat{S}}=\cup _{\mu =1}^h {\hat{S}}_\mu \). Let \({\hat{S}}'=\cup _{\mu =1}^h {\hat{S}}'_\mu \) be all of the composed jobs accepted in solution \(\pi '_2\). We thus have

$$\begin{aligned} \sum \limits _{J_j\in R(\pi _1^*)\cap S } w_j \ge \sum \limits _{\mu =1}^h\sum \limits _{J_j\in R(\pi _1^*)\cap S_\mu } w_j = \sum \limits _{\mu =1}^h\sum \limits _{\hat{J}_j\in {\hat{S}}_\mu \setminus {\hat{S}}'_\mu } \hat{w}_j = \sum \limits _{\hat{J}_j\in {\hat{S}} \setminus {\hat{S}}'} \hat{w}_j. \end{aligned}$$

Note that in solution \(\pi '_2\) all jobs in \({\hat{S}}'\) are accepted while all jobs in \({\hat{S}} \setminus {\hat{S}}'\) are rejected. This indicates that \(R(\pi '_2)\cap {\hat{S}}= {\hat{S}} \setminus {\hat{S}}'\), we then have

$$\begin{aligned} \sum \limits _{J_j\in R(\pi _1^*)\cap S } w_j \ge \sum \limits _{\hat{J}_j\in {\hat{S}} \setminus {\hat{S}}'} \hat{w}_j = \sum \limits _{\hat{J}_j\in R(\pi '_2)\cap {\hat{S}} } w_j. \end{aligned}$$
(7)

We now consider the assignment of jobs in \({\hat{S}}'_\mu \) to the m machines. We consider machines \(M_1,M_2,\ldots ,M_m\) one by one and in this order. For any current machine \(M_i\), \(1 \le i < m\), we assign the jobs remaining in \({\hat{S}}'_\mu \) to the machine one by one until the total processing time of jobs in \({\hat{S}}'_\mu \) that have been assigned to the machine is greater than \(\Delta _{i,\mu }\), or all jobs in \({\hat{S}}'_\mu \) have been assigned. Once the total processing time of jobs assigned to the current machine \(M_i\) has been greater than \(\Delta _{i,\mu }\), no job in \({\hat{S}}'_\mu \) will be assigned to the machine further, and the next machine \(M_{i+1}\) is considered. If there are still some jobs remaining in \({\hat{S}}'_\mu \) after the scheduling of jobs on machine \(M_{m-1}\) has been done, then all of the remaining jobs in \({\hat{S}}'_\mu \) are assigned to the last machine \(M_m\). This completes the scheduling of all jobs in \({\hat{S}}'_\mu \) on the m machines. For each big job \(J_j\in B\), we reject it if it is rejected in \(\pi _1^*\); otherwise we assign it to the machine that processes it in \(\pi _1^*\). For the jobs assigned to the same machine, we sequence them in an order of non-decreasing release times, and let each job start its processing as early as possible. This completes the construction of solution \(\pi '_2\).

Consider such a constructed solution \(\pi '_2\). Each accepted job in \(\pi '_2\) is processed no earlier than its rounded release time. Therefore, \(\pi '_2\) is a feasible solution to \(I^{\sharp }_2\). For those big jobs, it is clear that

$$\begin{aligned} \sum \limits _{J_j\in R(\pi _1^*)\cap B } w_j = \sum \limits _{J_j\in R(\pi '_2)\cap B } w_j. \end{aligned}$$
(8)

Combining (7) and (8), we then have

$$\begin{aligned} \sum \limits _{J_j\in R(\pi _1^*)} w_j&=\sum \limits _{J_j\in R(\pi _1^*)\cap S } w_j+\sum \limits _{J_j\in R(\pi _1^*)\cap B } w_j \nonumber \\&\ge \sum \limits _{\hat{J}_j\in R(\pi '_2)\cap {\hat{S}} } \hat{w}_j+\sum \limits _{J_j\in R(\pi '_2)\cap B } w_j =\sum \limits _{\hat{J}_j\in R(\pi '_2) } \hat{w}_j. \end{aligned}$$
(9)

Let \(C(\pi '_2)\) denote the makespan of the accepted jobs in \(\pi '_2\). Consider the scheduling of jobs in \({\hat{S}}'_\mu \) for \(\mu =1,2,\ldots ,h\). Remember that any composed job has a processing time less than \(2{\hat{\epsilon }}^2\), any job in \({\hat{S}}'_\mu \) is a composed job, and the total processing time of type-\(\mu \) small jobs accepted in \(\pi _1^*\) is equal to \(\Delta _\mu \). By (6), we then have

$$\begin{aligned} \sum _{J_j\ \in {\hat{S}}'_\mu } \hat{p}_j= \sum _{j=1}^r \hat{p}_j \le \Delta _\mu +2{\hat{\epsilon }}^2. \end{aligned}$$

Hence, the completion time of the last job on machine \(M_i (i=1,2,\ldots ,m)\) in \(\pi '_2\) will not exceed the completion time of the last job on machine \(M_i\) in \(\pi _1^*\) by an amount of \(h\cdot (2{\hat{\epsilon }}^2)=2h{\hat{\epsilon }}^2\). This indicates that

$$\begin{aligned} C(\pi '_2)\le C(\pi _1)+2h{\hat{\epsilon }}^2\le C(\pi _1^*)+4{\hat{\epsilon }} \end{aligned}$$
(10)

since \(h\le \frac{2}{\hat{\epsilon }}\). By (9) and (10), we then have

$$\begin{aligned} Z(\pi '_2)&=C(\pi '_2)+\sum \limits _{\hat{J}_j\in R(\pi '_2) } \hat{w}_j \le C(\pi _1^*)+4{\hat{\epsilon }}+\sum \limits _{J_j\in R(\pi _1^*)} w_j \le Z(\pi _1^*)+4{\hat{\epsilon }}. \end{aligned}$$

Clearly, \(Z(\pi _2^*)\le Z(\pi '_2)\), which indicates the desired inequality holds. \(\square \)

Proof of Lemma 2

Let \(C(\pi ^*_3)\) denote the makespan of the accepted jobs in \(\pi ^*_3\), and \(C(\pi _3^o)\) denote the makespan of the accepted jobs in \(\pi _3^o\). Let \(L_i\) denote the set of jobs accepted and assigned to \(M_i\) in \(\pi ^*_3\), \(i=1,2,\ldots ,m\). On one hand, when we replace all the processing times of accepted jobs in \(\pi ^*_3\) by their original processing time or the original processing times of the corresponding small jobs, the completion time of the last job processed on \(M_i\) increases an amount no more than

$$\begin{aligned} \sum \limits _{J_j\in L_i}\left( \hat{\epsilon }^2(1+\hat{\epsilon })^{\rho _j+1}- \hat{\epsilon }^2(1+\hat{\epsilon })^{\rho _j}\right) =\hat{\epsilon }\sum \limits _{J_j\in L_i}\hat{\epsilon }^2(1+\hat{\epsilon })^{\rho _j}\le \hat{\epsilon }\cdot C(\pi ^*_3) \end{aligned}$$

because \(\sum _{J_j\in L_i}\hat{\epsilon }^2(1+\hat{\epsilon })^{\rho _j}\le C(\pi ^*_3)\). On the other hand, when we sequence the accepted jobs in an order of non-decreasing original release times, and let each job start as early as possible, we add \(\hat{\epsilon }\) to the starting time of each accepted job (if necessary) in \(\pi ^*_3\). In other word, the completion time of the last job processed on \(M_i\) increases by no more than \(\hat{\epsilon }\). We thus have

$$\begin{aligned} C(\pi _3^o)\le C(\pi ^*_3)+\hat{\epsilon }C(\pi ^*_3)+\hat{\epsilon } \le (1+2\hat{\epsilon })C(\pi ^*_3). \end{aligned}$$
(11)

When we replace all the rejection penalty of rejected jobs in \(\pi ^*_3\) by their original rejection penalty or the original rejection penalty of the corresponding small jobs (note that we do not change the rejection penalty of each job in the construction of instances \(I_1^{\sharp }\), \(I_2^{\sharp }\) and \(I_3^{\sharp }\)), we have

$$\begin{aligned} \sum _{J_j\in R(\pi _3^o)}w_j=\sum _{J_j\in R(\pi ^*_3)}w_j. \end{aligned}$$
(12)

It is clear that

$$\begin{aligned} Z(\pi _3^*)\le Z(\pi _2^*). \end{aligned}$$
(13)

By (11), (12) and (13), we have

$$\begin{aligned} Z(\pi _3^o)&=C(\pi _3^o)+\sum _{J_j\in R(\pi _3^o)}w_j \le (1+2\hat{\epsilon })C(\pi ^*_3)+\sum _{J_j\in R(\pi ^*_3)}w_j \\&\le (1+2\hat{\epsilon })Z(\pi ^*_3) \le (1+2\hat{\epsilon })Z(\pi _2^*). \end{aligned}$$

This completes the proof. \(\square \)

Proof of Lemma 3

Note that after divided by LB, we have \(p_j\le 2\) for \(j=1,2,\ldots ,n\). As a result, the scaled processing time \({\hat{\epsilon }}^2(1+{\hat{\epsilon }})^{\rho _j}\) is at most 2, which implies that \(0\le \rho _j \le 1+\log _{1+{\hat{\epsilon }}}(\frac{2}{{\hat{\epsilon }}^2})\). Thus, the number of possible values of \(\rho _j\) is no more than \(2+\lfloor \log _{1+{\hat{\epsilon }}}(\frac{2}{{\hat{\epsilon }}^2}) \rfloor \). The number of distinct rounded release dates is no more than \(\frac{2}{\hat{\epsilon }}\). Therefore, the number of different job categories is no more than \(\frac{2}{\hat{\epsilon }}\cdot \left( 2+\lfloor \log _{1+{\hat{\epsilon }}}\left( \frac{2}{{\hat{\epsilon }}^2}\right) \rfloor \right) \). Note that \(0<\hat{\epsilon }<\frac{1}{8}\). As a result, we have \(\log _2 (1+\hat{\epsilon })\ge \hat{\epsilon }\),

$$\begin{aligned} \log _{1+{\hat{\epsilon }}}\left( \frac{2}{{\hat{\epsilon }}^2}\right) =\frac{\log _2 \frac{2}{{\hat{\epsilon }}^2}}{\log _2 \left( 1+{\hat{\epsilon }}\right) } \le \frac{1}{\hat{\epsilon }}\log _2 \frac{2}{{\hat{\epsilon }}^2} \le \frac{1}{\hat{\epsilon }}\log _2\frac{1}{{\hat{\epsilon }}^3} =\frac{3}{\hat{\epsilon }}\log _2 \frac{1}{\hat{\epsilon }}, \end{aligned}$$

and

$$\begin{aligned} \tau\le & {} \frac{2}{\hat{\epsilon }}\cdot \left( 2+\left\lfloor \log _{1+{\hat{\epsilon }}}\left( \frac{2}{{\hat{\epsilon }}^2}\right) \right\rfloor \right) \le \frac{4}{\hat{\epsilon }}+\frac{2}{\hat{\epsilon }}\cdot \log _{1+\hat{\epsilon }}\left( \frac{2}{{\hat{\epsilon }}^2}\right) \\\le & {} \frac{4}{\hat{\epsilon }}+\frac{2}{\hat{\epsilon }}\cdot \frac{3}{\hat{\epsilon }}\log _2 \frac{1}{\hat{\epsilon }} \le \frac{1}{{\hat{\epsilon }}^2}+\frac{6}{{\hat{\epsilon }}^2}\log _2 \frac{1}{\hat{\epsilon }} \le \frac{7}{{\hat{\epsilon }}^2}\log _2 \frac{1}{\hat{\epsilon }}. \end{aligned}$$

This completes the proof. \(\square \)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Zhong, X., Ou, J. Improved approximation algorithms for parallel machine scheduling with release dates and job rejection. 4OR-Q J Oper Res 15, 387–406 (2017). https://doi.org/10.1007/s10288-016-0339-6

Download citation

  • Received:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10288-016-0339-6

Keywords

Mathematics Subject Classification

Navigation