Skip to main content

Advertisement

Log in

Iterated local search for single machine total weighted tardiness batch scheduling

  • Published:
Journal of Heuristics Aims and scope Submit manuscript

Abstract

This paper presents an iterated local search (ILS) algorithm for the single machine total weighted tardiness batch scheduling problem. To our knowledge, this is one of the first attempts to apply ILS to solve a batching scheduling problem. The proposed algorithm contains a local search procedure that explores five neighborhood structures, and we show how to efficiently implement them. Moreover, we compare the performance of our algorithm with dynamic programming-based implementations for the problem, including one from the literature and two other ones inspired in biased random-key genetic algorithms and ILS. We also demonstrate that finding the optimal batching for the problem given a fixed sequence of jobs is \(\mathcal {NP}\)-hard, and provide an exact pseudo-polynomial time dynamic programming algorithm for solving such problem. Extensive computational experiments were conducted on newly proposed benchmark instances, and the results indicate that our algorithm yields highly competitive results when compared to other strategies. Finally, it was also observed that the methods that rely on dynamic programming tend to be time-consuming, even for small size instances.

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

Similar content being viewed by others

References

  • Almeder, C., Mönch, L.: Metaheuristics for scheduling jobs with incompatible families on parallel batching machines. J. Oper. Res. Soc. 62(12), 2083–2096 (2011)

    Article  Google Scholar 

  • Balasubramanian, H., Mönch, L., Fowler, J., Pfund, M.: Genetic algorithm based scheduling of parallel batch machines with incompatible job families to minimize total weighted tardiness. Int. J. Prod. Res. 42(8), 1621–1638 (2004)

    Article  Google Scholar 

  • Blazewicz, J., Ecker, K.H., Pesch, E., Schmidt, G., Sterna, M., Weglarz, J.: Handbook on Scheduling. Springer International Publishing, Cham (2019). https://doi.org/10.1007/978-3-319-99849-7

    Book  Google Scholar 

  • Brucker, P., Gladky, A., Hoogeveen, H., Kovalyov, M.Y., Potts, C.N., Tautenhahn, T., van de Velde, S.L.: Scheduling a batching machine. J. Sched. 1(1), 31–54 (1998)

    Article  MathSciNet  Google Scholar 

  • Chang, P.C., Wang, H.M.: A heuristic for a batch processing machine scheduled to minimise total completion time with non-identical job sizes. Int. J. Adv. Manuf. Technol. 24(7), 615–620 (2004)

    Article  Google Scholar 

  • Chiang, T.C., Cheng, H.C., Fu, L.C.: A memetic algorithm for minimizing total weighted tardiness on parallel batch machines with incompatible job families and dynamic job arrival. Comput. Oper. Res. 37(12), 2257–2269 (2010)

    Article  MathSciNet  Google Scholar 

  • Chou, F.D., Wang, H.M.: Scheduling for a single semiconductor batch-processing machine to minimize total weighted tardiness. J. Chin. Inst. Ind. Eng. 25(2), 136–147 (2008)

    MathSciNet  Google Scholar 

  • Chou, F.D., Chang, P.C., Wang, H.M.: A hybrid genetic algorithm to minimize makespan for the single batch machine dynamic scheduling problem. Int. J. Adv. Manuf. Technol. 31(3), 350–359 (2006)

    Article  Google Scholar 

  • Erramilli, V., Mason, S.J.: Multiple orders per job batch scheduling with incompatible jobs. Ann. Oper. Res. 159(1), 245–260 (2008)

    Article  MathSciNet  Google Scholar 

  • Gonçalves, J.F., Resende, M.G.C.: Biased random-key genetic algorithms for combinatorial optimization. J. Heur. 17(5), 487–525 (2011). https://doi.org/10.1007/s10732-010-9143-1

    Article  Google Scholar 

  • Graham, R., Lawler, E., Lenstra, J., Kan, A.: Optimization and approximation in deterministic sequencing and scheduling: a survey. In: PL Hammer EJ, Korte B (eds) Discrete Optimization II Proceedings of the Advanced Research Institute on Discrete Optimization and Systems Applications of the Systems Science Panel of NATO and of the Discrete Optimization Symposium Co-sponsored by IBM Canada and SIAM Banff, Aha and Vancouver, Annals of Discrete Mathematics, vol. 5, pp. 287–326. Elsevier (1979)

  • Grosso, A., Croce, F.D., Tadei, R.: An enhanced dynasearch neighborhood for the single-machine total weighted tardiness scheduling problem. Oper. Res. Lett. 32(1), 68–72 (2004)

    Article  MathSciNet  Google Scholar 

  • Hansen, P., Mladenović, N., Brimberg, J., Pérez, J.: Handbook of Metaheuristics. Springer, Chap Variable Neighborhood Search, pp. 61–86 (2010)

  • Hulett, M., Damodaran, P., Amouie, M.: Scheduling non-identical parallel batch processing machines to minimize total weighted tardiness using particle swarm optimization. Comput. Ind. Eng. 113, 425–436 (2017)

    Article  Google Scholar 

  • Kohn, R.: A Framework for Batch Scheduling with Variable Neighborhood Search in Wafer Fabrication. Ph.D. Thesis, Universität der Bundeswehr München (2015)

  • Kress, D., Barketau, M., Pesch, E.: Single-machine batch scheduling to minimize the total setup cost in the presence of deadlines. J. Sched. 21(6), 595–606 (2018)

    Article  MathSciNet  Google Scholar 

  • Kurz, M.E., Mason, S.J.: Minimizing total weighted tardiness on a batch-processing machine with incompatible job families and job ready times. Int. J. Prod. Res. 46(1), 131–151 (2008)

    Article  Google Scholar 

  • Lee, C.Y.: Minimizing makespan on a single batch processing machine with dynamic job arrivals. Int. J. Prod. Res. 37(1), 219–236 (1999)

    Article  Google Scholar 

  • Lee, C.Y., Uzsoy, R., Martin-Vega, L.A.: Efficient algorithms for scheduling semiconductor burn-in operations. Oper. Res. 40(4), 764–775 (1992)

    Article  MathSciNet  Google Scholar 

  • Li, S., Li, G., Wang, X., Liu, Q.: Minimizing makespan on a single batching machine with release times and non-identical job sizes. Oper. Res. Lett. 33(2), 157–164 (2005)

    Article  MathSciNet  Google Scholar 

  • Lourenço, H.R., Martin, O.C., Stützle, T.: Iterated local search: framework and applications. In: Gendreau, M., Potvin, J.Y. (eds.) Handbook of Metaheuristics, pp. 129–168. Springer International Publishing, Cham (2019)

    Chapter  Google Scholar 

  • Lu, S., Feng, H., Li, X.: Minimizing the makespan on a single parallel batching machine. Theoret. Comput. Sci. 411(7), 1140–1145 (2010)

    Article  MathSciNet  Google Scholar 

  • Martins, I.C., Pinheiro, R.G., Protti, F., Ochi, L.S.: A hybrid iterated local search and variable neighborhood descent heuristic applied to the cell formation problem. Expert Syst. Appl. 42(22), 8947–8955 (2015)

    Article  Google Scholar 

  • Mathirajan, M., Sivakumar, A.: A literature review, classification and simple meta-analysis on scheduling of batch processors in semiconductor. Int. J. Adv. Manuf. Technol. 29(9), 990–1001 (2006)

    Article  Google Scholar 

  • Mathirajan, M., Bhargav, V., Ramachandran, V.: Minimizing total weighted tardiness on a batch-processing machine with non-agreeable release times and due dates. Int. J. Adv. Manuf. Technol. 48(9), 1133–1148 (2010)

    Article  Google Scholar 

  • Mönch, L., Roob, S.: A matheuristic framework for batch machine scheduling problems with incompatible job families and regular sum objective. Appl. Soft Comput. 68, 835–846 (2018)

    Article  Google Scholar 

  • Mönch, L., Balasubramanian, H., Fowler, J.W., Pfund, M.E.: Heuristic scheduling of jobs on parallel batch machines with incompatible job families and unequal ready times. Comput. Oper. Res. 32(11), 2731–2750 (2005)

    Article  Google Scholar 

  • Mönch, L., Fowler, J., Dauzère-Pérès, S., Mason, S., Rose, O.: A survey of problems, solution techniques, and future challenges in scheduling semiconductor manufacturing operations. J. Sched. 14(6), 583–599 (2011)

    Article  MathSciNet  Google Scholar 

  • Penna, P.H.V., Subramanian, A., Ochi, L.S.: An iterated local search heuristic for the heterogeneous fleet vehicle routing problem. J. Heur. 19(2), 201–232 (2013)

    Article  Google Scholar 

  • Perez, I.C., Fowler, J.W., Carlyle, W.: Minimizing total weighted tardiness on a single batch process machine with incompatible job families. Comput. Oper. Res. 32(2), 327–341 (2005)

    Article  MathSciNet  Google Scholar 

  • Pessoa, A., Bulhões, T., Nesello, V., Subramanian, A.: Exact approaches for single machine total weighted tardiness batch scheduling, Working Paper (2020)

  • Pinedo, M.L.: Scheduling: Theory, Algorithms and Systems. Springer International Publishing, Cham (2016)

    Book  Google Scholar 

  • Potts, C.N., Kovalyov, M.Y.: Scheduling with batching: a review. Eur. J. Oper. Res. 120(2), 228–249 (2000)

    Article  MathSciNet  Google Scholar 

  • Potts, C.N., Wassenhove, L.N.V.: Integrating scheduling with batching and lot-sizing: a review of algorithms and complexity. J. Oper. Res. Soc. 43(5), 395–406 (1992)

    Article  Google Scholar 

  • Subramanian, A., Farias, K.: Efficient local search limitation strategy for single machine total weighted tardiness scheduling with sequence-dependent setup times. Comput. Oper. Res. 79, 190–206 (2017)

    Article  MathSciNet  Google Scholar 

  • Subramanian, A., Battarra, M., Potts, C.: An iterated local search heuristic for the single machine total weighted tardiness problem with sequence-dependent setup times. Int. J. Prod. Res. 52(9), 2729–2742 (2014)

    Article  Google Scholar 

  • Tangudu, S.K., Kurz, M.E.: A branch and bound algorithm to minimise total weighted tardiness on a single batch processing machine with ready times and incompatible job families. Prod. Plan. Control 17(7), 728–741 (2006)

    Article  Google Scholar 

  • Toso, R., Resende, M.: A C++ application programming interface for biased random-key genetic algorithms. Optim. Methods Sotfw. 30(1), 81–93 (2015)

    Article  Google Scholar 

  • Velez-Gallego, M., Damodaran, P., Rodríguez, M.: Makespan minimization on a single batch processing machine with unequal job ready times. Int. J. Ind. Eng. Theory Appl. Pract. 18(10), (2011)

  • Vélez-Gallego, M.C., Maya, J., Damodaran, P.: Minimizing total weighted tardiness on a batch-processing machine with non-identical job sizes and non-zero ready times. In: IIE Annual Conference on Proceedings, Institute of Industrial and Systems Engineers (IISE), p. 1 (2011)

  • Vepsalainen, A.P.J.: Priority rules for job shops with weighted tardiness costs. Manage. Sci. 33(8), 1035–1047 (1987)

    Article  Google Scholar 

  • Wang, H.M.: Solving single batch-processing machine problems using an iterated heuristic. Int. J. Prod. Res. 49(14), 4245–4261 (2011)

    Article  Google Scholar 

  • Wang, H.M., Chou, F.D.: Bi-criteria single batch-processing machine with job release time and non-identical job sizes. Int. J. Inf. Educ. Technol. 3(5), 536 (2013)

    Google Scholar 

  • Xu, R., Chen, H., Li, X.: Makespan minimization on single batch-processing machine via ant colony optimization. Comput. Oper. Res. 39(3), 582–593 (2012)

    Article  MathSciNet  Google Scholar 

  • Zee, D.J.V.D.: Dynamic scheduling of batch-processing machines with non-identical product sizes. Int. J. Prod. Res. 45(10), 2327–2349 (2007)

    Article  Google Scholar 

  • Zhou, S., Chen, H., Xu, R., Li, X.: Minimising makespan on a single batch processing machine with dynamic job arrivals and non-identical job sizes. Int. J. Prod. Res. 52(8), 2258–2274 (2014)

    Article  Google Scholar 

  • Zinouri, N., Muskeyvalley, R., Damodaran, P., Ghrayeb, O.: Scheduling a batch processing machine to minimize total weighted tardiness. In: 62nd IIE Annual Conference and Expo 2012, pp. 692–701. Institute of Industrial and Systems Engineers (IISE), Institute of Industrial Engineers (2012)

Download references

Acknowledgements

This research was partially supported by the Brazilian research agencies CNPq, Grants 428549/2016-0, 307843/2018-1, 306033/2019-4 and by CAPES—Finance Code 001.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Anand Subramanian.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

: TWTBSP with fixed sequence of jobs

figure i

The decision version of TWTBSP\(_\text {seq}\) (or \(\hbox {TWTBSDP}_\text {seq}\) for short) includes the maximum weighted tardiness \(\hbox {TWT}_{\max }\) as an additional data, and asks whether a feasible TWTBSP\(_\text {seq}\) batching with TWT \(\le \) \(\hbox {TWT}_{\max }\) exists or not. The next proposition proves the hardness of TWTBSP\(_\text {seq}\) by showing that its decision version is \(\mathcal {NP}\)-Complete.

Proposition 1

The decision version of TWTBSP\(_\text {seq}\) is \(\mathcal {NP}\)-Complete, even if \(r_j = 0\), for \(j = 1, \ldots , n\).

Proof

Clearly the \(\hbox {TWTBSDP}_\text {seq}\) belongs to \(\mathcal {NP}\) (since a certificate for the positive answer is easily verified in polynomial time). It remains to prove its completeness, which we show through a reduction from the Subset Sum Problem (SSP).

Given a set \(S = \{v_1, \ldots , v_{{\bar{n}}}\}\) of positive integers and a target positive integer V, the SSP asks whether a subset \(S'\) of S whose elements sum exactly V exists or not. For the sake of simplicity, we assume without loss of generality in this proof that \(\pi _{[j]} = j\), for \(j = 1, \ldots , n\). Let also M and \(M'\) be sufficiently large numbers whose values we define later, with \(M > M'\), and \({\bar{V}} = \sum \limits _{j = 1}^{{\bar{n}}} v_j - V\).

For a given instance of the SSP, we show next how to build a corresponding instance for the \(\hbox {TWTBSDP}_\text {seq}\) such that \(r_j = 0\), for \(j = 1, \ldots , n\):

  • \(n = 2{\bar{n}}\), \(Q = {\bar{n}} + 1\), and TWT\(_{\max } = M {\bar{V}} + M'\),

  • \(p_{2j - 1} = v_j\), \(d_{2j - 1} = (j - 1)M\), \(w_{2j - 1} = v_j\), and \(s_{2j - 1} = j\), for \(j = 1,\ldots , {\bar{n}}\),

  • \(p_{2j} = M\), \(d_{2j} = w_{2j} = 0\), and \(s_{2j} = {\bar{n}} - j + 1\), for \(j = 1,\ldots , {\bar{n}} - 1\),

  • \(p_n = M\), \(d_n = M n + V\), \(w_n = \text{ TWT}_{\max } + 1\), and \(s_n = 1\).

Jobs with odd indices are referred to as the short ones and those with even indices as the long ones.

For example, consider a SSP instance with \(S = \{3, 4, 5, 7\}\), and \(V = 10\), where \(v_1 = 3\) and \(v_4 = 7\) compose a certificate for the positive answer. Let us also assume that \(M = 1000\). In this case, the corresponding \(\hbox {TWTBSDP}_\text {seq}\) instance would have \(p_1 = 3\), \(p_3 = 4\), \(p_5 = 5\), \(p_7 = 7\), and the remaining processing times equal to 1000. Moreover, \(s_1, s_2, s_3, s_4, s_5, s_6, s_7,\) and \(s_8\) would be equal to 1, 4, 2, 3, 3, 2, 4,  and 1, respectively, and \(Q = 5\). Figure 8 represents a certificate for the positive answer to this instance, where short jobs are shadowed. Note that the numbers \(v_1\) and \(v_4\) selected in the SSP certificate correspond to the short jobs that belong to unitary batches.

Fig. 8
figure 8

A certificate for a \(\hbox {TWTBSDP}_\text {seq}\) instance built from a SSP instance with \(S = \{3, 4, 5, 7\}\), and \(V = 10\)

In general, given a certificate \(S'\) for the SSP instance, the batches of a certificate for the corresponding \(\hbox {TWTBSDP}_\text {seq}\) instance are constructed as follows. Start with an empty \({\mathcal {B}}\). Then, for \(j = 1,\ldots , {\bar{n}}\), if \(v_j \in S'\), add two unitary batches \(\{2j - 1\}\) and \(\{2j\}\) to \({\mathcal {B}}\). Otherwise, if \(v_j \not \in S'\), add a single batch \(\{2j - 1, 2j\}\) to \({\mathcal {B}}\).

We prove now that (by setting appropriate values for M and \(M'\)) this is a valid certificate for the \(\hbox {TWTBSDP}_\text {seq}\) instance. First, note that, since there are exactly \({\bar{n}}\) long jobs and the processing times of all short jobs that are alone in their batches sum up to V, the completion time of job n is exactly \(d_n = M{\bar{n}} + V\). Moreover, for all j such that \(v_j \in S'\), its completion time is exactly \((j-1)M + \sum \limits _{\begin{array}{c} k = 1 \\ v_k \in S' \end{array}}^{j} v_k\), contributing with \(v_j \sum \limits _{\begin{array}{c} k = 1 \\ v_k \in S' \end{array}}^{j} v_k\) to the TWT. Furthermore, for all j such that \(v_j \in S \setminus S'\), its completion time is exactly \(jM + \sum \limits _{\begin{array}{c} k = 1 \\ v_k \in S' \end{array}}^{j -1} v_k\), contributing with \(v_j \left( M + \sum \limits _{\begin{array}{c} k = 1 \\ v_k \in S' \end{array}}^{j - 1} v_k \right) \) to the TWT. Then, by setting \(M' = \left( \sum \limits _{k = 1}^{{\bar{n}}} v_k \right) ^2\), we make sure that the sum of all TWT terms that do not depend on M does not exceed \(M'\). Clearly, the TWT terms that depend on M sum exactly \(M{\bar{V}}\), which results in a TWT not greater then \(\hbox {TWT}_{\max }\).

It remains to prove that a valid certificate for the \(\hbox {TWTBSDP}_\text {seq}\) instance also implies a positive answer to the SSP instance. To see this, note that the jobs 2j and \(2j + 1\), for \(j = 1,\ldots ,{\bar{n}} - 1\), cannot belong to the same batch due to the capacity constraints. Thus, it only remains the choices of whether or not to join the jobs \(2j - 1\) and 2j into a single batch, for \(j = 1,\ldots ,{\bar{n}}\).

Now, consider that set \(S'\) built as follows: for all \(j \in \{1, \ldots , {\bar{n}}\}\) such that jobs \(2j - 1\) and 2j do not form a batch, add \(v_j\) to \(S'\). We argue that \(\sum \limits _{j \in S'} v_j = V\). First, if we had \(\sum \limits _{j \in S'} v_j > V\), this would lead to a completion time greater than \(d_n\) for job n, forcing the TWT to be at least \(\hbox {TWT}_{\max } + 1\). Moreover, if we had \(\sum \limits _{v \in S'} v < V\), and thus \(\sum \limits _{v \in S \setminus S'} v > {\bar{V}}\), the contribution of the short jobs to the TWT would not be smaller than \(M({\bar{V}} + 1)\) which exceeds \(\hbox {TWT}_{\max }\), assuming that \(M > M'\).

To complete this proof, we observe that setting \(M = M' + 1\) satisfies all the assumptions made so far on the value of M. \(\square \)

: DP proposed by Chou and Wang (2008)

Given a sequence of jobs \(\pi = (\pi _{[1]},\pi _{[2]},\ldots , \pi _{[k]}, \ldots , \pi _{[n]})\), we define \(\pi ^k = (\pi _{[1]},\pi _{[2]},\ldots , \pi _{[k]})\) as a subset of \(\pi \) containing the first k jobs, and \(\pi ^k_j = (\pi _{[k-j+1]},\ldots , \pi _{[k]})\) as a subset of \(\pi ^k\) containing the j jobs from position \(k-j+1\) to position k. The minimum TWT for \(\pi ^k\) is given by \(TWT(\pi ^k)=\min _{1\le j\le k} \{f(\pi ^k,j)\}\) such that

$$\begin{aligned} f(\pi ^{k}, j) = {\left\{ \begin{array}{ll} TWT(\pi ^{k-j}) + \sum \nolimits _{i \in \pi _{j}^{k}} w_{i} {\mathcal {T}}_{ij},&{}\quad \text {if}\ \sum \nolimits _{i \in \pi _{j}^{k}} q_{i} \le Q \\ \infty ,&{}\quad {\text {otherwise}} \end{array}\right. } \end{aligned}$$

where \({\mathcal {T}}_{ij} = \max (0, g(\pi ^k,j)-d_{i})\). Let \(\gamma (\pi ^k) = {{\,\mathrm{arg\,min}\,}}_{1\le j\le k} \{f(\pi ^k,j)\}\) be the index which defines the last batch of \(\pi ^k\) as \((\pi _{[k-\gamma (\pi ^k)+1]},\ldots , \pi _{[k]})\). The recursive function \(g(\pi ^k,j)=\max _{i \in \pi ^k_j} \{g(\pi ^{k-j}, \gamma (\pi ^{k-j})), r_{i}\} + \max _{i \in \pi ^k_j} p_{i}\) returns the completion time of the last batch of \(\pi ^k\) assuming that it is defined as \((\pi _{[j]}, \ldots , \pi _{[k]})\). In addition, we have \(\pi ^0 = \emptyset \), \(\gamma (\emptyset )=\emptyset \), \(g(\emptyset ,\emptyset )=0\), and \(TWT(\emptyset )=0\). To recover the solution, it is necessary to build the batches from right to left using \(\gamma \). For example, if \(l_1=\gamma (\pi ^n)\), the last batch is \((\pi _{[n-l_1+1]},\ldots ,\pi _{[n]})\). Given that \(l_2=l_1+\gamma (\pi ^{n-l_1})\), the last but one batch is \((\pi _{[n-l_2+1]},\ldots ,\pi _{[n-l_1]})\). The process of finding \(l_k=l_{k-1}+\gamma (\pi ^{n-l_{k-1}})\) is repeated until the first batch is built.

Figure 9 shows a 3-job instance for which the DP algorithm fails to find the optimal batching over the sequence \(\pi =(1,2,3)\). This is due to the fact that solving a subproblem \(\pi ^k\) optimally (\(k<n\)) can be seen as a greedy decision because it does not guarantee that the completion time of the last batch of \(\pi ^k\) is minimal. In the example, the DP procedure places jobs 1 and 2 in different batches, where \(TWT(\pi ^2) = 0\) and \(g(\pi ^2)=4\). Thus, \(TWT(\pi ^3)=2\) because the job 3 is forced to have weighted tardiness of 2 (the solution where 1 and 2 are in the same batch with completion time 3 is not evaluated). Table 11 shows the complete execution of the algorithm. Let \(l_1=\gamma (\pi ^3)=1\), we have that the third batch is \((\pi _{[3-l_1+1]},\ldots ,\pi _{[3]})=(\pi _{[3-1+1]},\ldots ,\pi _{[3]})=(\pi _{[3]})\); let \(l_2=l_1+\gamma (\pi ^{3-l_1})=1+\gamma (\pi ^{2})=2\), the second batch is \((\pi _{[3-l_2+1]},\ldots ,\pi _{[3-l_1]})=(\pi _{[3-2+1]},\ldots ,\pi _{[2]})= (\pi _{[2]})\); and let \(l_3=l_2+\gamma (\pi ^{3-l_2})=2+\gamma (\pi ^{1})=3\), the first batch is \((\pi _{[3-l_3+1]},\ldots ,\pi _{[3-l_2]})=(\pi _{[3-3+1]},\ldots ,\pi _{[1]})= (\pi _{[1]})\).

Fig. 9
figure 9

Couterexample showing that the DP algorithm by Chou and Wang (2008) is not exact for the TWTBSP\(_\text {seq}\). The input is the job sequence \(\pi =(1,2,3)\)

Table 11 Execution of the DP algorithm by Chou and Wang (2008) over the instance in Fig. 9

: Exact DP algorithm for the TWTBSP\(_\text {seq}\) 

In this appendix, we describe an exact dynamic programming approach for TWTBSP\(_\text {seq}\) . Given a sequence of jobs \(\pi = (\pi _{[1]},\pi _{[2]},\ldots , \pi _{[k]}, \ldots , \pi _{[n]})\), the algorithm determines the values \(TWT_{i,j}^r\) for \(1 \le i < j \le n\) and \(r \ge 0\). Each value \(TWT_{i,j}^r\) is defined as the total weighted tardiness found by the DP approach for TWTBSP\(_\text {seq}\) on an instance \(\{\pi _{[i]}, \ldots , \pi _{[j]}\} \subseteq {\pi }\) starting with a release date r. If \(TWT_{i',j}^{r'}\) is known for all \(i<i'\) and \(r< r'\), then we can consider each possible initial batch \(B'\) containing jobs \(\{\pi _{[i]}, \ldots , \pi _{[k]}\}\) and compute the corresponding solution \(TWT_{i,j}^r\) using the following recursive formula:

$$\begin{aligned} TWT_{i,j}^r = \min _{i \le k \le j} \Biggl ( w(i,k) + TWT_{k+1,j}^{C_{i,k}^r}\Biggr ) \end{aligned}$$
(1)

where \(C_{i,k}^r\) is the completion time of the batch \(B'\) with release date r and

$$\begin{aligned} w(i,k) = {\left\{ \begin{array}{ll} \sum \nolimits _{\rho =i}^k{w_\rho T_\rho } &{} \text {if~} \sum \nolimits _{\rho =i}^k {s}_{\rho } \le Q\\ w(i,k) = \infty &{} \text {otherwise}. \end{array}\right. } \end{aligned}$$

Note that if \(B'\) is a feasible batch, then w(ij) represents the weighted tardiness of \(B'\), and when \(k = j\), the procedure sets \(TWT_{k+1,j}^{C_{i,k}^r} = 0\).

Proposition 2

Given sequence of jobs \(\pi = (\pi _{[i]},\pi _{[i+1]}, \ldots , \pi _{[j]} )\). The DP algorithm finds an optimal batch partitioning for the TWTBSP in \({\mathcal {O}}(n^3 \max (r_{\mathrm{max}}, p_{sum}))\) pseudo-polynomial time, where \(r_{\mathrm{max}}\) is the maximum release date for all jobs in \(\pi \) and \(p_{sum} = \sum _{k =i} ^j p_k\).

Proof

The correctness of the algorithm follows directly by induction on \(j-i\). When \(j-i =1\), we have only one job in a single batch, and thus \(TWT_{i,j}^r = w(i,j) = OPT(i,j,r) \). Now consider arbitrary values of i, j and r, and suppose the statement is true for all pair \((i',j')\) with \(j' - i' < j - i\).

Let \({\mathcal {B}} = \{B_1, \ldots , B_\eta \}\) be an optimal solution with total weighted tardiness OPT(ijr) and initial batch \(B_1 = \{ \pi _{[i]}, \ldots , \pi _{[\ell ]}\}\) with completion time \(C_{i,\ell }^r\).

The algorithm uses recurrence (1) to compute \(TWT_{i,j}^r\) by minimizing

$$\begin{aligned} TWT_{i,j}^r = \min _{i \le k \le j} \Biggl ( w(i,k) + TWT_{k+1,j}^{C_{i,k}^r}\Biggr ) \le \Biggl ( w(i,\ell ) + TWT_{\ell +1,j}^{C_{i,\ell }^r}\Biggr ) \end{aligned}$$

Since \(j - (\ell +1) < j-i\), and using the induction hypothesis, we know that \(TWT_{\ell +1,j}^{C_{i,\ell }^r} = OPT(\ell +1, j,C_{i,\ell }^r)\). Therefore, we have that \(TWT_{i,j}^r \le w(i,\ell ) + OPT(\ell +1, j,C_{i,\ell }^r) = OPT(i,j,r)\), and thus \(TWT_{i,j}^r\) is an optimal value.

Let \(r_{\mathrm{max}} = \max _{k=1}^j{r_k}\) and \(p_{sum} = \sum _{k=i}^j {p_k}\). The proposed dynamic programming can be solved in \({\mathcal {O}}(n^3 \max (r_{\mathrm{max}}, p_{sum}))\). \(\square \)

It is obvious that by removing the first batch \(B_1\) from the optimal partitioning, the remaining solution set must be an optimal solution to the subproblem defined by release date \(r = C(B_1)\) and jobs set \(\{\pi _{[|B_1|+1]} , \ldots , \pi _{[n]}\}\). Any other choice may increase the optimal solution value. Hence, TWTBSP\(_\text {seq}\) has the property of an optimal substructure needed for applying a dynamic programming approach.

: Detailed results obtained by \(\hbox {ILS}_{\text {batch}}\)

This appendix reports the detailed results found by \(\hbox {ILS}_{\text {batch}}\) on each individual instance. More precisely, we report the minimum (Min) and average (Avg) TWT values among the 10 runs, as well as the CPU time in seconds. Moreover, we also report the best known solution (BKS) found after performing a long run of the algorithm, in which a time limit of 1 h was imposed as a stopping criterion, instead of the maximum number of restarts. Finally, we provide the lower bounds (LBs) made available in Pessoa et al. (2020). Bold values indicate that the optimal solution was found, whereas underlined values indicate that the BKS is better than the minimum value found during the regular runs (Tables 12 and 13).

Table 12 Detailed results of \(\hbox {ILS}_\text {batch}\) with \(Q=20\)
Table 13 Detailed results of \(\hbox {ILS}_\text {batch}\) with \(Q=40\)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Queiroga, E., Pinheiro, R.G.S., Christ, Q. et al. Iterated local search for single machine total weighted tardiness batch scheduling. J Heuristics 27, 353–438 (2021). https://doi.org/10.1007/s10732-020-09461-x

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10732-020-09461-x

Keywords

Navigation