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.
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.
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.
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.
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.
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.
De, P., Ghosh, J. B., & Wells, C. E. (1991). Optimal delivery time quotation and order sequencing. Decision Sciences, 22(2), 379–390.
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.
Garey, M. R., & Johnson, D. S. (1979). Computers and intractability: A guide to the theory of NP-completeness. New York: Freeman.
Guerrero, H. H., & Kern, G. M. (1988). How to more effectively accept and refuse orders. Production and Inventory Management Journal, 29(4), 59–63.
Hoogeveen, H., Skutella, M., & Woeginger, G. J. (2003). Preemptive scheduling with rejection. Mathematical Programming, 94(3), 361–374.
Kellerer, H., Pferschy, U., & Pisinger, D. (2004). Knapsack problems. Berlin: Springer.
Knuth, D. E. (1998). The art of computer programming, volume 3: Sorting and searching (2nd ed.). Reading, MA: Addison-Wesley.
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.
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.
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.
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.
Megiddo, N., & Tamir, A. (1993). Linear time algorithms for some separable quadratic programming problems. Operations Research Letters, 13(4), 203–211.
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.
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.
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.
Pinedo, M. L. (2012). Scheduling: Theory, algorithms, and systems (4th ed.). Springer-Verlag: New York.
Rom, W. O., & Slotnick, S. A. (2009). Order acceptance using genetic algorithms. Computers and Operations Research, 36(6), 1758–1767.
Shabtay, D., Gaspar, N., & Kaspi, M. (2013). A survey on offline scheduling with rejection. Journal of Scheduling, 16(1), 3–28.
Seiden, S. S. (2001). Preemptive multiprocessor scheduling with rejection. Theoretical Computer Science, 262(1), 437–458.
Simchi-Levi, D. (1994). New worst-case results for the bin-packing problem. Naval Research Logistics, 41(4), 579–585.
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.
Slotnick, S. A., & Morton, T. E. (2007). Order acceptance with weighted tardiness. Computers and Operations Research, 34(10), 3029–3042.
Slotnick, S. A. (2011). Order acceptance and scheduling: A taxonomy and review. European Journal of Operational Research, 212(1), 1–11.
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.
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.
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.
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
Corresponding author
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
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
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
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
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
By Theorem 2, we further have
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
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
By the construction of \(L'_3\), we have
By (15), (16) and (19) , we have
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
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
Note that \(p_h \ge p_a\). We thus have
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
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
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
As \(m-\lambda _1-\frac{\lambda _2-\lambda _0}{2}\ge 1\), we thus have
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
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
(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
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
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
About this article
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10479-016-2277-2