Skip to main content
Log in

Order acceptance and scheduling with consideration of service level

  • Original Paper
  • Published:
Annals of Operations Research Aims and scope Submit manuscript

Abstract

In traditional order acceptance and scheduling (OAS) research, there is no constraint on how many orders are allowed to be rejected in total. We study OAS with consideration of service level in this paper. In our OAS model, there are n orders and m machines available at time zero. To maintain a predefined high service level, the number of orders to be rejected is limited to be no greater than a given value k. The objective is to minimize the completion time of the last accepted order plus the total penalty of all rejected orders. The problem is NP-hard in the strong sense in general. For the special case with a single machine (i.e., when \(m=1\)), we present an exact algorithm with a complexity of \(O(n\log k)\). For the general case, we first propose an \(O(n\log n)\) heuristic with a worst-case bound of \(2-\frac{1}{m}\), followed by a sophisticated heuristic by making use of LP-relaxation and bin-packing techniques. The second heuristic has a worst-case bound of \(1.5+\epsilon \) and a time complexity of \(O(n\log n + nm^2/\epsilon )\), where \(\epsilon >0\) can be any small given constant.

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 Journal on Discrete Mathematics, 13(1), 64–78.

    Article  Google Scholar 

  • Cao, Z. G., Wang, Z., Zhang, Y. Z., & Liu, S. P. (2006). On several scheduling problems with rejection or discretely compressible processing times. Lecture Notes in Computer Science, 3959, 90–98.

    Article  Google Scholar 

  • Caprara, A., Kellerer, H., Pferschy, U., & Pisinger, D. (2000). Approximation algorithms for knapsack problems with cardinality constraints. European Journal of Operational Research, 123(2), 333–345.

    Article  Google Scholar 

  • Cesaret, B., Oguz, C., & Salman, F. S. (2012). A tabu search algorithm for order acceptance and scheduling. Computers and Operations Research, 39(6), 1197–1205.

    Article  Google Scholar 

  • Cheng, Y. S., & Sun, S. J. (2009). Scheduling linear deteriorating jobs with rejection on a single machine. European Journal of Operational Research, 194(1), 18–27.

    Article  Google Scholar 

  • De, P., Ghosh, J. B., & Wells, C. E. (1991). Optimal delivery time quotation and order sequencing. Decision Sciences, 22(2), 379–390.

    Article  Google Scholar 

  • Epstein, L., Noga, J., & Woeginger, G. J. (2002). On-line scheduling of unit time jobs with rejection: Minimizing the total completion time. Operations Research Letters, 30(6), 415–420.

    Article  Google Scholar 

  • Garey, M. R., & Johnson, D. S. (1979). Computers and intractability: A guide to the theory of NP-completeness. New York: Freeman.

    Google Scholar 

  • Guerrero, H. H., & Kern, G. M. (1988). How to more effectively accept and refuse orders. Production and Inventory Management Journal, 29(4), 59–63.

    Google Scholar 

  • Hoogeveen, H., Skutella, M., & Woeginger, G. J. (2003). Preemptive scheduling with rejection. Mathematical Programming, 94(3), 361–374.

    Article  Google Scholar 

  • Kellerer, H., Pferschy, U., & Pisinger, D. (2004). Knapsack problems. Berlin: Springer.

    Book  Google Scholar 

  • Knuth, D. E. (1998). The art of computer programming, volume 3: Sorting and searching (2nd ed.). Reading, MA: Addison-Wesley.

    Google Scholar 

  • Lee, I. S., & Sung, C. S. (2008). Minimizing due date related measures for a single machine scheduling problem with outsourcing allowed. European Journal of Operational Research, 186(3), 931–952.

    Article  Google Scholar 

  • Li, W. D., Li, J. P., Zhang, X. J., & Chen, Z. B. (2014). Parallel-machine scheduling problem under the job rejection constraint. Lecture Notes in Computer Science, 8497, 158–169.

    Article  Google Scholar 

  • Li, W. D., Li, J. P., Zhang, X. J., & Chen, Z. B. (2015). Penalty cost constrained identical parallel machine scheduling problem. Theoretical Computer Science, 607(2), 181–192.

    Article  Google Scholar 

  • Lu, L. F., Cheng, T. C. E., Yuan, J. J., & Zhang, L. Q. (2009). Bounded single-machine parallel-batch scheduling with release dates and rejection. Computers and Operation Research, 36(10), 2748–2751.

    Article  Google Scholar 

  • Megiddo, N., & Tamir, A. (1993). Linear time algorithms for some separable quadratic programming problems. Operations Research Letters, 13(4), 203–211.

    Article  Google Scholar 

  • Nobibon, F. T., & Leus, R. (2011). Exact algorithms for a generalization of the order acceptance and scheduling problem in a single-machine environment. Computers and Operations Research, 38(1), 367–378.

    Article  Google Scholar 

  • Oguz, C., Salman, F. S., & Yalcin, Z. B. (2010). Order acceptance and scheduling decisions in make-to-order systems. International Journal of Production Economics, 125(1), 200–211.

    Article  Google Scholar 

  • Ou, J. W., Zhong, X. L., & Wang, G. Q. (2014). An improved heuristic for parallel machine scheduling with rejection. European Journal of Operational Research, 241(3), 653–661.

    Article  Google Scholar 

  • Pinedo, M. L. (2012). Scheduling: Theory, algorithms, and systems (4th ed.). Springer-Verlag: New York.

    Book  Google Scholar 

  • Rom, W. O., & Slotnick, S. A. (2009). Order acceptance using genetic algorithms. Computers and Operations Research, 36(6), 1758–1767.

    Article  Google Scholar 

  • Shabtay, D., Gaspar, N., & Kaspi, M. (2013). A survey on offline scheduling with rejection. Journal of Scheduling, 16(1), 3–28.

    Article  Google Scholar 

  • Seiden, S. S. (2001). Preemptive multiprocessor scheduling with rejection. Theoretical Computer Science, 262(1), 437–458.

    Article  Google Scholar 

  • Simchi-Levi, D. (1994). New worst-case results for the bin-packing problem. Naval Research Logistics, 41(4), 579–585.

    Article  Google Scholar 

  • Slotnick, S. A., & Morton, T. E. (1996). Selecting jobs for a heavily loaded shop with lateness penalties. Computers and Operations Research, 23(2), 131–140.

    Article  Google Scholar 

  • Slotnick, S. A., & Morton, T. E. (2007). Order acceptance with weighted tardiness. Computers and Operations Research, 34(10), 3029–3042.

    Article  Google Scholar 

  • Slotnick, S. A. (2011). Order acceptance and scheduling: A taxonomy and review. European Journal of Operational Research, 212(1), 1–11.

    Article  Google Scholar 

  • Zhang, L. Q., Lu, L. F., & Yuan, J. J. (2009). Single machine scheduling with release dates and rejection. European Journal of Operational Research, 198(3), 975–978.

    Article  Google Scholar 

  • Zhang, L. Q., Lu, L. F., & Yuan, J. J. (2010). Single-machine scheduling under the job rejection constraint. Theoretical Computer Science, 411(16), 1877–1882.

    Article  Google Scholar 

  • Zhong, X. L., Ou, J. W., & Wang, G. Q. (2014). Order acceptance and scheduling with machine availability constraints. European Journal of Operational Research, 232(3), 435–441.

    Article  Google Scholar 

Download references

Acknowledgments

The authors thank an anonymous referee for his/her excellent suggestions on how to improve the presentation of the paper. This research was supported in part by NSFC 71101064, NSFC 71501051 and Humanities and Social Sciences Research Foundation of Ministry of Education of China 13YJC630239. The second author was also supported in part by Foundation for Distinguished Young Teachers in Higher Education of Guangdong Province YQ201403.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Xueling Zhong.

Appendix

Appendix

Proof of Theorem 2:

Consider relaxation problem \(\Gamma _i\) for any \(i\in \{n-k,n-k+1,\ldots ,n\}\), where \(A'_i\) is the set of accepted jobs in the optimal solution to \(\Gamma _i\), and \(R'_i=J{\setminus } A'_i\). In the following we will show that each triple of \((A'_{i+1},R'_{i+1},\hat{Z}_{i+1})\) can be determined easily based on \((A'_i,R'_i,\hat{Z}_i)\) for any \(i=n-k,n-k+1,\ldots ,n-1\).

We first consider \((A'_{n-k},R'_{n-k},\hat{Z}_{n-k})\) and \((A'_{n-k+1},R'_{n-k+1},\hat{Z}_{n-k+1})\). In the optimal solution to \(\Gamma _{n-k}\), we have \(A'_{n-k}=\{J_1,J_2,\ldots ,J_{n-k}\}\), \(R'_{n-k}=\{J_{n-k+1},J_{n-k+2},\ldots ,J_n\}\), and the value of \(\hat{Z}_{n-k}\) is computed via equation (5) when \(i=n-k\).

In the optimal solution to \(\Gamma _{n-k+1}\), we must have \(R'_{n-k+1}\supseteq \{J_{n-k+2},\ldots ,J_n\}\). As a result, job set \(A'_{n-k+1}\) must contain \(n-k\) or \(n-k+1\) jobs. Denote \(J_\beta \in \{J_1,J_2,\ldots ,J_{n-k+1}\}\) as the job with the largest \(u_j\) value. On one hand, if \(u_\beta \le 0\), then it is unnecessary to reject any job in \(\{J_1,J_2,\ldots ,J_{n-k+1}\}\). As a result, \(R'_{n-k+1}= \{J_{n-k+2},\ldots ,J_n\}\) and \(A'_{n-k+1}=\{J_1,J_2,\ldots ,J_{n-k+1}\}\) if \(u_\beta \le 0\). On the other hand, if \(u_\beta >0\), then it is not hard to check that it is optimal to reject \(J_\beta \) in problem \(\Gamma _{n-k+1}\) (similar to the analysis in the previous section). In other words, \(A'_{n-k+1}= \{J_1,J_2,\ldots ,J_{n-k+1}\}{\setminus } \{J_\beta \}\) if \(u_\beta >0\). Therefore, based on \((A'_{n-k},R'_{n-k})\) to construct \((A'_{n-k+1},R'_{n-k+1})\), we only need to find out job \(J_\beta \), the job in \(A'_{n-k}\cup \{J_{n-k+1}\}\) with the largest \(u_j\) value. Similarly, for any \(i=n-k+1,n-k+2,\ldots ,n-1\), based on \((A'_i,R'_i)\) to construct \((A'_{i+1},R'_{i+1})\), we only need to find out the job in \(A'_i\cup \{J_{i+1}\}\) with the largest \(u_j\) value, say \(J_{\gamma }\). If \(u_{\gamma }>0\), then \(A'_{i+1}=(A'_i\cup \{J_{i+1}\}){\setminus } \{J_{\gamma }\}\) and \(R'_{i+1}=(R'_i{\setminus } \{J_{i+1}\})\cup \{J_{\gamma }\}\). If \(u_{\gamma }\le 0\), then \(A'_{i+1}=A'_i\cup \{J_{i+1}\}\) and \(R'_{i+1}=R'_i{\setminus } \{J_{i+1}\}\).

Now consider how to compute \(\hat{Z}_{i+1}\) based on \(\hat{Z}_{i}\). According to the construction of \(A'_{i+1}\) and \(R'_{i+1}\), on one hand, if \(u_{\gamma }\le 0\), then \(A'_{i+1}=A'_i\cup \{J_{i+1}\}\), \(R'_{i+1}=R'_i{\setminus } \{J_{i+1}\}\), and

$$\begin{aligned} \hat{Z}_{i+1}&=\frac{m-1}{m}\cdot p_{i+1}+\frac{1}{m}\sum _{J_j\in A'_{i+1}}p_j + \sum _{J_j\in R'_{i+1}}w_j\\&=\frac{m-1}{m}\cdot p_{i+1}+\frac{1}{m}\left( p_{i+1}+\sum _{J_j\in A'_i}p_j\right) -w_{i+1}+ \sum _{J_j\in R'_i}w_j \\&= \frac{m-1}{m}\cdot p_{i+1}+\left( \hat{Z}_i-\frac{m-1}{m}\cdot p_{i}\right) + \left( \frac{1}{m}\cdot p_{i+1}-w_{i+1}\right) \\&= \hat{Z}_i + \frac{m-1}{m}\cdot \left( p_{i+1}-p_i\right) +u_{i+1}. \end{aligned}$$

On the other hand, if \(u_{\gamma }>0\), then \(A'_{i+1}=(A'_i\cup \{J_{i+1}\}){\setminus } \{J_{\gamma }\}\), \(R'_{i+1}=(R'_i{\setminus } \{J_{i+1}\})\cup \{J_{\gamma }\}\), and

$$\begin{aligned} \hat{Z}_{i+1}&=\frac{m-1}{m}\cdot p_{i+1}+\frac{1}{m}\sum _{J_j\in A'_{i+1}}p_j + \sum _{J_j\in R'_{i+1}}w_j\\&=\frac{m-1}{m}\cdot p_{i+1}+\frac{1}{m}\left( p_{i+1}-p_{\gamma }+\sum _{J_j\in A'_i}p_j\right) -w_{i+1}+ w_{\gamma } +\sum _{J_j\in R'_i}w_j \\&= \frac{m-1}{m}\cdot p_{i+1}+ \left( \frac{1}{m}\cdot p_{i+1}-w_{i+1}\right) -\left( \frac{1}{m}\cdot p_\gamma - w_\gamma \right) +\left( \frac{1}{m}\cdot \sum _{J_j\in A'_i}p_j+\sum _{J_j\in R'_i}w_j\right) \\&= \frac{m-1}{m}\cdot p_{i+1}+ u_{i+1}-u_\gamma +\left( \hat{Z}_i-\frac{m-1}{m}\cdot p_i\right) \\&= \hat{Z}_i + \frac{m-1}{m}\cdot \left( p_{i+1}-p_i\right) + u_{i+1}-u_{\gamma }. \end{aligned}$$

Hence, for any \(i=n-k,n-k+1,\ldots ,n-1\), provided \((A'_i,R'_i,\hat{Z}_i)\), each triple of \((A'_{i+1},R'_{i+1},\hat{Z}_{i+1})\) can be determined in constant time if jobs \(J_\gamma \) is given.

Now consider \(\hat{Z}_{n-k},\hat{Z}_{n-k+1},\ldots ,\hat{Z}_n\). By the definition of \(\xi \), we have \(\hat{Z}_\xi \le \hat{Z}_i\) for any \(i=n-k,n-k+1,\ldots ,n\). Thus, by (4), we further have

$$\begin{aligned} \hat{Z}_\xi \le \hat{Z}_t \le (2-\frac{1}{m})Z(\sigma ^*). \end{aligned}$$
(17)

Finally, consider solution \(\sigma '_\xi \), the final output of our heuristic \(\mathbf{H}_1\). In \(\sigma '_\xi \), we accept all the jobs in \(A'_\xi \) while reject all the jobs in \(R'_\xi \) in \(\sigma '_\xi \). The jobs in \(A'_\xi \) are assigned to the machines arbitrarily from time zero whenever a machine is freed. Hence, the solution value of \(\sigma '_\xi \) is bounded by

$$\begin{aligned} p_{\xi } + \frac{1}{m} (\sum _{J_j\in A'_\xi }p_j - p_\xi ) + \sum _{J_j\in R'_t}w_j= \hat{Z}_\xi . \end{aligned}$$
(18)

By (17) and (18), \(\sigma '_\xi \) has a solution value bounded by \((2-\frac{1}{m})Z(\sigma ^*)\). This indicates that heuristic \(\mathbf{H}_1\) has a worst-case bound of \(2-\frac{1}{m}\). The result holds. \(\square \)

Proof of Theorem 3:

In Step 1 of \(\mathbf{H}_1\), it only takes \(O(n \log n)\) time such a job sequence of J. The complexity of Step 2 of \(\mathbf{H}_1\) is only O(n). We focus on Step 3 of \(\mathbf{H}_1\). Based on \((A'_i,R'_i,\hat{Z}_i)\), we first determine \((A'_{i+1}, R'_{i+1},\hat{Z}_{i+1})\) as in Step 3.1. In Step 3.2, for any given \(i=n-k,n-k+1,\ldots ,n-1\), in order to speed up the searching time for \(J_\gamma \), the job with the largest \(u_j\) value in the current job set of \(A'_{i+1}\), we use the following method. We first build an AVL tree to store the \(u_j\) values of the jobs in \(A'_{n-k}\). To construct \(A'_{n-k+1}\) and its AVL tree, we insert element \(u_{n-k+1}\) into the AVL tree of \(A'_{n-k}\) so as to form the AVL tree of \(A'_{n-k+1}\), and then find out the element in the current AVL tree of \(A'_{n-k+1}\) with the largest \(u_j\) value. Similarly, to construct \(A'_{i+1}\) and its AVL tree for any \(i\in \{n-k+1,\ldots ,n-1\}\), we insert element \(u_{i+1}\) into the AVL tree of \(A'_{i}\) so as to form the AVL tree of \(A'_{i+1}\), followed by finding out \(u_\gamma \), the element in the current AVL tree of \(A'_{i+1}\) with the largest \(u_j\) value. If \(u_\gamma >0\), then \(A'_{i+1}\), \(R'_{i+1}\) and \(\hat{Z}_{i+1}\) are further updated as in Step 3.2, and element \(u_\gamma \) is deleted from the current AVL tree of \(A'_{i+1}\). Note that according to the property of AVL trees (see, for example, Knuth 1998, Sec. 6.2.3), for any given AVL tree with y elements, the operation of deleting an element from the AVL tree, adding a new element into the AVL tree, or finding out the maximum among all of the elements of the AVL tree can be implemented in \(O(\log y)\) time. Hence, both Step 3.1 and Step 3.2 can be implemented in \(O(\log n)\) time, and thus Step 3 can be implemented in \(O(k\log n)\) time.

Finally, consider Step 4 of \(\mathbf{H}_1\). The value of \(\xi \) is determined in O(k) time. Provided \(\xi \), solution \(\sigma '_\xi \) can be determined in O(n) time. To reduce space complexity, during the process of determining the \(k+1\) triples of \((A'_{n-k},R'_{n-k},\hat{Z}_{n-k}), \ldots , (A'_n,R'_n,\hat{Z}_n)\), each time we only keep the current triple and the triple with the smallest \(\hat{Z}_j\) value so far, while all of the other data are deleted. Then, the space complexity of \(\mathbf{H}_1\) is only O(n). In summary, \(\mathbf{H}_1\) can be implemented in \(O(n\log n)\) time. \(\square \)

Proof of Lemma 1:

If \(C(\sigma ^*)\le \frac{1}{2}\cdot Z(\sigma ^*)\), then by (4), we have

$$\begin{aligned} \hat{Z}_t= & {} \frac{m-1}{m}\cdot p_t+\frac{1}{m}\sum _{J_j\in A'_t}p_j + \sum _{J_j\in R'_t}w_j\le \frac{m-1}{m}\cdot C(\sigma ^*)\\&+\,Z(\sigma ^*)\le \frac{1}{2}\cdot Z(\sigma ^*)+Z(\sigma ^*) =\frac{3}{2}\cdot Z(\sigma ^*). \end{aligned}$$

By Theorem 2, we further have

$$\begin{aligned} \hat{Z}_\xi \le \hat{Z}_t \le \frac{3}{2}\cdot Z(\sigma ^*). \end{aligned}$$

Note that \(Z(\sigma ')=Z(\sigma '_\xi )\le \hat{Z}_\xi \). This indicates that \(Z(\sigma ')\le \frac{3}{2} \cdot Z(\sigma ^*)\) if \(C(\sigma ^*)\le \frac{1}{2}\cdot Z(\sigma ^*)\). \(\square \)

Proof of Lemma 2:

If the upper bound on the variables are treated implicitly, then there will be two variables in a basic solution to LP-1, whereas the other variables will take an integer value (more discussion on this property refers to Caprara et al. 2000). \(\square \)

Proof of Lemma 3:

By the construction of \(L_1(\lambda _1^*)\) and \(L_2(\lambda _2^*)\), we have

$$\begin{aligned} \sum \limits _{J_j\in L_1(\lambda _1^*)\cup L_2(\lambda _2^*)}w_j + \sum \limits _{J_j\in L_0} w_j \ge \sum \limits _{J_j\in A(\sigma ^*)\cap (L_1\cup L_2)}w_j+ \sum \limits _{J_j\in L_0} w_j. \end{aligned}$$

As a result, to prove \(W(A')=\sum \limits _{J_j\in A'}w_j\ge \sum \limits _{J_j\in A(\sigma ^*)}w_j=W(A(\sigma ^*))\), we only need to prove

$$\begin{aligned} \sum \limits _{J_j\in L'_3}w_j \ge \sum \limits _{J_j\in A(\sigma ^*)\cap L_3}w_j. \end{aligned}$$

By the construction of \(L'_3\), we have

$$\begin{aligned} \sum \limits _{J_j\in L'_3}w_j \ge \sum _{J_j\in L'_3}w_jx_j^* =\sum _{J_j\in L_3}w_jx_j^* =\hat{Y}^*_1. \end{aligned}$$
(19)

By (15), (16) and (19) , we have

$$\begin{aligned} \sum \limits _{J_j\in L_3\cap A(\sigma ^*)}w_j\le Y^*_1 \le \hat{Y}^*_1 \le \sum \limits _{J_j\in L'_3}w_j. \end{aligned}$$

This completes the proof. \(\square \)

Proof of Lemma 4:

Consider \(\mathbf{X^*}=\{x_j^*\mid J_j\in L_3\}\), the optimal basic solution to LP-1. Let \(N_1=\{J_j\in L_3 \mid x^*_j=1 \}\). By constraints (12) and (14), we have

$$\begin{aligned} \sum \limits _{J_j\in N_1}p_j\le \Omega . \end{aligned}$$

If no variable in \(\mathbf{X^*}\) is fractional, then \(\sum \limits _{J_j\in L'_3}p_j= \sum \limits _{J_j\in N_1}p_j\le \Omega \le \Omega +p_h\). If only one variable \(x^*_\delta \) in \(\mathbf{X^*}\) is fractional, then \(\sum \limits _{J_j\in L'_3}p_j= \sum \limits _{J_j\in N_1}p_j+p_\delta \le \Omega +p_h\) since \(p_h\ge p_\delta \). If two variables \(x^*_a\) and \(x^*_b\) in \(\mathbf{X^*}\) are both fractional, it is not difficult to check that \(x^*_a+x^*_b=1\), \(\sum \limits _{J_j\in N_1}w_j+w_ax_a^*+w_bx_b^*= \hat{Y}^*\) and \(p_ax_a^*+p_bx_b^*=\Omega -\sum \limits _{J_j\in N_1}p_j\). Without loss of generality, we suppose that \(p_b\le p_a\), then we must have \(w_b \le w_a\) (if not, we can construct a better optimal solution by setting \(x^*_b=1\) and \(x^*_a=0\)). Hence, we have

$$\begin{aligned} p_b=p_b(x^*_a+x^*_b)=p_bx^*_a+p_bx^*_b \le p_ax_a^*+p_bx_b^*=\Omega -\sum \limits _{J_j\in N_1}p_j. \end{aligned}$$

Note that \(p_h \ge p_a\). We thus have

$$\begin{aligned} \sum \limits _{J_j\in L'_3}p_j=\sum \limits _{J_j\in N_1}p_j+p_a+p_b \le \sum \limits _{J_j\in N_1}p_j+p_a+(\Omega -\sum \limits _{J_j\in N_1}p_j)=\Omega +p_a\le \Omega +p_h. \end{aligned}$$

This completes the proof. \(\square \)

Proof of Lemma 5:

Let \(\lambda _u=\lambda _u^*\) for \(u=1,2\). The result is obvious if \(\lambda _1=\lambda _2=0\). We thus assume \(\lambda _1+\lambda _2>0\) in the following. By contradiction. Suppose not, then there exists some job \(J_\tau \in A'\) such that \(J_\tau \) is the first job that fails to be assigned to any of the m bins (machines) by FFD. Note that \(\lambda _1+\lambda _2\le m\), and \(p_j\le \hat{C}\) for any \(J_j\in A'\). This indicates \(J_\tau \in L'_3\), i.e., \(p_\tau \le 0.5 \hat{C}\).

We first show \(\lambda _1>0\). By contradiction. Suppose \(\lambda _1=0\), then we must have \(\lambda _2>0\) since \(\lambda _1+\lambda _2>0\). In this case, \(\Omega =m\hat{C}-0.5\lambda _2\). Clearly, if \(\lambda _2\) is even, then each machine \(M_i\) (\(1\le i \le \frac{\lambda _2}{2}\)) is assigned exactly two jobs in \(L_2(\lambda _2)\) by FFD, and it is clear that all jobs in \(L'_3\) can be packed into the m bins successfully by FFD since \(p_j\le 0.5\hat{C}\) for any \(J_j\in L'_3\). Let \(\xi =\frac{\lambda _2+1}{2}\). If \(\lambda _2\) is odd, then machine \(M_\xi \) is assigned exactly one job in \(L_2(\lambda _2)\) together with job \(J_h\) (the longest job in \(L'_3\)) by FFD, and machine \(M_i\) (\(1\le i \le \frac{\lambda _2-1}{2}\)) is assigned exactly two jobs in \(L_2(\lambda _2)\) if \(\lambda _2\ge 3\). Note that the total processing time of jobs in \(L'_3\) assigned to each machine \(M_i\) (\(\xi <i \le m\)) is greater than \(1.5\hat{C}-p_\tau \). Also note that \(m\ge 3\). It is easy to check that \(m-\xi =m-\frac{\lambda _2+1}{2}\ge 1\) when \(\lambda _2\) is odd. As a result, the total processing time of jobs in \(L'_3\) is greater than

$$\begin{aligned} \Pi _0&=p_\tau +p_h+(m-\xi )(1.5\hat{C}-p_\tau )\\&= 1.5\hat{C} +p_h+(m-\xi -1)(1.5\hat{C}-p_\tau )\\&\ge 1.5\hat{C} +p_h+(m-\xi -1)\hat{C}\\&=m\hat{C}-0.5\lambda _2\hat{C}+p_h\\&=\Omega +p_h, \end{aligned}$$

which is a contradiction to Lemma 4. We thus assume \(\lambda _1\ge 1\) in the following analysis.

According to FFD, each machine \(M_i\) (\(1\le i\le \lambda _1\)) is assigned exactly one job in \(L_1(\lambda _1)\). Assume that there are \(\lambda _0\) jobs in \(L_2(\lambda _2)\) that are assigned to machines \(M_i\) \((1\le i \le \lambda _1)\), where \(0\le \lambda _0 \le \min \{\lambda _1,\lambda _2\}\). We now show that the total processing time of jobs in \(L'_3\) assigned to the first \(\lambda _1\) machines is greater than \(0.25(\lambda _1-\lambda _0)\hat{C}\) if \(\lambda _1> \lambda _0\). To see this, on one hand, if \(p_\tau >0.25\hat{C}\), then each machine \(M_i\) (\(1\le i \le \lambda _1\)) is assigned a job in \(L_2(\lambda _2)\) or a job in \(L'_3\) with a processing time no less than \(p_\tau >0.25\hat{C}\) by FFD. On the other hand, if \(p_\tau \le 0.25\hat{C}\), then the total processing time of jobs in \(L'_3\) assigned to each machine \(M_i\) (\(1\le i \le \lambda _1\)) is greater than \(1.5\hat{C}-\hat{C}-p_\tau \ge 0.25\hat{C}\) unless the machine is assigned a job in \(L_2(\lambda _2)\). As a result, in either case, the total processing time of jobs in \(L'_3\) assigned to the first \(\lambda _1\) machines is greater than \(0.25(\lambda _1-\lambda _0)\hat{C}\) if \(\lambda _1> \lambda _0\).

We then show \(m>\lambda _1\). By contradiction. Suppose \(m=\lambda _1\), then \(\lambda _2=\lambda _0= 0\) and \(\Omega =(m-0.75\lambda _1-0.5\lambda _2)\hat{C}=0.25m\hat{C}\). In this case, according to FFD, job \(J_h\) (the longest job in \(L'_3\)) is assigned to the first machine \(M_1\) by FFD (note that \(p_h\le 0.5\hat{C}\) and \(p_j\le \hat{C}\) for any \(J_j\in L_1(\lambda _1)\)). Also, the total processing time of jobs in \(L'_3\) assigned to each machine \(M_i\) (\(2\le M_i\le m\)) is greater than \(0.25\hat{C}\). Furthermore, the total processing time of jobs in \(L'_3\) assigned to the last machine \(M_m\) is greater than \(1.5\hat{C}-\hat{C}-p_\tau =0.5\hat{C}-p_\tau \). Remember that we assume \(m\ge 3\). As a result, the total processing time of jobs in \(L'_3\) is greater than

$$\begin{aligned} \Pi _1 =p_\tau +p_h +0.25(m-2)\hat{C}+(0.5\hat{C}-p_\tau )=0.25m\hat{C}+p_h=\Omega +p_h, \end{aligned}$$

which is a contradiction to Lemma 4. We thus must have \(m>\lambda _1\).

We then show that \(\lambda _2-\lambda _0\) is odd. By contradiction. Suppose \(\lambda _2-\lambda _0\) is even. Then, each machine \(M_i\) (\(\lambda _1+1\le i\le \lambda _1+\frac{\lambda _2-\lambda _0}{2}\)) is assigned exactly two jobs in \(L_2(\lambda _2)\) by FFD if \(\lambda _2-\lambda _0>0\). Consider the value of \(m-\lambda _1-\frac{\lambda _2-\lambda _0}{2}\). We must have \(m-\lambda _1-\frac{\lambda _2-\lambda _0}{2}\ge 1\). In fact, if \(m-\lambda _1-\frac{\lambda _2-\lambda _0}{2}\le 0\), then \(\lambda _1+\lambda _2 \le m\le \lambda _1+\frac{\lambda _2-\lambda _0}{2}\), or equivalently, \(\lambda _2+\lambda _0\le 0\). Note that \(\lambda _2\ge \lambda _0\ge 0\). This indicates \(\lambda _2=\lambda _0= 0\). This further indicates \(m\le \lambda _1+\frac{\lambda _2-\lambda _0}{2}=\lambda _1\le m\), i.e., \(m=\lambda _1\), which is a contradiction to the fact \(m>\lambda _1\). Note that the total processing time of jobs in \(L'_3\) assigned to the first \(\lambda _1\) machines is greater than \(0.25(\lambda _1-\lambda _0)\hat{C}\) if \(\lambda _1> \lambda _0\). Also note that the total processing time of jobs in \(L'_3\) assigned to the last \(m-\lambda _1-\frac{\lambda _2-\lambda _0}{2}\) machines is greater than \((m-\lambda _1-\frac{\lambda _2-\lambda _0}{2})(1.5\hat{C}-p_\tau )\). Therefore, the total processing time of jobs in \(L'_3\) is greater than

$$\begin{aligned} \Pi _2 =p_\tau +0.25(\lambda _1-\lambda _0)\hat{C} +(m-\lambda _1-\frac{\lambda _2-\lambda _0}{2})(1.5\hat{C}-p_\tau ). \end{aligned}$$

As \(m-\lambda _1-\frac{\lambda _2-\lambda _0}{2}\ge 1\), we thus have

$$\begin{aligned} \Pi _2&=1.5\hat{C} +0.25(\lambda _1-\lambda _0)\hat{C}+(m-\lambda _1-\frac{\lambda _2-\lambda _0}{2}-1)(1.5\hat{C}-p_\tau )\\&\ge 1.5\hat{C} +0.25(\lambda _1-\lambda _0)\hat{C}+(m-\lambda _1-\frac{\lambda _2-\lambda _0}{2}-1)\hat{C}\\&=[m\hat{C}-0.75\lambda _1\hat{C}-0.5\lambda _2\hat{C}]+ 0.25\lambda _0\hat{C}+0.5\hat{C}\\&\ge \Omega +0+0.5\hat{C}\\&\ge \Omega +p_h. \end{aligned}$$

However, this is also a contradiction to Lemma 4. Thus, we assume that \(\lambda _2-\lambda _0\) is odd in the following analysis.

We now show \(\lambda _0=0\). By contradiction. Suppose \(\lambda _0\ge 1\). Let \(\lambda '=\lambda _1+\frac{\lambda _2-\lambda _0-1}{2}\) (note that \(\lambda _2-\lambda _0\) is odd). Then, in this case machine \(M_{\lambda '+1}\) is assigned exactly one job in \(L_2(\lambda _2)\) by FFD. Also, each machine \(M_i\) (\(\lambda _1+1\le i\le \lambda '\)) is assigned exactly two jobs in \(L_2(\lambda _2)\) if \(\lambda _2-\lambda _0\ge 3\). Furthermore, we have

$$\begin{aligned} m\ge \lambda _1+\lambda _2 \ge \lambda _1+\frac{\lambda _2-\lambda _0+1}{2}=\lambda '+1 \end{aligned}$$

since \(\lambda _0\ge 1\). Denote b as the total processing time of jobs in \(L'_3\) assigned to machine \(M_{\lambda '+1}\). We must have

$$\begin{aligned} b+p_\tau >0.75\hat{C} \end{aligned}$$

(in fact, if \(b+p_\tau \le 0.75\hat{C}\), then job \(J_\tau \) can be packed into machine \(M_{\lambda '+1}\) successfully since \(p_j+b+p_\tau \le 0.75\hat{C}+0.75\hat{C}=1.5\hat{C}\) for any \(J_j\in L_2(\lambda _2)\)). The total processing time of jobs in \(L'_3\) assigned to each machine \(M_i\) (\(\lambda '+1<i \le m\)) is greater than \(1.5\hat{C}-p_\tau \ge \hat{C}\) if \(\lambda '+1< m\). As a result, the total processing time of jobs in \(L'_3\) is greater than

$$\begin{aligned} \Pi _3&=p_\tau +0.25(\lambda _1-\lambda _0)\hat{C}+b+(m-\lambda '-1)\hat{C}\\&= (p_\tau +b) +0.25(\lambda _1-\lambda _0)\hat{C}+(m-\lambda _1-\frac{\lambda _2-\lambda _0-1}{2}-1)\hat{C}\\&\ge 0.75\hat{C} +0.25(\lambda _1-\lambda _0)\hat{C}+(m-\lambda _1-\frac{\lambda _2-\lambda _0-1}{2}-1)\hat{C}\\&=[m\hat{C}-0.75\lambda _1\hat{C}-0.5\lambda _2\hat{C}]+ 0.25(\lambda _0+1)\hat{C}\\&\ge \Omega +0.5\hat{C}\\&\ge \Omega +p_h. \end{aligned}$$

However, this is a contradiction to Lemma 4. We thus must have \(\lambda _0=0\).

When \(\lambda _1>0\), \(\lambda _0=0\) and \(\lambda _2=\lambda _2-\lambda _0\) is odd, we have the following observations. Firstly, job \(J_h\) is assigned to machine \(M_1\) by FFD since \(p_h+p_j\le 1.5\hat{C}\) for any \(J_j\in L_1(\lambda _1)\). As a result, the total processing time of jobs in \(L'_3\) assigned to the first \(\lambda _1\) machines is greater than \(p_h+0.25(\lambda _1-1)\hat{C}\). Secondly, \(\lambda '=\lambda _1+\frac{\lambda _2-\lambda _0-1}{2} =\lambda _1+0.5\lambda _2-0.5\), and machine \(M_{\lambda '+1}\) is assigned exactly one job in \(L_2(\lambda _2)\) by FFD. Still denote b as the total processing time of jobs in \(L'_3\) assigned to machine \(M_{\lambda '+1}\). Then, inequality \(b+p_\tau >0.75\hat{C}\) still holds. Thirdly, each machine \(M_i\) (\(\lambda _1+1\le i\le \lambda '\)) is assigned exactly two jobs in \(L_2(\lambda _2)\) if \(\lambda _2\ge 3\). Fourthly, the total processing time of jobs in \(L'_3\) assigned to each machine \(M_i\) (\(\lambda '+1<i \le m\)) is greater than \(1.5\hat{C}-p_\tau \ge \hat{C}\) if \(\lambda '+1< m\). Thus, the total processing time of jobs in \(L'_3\) is greater than

$$\begin{aligned} \Pi _4&=p_\tau +p_h+0.25(\lambda _1-1)\hat{C}+b+(m-\lambda '-1)\hat{C}\\&= (p_\tau +b) +0.25(\lambda _1-1)\hat{C}+(m-\lambda _1-0.5\lambda _2-0.5)\hat{C}+p_h\\&\quad > 0.75\hat{C} +0.25(\lambda _1-1)\hat{C}+(m-\lambda _1-0.5\lambda _2-0.5)\hat{C}+p_h\\&=[m\hat{C}-0.75\lambda _1\hat{C}-0.5\lambda _2\hat{C}]+p_h\\&=\Omega +p_h. \end{aligned}$$

However, this is also a contradiction to Lemma 4. This indicates \(J_\tau \) does not exist, and all jobs in \(A'\) can be scheduled onto the m machines successfully by FFD. 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

Ou, J., Zhong, X. Order acceptance and scheduling with consideration of service level. Ann Oper Res 248, 429–447 (2017). https://doi.org/10.1007/s10479-016-2277-2

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10479-016-2277-2

Keywords

Navigation