Abstract
We study a single-machine scheduling problem that is a generalization of a number of problems for which computational procedures have already been published. Each job has a processing time, a release date, a due date, a deadline, and a weight representing the penalty per unit-time delay beyond the due date. The goal is to schedule all jobs such that the total weighted tardiness penalty is minimized and both the precedence constraints as well as the time windows (implied by the release dates and the deadlines) are respected. We develop a branch-and-bound algorithm that solves the problem to optimality. Computational results show that our approach is effective in solving medium-sized instances, and that it compares favorably with existing methods for special cases of the problem.
Similar content being viewed by others
References
Abdul-Razaq, T. S., & Potts, C. N. (1988). Dynamic programming state-space relaxation for single-machine scheduling. Journal of the Operational Research Society, 39(2), 141–152.
Abdul-Razaq, T. S., Potts, C. N., & Van Wassenhove, L. N. (1990). A survey of algorithms for the single machine total weighted tardiness scheduling problem. Discrete Applied Mathematics, 26, 235–253.
Akturk, M. S., & Ozdemir, D. (2000). An exact approach to minimizing total weighted tardiness with release dates. IIE Transactions, 32, 1091–1101.
Akturk, M. S., & Ozdemir, D. (2001). A new dominance rule to minimize total weighted tardiness with unequal release dates. European Journal of Operational Research, 135(2), 394–412.
Artigues, C., Demassey, S., & Neron, E. (2007). Resource-constrained project scheduling: Models, algorithms, extensions and applications. London: ISTE.
Bein, W., Kamburowski, J., & Stallmann, M. (1992). Optimal reduction of two-terminal directed acyclic graphs. SIAM Journal on Computing, 21(6), 1112–1129.
Belouadah, H., Posner, M. E., & Potts, C. N. (1992). Scheduling with release dates on a single machine to minimize total weighted completion time. Discrete Applied Mathematics, 36(3), 213–231.
Calinescu, G., Fernandes, C., Kaul, H., & Zelikovsky, A. (2012). Maximum series-parallel subgraph. Algorithmica, 63(1–2), 137–157.
Christofides, N., Alvarez-Valdes, R., & Tamarit, J. M. (1987). Project scheduling with resource constraints: A branch and bound approach. European Journal of Operational Research, 29, 262–273.
Conway, R. W., Maxwell, W. C., & Miller, L. W. (1967). Theory of Scheduling. Reading, MA: Addison Wesley.
Debels, D., & Vanhoucke, M. (2007). A decomposition-based genetic algorithm for the resource-constrained project-scheduling problem. Operations Research, 55(3), 457–469.
Demeulemeester, E., Vanhoucke, M., & Herroelen Rangen, W. (2003). A random network generator for activity-on-the-node networks. Journal of Scheduling, 6, 13–34.
Dyer, M. E., & Wolsey, L. A. (1990). Formulating the single machine sequencing problem with release dates as a mixed integer program. Discrete Applied Mathematics, 26(23), 255–270.
Fisher, M. L. (1981). The Lagrangian relaxation method for solving integer programming problems. Management Science, 27(1), 1–18.
Garey, M. R., & Johnson, D. S. (1979). Computers and intractability: A guide to the theory of NP-completeness. New York: W. H. Freeman.
Gordon, V., Potapneva, E., & Werner, F. (1997). Single machine scheduling with deadlines, release and due dates. Optimization, 42(3), 219–244.
Graham, R. L., Lawler, E. L., Lenstra, J. K., & Rinnooy Kan, A. H. G. (1979). Optimization and approximation in deterministic sequencing and scheduling: A survey. Annals of Discrete Mathematics, 5, 287–326.
Hariri, A. M. A., & Potts, C. N. (1983). An algorithm for single machine sequencing with release dates to minimize total weighted completion time. Discrete Applied Mathematics, 5(1), 99–109.
Held, M., & Karp, R. M. (1962). A dynamic programming approach to sequencing problems. Journal of the Society for Industrial and Applied Mathematics, 10(1), 196–210.
Hoogeveen, J. A., & van de Velde, S. L. (1995). Stronger Lagrangian bounds by use of slack variables: Applications to machine scheduling problems. Mathematical Programming, 70, 173–190.
Ibaraki, T., & Nakamura, Y. (1994). A dynamic programming method for single machine scheduling. European Journal of Operational Research, 76(1), 72–82.
Jouglet, A., Baptiste, P., & Carlier, J. (2004). Handbook of scheduling: Algorithms, models and performance analysis, chap. 13., Branch and bound algorithms for total weighted tardiness Boca Raton, FL: CRC Press.
Keha, A. B., Khowala, K., & Fowler, J. W. (2009). Mixed integer programming formulations for single machine scheduling problems. Computers & Industrial Engineering, 56, 357–367.
Kinable, J., Wauters, T., & Vanden Berghe, G. (2014). The concrete delivery problem. Computers & Operations Research, 48, 53–68.
Lawler, E. L. (1973). Optimal sequencing of a single machine subject to precedence constraints. Management Science, 19(5), 544–546.
Lawler, E. L. (1977). A pseudopolynomial algorithm for sequencing jobs to minimize total tardiness. Annals of Discrete Mathematics, 1, 331–342.
Lawler, E. L. (1978). Sequencing jobs to minimize total weighted completion time subject to precedence constraints. Algorithmic Aspects of Combinatorics, 2, 75–90.
Lenstra, J. K., Rinnooy Kan, A. H. G., & Brucker, P. (1977). Studies in integer programming (Vol. 1, pp. 343–362)., Complexity of machine scheduling problems. Annals of discrete mathematics Amsterdam: Elsevier.
McMahon, G. B., & Lim, C. J. (1993). The two-machine flow shop problem with arbitrary precedence relations. European Journal of Operational Research, 64(2), 249–257.
Nemeth, G., Lovrek, I., & Sinkovic, V. (1997). Scheduling problems in parallel systems for telecommunications. Computing, 58, 199–223.
Nessah, R., & Kacem, I. (2012). Branch-and-bound method for minimizing the weighted completion time scheduling problem on a single machine with release dates. Computers & Operations Research, 39(3), 471–478.
Pan, Y. (2003). An improved branch and bound algorithm for single machine scheduling with deadlines to minimize total weighted completion time. Operations Research Letters, 31(6), 492–496.
Pan, Y., & Shi, L. (2005). Dual constrained single machine sequencing to minimize total weighted completion time. IEEE Transactions on Automation Science and Engineering, 2(4), 344–357.
Pinedo, M. L. (2008). Scheduling: Theory, Algorithms, and Systems. Berlin: Springer.
Posner, M. E. (1985). Minimizing weighted completion times with deadlines. Operations Research, 33, 562–574.
Potts, C. N. (1985). A lagrangean based branch and bound algorithm for single machine sequencing with precedence constraints to minimize total weighted completion time. Management Science, 31(10), 1300–1311.
Potts, C. N., & Van Wassenhove, L. N. (1983). An algorithm for single machine sequencing with deadlines to minimize total weighted completion time. European Journal of Operational Research, 12(4), 379–387.
Potts, C. N., & Van Wassenhove, L. N. (1985). A branch and bound algorithm for the total weighted tardiness problem. Operations Research, 33(2), 363–377.
Shirazi, B. A., Kavi, K. M., & Hurson, A. R. (Eds.). (1995). Scheduling and load balancing in parallel and distributed systems. Los Alamitos: IEEE Computer Society Press.
Sule, D. R. (2007). Production planning and industrial scheduling: Examples, case studies and applications. Boca Raton: CRC Press.
Talla Nobibon, F., & Leus, R. (2011). Exact algorithms for a generalization of the order acceptance and scheduling problem in a single-machine environment. Computers & Operations Research, 38(1), 367–378.
Tanaka, S., & Fujikuma, S. (2012). A dynamic-programming-based exact algorithm for general single-machine scheduling with machine idle time. Journal of Scheduling, 15, 347–361.
Tanaka, S., Fujikuma, S., & Araki, M. (2009). An exact algorithm for single-machine scheduling without machine idle time. Journal of Scheduling, 12, 575–593.
Tanaka, S., & Sato, S. (2013). An exact algorithm for the precedence-constrained single-machine scheduling problem. European Journal of Operational Research, 229(2), 345–352.
Tang, L., Xuan, H., & Liu, J. (2007). Hybrid backward and forward dynamic programming based Lagrangian relaxation for single machine scheduling. Computers & Operations Research, 34(9), 2625–2636.
Valdes, J., Tarjan, R., & Lawler, E. (1982). The recognition of series parallel digraphs. SIAM Journal on Computing, 11(2), 298–313.
van de Velde, S. L. (1995). Dual decomposition of a single-machine scheduling problem. Mathematical Programming, 69(1–3), 413–428.
van den Akker, J., Diepen, G., & Hoogeveen, J. (2010). Minimizing total weighted tardiness on a single machine with release dates and equal-length jobs. Journal of Scheduling, 13, 561–576.
Xu, J., & Parnas, D. (1990). Scheduling processes with release times, deadlines, precedence and exclusion relations. IEEE Transaction on Software Engineering, 16(3), 360–369.
Acknowledgments
Author information
Authors and Affiliations
Corresponding author
Appendix: Proofs
Appendix: Proofs
Proof of Lemma 1
Consider the set of constraints (10). For each \((i,j) \in A\), the following inequalities hold:
By adding the above inequalities, we obtain
This is exactly the associated constraint in the set of constraints (5). As a result, the solution space of the LP relaxation of ASF\(^{\prime }\) is included in that of ASF. To show that the inclusion is strict, consider the following fractional values for the decision variables corresponding with a couple \((i,j)\in A\): \(x_{i1}=x_{i5}=0.5\) and \(x_{j4}=1\). These values can be seen to respect the weak but not the strong formulation. \(\square \)
Proof of Theorem 1
Since \(1||\sum w_j T_j\) is a relaxation of \(1|\beta |\sum w_j T_j\), the optimal value of \(I^{\prime }\) and any valid lower bound for this optimal value is considered as a valid lower bound for \(I\). \(\square \)
Proof of Theorem 2
The following equality holds:
Recall that \(\bar{lb}_{I^{{\prime }{\prime }}}\) is a valid lower bound on the value \(\sum _{j \in N}{w_j C_j(S^*)}\) and \(lb^E\) is a valid lower bound on the value \(\sum _{j \in \mathcal {E}}{w_j (d_j - C_j(S^*))}\). \(\square \)
Proof of Theorem 3
We argue that
The first inequality follows from Theorem 3 in van de Velde (1995), where it is shown that TPA generates a series of monotonically increasing lower bounds. The second inequality corresponds with Theorem 1. \(\square \)
Proof of Theorem 4
\(\mathrm {LB}_1({\text {NO}})\) is obtained by solving \(\mathrm {LR}_{\mathrm{P}_1}\) with \(A^{\prime }=\emptyset \) and \(A^{{\prime }{\prime }} = A\), so with the same multipliers the problem associated with \(\mathrm {LB}_1({\text {NO}})\) is a relaxation of the problem associated with \(\mathrm {LB}_1({\text {VSP}})\). The multipliers are updated with TPA in both cases, and will indeed be the same for a given \(k_{\max }\), so the theorem holds. \(\square \)
Proof of Theorem 5
We introduce \(g_{B_i}(\lambda ,\mu ,S)\) as follows:
Let \(S_1^*\) be an optimal solution to \(\mathrm {LB}^*_1\) and \({S_2^*} = ({S_{B_1}^*},\dots ,{S_{B_\kappa }^*})\) an optimal solution to \(\mathrm {LB}^*_2\). The following result is derived.
\(\square \)
Proof of Theorem 6
If \(\min _{\pi \in \varPi _\mathcal {A}} \{C_{\max }(\sigma _B|\pi )\} \) is greater than \(\max _{j\in \mathcal {A}}{\{\bar{\delta _j}\}}\) then at least one job in \(\mathcal {A}\) cannot be scheduled before its deadline and the schedule \((\sigma _B,\sigma _E)\) is not feasible. \(\square \)
Proof of Theorem 7
If \(\tau _2^{\prime } = 0\), then \(\varGamma _{jk}(t,\tau _1,\tau _2) = \hat{\varGamma }_{jk} (t,\tau _1,\tau _2,\tau _2^{\prime })\) and the theorem holds based on Jouglet et al. (2004). If \(\tau _2^{\prime } > 0\), all jobs in \(\mathcal {B}\) are shifted to the left at least \(\tau _2^{\prime }\) units. Also, \(\tau _2\) equals zero because no job is shifted to the right. For all jobs \(i \in \mathcal {B}^{\prime }\) we have \(C_i(S_1) \ge C_i(S_1^{\prime }) \ge d_i\). Consequently, \(\tau _2^{\prime } \sum _{i \in \mathcal {B}^{\prime }}{w_i} \ge 0\) is a lower bound for the gain of rescheduling jobs in \(\mathcal {B}\). The value \(w_j \max \{0,t+p_j-d_j\} - w_j \max \{0,\hat{r}_j+p_j-d_j\}\) equals the gain of rescheduling job \(j\) and the value \(w_k \max \{0,\hat{r}_k+p_k-d_k\}- w_k \max \{0,t+\tau _1+p_k-d_k\}\) equals the gain of rescheduling job \(k\). By adding lower bounds for rescheduling gains of all jobs in \(U = \mathcal {B}\cup \{j,k\}\), a lower bound for the gain of interchanging jobs \(j\) and \(k\) is obtained. \(\square \)
Proof of Theorem 8
We examine under which conditions the jobs belonging to the set \(U = \mathcal {B} \cup \{j,k\}\) do not violate any of their deadlines and/or precedence constraints. Precedence constraints are not violated because jobs \(j,k \in E_B\) are deliberately chosen such that \(\mathcal {Q}_k \cap \mathcal {Q}_j = \mathcal {Q}_k\) and job \(j\) does not violate its deadline simply because \(C_j(S_1^{\prime }) \le C_j(S_1) \le \bar{\delta }_j\).
Condition 1 ensures that job \(k\) does not violate its deadline. We argue that \(t = st_j(S_1) \le \bar{\delta }_j - p_j\). If \(\bar{\delta }_j - p_j \le \bar{\delta }_k - \tau _1 - p_k\) holds, then we infer \(C_k(S_1^{\prime }) = t+\tau _1+p_k \le \bar{\delta }_k\). Also, if \(\varPsi \le \hat{\delta }_k\), then all unscheduled jobs including \(j\) and \(k\) are completed at or before \(\hat{\delta }_k\). Note that \(\hat{\delta }_k\) is preferred over \(\bar{\delta }_k\) because \(\bar{\delta }_k \le \hat{\delta }_k\), thus condition 1 is less violated, and the inequality \(\varPsi \le \hat{\delta }_k\) also implies \(C_k(S_1^{\prime }) \le \bar{\delta }_k\).
Condition 2 verifies that no job in \(\mathcal {B}\) violates its deadline. On the one hand, if \(\tau _2 = 0\), then no job in \(\mathcal {B}\) is shifted to the right, which means \(C_i(S_1^{\prime }) \le C_i(S_1) \le \bar{\delta }_i\) for each job \(i \in \mathcal {B}\). On the other hand, if \(\tau _2 > 0\) and \(\varPsi \le \min _{i \in \mathcal {B}}\{\hat{\delta }_i\}\), then for all jobs \(i \in \mathcal {B}\) we conclude: \(C_i(S_1^{\prime }) \le \varPsi \le \min _{i \in \mathcal {B}}\{\hat{\delta }_i\} \le \hat{\delta }_i\). Again, \(\hat{\delta }_i\) is preferred over \(\bar{\delta }_i\) because of the same reasoning as for the preference of \(\hat{\delta }_k\) over \(\bar{\delta }_k\). \(\square \)
Proof Lemma 4
Let \(f\) have a global minimum at value \(t^*\). Depending on the values of the parameters \(\alpha ,\beta ,a\), and \(b\), the function \(f\) behaves differently. We discuss four possible cases for the parameter combinations to prove this lemma (see also Fig. 12). In the two first cases, we assume that \(\alpha \ge \beta \). Case (a): in this case, \(a \le b\), and then \(f\) is constant on interval \([u,a]\) and is increasing on interval \([a,v]\), as shown in Fig. 12a. Case (b): \(a > b, f\) is constant on interval \([u,b]\), decreasing on interval \([b,a]\) and increasing on interval \([a,v]\), in line with Fig. 12b. The following results are valid for these two cases: 1- If \(u \le a \le v\) then \(t^* = a\). 2- If \(a < u, t^* = u\) because \(f\) is always increasing on interval \([u,v]\). 3- If \(a > v, t^* = v\) because \(f\) is always decreasing on interval \([u,v]\). We conclude that \(t^* = \min \{\max \{a,u\},v\}\) for the first two cases.
In the next two cases, we assume that \(\alpha < \beta \). Case (c): \(a < b, f\) is constant for \([u,b]\), increasing for \([b,a]\) and decreasing for \([a,v]\), as shown in Fig. 12c. In this case, \(t^*\) equals either \(u\) or \(v\). On the one hand, if \(\alpha (b - \max \{a,u\}) \ge (\beta - \alpha )(\max \{v,b\}-b) \Rightarrow \alpha (\bar{v} - \bar{u}) \ge \beta (\bar{v} - b)\) then \(f(v) \ge f(u)\) is inferred and \(t^* = u\) is concluded. On the other hand, if \( \alpha (\bar{v} - \bar{u}) < \beta (\bar{v} - b)\) then \(t^* = v\) is concluded. Case (d): \(a \ge b, f\) is constant for \([u,b]\) and decreasing for \([b,v]\); see Fig. 12d. We find that \(t^*\) equals \(v\) for this case. \(\square \)
Proof of Theorem 9 and Theorem 10
Similar to the proof of Theorem 8. \(\square \)
Rights and permissions
About this article
Cite this article
Davari, M., Demeulemeester, E., Leus, R. et al. Exact algorithms for single-machine scheduling with time windows and precedence constraints. J Sched 19, 309–334 (2016). https://doi.org/10.1007/s10951-015-0428-y
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10951-015-0428-y