Abstract
The problem of scheduling jobs on an unreliable single machine is considered in this paper. The scheduling problem is characterized by the following features: jobs are grouped into classes of equivalent jobs; the generalized due date model is adopted for each class of jobs; it is possible to reduce the processing time of a job, at the price of the payment of an extra cost; a costly setup is required when switching between jobs of different classes. The scheduling problem is solved from a perspective which is different from the traditional determination of an optimal sequence of jobs; in fact, the objective of the paper is to determine optimal control strategies (functions of the system state) which allow generating the optimal decisions during the evolution of the system, taking into account the actual system state. In this way, optimal decisions can be promptly taken also in the presence of perturbations which affect the single machine (such as breakdowns and slowdowns). To this aim, a specific optimal control problem is stated and solved in the paper.
Similar content being viewed by others
Notes
Decision instants are discrete in time; they correspond to the initial time instant and the instants at which a job is completed, but for the last one.
The choice of considering the processing time \(\tau _{j}\) as a decision variable instead of the amount of the continuous resource used to compress the processing time, namely \(u_{j}\), does not modify the matter of the problem, as \(u_{j} = \frac{1}{\sum _{k=1}^{K}{\gamma _{k} \, \delta _{k,j}}} \left( \sum _{k=1}^{K}{pt^{{\mathrm {nom}}}_{k} \, \delta _{k,j}} - \tau _{j} \right) \).
An equivalent “compact” representation of the system state vector, namely \([n_{1}, \ldots , n_{K}, h, t_{j}]^{\mathrm {T}}\), in which subscript j appears only at the last state variable, is adopted from this point onward. Also decision variables will be denoted to as \(\delta _{1}(n_{1}, \ldots , n_{K}, h, t_{j})\), \(\delta _{2}(n_{1}, \ldots , n_{K}, h, t_{j})\), and \(\tau (n_{1}, \ldots , n_{K}, h, t_{j})\).
References
Aicardi, M., Giglio, D., & Minciardi, R. (2007). Optimal strategies for real-time determination of the next job’s class in a single machine with setup times and controllable processing times. In Proceedings of the European control conference (pp. 3963–3968).
Aicardi, M., Giglio, D., & Minciardi, R. (2008). Optimal strategies for multiclass job scheduling on a single machine with controllable processing times. IEEE Transactions on Automatic Control, 53(2), 479–495.
Akella, R., & Kumar, P. R. (1986). Optimal control of production rate in a failure prone manufacturing system. IEEE Transactions on Automatic Control, 31(2), 116–126.
Akturk, M., & Ilhan, T. (2011). Single cnc machine scheduling with controllable processing times to minimize total weighted tardiness. Computers & Operations Research, 38, 771–781.
Allahverdi, A., Gupta, J. N. D., & Aldowaisan, T. (1999). A review of scheduling research involving setup considerations. Omega, The International Journal of Management Science, 27, 219–239.
Allahverdi, A., Ng, C. T., Cheng, T. C. E., & Kovalyov, M. Y. (2008). A survey of scheduling problems with setup times or costs. European Journal of Operational Research, 187, 985–1032.
Aytug, H., Lawley, M. A., McKay, K., Mohan, S., & Uzsoy, R. (2005). Executing production schedules in the face of uncertainties: A review and some future directions. European Journal of Operational Research, 161(1), 86–110.
Cai, Y., Kutanoglu, E., Hasenbein, J., & Qin, J. (2012). Single-machine scheduling with advanced process control constraints. Journal of Scheduling, 15, 165–179.
Cheng, T., & Kovalyov, M. (1995). Single machine batch scheduling with deadlines and resource dependent processing times. Operations Research Letters, 17, 243–249.
Cheng, T., Janiak, A., & Kovalyov, M. (1998). Bicriterion single machine scheduling with resource dependent processing times. SIAM Journal on Optimization, 8(2), 617–630.
Cheng, T., Janiak, A., & Kovalyov, M. (2001). Single machine batch scheduling with resource dependent setup and processing times. European Journal of Operational Research, 135, 177–183.
Daniels, R. (1990). A multi-objective approach to resource allocation in single machine scheduling. European Journal of Operational Research, 48(2), 226–241.
Daniels, R., & Kouvelis, P. (1995). Robust scheduling to hedge against processing time uncertainty in single-stage production. Management Science, 41(2), 363–376.
Di Febbraro, A., Minciardi, R., & Sacone, S. (2002). Optimal control laws for lot-sizing and timing of jobs on a single production facility. IEEE Transactions on Automatic Control, 47(10), 1613–1623.
Epstein, L., Levin, A., Marchetti-Spaccamela, A., Megow, N., Mestre, J., Skutella, M., & Stougie, L. (2010). Universal sequencing on a single machine. In Proceedings of the 14th international conference on integer programming and combinatorial optimization (pp 230–243).
Gavett, J. (1965). Three heuristic rules for sequencing jobs to a single production facility. Management Science, 11(8), B166–B176.
Gazarik, M., & Wardi, Y. (1998). Optimal release times in a single server: An optimal control perspective. IEEE Transactions on Automatic Control, 43(7), 998–1002.
Giglio, D. (2015a). A MILP model for single machine family scheduling with sequence-dependent batch setup and controllable processing times. arXiv:1501.07396 [math.OC].
Giglio, D. (2015b). Fundamental lemmas for the determination of optimal control strategies for a class of single machine family scheduling problems. arXiv:1502.00423 [math.OC].
Giglio, D., & Minciardi, R. (2011). Multiclass job scheduling on a single machine: updating optimal control strategies when due-dates change in real-time. In Proceedings of the 50th IEEE conference on decision and control and European control conference (pp 7923–7930).
Gokbayrak, K., & Selvi, O. (2010). Service time optimization of mixed-line service time optimization of mixed-line flow shop systems. IEEE Transactions on Automatic Control, 55(2), 395–404.
Graham, R., Lawler, E., Lenstra, J., & Kan, A. R. (1979). Optimization and approximation in deterministic sequencing and scheduling: A survey. Annals of Discrete Mathematics, 5, 287–326.
Gupta, A., & Sivakumar, A. (2005). Multi-objective scheduling of two-job families on a single machine. Omega, 33, 399–405.
Hall, N. G., Sethi, S. P., & Sriskandarajah, C. (1991). On the complexity of generalized due date scheduling problems. European Journal of Operational Research, 51(1), 100–109.
Ivanov, D., & Sokolov, B. (2012). Dynamic supply chain scheduling. Journal of scheduling, 15(2), 201–216.
Janiak, A., Kovalyov, M., & Portmann, M. C. (2005). Single machine group scheduling with resource dependent setup and processing times. European Journal of Operational Research, 162(1), 112–121.
Jin, F., Gupta, J., Song, S., & Wu, C. (2010). Single machine scheduling with sequence-dependent family setups to minimize maximum lateness. Journal of the Operational Research Society, 61, 1181–1189.
Kayvanfar, V., Mahdavi, I., & Komaki, G. (2013). Single machine scheduling with controllable processing times to minimize total tardiness and earliness. Computers & Industrial Engineering, 65, 166–175.
Khmelnitsky, E., Kogan, K., & Maimon, O. Z. (1997). Maximum principle-based methods for production scheduling with partially sequence-dependent setups. International Journal of Production Research, 35(10), 2701–2712.
Kimemia, J., & Gershwin, S. B. (1983). An algorithm for the computer control of a flexible manufacturing system. IEE Transactions, 15(4), 353–362.
Kolahan, F., & Liang, M. (1998). An adaptive ts approach to jit sequencing with variable processing times and sequence-dependent setups. European Journal of Operational Research, 109, 142–159.
Leung, J. Y. T., & Pinedo, M. (2004). A note on scheduling parallel machines subject to breakdown and repair. Naval Research Logistics, 51(1), 60–71.
Lu, C. C., Lin, S. W., & Ying, K. C. (2012). Robust scheduling on a single machine to minimize total flow time. Computers & Operations Research, 39, 1682–1691.
Ma, Y., Chu, C., & Zuo, C. (2010). A survey of scheduling with deterministic machine availability constraints. Computers & Industrial Engineering, 58, 199–211.
Maimon, O. Z., & Gershwin, S. B. (1988). Dynamic scheduling and routing for flexible manufacturing systems that have unreliable machines. Operations Research, 36(2), 279–292.
Mao, J., & Cassandras, C. (2007). Optimal control of two-stage discrete event systems with real-time constraints. Discrete Event Dynamic Systems, 17, 505–529.
Monma, C., & Potts, C. (1989). On the complexity of scheduling with batch setup times. Operations Research, 37(5), 798–804.
Mor, B., & Mosheiov, G. (2014). Batch scheduling of identical jobs with controllable processing times. Computers & Operations Research, 41, 115–124.
Ng, C., Cheng, T., & Kovalyov, M. (2003a). Batch scheduling with controllable setup and processing times to minimize total completion time. Journal of the Operational Research Society, 54, 499–506.
Ng, C., Cheng, T., Kovalyov, M., & Lam, S. (2003b). Single machine scheduling with a variable common due date and resource-dependent processing times. Computers & Operations Research, 30(8), 1173–1185.
Ng, C., Cheng, T., & Kovalyov, M. (2004). Single machine batch scheduling with jointly compressible setup and processing times. European Journal of Operational Research, 153, 211–219.
Ng, C., Cheng, T., Janiak, A., & Kovalyov, M. (2005). Group scheduling with controllable setup and processing times: Minimizing total weighted completion time. Annals of Operations Research, 133, 163–174.
Nowicki, E., & Zdrzalka, S. (1990). A survey of results for sequencing problems with controllable processing times. Discrete Applied Mathematics, 26, 271–287.
Ouelhadj, D., & Petrovic, S. (2009). A survey of dynamic scheduling in manufacturing systems. Journal of Scheduling, 12(4), 417–431.
Panwalkar, S., & Rajagopalan, R. (1992). Single-machine sequencing with controllable processing times. European Journal of Operational Research, 59(2), 298–302.
Pepyne, D., & Cassandras, C. (1998). Modeling, analysis, and optimal control of a class of hybrid systems. Discrete Event Dynamic Systems: Theory and Applications, 8, 175–201.
Perkins, J. R., & Kumar, P. R. (1989). Stable, distributed, real-time scheduling of flexible manufacturing/assembly/disassembly systems. IEEE Transactions on Automatic Control, 34(2), 139–148.
Pinedo, M. (1995). Scheduling. Theory, algorithms and systems. Englewood Cliffs: Prentice-Hall Inc.
Potts, C., & Kovalyov, M. (2000). Scheduling with batching: A review. European Journal of Operational Research, 120, 228–249.
Presby, J., & Wolfson, M. (1967). An algorithm for solving job sequencing problems. Management Science, 13(8), B454–B464.
Qi, X., Yu, G., & Bard, J. F. (2002). Single machine scheduling with assignable due dates. Discrete Applied Mathematics, 122, 211–233.
Raman, N., Rachamadugu, R., & Talbot, F. (1989). Real-time scheduling of an automated manufacturing center. European Journal of Operational Research, 40(2), 222–242.
Sawicki, J. (1973). The problems of tardiness and saturation in a multi-class queue with sequence-dependent setups. AIIE Transactions, 5(3), 250–255.
Schaller, J., & Gupta, J. (2008). Single machine scheduling with family setups to minimize total earliness and tardiness. European Journal of Operational Research, 187, 1050–1068.
Schmidt, G. (2000). Scheduling with limited machine availability. European Journal of Operational Research, 121, 1–15.
Sels, V., & Vanhoucke, M. (2012). A hybrid genetic algorithm for the single machine maximum lateness problem with release times and family setups. Computers & Operations Research, 39, 2346–2358.
Shabtay, D., & Steiner, G. (2007a). Single machine batch scheduling to minimize total completion time and resource consumption costs. Journal of Scheduling, 10, 255–261.
Shabtay, D., & Steiner, G. (2007b). A survey of scheduling with controllable processing times. Discrete Applied Mathematics, 155, 1643–1666.
Shakhlevich, N., & Strusevich, V. (2006). Single machine scheduling with controllable release and processing parameters. Discrete Applied Mathematics, 154(15), 2178–2199.
Sourd, F. (2005). Earliness-tardiness scheduling with setup considerations. Computers & Operations Research, 32, 1849–1865.
Sourd, F. (2006). Dynasearch for the earliness-tardiness scheduling problem with release dates and setup constraints. Operations Research Letters, 34, 591–598.
Subramanian, K., Rawlings, J. B., Maravelias, C. T., Flores-Cerrillo, J., & Megan, L. (2013). Integration of control theory and scheduling methods for supply chain management. Computers and Chemical Engineering, 51, 4–20.
Sun, X., & Noble, J. (1999). An approach to job shop scheduling with sequence-dependent setups. Journal of Manufacturing Systems, 18(6), 416–430.
Tseng, C. T., Liao, C. J., & Huang, K. L. (2009). Minimizing total tardiness on a single machine with controllable processing times. Computers & Operations Research, 36, 1852–1858.
Uzsoy, R., & Velásquez, J. (2008). Heuristics for minimizing maximum lateness on a single machine with family-dependent set-up times. Computers & Operations Research, 35, 2018–2033.
Vickson, R. G. (1980a). Choosing the job sequence and processing times to minimize total processing plus flow cost on a single machine. Operations Research, 28(5), 1155–1167.
Vickson, R. G. (1980b). Two single machine sequencing problems involving controllable job processing times. AIIE Transactions, 12(3), 258–262.
Vieira, G. E., Herrmann, J. W., & Lin, E. (2003). Rescheduling manufacturing systems: a framework of strategies, policies, and methods. Journal of scheduling, 6, 39–62.
Wilbrecht, J., & Prescott, W. (1969). The influence of setup time on job shop performance. Management Science, 16(4), B274–B280.
Woodruff, D., & Spearman, M. (1992). Sequencing and batching for two classes of jobs with deadlines and setup times. Production and Operations Management, 1(1), 87–102.
Author information
Authors and Affiliations
Corresponding author
Appendices
Appendix 1: Algorithm providing time instants \(\omega _{1}, \ldots , \omega _{|B |}\)
Algorithm 1
Determination of the time instant \(\omega _{j}\), \(j = 1, \ldots , |B |\), at which, in case \(\omega _{j} < \infty \), the function \(x^{\circ }(t)\) jumps in an upward direction
SECTION A – INITIALIZATION
SECTION B – FIRST LOOP
SECTION C – SECOND LOOP
Appendix 2: sketches of the proofs of Lemmas 1 and 2
1.1 Lemma 1
The function \(x^{\circ }(t)\) can be obtained by analyzing the shape of the function \(f(x+t) + g(x)\) in the interval \([x_{1},x_{2}]\), with t moving from \(-\infty \) to \(+\infty \).
Several cases must be considered, mainly depending on the width of the intervals between abscissae \(\gamma _{a_{q}}\) and \(\gamma _{b_{q}}\), or abscissae \(\gamma _{b_{q}}\) and \(\gamma _{a_{q+1}}\), with respect to the width of interval \([x_{1},x_{2}]\). The essential case is the one in which all the intervals between these abscissae are wider than the width of \([x_{1},x_{2}]\), that is, when \(\gamma _{b_{j}} - \gamma _{a_{j}} > x_{2}-x_{1}\) \(\forall \, j = 1, \ldots , |B |\), \(|B |> 0\), and \(\gamma _{a_{j+1}} - \gamma _{b_{j}} > x_{2}-x_{1}\) \(\forall j = 1, \ldots , |A |- 1\), \(|A |> 1\). In this case, the function \(x^{\circ }(t)\) has the following behavior.
-
1.
When t is such that the slopes of \(f(x+t)\) in the interval \([x_{1},x_{2}]\) are less than \(\nu \), that is, \(\forall \, t < \gamma _{a_{1}} - x_{2}\), \(\forall \, t \in [ \gamma _{b_{j}} - x_{1} , \gamma _{a_{j+1}} - x_{2})\), \(j = 1, \ldots , |A |- 1\), and \(\forall \, t \ge \gamma _{b_{|B |}} - x_{1}\) if \(|A |= |B |\), the minimum of the function \(f(x+t) + g(x)\), with respect to \([x_{1},x_{2}]\), is obtained at \(x_{2}\), since \(f(x+t) + g(x)\) is strictly decreasing in \([x_{1},x_{2}]\).
-
2.
When t is such that \(\gamma _{a_{j}} - t \in [x_{1},x_{2}]\), \(j = 1, \ldots , |A |\), that is, \(\forall \, t \in [ \gamma _{a_{j}} - x_{2} , \gamma _{a_{j}} - x_{1} )\), \(j = 1, \ldots , |A |\), the function \(f(x+t) + g(x)\) is strictly decreasing in \([x_{1},\gamma _{a_{j}} - t]\) and nondecreasing in \([\gamma _{a_{j}} - t , x_{2}]\); then, it has a minimum, with respect to \([x_{1},x_{2}]\), in \(\gamma _{a_{j}} - t\); when t increases in the interval \([\gamma _{a_{j}} - x_{2} , \gamma _{a_{j}} - x_{1})\), the minimum decreases (with unitary speed) from \(x_{2}\) to \(x_{1}\).
-
3.
When t is such that the slope of \(f(x+t)\) in the interval \([x_{1},x_{2}]\) is grater than or equal to \(\nu \), that is, \(\forall \, t \in [ \gamma _{a_{j}} - x_{1} , \gamma _{b_{j}} - x_{2})\), \(j = 1, \ldots , |B |\), and \(\forall \, t \ge \gamma _{a_{|A |}} - x_{1}\) if \(|A |> |B |\), the minimum of the function \(f(x+t) + g(x)\), with respect to \([x_{1},x_{2}]\), is obtained at \(x_{1}\), since \(f(x+t) + g(x)\) is nondecreasing in \([x_{1},x_{2}]\).
-
4.
When t is such that \(\gamma _{b_{j}} - t \in [x_{1},x_{2}]\), \(j = 1, \ldots , |B |\), that is, \(\forall \, t \in [ \gamma _{b_{j}} - x_{2} , \gamma _{b_{j}} - x_{1} )\), \(j = 1, \ldots , |B |\), the function \(f(x+t) + g(x)\) is nondecreasing in \([x_{1},\gamma _{b_{j}} - t]\) and strictly decreasing in \([\gamma _{b_{j}} - t , x_{2}]\); then, it has a maximum, with respect to \([x_{1},x_{2}]\), in \(x = \gamma _{b_{j}} - t\), and the minimum is obtained either at \(x_{1}\) or \(x_{2}\), depending on the values \(f(x_{1}+t) + g(x_{1})\) and \(f(x_{2}+t) + g(x_{2})\), \(t \in [ \gamma _{b_{j}} - x_{2} , \gamma _{b_{j}} - x_{1} )\) (the minimum is obtained at \(x^{\circ } = x_{1}\) if \(f(x_{1}+t) + g(x_{1}) < f(x_{2}+t) + g(x_{2})\) and at \(x^{\circ } = x_{2}\) otherwise). In this connection, note that
-
when \(t = \gamma _{b_{j}} - x_{2}\), it is certainly \(f(x_{1}+t) + g(x_{1}) \le f(x_{2}+t) + g(x_{2})\);
-
when t increases in the interval \((\gamma _{b_{j}} - x_{2} , \gamma _{b_{j}} - x_{1})\), the value of \(f(x_{1}+t) + g(x_{1})\) increases or remains constant and the value of \(f(x_{2}+t) + g(x_{2})\) decreases;
-
when \(t = \gamma _{b_{j}} - x_{1}\), it is certainly \(f(x_{1}+t) + g(x_{1}) > f(x_{2}+t) + g(x_{2})\).
This means that it certainly exists \(\omega _{j} \in [ \gamma _{b_{j}} - x_{2} , \gamma _{b_{j}} - x_{1} )\) such that \(f(x_{1}+t) + g(x_{1}) \le f(x_{2}+t) + g(x_{2})\) \(\forall \, t \in [ \gamma _{b_{j}} - x_{2}, \omega _{j})\), \(f(x_{1}+\omega _{j}) + g(x_{1}) = f(x_{2}+\omega _{j}) + g(x_{2})\), and \(f(x_{1}+t) + g(x_{1}) > f(x_{2}+t) + g(x_{2})\) \(\forall \, t \in ( \omega _{j} , \gamma _{b_{j}} - x_{1} )\); then, the minimum is obtained at \(x_{1}\) \(\forall \, t \in [ \gamma _{b_{j}} - x_{2}, \omega _{j})\), “jumps” from \(x_{1}\) to \(x_{2}\) at \(\omega _{j}\), and is obtained at \(x_{2}\) \(\forall \, t \in [ \omega _{j} , \gamma _{b_{j}} - x_{1} )\).
-
Thus, according to the previous four “rules”, since \(\mu _{0} = 0\), the function \(x^{\circ }(t)\) is \(x_{2}\) at the beginning (rule 1), decreases with slope \(-1\) in the interval \([ \gamma _{a_{1}} - x_{2} , \gamma _{a_{1}} - x_{1} )\) (rule 2), and is equal to \(x_{1}\) from \(\gamma _{a_{1}} - x_{1}\) to \(\omega _{1}\), at which it jumps to \(x_{2}\) (rules 3 and 4); \(x^{\circ }(t)\) remains equal to \(x_{2}\) from \(\omega _{1}\) up to \(\gamma _{a_{2}} - x_{2}\) (rules 4 and 1), then it decreases with slope \(-1\) in the interval \([ \gamma _{a_{2}} - x_{2} , \gamma _{a_{2}} - x_{1} )\) (rule 2), is equal to \(x_{1}\) from \(\gamma _{a_{2}} - x_{1}\) to \(\omega _{2}\), at which jumps to \(x_{2}\) (rules 3 and 4), and so on. In its last part, the function \(x^{\circ }(t)\) is \(x_{1}\) if \(|A |> |B |\) or \(x_{2}\) if \(|A |= |B |\), in accordance with rules 3 and 1. Note that, in this case, Algorithm 1 provides a finite value \(\omega _{j}\) for each abscissa \(\gamma _{b_{j}}-t\), \(j = 1, \ldots , |B |\); then, \(T = \varOmega \), being \(\varOmega = \{ \omega _{1} , \ldots , \omega _{j}, \ldots , \omega _{|B |} \}\). Moreover, \(Q = |B |\), \(t^{\star }_{q} = \omega _{q}\), and \(l(q) = q\), \(\forall \, q = 1, \ldots , Q\). Thus, it is possible to write \(t^{\star }_{q} \in [\gamma _{b_{l(q)}} - x_{2}, \gamma _{b_{l(q)}} - x_{1})\), \(\gamma _{b_{l(q)}} - \gamma _{a_{l(q)}} > x_{2}-x_{1}\) \(\forall \, q = 1, \ldots , Q\), and \(\gamma _{a_{l(q)+1}} - \gamma _{b_{l(q)}} > x_{2}-x_{1}\) \(\forall \, q = 1, \ldots , Q\) (if \(l(Q) < |A |\)) or \(\forall \, q = 1, \ldots , Q-1\) (if \(l(Q) = |A |\)), which imply \(t^{\star }_{q} > \gamma _{a_{l(q)}} - x_{1}\) \(\forall \, q = 1, \ldots , Q\) and \(t^{\star }_{q} < \gamma _{a_{l(q)+1}} - x_{2}\) \(\forall \, q = 1, \ldots , Q\) (if \(l(Q) < |A |\)) or \(\forall \, q = 1, \ldots , Q-1\) (if \(l(Q) = |A |\)). Then, \(x^{\circ }(t)\) has the structure provided by (6b) or (6c), with \(x_{\mathrm {s}}(t)\) provided by (7a), \(x_{q}(t)\), \(q = 1, \ldots , Q-1\), \(Q > 1\), provided by (8a), and \(x_{\mathrm {e}}(t)\) provided by (9a) (if \(l(Q) < |A |\)) or (9c) (if \(l(Q) = |A |\)).
In presence of narrower intervals, some of the abscissae \(\gamma _{b_{j}} - t\), \(j = 1, \ldots , |B |\), may not cause a jump discontinuity in \(x^{\circ }(t)\). Then, in general, \(x^{\circ }(t)\) has a number of discontinuities (at which it jumps in an upward direction) equal to \(Q \le |B |\). In accordance with the notation adopted in Algorithm 1, values \(\omega _{j} < +\infty \), \(j \in \{ 1, \ldots , |B |\}\), are those actually corresponding to jump discontinuities. These Q values are denoted by \(t^{\star }_{q}\), \(q = 1, \ldots , Q\). The link between values \(\omega _{j}\) and \(t^{\star }_{q}\) is represented by the mapping function \(l(q) = j\), \(j \in \{ 1, \ldots , |B |\}\), \(q = 1, \ldots , Q\) (that is, \(l(q) = j \Leftrightarrow \omega _{j} = t^{\star }_{q}\)). Another consequence of having narrower intervals is that some of the discontinuities are such that function \(x^{\circ }(t)\) does not jump from \(x_{1}\) to \(x_{2}\) but jumps from a value greater than \(x_{1}\) and/or jumps to a value less than \(x_{2}\). In these cases, \(x_{\mathrm {s}}(t)\) in (6b) and (6c) has the structure of (7b), \(x_{q}(t)\) in (6c) has the structure of (8c), (8c), or (8d), and \(x_{\mathrm {e}}(t)\) in (6b) and (6c) has the structure of (9b).
1.2 Lemma 2
When \(x = x_{2}\), it is \(g(x) = 0\); then, when \(x^{\circ }(t) = x_{2}\), it turns out \(h(t) = f(x_{2}+t)\). Instead, when \(x = x_{1}\), it is \(g(x) = \nu (x_{2} - x_{1})\); then, when \(x^{\circ }(t) = x_{1}\), it turns out \(h(t) = f(x_{1}+t) + \nu (x_{2} - x_{1})\).
When \(\gamma _{a_{1}} - x_{2} < t < \gamma _{a_{1}} - x_{1}\), with regard to (7a), \(x^{\circ }(t)\) passes linearly (with unitary speed) from the value \(x_{2}\) at \(t = \gamma _{a_{1}} - x_{2}\) to the value \(x_{1}\) at \(t = \gamma _{a_{1}} - x_{1}\); then, in the same interval, function h(t) passes, with the same dynamics (that is, linearly), from the value \(f(x_{2} + \gamma _{a_{1}} - x_{2}) = f(\gamma _{a_{1}})\) (at \(t = \gamma _{a_{1}} - x_{2}\)) to the value \(f(x_{1} + \gamma _{a_{1}} - x_{1}) + \nu ( x_{2} - x_{1} ) = f(\gamma _{a_{1}}) + \nu ( x_{2} - x_{1} )\) (at \(t = \gamma _{a_{1}} - x_{1}\)); the segment which joins such values belongs to the line \(\nu t + [ f(\gamma _{a_{1}}) - \nu (\gamma _{a_{1}} - x_{2}) ]\). In the same way, when \(\gamma _{a_{1}} - x_{2} < t < t^{\star }_{1}\), with regard to (7b), \(x^{\circ }(t)\) passes linearly (with unitary speed) from the value \(x_{2}\) at \(t = \gamma _{a_{1}} - x_{2}\) to the value \(-t^{\star }_{1}+\gamma _{a_{1}}\) at \(t = t^{\star }_{1}\); then, in the same interval, function h(t) passes linearly from the value \(f(\gamma _{a_{1}})\) (at \(t = \gamma _{a_{1}} - x_{2}\)) to the value \(f(\gamma _{a_{1}}) + \nu ( x_{2} + t^{\star }_{1} - \gamma _{a_{1}} )\) (at \(t = t^{\star }_{1}\)); the segment which joins such values belongs again to the line \(\nu t + [ f(\gamma _{a_{1}}) - \nu (\gamma _{a_{1}} - x_{2}) ]\). This proves that, when \(t : x^{\circ }(t) \ne \{ x_{1} , x_{2} \}\) in (11a), and when \(t < t^{\star }_{1} : x^{\circ }(t) \ne \{ x_{1} , x_{2} \}\) in (11b) and (11c), function \(h(t) = \nu t + [ f(\gamma _{a_{1}}) - \nu (\gamma _{a_{1}} - x_{2}) ]\).
In analogous way, it is possible to prove that, when \(t \in [ t^{\star }_{q} , t^{\star }_{q+1} ) : x^{\circ }(t) \ne \{ x_{1} , x_{2} \}\), \(q = 1, \ldots , Q-1\), in (11c), and when \(t \ge t^{\star }_{Q} : x^{\circ }(t) \ne \{ x_{1} , x_{2} \}\) in (11b) and (11c), it turns out \(h(t) = \nu t \ + \ [ f(\gamma _{a_{l(q)+1}}) \ - \ \nu (\gamma _{a_{l(q)+1}} - x_{2}) ]\), \(q = 1, \ldots , Q\).
Appendix 3: optimal control strategies for the numerical example
1.1 Strategies used to obtain the nominal optimal solution
-
stage 0 – state \([0 \; 0 \; 0 \; t_{0}]^{T}\)
$$\begin{aligned} \delta _{1}^{\circ } (0,0,0, t_{0})= & {} \left\{ \begin{array}{ll} 1 &{} t_{0} < -20.5\\ 0 &{} t_{0} \ge -20.5 \end{array} \right. \\ \delta _{2}^{\circ } (0,0,0, t_{0})= & {} \left\{ \begin{array}{ll} 0 &{} t_{0} < -20.5\\ 1 &{} t_{0} \ge -20.5 \end{array} \right. \\ \tau ^{\circ } (0, 0, 0, t_{0})= & {} \left\{ \begin{array}{ll} 8 &{} t_{0} < -21\\ -t_{0} - 13 &{} -21 \le t_{0} < -20.5\\ 6 &{} -20.5 \le t_{0} < 2.5\\ -t_{0} + 8.5 &{} 2.5 \le t_{0} < 4.5\\ 4 &{} t_{0} \ge 4.5 \end{array} \right. \end{aligned}$$ -
stage 1 – state \([0 \; 1 \; 2 \; t_{1}]^{T}\)
$$\begin{aligned} \delta _{1}^{\circ } (0,1,2, t_{1})= & {} \left\{ \begin{array}{ll} 0 &{} t_{1} < 15\\ 1 &{} 15 \le t_{1} < 17.5\\ 0 &{} t_{1} \ge 17.5 \end{array} \right. \\ \delta _{2}^{\circ } (0,1,2, t_{1})= & {} \left\{ \begin{array}{ll} 1 &{} t_{1} < 15\\ 0 &{} 15 \le t_{1} < 17.5\\ 1 &{} t_{1} \ge 17.5 \end{array} \right. \\ \tau ^{\circ } (0,1,2, t_{1})= & {} \left\{ \begin{array}{ll} 6 &{} t_{1} < 8.5\\ -t_{1} + 14.5 &{} 8.5 \le t_{1} < 10.5\\ 4 &{} t_{1} \ge 10.5 \end{array} \right. \end{aligned}$$ -
stage 2 – state \([0 \; 2 \; 2 \; t_{2}]^{T}\)
$$\begin{aligned} \delta _{1}^{\circ } (0,2,2, t_{2})= & {} \left\{ \begin{array}{ll} 0 &{} t_{2} < 0\\ 1 &{} 0 \le t_{2} < 29.25\\ 0 &{} t_{2} \ge 29.25 \end{array} \right. \\ \delta _{2}^{\circ } (0,2,2, t_{2})= & {} \left\{ \begin{array}{ll} 1 &{} t_{2} < 0\\ 0 &{} 0 \le t_{2} < 29.25\\ 1 &{} t_{2} \ge 29.25 \end{array} \right. \\ \tau ^{\circ } (0,2,2, t_{2})= & {} \left\{ \begin{array}{ll} 6 &{} t_{2} < 0\\ 8 &{} 0 \le t_{2} < 4.5\\ -t_{2} + 12.5 &{} 4.5 \le t_{2} < 8.5\\ 4 &{} t_{2} \ge 8.5 \end{array} \right. \end{aligned}$$ -
stage 3 – state \([1 \; 2 \; 1 \; t_{3}]^{T}\)
$$\begin{aligned} \delta _{1}^{\circ } (1,2,1, t_{3})= & {} 1 \quad \forall \, t_{3}\\ \delta _{2}^{\circ } (1,2,1, t_{3})= & {} 0 \quad \forall \, t_{3}\\ \tau ^{\circ } (1,2,1, t_{3})= & {} \left\{ \begin{array}{ll} 8 &{} t_{3} < 7\\ -t_{3} + 15 &{} 7 \le t_{3} < 8\\ 8 &{} 8 \le t_{3} < 13\\ -t_{3} + 21 &{} 13 \le t_{3} < 17\\ 4 &{} t_{3} \ge 17 \end{array} \right. \end{aligned}$$ -
stage 4 – state \([2 \; 2 \; 1 \; t_{4}]^{T}\)
$$\begin{aligned} \delta _{1}^{\circ } (2,2,1, t_{4})= & {} 1 \quad \forall \, t_{4}\\ \delta _{2}^{\circ } (2,2,1, t_{4})= & {} 0 \quad \forall \, t_{4}\\ \tau ^{\circ } (2,2,1, t_{4})= & {} \left\{ \begin{array}{ll} 8 &{} t_{4} < 15\\ -t_{4} + 23 &{} 15 \le t_{4} < 16\\ 8 &{} 16 \le t_{4} < 21\\ -t_{4} + 29 &{} 21 \le t_{4} < 25\\ 4 &{} t_{4} \ge 25 \end{array} \right. \end{aligned}$$ -
stage 5 – state \([3 \; 2 \; 1 \; t_{5}]^{T}\)
$$\begin{aligned} \delta _{1}^{\circ } (3,2,1, t_{5})= & {} \left\{ \begin{array}{ll} 1 &{} t_{5} < 24\\ 0 &{} t_{5} \ge 24 \end{array} \right. \\ \delta _{2}^{\circ } (3,2,1, t_{5})= & {} \left\{ \begin{array}{ll} 0 &{} t_{5} < 24\\ 1 &{} t_{5} \ge 24 \end{array} \right. \\ \tau ^{\circ } (3,2,1, t_{5})= & {} \left\{ \begin{array}{ll} 8 &{} t_{5} < 23\\ -t_{5} + 31 &{} 23 \le t_{5} < 24\\ 6 &{} 24 \le t_{5} < 31\\ -t_{5} + 37 &{} 31 \le t_{5} < 33\\ 4 &{} t_{5} \ge 33 \end{array} \right. \end{aligned}$$ -
stage 6 – state \([3 \; 3 \; 2 \; t_{6}]^{T}\)
$$\begin{aligned} \delta _{1}^{\circ } (3,3,2, t_{6})= & {} 1 \quad \forall \, t_{6}\\ \delta _{2}^{\circ } (3,3,2, t_{6})= & {} 0 \quad \forall \, t_{6}\\ \tau ^{\circ } (3,3,2, t_{6})= & {} 8 \quad \forall \, t_{6} \end{aligned}$$
1.2 Strategies used to obtain the optimal solution in the perturbed case #1
-
stage 0 – state \([0 \; 0 \; 0 \; t_{0}]^{T}\) (see previous page)
-
stage 1 – state \([0 \; 1 \; 2 \; t_{1}]^{T}\) (see previous page)
-
stage 2 – state \([1 \; 1 \; 1 \; t_{2}]^{T}\)
$$\begin{aligned} \delta _{1}^{\circ } (1,1,1, t_{2})= & {} \left\{ \begin{array}{ll} 1 &{} t_{2} < -6\\ 0 &{} -6 \le t_{2} < 1\\ 1 &{} 1 \le t_{2} < 15.5\\ 0 &{} 15.5 \le t_{2} < 17.25\\ 1 &{} t_{2} \ge 17.25 \end{array} \right. \\ \delta _{2}^{\circ } (1,1,1, t_{2})= & {} \left\{ \begin{array}{ll} 0 &{} t_{2} < -6\\ 1 &{} -6 \le t_{2} < 1\\ 0 &{} 1 \le t_{2} < 15.5\\ 1 &{} 15.5 \le t_{2} < 17.25\\ 0 &{} t_{2} \ge 17.25 \end{array} \right. \\ \tau ^{\circ } (1,1,1, t_{2})= & {} \left\{ \begin{array}{ll} 8 &{} t_{2} < -7\\ -t_{2} + 1 &{} -7 \le t_{2} < -6\\ 6 &{} -6 \le t_{2} < 1\\ -t_{2} + 9 &{} 1 \le t_{2} < 3\\ 8 &{} 3 \le t_{2} < 5.5\\ -t_{2} +13.5 &{} 5.5 \le t_{2} < 9.5\\ 4 &{} t_{2} \ge 9.5 \end{array} \right. \end{aligned}$$ -
stage 3 – state \([2 \; 1 \; 1 \; t_{3}]^{T}\)
$$\begin{aligned} \delta _{1}^{\circ } (2,1,1, t_{3})= & {} \left\{ \begin{array}{ll} 1 &{} t_{3} < 2\\ 0 &{} 2 \le t_{3} < 9\\ 1 &{} 9 \le t_{3} < 11\\ 0 &{} 11 \le t_{3} < 20.\overline{6}\\ 1 &{} t_{3} \ge 20.\overline{6} \end{array} \right. \\ \delta _{2}^{\circ } (2,1,1, t_{3})= & {} \left\{ \begin{array}{ll} 0 &{} t_{3} < 2\\ 1 &{} 2 \le t_{3} < 9\\ 0 &{} 9 \le t_{3} < 11\\ 1 &{} 11 \le t_{3} < 20.\overline{6}\\ 0 &{} t_{3} \ge 20.\overline{6} \end{array} \right. \\ \tau ^{\circ } (2,1,1, t_{3})= & {} \left\{ \begin{array}{ll} 8 &{} t_{3} < 1\\ -t_{3} + 9 &{} 1 \le t_{3} < 2\\ 6 &{} 2 \le t_{3} < 9\\ -t_{3} + 17 &{} 9 \le t_{3} < 11\\ 6 &{} 11 \le t_{3} < 17\\ -t_{3} + 23 &{} 17 \le t_{3} < 19\\ 4 &{} t_{3} \ge 19 \end{array} \right. \end{aligned}$$ -
stage 4 – state \([3 \; 1 \; 1 \; t_{4}]^{T}\)
$$\begin{aligned} \delta _{1}^{\circ } (3,1,1, t_{4})= & {} \left\{ \begin{array}{ll} 1 &{} t_{4} < 10\\ 0 &{} t_{4} \ge 10 \end{array} \right. \\ \delta _{2}^{\circ } (3,1,1, t_{4})= & {} \left\{ \begin{array}{ll} 0 &{} t_{4} < 10\\ 1 &{} t_{4} \ge 10 \end{array} \right. \\ \tau ^{\circ } (3,1,1, t_{4})= & {} \left\{ \begin{array}{ll} 8 &{} t_{4} < 9\\ -t_{4} + 17 &{} 9 \le t_{4} < 24.5\\ 6 &{} 10 \le t_{4} < 19.5\\ -t_{4} + 25.5 &{} 19.5 \le t_{4} < 21.5\\ 4 &{} t_{4} \ge 21.5 \end{array} \right. \end{aligned}$$ -
stage 5 – state \([3 \; 2 \; 2 \; t_{5}]^{T}\)
$$\begin{aligned} \delta _{1}^{\circ } (3,2,2, t_{5})= & {} 0 \quad \forall \, t_{5}\\ \delta _{2}^{\circ } (3,2,2, t_{5})= & {} 1 \quad \forall \, t_{5}\\ \tau ^{\circ } (3,2,2, t_{5})= & {} \left\{ \begin{array}{ll} 6 &{} t_{5} < 32\\ -t_{5} + 38 &{} 32 \le t_{5} < 34\\ 4 &{} t_{4} \ge 34 \end{array} \right. \end{aligned}$$ -
stage 6 – state \([3 \; 3 \; 2 \; t_{6}]^{T}\) (see above)
1.3 Strategies used to obtain the optimal solution in the perturbed case #2
-
stage 0 – state \([0 \; 0 \; 0 \; t_{0}]^{T}\) (see previous page)
-
stage 1 – state \([0 \; 1 \; 2 \; t_{1}]^{T}\) (see previous page)
-
stage 2 – state \([0 \; 2 \; 2 \; t_{2}]^{T}\) (see previous page)
-
stage 3 – state \([1 \; 2 \; 1 \; t_{3}]^{T}\) (see previous page)
-
stage 4 – state \([2 \; 2 \; 1 \; t_{4}]^{T}\) (see above)
-
stage 5 – state \([3 \; 2 \; 1 \; t_{5}]^{T}\) (see above)
-
stage 6 – state \([3 \; 3 \; 2 \; t_{6}]^{T}\) (see above)
Rights and permissions
About this article
Cite this article
Giglio, D. Optimal control strategies for single-machine family scheduling with sequence-dependent batch setup and controllable processing times. J Sched 18, 525–543 (2015). https://doi.org/10.1007/s10951-015-0440-2
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10951-015-0440-2