Skip to main content
Log in

Optimal control strategies for single-machine family scheduling with sequence-dependent batch setup and controllable processing times

  • Published:
Journal of Scheduling Aims and scope Submit manuscript

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.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

Notes

  1. 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.

  2. 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) \).

  3. 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})\).

  4. The following acronyms are used in Tables 4, 5, 6, 7, and 8. ST setup time, PT processing time, CT completion time, WTC weighted tardiness cost, WCC weighted consumption cost, SC setup cost.

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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Akturk, M., & Ilhan, T. (2011). Single cnc machine scheduling with controllable processing times to minimize total weighted tardiness. Computers & Operations Research, 38, 771–781.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Cai, Y., Kutanoglu, E., Hasenbein, J., & Qin, J. (2012). Single-machine scheduling with advanced process control constraints. Journal of Scheduling, 15, 165–179.

    Article  Google Scholar 

  • Cheng, T., & Kovalyov, M. (1995). Single machine batch scheduling with deadlines and resource dependent processing times. Operations Research Letters, 17, 243–249.

    Article  Google Scholar 

  • Cheng, T., Janiak, A., & Kovalyov, M. (1998). Bicriterion single machine scheduling with resource dependent processing times. SIAM Journal on Optimization, 8(2), 617–630.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Daniels, R. (1990). A multi-objective approach to resource allocation in single machine scheduling. European Journal of Operational Research, 48(2), 226–241.

    Article  Google Scholar 

  • Daniels, R., & Kouvelis, P. (1995). Robust scheduling to hedge against processing time uncertainty in single-stage production. Management Science, 41(2), 363–376.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Gupta, A., & Sivakumar, A. (2005). Multi-objective scheduling of two-job families on a single machine. Omega, 33, 399–405.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Ivanov, D., & Sokolov, B. (2012). Dynamic supply chain scheduling. Journal of scheduling, 15(2), 201–216.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Kimemia, J., & Gershwin, S. B. (1983). An algorithm for the computer control of a flexible manufacturing system. IEE Transactions, 15(4), 353–362.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Ma, Y., Chu, C., & Zuo, C. (2010). A survey of scheduling with deterministic machine availability constraints. Computers & Industrial Engineering, 58, 199–211.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Mao, J., & Cassandras, C. (2007). Optimal control of two-stage discrete event systems with real-time constraints. Discrete Event Dynamic Systems, 17, 505–529.

    Article  Google Scholar 

  • Monma, C., & Potts, C. (1989). On the complexity of scheduling with batch setup times. Operations Research, 37(5), 798–804.

    Article  Google Scholar 

  • Mor, B., & Mosheiov, G. (2014). Batch scheduling of identical jobs with controllable processing times. Computers & Operations Research, 41, 115–124.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Nowicki, E., & Zdrzalka, S. (1990). A survey of results for sequencing problems with controllable processing times. Discrete Applied Mathematics, 26, 271–287.

    Article  Google Scholar 

  • Ouelhadj, D., & Petrovic, S. (2009). A survey of dynamic scheduling in manufacturing systems. Journal of Scheduling, 12(4), 417–431.

    Article  Google Scholar 

  • Panwalkar, S., & Rajagopalan, R. (1992). Single-machine sequencing with controllable processing times. European Journal of Operational Research, 59(2), 298–302.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Pinedo, M. (1995). Scheduling. Theory, algorithms and systems. Englewood Cliffs: Prentice-Hall Inc.

    Google Scholar 

  • Potts, C., & Kovalyov, M. (2000). Scheduling with batching: A review. European Journal of Operational Research, 120, 228–249.

    Article  Google Scholar 

  • Presby, J., & Wolfson, M. (1967). An algorithm for solving job sequencing problems. Management Science, 13(8), B454–B464.

    Article  Google Scholar 

  • Qi, X., Yu, G., & Bard, J. F. (2002). Single machine scheduling with assignable due dates. Discrete Applied Mathematics, 122, 211–233.

    Article  Google Scholar 

  • Raman, N., Rachamadugu, R., & Talbot, F. (1989). Real-time scheduling of an automated manufacturing center. European Journal of Operational Research, 40(2), 222–242.

    Article  Google Scholar 

  • Sawicki, J. (1973). The problems of tardiness and saturation in a multi-class queue with sequence-dependent setups. AIIE Transactions, 5(3), 250–255.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Schmidt, G. (2000). Scheduling with limited machine availability. European Journal of Operational Research, 121, 1–15.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Shabtay, D., & Steiner, G. (2007b). A survey of scheduling with controllable processing times. Discrete Applied Mathematics, 155, 1643–1666.

    Article  Google Scholar 

  • Shakhlevich, N., & Strusevich, V. (2006). Single machine scheduling with controllable release and processing parameters. Discrete Applied Mathematics, 154(15), 2178–2199.

    Article  Google Scholar 

  • Sourd, F. (2005). Earliness-tardiness scheduling with setup considerations. Computers & Operations Research, 32, 1849–1865.

    Article  Google Scholar 

  • Sourd, F. (2006). Dynasearch for the earliness-tardiness scheduling problem with release dates and setup constraints. Operations Research Letters, 34, 591–598.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Sun, X., & Noble, J. (1999). An approach to job shop scheduling with sequence-dependent setups. Journal of Manufacturing Systems, 18(6), 416–430.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Vickson, R. G. (1980b). Two single machine sequencing problems involving controllable job processing times. AIIE Transactions, 12(3), 258–262.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Wilbrecht, J., & Prescott, W. (1969). The influence of setup time on job shop performance. Management Science, 16(4), B274–B280.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Davide Giglio.

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

figure a

SECTION B – FIRST LOOP

figure b

SECTION C – SECOND LOOP

figure c

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. 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. 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. 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. 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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10951-015-0440-2

Keywords

Navigation