1 Introduction

In classic scheduling problems, the job processing times are assumed to be fixed during the entire production. However, this assumption might not be appropriate in many real-world situations. One is known as job deterioration in scheduling, and a deteriorating job can be described as its processing time grows when it awaits to be processed. The scheduling problem of deteriorating jobs was first introduced by Gupta and Gupta (1988) and Browne and Yechiali (1990), and extensive reviews on deteriorating jobs models were provided by Cheng et al. (2004) and Gawiejnowicz (2008). In recent years, more and more researchers have paid attentions to the scheduling problems with deteriorating jobs (Zhang et al. 2001).

As another popular topic in scheduling research, batch production exists in many production situations. Batch scheduling includes two types of processing, referring to parallel-batching and serial-batching. There are some papers addressing the parallel-batching scheduling problems with deteriorating jobs in recent years (Qi et al. 2009; Li et al. 2011; Miao et al. 2011, 2012). Qi et al. (2009) considered the unbounded model for several single machine problems, and they developed effective algorithms for minimizing the maximum cost, the number of tardy jobs, and the total weighted completion time, respectively. Li et al. (2011) investigated the problem of scheduling deteriorating jobs with release times on a single batch machine, where both unbounded and bounded models were considered. Miao et al. (2011) studied the bounded parallel-batch scheduling problem on single and multiple machines for deteriorating jobs. Miao et al. (2012) investigated the scheduling problem of deteriorating jobs on a single machine, where all jobs have different release times and the objective is to minimize the maximum lateness. However, research on serial-scheduling problems with deteriorating jobs is relatively unexplored. In Pei et al. (2015), we investigated the problem of the serial-batching scheduling with deteriorating jobs in an aluminum manufacturing factory for the first time, where all the jobs are first partitioned into serial batches and then processed on a single serial-batching machine. Before each batch is processed, an independent constant setup time is required. After further research on aluminum manufacturing process, in this paper we propose another type of scheduling problem with deteriorating jobs. Aluminum ingots are of multiple types, each of which includes a certain number of aluminum ingots. Each type of aluminum ingots is first partitioned into multiple batches, and then all batches of different job types are processed on a single serial-batching machine. The setup time before processing a batch is sequence-dependent. That is, if a new batch is the first batch to be processed on the machine or its previous batch is of a different job type, then the setup time for this new batch is required. Based on these two production characteristics, i.e., different job types and sequence-dependent setup times, the problem studied in this paper is different from that in our previous work (Pei et al. 2015). Thus, we investigate a new type of serial-batching scheduling problem with deteriorating jobs in practical production, and this research can further enhance productivity of the aluminum manufacturing factory.

Many papers on batch scheduling problems have taken into account sequence-dependent setup time as in this study (Agnetis et al. 2001; Detti et al. 2007; Liao et al. 2011), while this particular sequence-dependent setup time is different from the past-sequence-dependent (p-s-d) setup time considered in most scheduling problems with deteriorating jobs, where the p-s-d setup time is usually determined by the job position (Lai et al. 2011; Huang et al. 2013; Lee 2014). In addition, the group scheduling problems with deteriorating jobs are similar to the problem of our study. In the group scheduling problems, the jobs are classified into certain groups in advance based on similar production requirements. Wu et al. (2008) recently investigated the framework of minimizing the makespan and total completion time in group scheduling problems with deteriorating jobs on a single-machine. Wang et al. (2008) recently studied the single-machine scheduling problem with deteriorating jobs and group technology assumptions and considered the makespan minimization problem and the total weighted completion time minimization problem, where the group setup times are described by a linear function. More recent papers that studied group scheduling problems with deteriorating jobs include (Wang et al. 2009; Wang and Sun 2010; Huang et al. 2011; Yang 2011; Bai et al. 2012; Lee and Lu 2012; Wang et al. 2012, 2014), which are compared in Table 1. There is some similarity between the serial-batching problems and group scheduling problems, that is, the jobs in a batch or group are processed one after another. However, there are also several significant differences between them which should be addressed here, as discussed in Table 2.

Table 1 Comparisons of group scheduling problems with deteriorating jobs in recent research
Table 2 Differences between group and serial-batching scheduling problems

In this paper, we further extend our previous research, focusing instead on a general linear deterioration with different job types and sequence-dependent setup times. To the best of our knowledge, the problem of scheduling deteriorating jobs of different types on a serial-batching machine with sequence-dependent setup times has not been considered by other researchers, but it inevitably happens in many production areas. Based on the derived structural properties of the studied problem in this paper, some optimization algorithms are developed to solve the problems of minimizing the makespan, the maximum tardiness, the maximum lateness, and the maximum earliness, the number of tardy jobs, the total completion time of jobs, respectively. In the real production, the schedulers usually cannot well analyze the characteristics of these scheduling problems before making schedule plans, thus result in sub-optimal schedule plans. Furthermore, since the schedule rules are not specific and the workers may operate optionally when performing the schedule plans, so the productivity is low. This paper analyzes the problems with different objectives, and develops algorithms based on the properties of the problem. The procedures of these algorithms are clear and definite with high operability, which can be directly used in the real production to enhance productivity.

The reminder of this paper is organized as follows. The notation and problem description are given in Sect. 2. The solution procedures for the makespan minimization problem, the maximum tardiness minimization problem, the maximum lateness minimization problem, and the maximum earliness minimization problem are described in Sects. 3 and 4, respectively. We present our solution procedure for the problem of minimizing the number of tardy jobs under a certain agreeable condition in Sect. 5. In Sect. 6, two special cases are analyzed for the total completion time minimization problem. Finally, the conclusion is given in Sect. 7.

2 Notation and problem description

We first describe the notation used in this paper in Table 3.

Table 3 The list of the notation

There are \(N\) jobs to be processed on a single serial-batching machine, each of which belongs to one of \(n\) job types. Each type of jobs is first partitioned into multiple serial batches. Then the batches of different job types are processed on a single machine. Serial batches require that all the jobs within the same batch are processed one after another in a serial fashion (Xuan and Tang 2007), and the completion times of all jobs are equal to that of their batch, which is defined as the completion time of the last job in the batch. When a new batch is processed first on the machine or immediately after a batch of another job type, a setup time \(s\) is required. The number of jobs in a batch cannot be more than the machine capacity \(b\), that is, \(n_k \le b\). All jobs are available at time \(t_0 \), where \(t_0 >0\). As in Pei et al. (2015), the actual processing time of \(J_i \) is indicated as a linear function of its starting time \(t\), that is,

$$\begin{aligned} p_i =a_i t,\quad i=1,2,{\cdots } ,\,N \end{aligned}$$

where \(a_i \) and \(t\) are the deterioration rate and the starting time of \(J_i \), respectively.

For a schedule \(\pi \), let \(C_i \left( \pi \right) \) be the completion time of \(J_i \). Using the traditional notation, we adopt \(C_{max} =\max \nolimits _{i=1,2,\cdots ,N} \left\{ {C_i } \right\} \), \(T_{max} =\max \nolimits _{i=1,2,\cdots ,N} \left\{ {0,C_i -d} \right\} \), \(L_{max} =\max \nolimits _{i=1,2,\cdots ,N} \left\{ {C_i -d} \right\} \), \(E_{max}=\max \nolimits _{i=1,2,\cdots ,N} \left\{ {0,d-C_i } \right\} \), \(\sum \nolimits _{i=1}^N U_i \), and \(\sum \nolimits _{i=1}^N C_i \) to represent the makespan, maximum tardiness, maximum lateness, maximum earliness, total number of tardy jobs, and total completion time, respectively, where \(U_i =1\) if \(C_i >d\) and 0 otherwise. In the remaining sections of the paper, all the problems considered will be denoted using the three-field notation schema \(\alpha \left| \beta \right| \gamma \) introduced by Graham et al. (1979).

3 Problem \(1\left| {s-batch,p_i =a_i t,s_{sd} } \right| C_{max} \)

In this section, the makespan minimization problem \(1\left| {s-batch,p_i =a_i t,s_{sd} } \right| C_{max} \) is studied. Some properties of the makespan minimization problem for any given schedule \(\pi \) are given in the following.

Lemma 1

For any given schedule \(\pi =\left( {b_1 ,b_2 ,\cdots ,b_m } \right) \), with the first batch \(b_1 \) starting at time \(t_0 >0\), the makespan of schedule \(\pi \) is

$$\begin{aligned} C_{max} \left( \pi \right) =\left( {t_0 +s} \right) \mathop \prod \limits _{k=1}^m \left( {1+b\left( k \right) } \right) ^{n_k }+\mathop \sum \limits _{k=2}^m x_{\left( {k-1} \right) k} s\mathop \prod \limits _{f=k}^m \left( {1+b\left( f \right) } \right) ^{n_f } \end{aligned}$$
(1)

Proof

We can use mathematical induction to prove this lemma based on the number of batches. Firstly for \(m=1\) we have

$$\begin{aligned} C\left( {b_1 } \right) =\left( {t_0 +s} \right) \left( {1+b\left( 1 \right) } \right) ^{n_1}, \end{aligned}$$

so Eq. (1) holds for \(m=1\). Suppose for all \(2\le j\le m-1\), Eq. (1) is satisfied. We have

$$\begin{aligned} C\left( {b_j } \right) =\left( {t_0 +s} \right) \mathop \prod \limits _{k=1}^j \left( {1+b\left( k \right) } \right) ^{n_k }+\mathop \sum \limits _{k=2}^j x_{\left( {k-1} \right) k} s\mathop \prod \limits _{f=k}^j \left( {1+b\left( f \right) } \right) ^{n_f}. \end{aligned}$$

Then, for the \(\left( {j+1} \right) \)th batch \(b_{j+1} \),

$$\begin{aligned} C\left( {b_{j+1} } \right)= & {} \left[ {C\left( {b_j } \right) +x_{j\left( {j+1} \right) } s} \right] \left( {1+b\left( {j+1} \right) } \right) ^{n_{\left( {j+1} \right) } }\\= & {} \left[ \left( {t_0 +s} \right) \mathop \prod \limits _{k=1}^j \left( {1+b\left( k \right) } \right) ^{n_k }+\mathop \sum \limits _{k=2}^j x_{\left( {k-1} \right) k} s\mathop \prod \limits _{f=k}^j \left( {1+b\left( f \right) } \right) ^{n_f }\right. \nonumber \\&\left. +\,x_{j\left( {j+1} \right) } s \right] (1+b\left( {j+1} \right) )^{n_{\left( {j+1} \right) } }\\= & {} \left( {t_0 {+}s} \right) \mathop \prod \limits _{k=1}^{j{+}1} \left( {1+b\left( k \right) } \right) ^{n_k }{+}\left( {1+b\left( {j+1} \right) } \right) ^{n_{\left( {j{+}1} \right) } }\cdot \mathop \sum \limits _{k{=}2}^j x_{\left( {k{-}1} \right) k} s\mathop \prod \limits _{f{=}k}^j \left( {1{+}b\left( f \right) } \right) ^{n_f }\\&\quad +\,x_{j\left( {j+1} \right) } s\cdot \left( {1+b\left( {j+1} \right) } \right) ^{n_{\left( {j+1} \right) } }\\= & {} \left( {t_0 +s} \right) \mathop \prod \limits _{k=1}^{j+1} \left( {1+b\left( k \right) } \right) ^{n_k }+\mathop \sum \limits _{k=2}^{j+1} x_{\left( {k-1} \right) k} s\mathop \prod \limits _{f=k}^{j+1} \left( {1+b\left( f \right) } \right) ^{n_f }. \end{aligned}$$

Hence, Eq. (1) holds for \(m=j+1\). Note that \(C_{max} \left( \pi \right) =C\left( {b_m } \right) \), the lemma is proved by the induction. \(\square \)

Lemma 2

For the problem \(1\left| {s-batch,p_i =a_i t,s_{sd} } \right| C_{max} \), if there exits \(x_{k\left( {k+1} \right) } =0\left( {k=1,2,\cdots ,m-1} \right) \) in a given schedule, then the solution of this schedule remains unchanged when \(b_k \) and \(b_{k+1} \) are swapped.

Lemma 3

For the problem \(1\left| {s-batch,p_i =a_i t,s_{sd} } \right| C_{max} \), if any two jobs are swapped in a batch for a given schedule, then the solution of this schedule remains unchanged.

Based on Lemmas 2 and 3, we have the following corollary.

Corollary 1

For the problem \(1\left| {s-batch,p_i =a_i t,s_{sd} } \right| C_{max} \), if there exits \(x_{k\left( {k+1} \right) } =0\left( {k=1,2,\cdots ,m-1} \right) \) in a given schedule, then the solution of this schedule is independent of the pattern of jobs batching and batches sequencing of the jobs in these two batches.

Lemma 4

For the problem \(1\left| {s-batch,p_i =a_i t,s_{sd} } \right| C_{max} \), the generated batches from the same job type are processed consecutively in an optimal schedule.

Proof

Let \(\pi ^{*}\) and \(\pi \) be an optimal schedule and a job schedule, respectively. The difference between the two schedules is the transfer of a batch \(b_q \), that is, \(\pi ^{*}=\left( {W_1 ,b_p ,W_2 ,b_q ,W_3 } \right) \), \(\pi =\left( {W_1 ,b_p ,b_q ,W_2 ,W_3 } \right) \). After \(b_p \), \(b_q \) is the first batch of the same job type as \(b_p \), \(W_1 \),\(W_2 \), and \(W_3 \) represent three partial sequences, \(W_1 \) or \(W_3 \) may be empty, and \(W_2 \) is not empty. It is easy to see that \(x_{p\left( {p+1} \right) } =1\) and \(x_{\left( {q-1} \right) q} =1\).

For \(\pi ^{*}\), the completion time of \(b_q \) is

$$\begin{aligned} C\left( {b_q \left( {\pi ^{*}} \right) } \right)= & {} \left[ {C\left( {b_{q-1} \left( {\pi ^{*}} \right) } \right) +s} \right] \left( {1+b\left( q \right) } \right) ^{n_q }\\= & {} \left[ C\left( {b_{p+1} \left( {\pi ^{*}} \right) } \right) \mathop \prod \limits _{k=p+2}^{q-1} \left( {1+b\left( k \right) } \right) ^{n_k }\right. \\&\left. +\mathop \sum \limits _{k=p+2}^{q-1} x_{\left( {k-1} \right) k} s\mathop \prod \limits _{f=k}^{q-1} \left( {1+b\left( f \right) } \right) ^{n_f }+s \right] \left( {1+b\left( q \right) } \right) ^{n_q }\\= & {} \left[ \left( {C\left( {b_p \left( {\pi ^{*}} \right) } \right) +s} \right) \left( {1+b\left( {p+1} \right) } \right) ^{n_{p+1} }\mathop \prod \limits _{k=p+2}^{q-1} \left( {1+b\left( k \right) } \right) ^{n_k }\right. \\&\left. +\mathop \sum \limits _{k=p+2}^{q-1} x_{\left( {k-1} \right) k} s\mathop \prod \limits _{f=k}^{q-1} \left( {1+b\left( f \right) } \right) ^{n_f }+s \right] \left( {1+b\left( q \right) } \right) ^{n_q }\\= & {} \left( {C\left( {b_p \left( {\pi ^{*}} \right) } \right) +s} \right) \mathop \prod \limits _{k=p+1}^q \left( {1+b\left( k \right) } \right) ^{n_k }\\&+\left( {1+b\left( q \right) } \right) ^{n_q }\mathop \sum \limits _{k=p+2}^{q-1} x_{\left( {k-1} \right) k} s\mathop \prod \limits _{f=k}^{q-1} \left( {1+b\left( f \right) } \right) ^{n_f }\\&+\,s\left( {1+b\left( q \right) } \right) ^{n_q }\!. \end{aligned}$$

For \(\pi \), the completion time of \(b_{p+1} \) and \(b_{q-1} \) are respectively

$$\begin{aligned} C\left( {b_{p+1} \left( \pi \right) } \right)= & {} \left[ {C\left( {b_q \left( \pi \right) } \right) +s} \right] \left( {1+b\left( {p+1} \right) } \right) ^{n_{p+1} }\\= & {} C\left( {b_p \left( {\pi ^{*}} \right) } \right) \left( {1+b\left( q \right) } \right) ^{n_q }\left( {1+b\left( {p+1} \right) } \right) ^{n_{p+1} }\\&+\,s\left( {1+b\left( {p+1} \right) } \right) ^{n_{p+1} },C\left( {b_{q-1} \left( \pi \right) } \right) \\= & {} C\left( {b_{p+1} \left( \pi \right) } \right) \mathop \prod \limits _{k=p+2}^{q-1} \left( {1+b\left( k \right) } \right) ^{n_k }+\mathop \sum \limits _{k=p+2}^{q-1} x_{\left( {k-1} \right) k} s\mathop \prod \limits _{f=k}^{q-1} \left( {1+b\left( f \right) } \right) ^{n_f }\\= & {} C\left( {b_p \left( {\pi ^{*}} \right) } \right) \mathop \prod \limits _{k=p+1}^q \left( {1+b\left( k \right) } \right) ^{n_k }+s\mathop \prod \limits _{k=p+1}^{q-1} \left( {1+b\left( k \right) } \right) ^{n_k }\\&+\mathop \sum \limits _{k=p+2}^{q-1} x_{\left( {k-1} \right) k} s\mathop \prod \limits _{f=k}^{q-1} \left( {1+b\left( f \right) } \right) ^{n_f }. \end{aligned}$$

Then, we have

$$\begin{aligned} C\left( {b_q \left( {\pi ^{*}} \right) } \right) -C\left( {b_{q-1} \left( \pi \right) } \right)= & {} s\left[ {\left( {1+b\left( q \right) } \right) ^{n_q }-1} \right] \left[ \mathop \prod \limits _{k=p+1}^{q-1} \left( {1+b\left( k \right) } \right) ^{n_k }\right. \\&\left. +\mathop \sum \limits _{k=p+2}^{q-1} x_{\left( {k-1} \right) k} \mathop \prod \limits _{f=k}^{q-1} \left( {1+b\left( f \right) } \right) ^{n_f } \right] +s\left( {1{+}b\left( q \right) } \right) ^{n_q }{>}0. \end{aligned}$$

It can be deduced that \(C\left( {b_q \left( {\pi ^{*}} \right) } \right) >C\left( {b_{q-1} \left( \pi \right) } \right) \), which conflicts with the optimality of \(C_{max}^*\). Thus, we can transfer the batches until the batches of the same job type are processed consecutively. This completes the proof. \(\square \)

Lemma 5

For the problem \(1\left| {s-batch,p_i =a_i t,s_{sd} } \right| C_{max} \), if the generated batches of the same job type are processed consecutively in a given schedule \(\pi \), then the makespan of schedule \(\pi \) is

$$\begin{aligned} C_{max} \left( \pi \right) =t_0 \mathop \prod \limits _{l=1}^n \left( {1+a\left( {F_l } \right) } \right) ^{q_l }+s\mathop \sum \limits _{l=1}^n \mathop \prod \limits _{f=l}^n \left( {1+a\left( {F_f } \right) } \right) ^{q_f } \end{aligned}$$
(2)

Proof

The proof is similar to that of Lemma 1, and it is omitted. \(\square \)

Lemma 6

For the problem \(1\left| {s-batch,p_i =a_i t,s_{sd} } \right| C_{max}\), considering two consecutive job sets of types \(r\) and \(r+1\), if \(\rho \left( {F_r } \right) \ge \rho \left( {F_{r+1} } \right) \), where \(\rho \left( {F_r } \right) =\left( {1+a\left( {F_r } \right) } \right) ^{q_r }, r=1,2,\cdots ,n-1\), then it is optimal to process \(F_r \) before \(F_{r+1}\). \(\square \)

Proof

Let \(\pi ^{*}\) and \(\pi \) be an optimal schedule and a job schedule. The difference between these two schedules is the pairwise interchange of these two job sets \(F_r \) and \(F_{r+1} \left( {r=1,2,\cdots ,n-1} \right) \), that is, \(\pi ^{*}=\left( {W_1 ,F_r ,F_{r+1} ,W_2 } \right) \), \(\pi =\left( {W_1 ,F_{r+1} ,F_r ,W_2 } \right) \), where \(F_r \) and \(F_{r+1} \) are the job sets of types \(r\) and \(r+1\), both of which may include one or multiple batches, \(W_1 \) and \(W_2 \) represent two partial sequences, and \(W_1 \) or \(W_2 \) may be empty. We assume that \(\rho \left( {F_r } \right) <\rho \left( {F_{r+1} } \right) \), i.e., \(\left( {1+a\left( {F_r } \right) } \right) ^{q_r }<\left( {1+a\left( {F_{r+1} } \right) } \right) ^{q_{r+1} }.\) \(\square \)

For \(\pi ^{*}\), the completion time of \(F_{r+1} \) is

$$\begin{aligned} C\left( {F_{r+1} \left( {\pi ^{*}} \right) } \right) =t_0 \mathop \prod \limits _{l=1}^{r+1} \left( {1+a\left( {F_l } \right) } \right) ^{q_l }+s\mathop \sum \limits _{l=1}^{r+1} \mathop \prod \limits _{f=l}^{r+1} \left( {1+a\left( {F_f } \right) } \right) ^{q_f}, \end{aligned}$$

For \(\pi \), the completion time of \(F_{r+1} \) and \(F_r \) are respectively

$$\begin{aligned}&\!\!\! C\left( {F_{r+1} \left( \pi \right) } \right) \\&\quad =\left[ {t_0 \mathop \prod \limits _{l{=}1}^{r{-}1} \left( {1{+}a\left( {F_l } \right) } \right) ^{q_l }{+}s\mathop \sum \limits _{l{=}1}^{r{-}1} \mathop \prod \limits _{f=l}^{r-1} \left( {1+a\left( {F_f } \right) } \right) ^{q_f }+s} \right] \left( {1+a\left( {F_{r+1} } \right) } \right) ^{q_{r+1} },C\left( {F_r \left( \pi \right) } \right) \\&\quad =\left[ {C\left( {F_{r+1} \left( \pi \right) } \right) +s} \right] \left( {1+a\left( {F_r } \right) } \right) ^{q_r }\\&\quad =\left\{ {\left[ {t_0 \mathop \prod \limits _{l=1}^{r-1} \left( {1+a\left( {F_l } \right) } \right) ^{q_l }+s\mathop \sum \limits _{l=1}^{r-1} \mathop \prod \limits _{f=l}^{r-1} \left( {1+a\left( {F_f } \right) } \right) ^{q_f }+s} \right] \left( {1+a\left( {F_{r+1} } \right) } \right) ^{q_{r+1} }+s} \right\} \\&\qquad \quad \quad \left( {1+a\left( {F_r } \right) } \right) ^{q_r }\\&\quad =t_0 \mathop \prod \limits _{l=1}^{r+1} \left( {1+a\left( {F_l } \right) } \right) ^{q_l }+s\mathop \sum \limits _{l=1}^r \mathop \prod \limits _{f=l}^{r+1} \left( {1+a\left( {F_f } \right) } \right) ^{q_f }+s\left( {1+a\left( {F_r } \right) } \right) ^{q_r }. \end{aligned}$$

Then,

$$\begin{aligned}&C\left( {F_{r+1} \left( {\pi ^{*}} \right) } \right) -C\left( {F_r \left( \pi \right) } \right) \\&\quad =s\mathop \sum \limits _{l=1}^{r+1} \mathop \prod \limits _{f=l}^{r+1} \left( {1+a\left( {F_f } \right) } \right) ^{q_f }-\left[ {s\mathop \sum \limits _{l=1}^r \mathop \prod \limits _{f=l}^{r+1} \left( {1+a\left( {F_f } \right) } \right) ^{q_f }+s\left( {1+a\left( {F_r } \right) } \right) ^{q_r }} \right] \\&\quad =s\left[ {\left( {1+a\left( {F_{r+1} } \right) } \right) ^{q_{r+1} }-\left( {1+a\left( {F_r } \right) } \right) ^{q_r }} \right] >0, \end{aligned}$$

which conflicts with the optimal schedule. Hence, \(\left( {1+a\left( {F_r } \right) } \right) ^{q_r }\ge \left( {1+a\left( {F_{r+1} } \right) } \right) ^{q_{r+1} }\). This proves the lemma.

Thus, Lemmas 4 and 6 imply that all jobs from the same job type are processed consecutively and the job sets of all types should be sequenced in non-increasing order of \(\rho \left( {F_r } \right) \) in an optimal schedule. There is only once setup for each type of job sets.

Based on the above lemmas, the following Algorithm 1 is designed to solve the problem \(1\left| {s-batch,p_i =a_i t,s_{sd} } \right| C_{max} \).

Algorithm 1

Step 1.

Calculate \(\rho \left( {F_l } \right) =\left( {1+a\left( {F_l } \right) } \right) ^{q_l }\), \(l=1,2,\cdots ,n\).

Step 2.

Sequence the jobs of the same type together, and then sequence the job sets of all types in non-increasing order of \(\rho \left( {F_l } \right) \), i.e., \(\rho \left( {F_1 } \right) \ge \rho \left( {F_2 } \right) \ge \cdots \ge \rho \left( {F_n } \right) \). Set \(l=0.\)

Step 3.

Set \(l=l+1.\)

Step 4.

If there are more than \(b\) jobs in \(F_l \), then place the first \(b\) jobs in a batch and iterate. Otherwise, place the remaining jobs in a batch.

Step 5.

If \(l=n\), then stop and schedule the batches in their generation order at time\(t_0 \). Otherwise, go to step 3.

Compared with Algorithm R-FBLDR proposed in Pei et al. (2015), the jobs of the same type should be first sequenced together and then the job sets of all types is sequenced based on the value of \(\rho \left( {F_l } \right) \) in Algorithm 1.

Theorem 1

For the problem \(1\left| {s-batch,p_i =a_i t,s_{sd} } \right| C_{max}\), an optimal schedule can be obtained by Algorithm 1 in \(O\left( {N\log N} \right) \) time. If the job sets of all types are sequenced in non-increasing order of \(\left( {1+a\left( {F_l } \right) } \right) ^{q_l }\left( {l=1,2,\cdots ,n} \right) \), then the optimal makespan is

$$\begin{aligned} C_{max}^*=t_0 \mathop \prod \limits _{l=1}^n \left( {1+a\left( {F_l } \right) } \right) ^{q_l }+s\mathop \sum \limits _{l=1}^n \mathop \prod \limits _{f=l}^n \left( {1+a\left( {F_f } \right) } \right) ^{q_f} \end{aligned}$$
(3)

Proof

Based on Lemmas 16, an optimal solution can be generated by Algorithm 1. We can also obtain the result of the optimal solution as Eq. (3) based on Lemma 5. The time complexity of step 1 is \(O\left( n \right) \) and the time complexity of obtaining the optimal job set sequence of all types in step 2 is \(O\left( {n\log n} \right) \), and the total time complexity of steps 3, 4, and 5 is \(O\left( n \right) \). Then, we have \(n\le N\). Thus, the time complexity of Algorithm 1 is at most \(O\left( {N\log N} \right) \).

Corollary 2

Algorithm 1 can obtain an optimal schedule for the problem

\(1\left| {s-batch,p_i =a_i t,s_{sd} } \right| T_{max}\).

Proof

It can be deduced that

$$\begin{aligned} T_{max} =\mathop {\max }\limits _{i=1,2,\cdots ,N} \left\{ {0,C_i -d} \right\} =\max \left\{ {0,\mathop {\max }\limits _{i=1,2,\cdots ,N} \left\{ {C_i } \right\} -d} \right\} =\max \left\{ {0,C_{max} -d} \right\} \!. \end{aligned}$$

Since \(d\) is a constant, the maximum tardiness of all jobs is minimized when \(C_{max} \) is minimized. Based on Theorem 1, Algorithm 1 can obtain the minimum \(C_{max} \) for the problem \(1\left| {s-batch,p_i =a_i t,s_{sd} } \right| C_{max} \). This completes the proof. \(\square \)

Corollary 3

Algorithm 1 can obtain an optimal schedule for the problem

\(1\left| {s-batch,p_i =a_i t,s_{sd} } \right| L_{max}\).

Proof

We have \(L_{max} =\max \nolimits _{i=1,2,\cdots ,N} \left\{ {C_i -d} \right\} \). Hence, the proof is similar to that of Corollary 2, and it is omitted. \(\square \)

Corollaries 2 and 3 imply that Algorithm 1 can obtain an optimal schedule for the problems \(1\left| {s-batch,p_i =a_i t,s_{sd} } \right| C_{max} \), \(1\left| {s-batch,p_i =a_i t,s_{sd} } \right| T_{max} \), and

\(1\left| {s-batch, p_i =a_i t,s_{sd} } \right| L_{max} \) simultaneously.

4 Problem \(1\left| {s-batch,p_i =a_i t,s_{psd} } \right| E_{max} \)

In this section, we focus on the problem of minimizing the maximum earliness of all jobs. As commonly assumed in the previous work involving earliness (Yin et al. 2012), all jobs are restricted to be completed prior to the common due date \(d\), otherwise each job can be trivially scheduled sufficiently late to avoid earliness cost. Thus, it should be \(d\ge t_0 +\sum \nolimits _{l=1}^n p_i \). Let \(\pi \) be a feasible schedule. The earliness of job \(J_i \) is given by \(E_i =\left\{ {0,d-C_i } \right\} \), and the maximum earliness is defined as \(E_{max} =\max \limits _{i=1,2,\cdots ,N} E_i \). We first develop some properties as follows.

Lemma 7

There is an optimal schedule with the first batch \(b_1 \) starting at time \(t_0 \) such that \(\left( {t_0 +s} \right) \prod \nolimits _{k=1}^m \left( {1+b\left( k \right) } \right) ^{n_k }+\sum \nolimits _{k=2}^m x_{\left( {k-1} \right) k} s\prod \nolimits _{f=k}^m \left( {1+b\left( f \right) } \right) ^{n_f }=d\), and there is no idle time between consecutive batches or consecutive jobs in the same batch.

Proof

All jobs need to be scheduled as late as possible and also satisfy the constraint that their completion times are prior to the common due date. Hence, the completion time of the last batch should be just equal to the common due date. Then, we have \(\left( {t_0 +s} \right) \prod \nolimits _{k=1}^m \left( {1+b\left( k \right) } \right) ^{n_k }+\sum \nolimits _{k=2}^m x_{\left( {k-1} \right) k} s\prod \nolimits _{f=k}^m \left( {1+b\left( f \right) } \right) ^{n_f }=d\) based on Lemma 1. In addition, if there is any idle time between consecutive batches or consecutive jobs in the same batch, then the maximum earliness will be increased as the starting time \(t_0 \) gets shorter. Thus, there is no idle time between them. \(\square \)

Lemma 8

There is an optimal schedule in which the number of jobs in the first batch \(b_1 \) is \(n_1 =min\left\{ {b,q_r } \right\} \), where the jobs in \(b_1 \) are of the job type \(r,\) and \(r=1,2,\cdots ,n\).

Proof

Since the completion time of a job is equal to the completion time of the batch it belongs to, the maximum earliness will be decreased as the processing time of the first batch \(b_1 \) becomes longer. It can be derived that the first batch should have the possible maximum job number. Thus, we have \(n_1 =min\left\{ {b,q_r } \right\} \). \(\square \)

Based on Lemmas 4 and 6, we have the following property.

Lemma 9

There is an optimal schedule in which all batches of the same job type are processed consecutively since the second batch, and the sets of all job types are processed in non-increasing order of \(\rho \left( {F_r } \right) \), where \(\rho \left( {F_r } \right) =\left( {1+a\left( {F_r } \right) } \right) ^{q_r }, r=1,2,\cdots ,n\).

Proof

We omit the proof as it is similar to that of Lemmas 4 and 6. \(\square \)

Lemma 10

For the problem \(1\left| {s-batch,p_i =a_i t,s_{sd} } \right| E_{max}\), if there exists \(n_r >b\) for a certain job type \(r\left( {r=1,2,\cdots ,n} \right) \), where \(b_1 \subset F_r \), then the leftover jobs of job type \(r\) except all the jobs in \(b_1 \) are processed consecutively after \(b_1\).

Proof

Let \(\pi ^{*}\) and \(\pi \) be an optimal schedule and a job schedule. The difference between the two schedules is the insertion of the job set \(F_1^2 \) after \(F_1^1 \), that is, \(\pi ^{*}=\left( {F_1^1 ,W_1 ,F_1^2 ,W_2 } \right) \), \(\pi =\left( {F_1^1 ,F_1^2 ,W_1 ,W_2 } \right) \), where \(F_1^1 \) and \(F_1^2 \) are two partial job sets of job type 1, both of them may include one or multiple batches and \(b_1 \subseteq F_1^1, \quad W_1 \) and \(W_2 \) represent two partial sequences, and \(W_2 \) may be empty. In this case, we have \(n_1 =b\) based on Lemma 8. Let the starting time of \(b_1 \) in \(\pi ^{*}\) and \(\pi \) be \(t_0^*\) and \(t_0 \), respectively. Then,

$$\begin{aligned} E_{max} \left( {\pi ^{*}} \right) =d-\left( {t_0^*+s} \right) \left( {1+a_1 } \right) ^{b} \end{aligned}$$

and

$$\begin{aligned} E_{max} \left( \pi \right) =d-\left( {t_0 +s} \right) \left( {1+a_1 } \right) ^{b}. \end{aligned}$$

Thus,

$$\begin{aligned} E_{max} \left( {\pi ^{*}} \right) -E_{max} \left( \pi \right) =\left( {t_0 -t_0^*} \right) \left( {1+a_1 } \right) ^{b}. \end{aligned}$$

Based on Lemmas 5 and 9, it can be derived that

$$\begin{aligned} t_0 -t_0^*>\frac{s\left( {1+a_1 } \right) }{\mathop \prod \nolimits _{l=1}^n \left( {1+a\left( {F_l } \right) } \right) ^{q_l }}>0. \end{aligned}$$

Then,

$$\begin{aligned} E_{max} \left( {\pi ^{*}} \right) >E_{max} \left( \pi \right) , \end{aligned}$$

Which conflicts with the optimal schedule, and this completes the proof. \(\square \)

Based on the above lemmas, we propose the following Algorithm 2 to solve the problem \(1\left| {s-batch,p_i =a_i t,s_{sd} } \right| E_{max} \).

Algorithm 2

Step 1.

Set \(\theta =d\) and \(l=0\), and let \(\sigma \) be the sequence of the job sets of all types.

Step 2.

Set \(l=l+1.\)

Step 3.

Set the job set of the \(l\)th type as the first place in the sequence. Sequence the leftover jobs of the same type together, and then sequence the job sets of these leftover \(\left( {n-1} \right) \) types in non-increasing order of \(\rho \left( {F_l } \right) \), i.e., \(\rho \left( {F_2 } \right) \ge \rho \left( {F_3 } \right) \ge \cdots \ge \rho \left( {F_{n-1} } \right) \), where \(\rho \left( {F_l } \right) =\left( {1+a\left( {F_l } \right) } \right) ^{q_l }\), \(l=1,2,\cdots ,n-1\). Calculate \(t_0 \) based on Lemmas 5 and 10, and then calculate \(E_{max} \left( l \right) =d-\left( {t_0 +s} \right) \left( {1+a_1 } \right) ^{min\left\{ {q_1 ,b} \right\} }\).

Step 4.

If \(\theta <E_{max} \left( l \right) \), then set \(\sigma \) be the sequence of the job sets of all types in step 3.

Step 5.

If \(l=n\), then go to step 6. Otherwise, go to step 2.

Step 6.

Let set \(\sigma \) be the final sequence of the job sets of all types and set \(l=0.\)

Step 7.

Set \(l=l+1.\)

Step 8.

If there are more than \(b\) jobs in \(F_l \), then place the first \(b\) jobs in a batch and iterate. Otherwise, place the remaining jobs in a batch.

Step 9.

If \(l=n\), then stop and schedule the batches in their generation order at time\(t_0 \). Otherwise, go to step 7.

Theorem 2

For the problem \(1\left| {s-batch,p_i =a_i t,s_{sd} } \right| E_{max} \), an optimal schedule can be obtained by Algorithm 2 in \(O\left( {N^{2}\log N} \right) \) time.

Proof

Based on Lemmas 710, Algorithm 2 can generate an optimal solution. The time complexity of step 1 is \(O\left( 1 \right) \), the total time complexity of steps 2, 3, 4, and 5 is \(O\left( {n^{2}\log n} \right) \), and the total time complexity of steps 6, 7, 8, and 9 is \(O\left( n \right) \). We also have \(n\le N\). Thus, the time complexity of Algorithm 2 is at most \(O\left( {N^{2}\log N} \right) \). \(\square \)

5 Problem \(1\left| {s-batch,p_i =a_i t,s_{sd} } \right| \sum \nolimits _{i=1}^N U_i \)

In the following section, we first give some properties for the general problem of minimizing the number of tardy jobs \(1\left| {s-batch,p_i =a_i t,s_{sd} } \right| \sum \nolimits _{i=1}^N U_i \) and a property for this problem under an agreeable condition, and then develop an optimization algorithm to solve it. The job sets of which the completion times are no more than and more than the common due date \(d\) are denoted as \(O\) (i.e., ordinary jobs) and \(L\) (i.e., late jobs), respectively. Let the job set and the job number of type \(l\) be \(F_l^O \) and \(q_l^O \) in \(O\), and \(F_l^L \) and \(q_l^L \) in \(L\), respectively, where \(F_l^O \cup F_l^L =F_l \) and \(q_l^O +q_l^L =q_l \quad \left( {l=1,2,\cdots ,n} \right) \). Let the total number of job types be \(n^{O}\) in \(O\).

Lemma 11

For the problem \(1\left| {s-batch,p_i =a_i t,s_{sd} } \right| \sum \nolimits _{i=1}^N U_i \), the solution of a given schedule remains unchanged when: (1) two batches \(b_k \) and \(b_{k+1} \) satisfying that \(x_{k\left( {k+1} \right) } =0\left( {k=1,2,\cdots ,m-1} \right) \) are swapped;(2) any two jobs are swapped in a batch.

Lemma 12

For the problem \(1\left| {s-batch,p_i =a_i t,s_{sd} } \right| \sum \nolimits _{i=1}^N U_i \), an optimal schedule satisfies the following properties:

  1. (1)

    The generated batches of the same job type are processed consecutively in \(O\);

  2. (2)

    If \(\sigma \left( {F_r^O } \right) \ge \sigma \left( {F_{r+1}^O } \right) \) for two consecutive job sets of job types \(r\) and \(r+1\) in \(O\), where \(\sigma \left( {F_r^O } \right) =\left( {1+a\left( {F_r^O } \right) } \right) ^{q_r^O }\), \(r=1,2,\cdots ,n-1\), then it is optimal to process \(F_r^O \) before \(F_{r+1}^O \);

Proof

The proof of (1) and (2) is similar to that of Lemmas 4 and  6, and it is omitted here. \(\square \)

We focus on the agreeable condition that \(a\left( {F_r } \right) <a\left( {F_u } \right) \) implies \(\rho \left( {F_r } \right) >\rho \left( {F_u } \right) \) for two job types \(r\) and \(u\), where \(\rho \left( {F_l } \right) =\left( {1+a\left( {F_l } \right) } \right) ^{q_l }\) and \(r,u=1,2,\cdots ,n\). This agreeable condition is denoted as ac for simplicity. Then we have the following property.

Lemma 13

For the problem \(1\left| {s-batch,p_i =a_i t,s_{sd} ,ac} \right| \sum \nolimits _{i=1}^N U_i \), the deterioration rate of an arbitrary job in \(O\) is no more than that of any jobs in \(L\) in an optimal schedule.

Proof

Assume there exist two job sets \(F_r^O ,F_u^O \subseteq O\) in an optimal schedule, satisfying that \(a\left( {F_r } \right) <a\left( {F_u } \right) \), \(\rho \left( {F_r } \right) >\rho \left( {F_u } \right) \), and \(q_r^O ,q_r^L ,q_u^O >0\). Since \(a\left( {F_r } \right) <a\left( {F_u } \right) \) and \(\rho \left( {F_r } \right) >\rho \left( {F_u } \right) \), it can be derived that \(n_r >n_u \). Let the completion time of all jobs in \(O\) be \(C\left( O \right) \). Based on Lemmas 11 and 12, we have two cases in an optimal schedule as follows.

Case 1. \(O=\left( {W_1 ,F_r^o ,W_2 ,F_u^o ,W_3 } \right) \), where \(W_1 \),\(W_2 \), and \(W_3 \) represent three partial sequences.

  1. (1)

    when \(q_r^L \ge q_u^O \), we can replace all jobs of \(F_u^o \) with the jobs of \(F_r^L \), and \(O\) is updated to \(O^{{\prime }}=\left( {W_1 ,F_r^O ,W_2 ,F_r^{L^{{\prime }}} ,W_3 } \right) \). It is easy to see that \(C\left( O \right) >C\left( {O^{{\prime }}} \right) \), which conflicts with the optimal schedule.

  2. (2)

    when \(q_r^L <q_u^O \), we can add all jobs of \(F_r^L \) following \(F_r^o \) and transfer the jobs of \(F_u^O \) with the job number of \(q_r^L \) into \(L\). \(O\) is updated to \(O^{{\prime }}=\left( {W_1 ,F_r^{O^{{\prime }}} ,W_2 ,F_u^{O^{{\prime }}} ,W_3 } \right) \), where \(q_r^{O^{{\prime }}} =q_r \) and \(q_u^{O^{{\prime }}} =q_u^O -q_r^L \). Thus,

    $$\begin{aligned} C\left( O \right) -C\left( {O^{{\prime }}} \right)= & {} \left[ {t_0 \mathop \prod \limits _{l=1}^{n^{O}} \left( {1+a\left( {F_l } \right) } \right) ^{q_l^O }+s\mathop \sum \limits _{l=1}^r \mathop \prod \limits _{f=l}^{n^{O}} \left( {1+a\left( {F_f } \right) } \right) ^{q_f^O }} \right] \\&\cdot \left[ {1-\frac{\left( {1+a\left( {F_r } \right) } \right) ^{q_r^L }}{\left( {1+a\left( {F_u } \right) } \right) ^{q_r^L }}} \right] \\&+\,s\mathop \sum \limits _{l=r+1}^u \mathop \prod \limits _{f=l}^{n^{O}} \left( {1+a\left( {F_f } \right) } \right) ^{q_f^O }\cdot \left[ {1-\frac{1}{\left( {1+a\left( {F_u } \right) } \right) ^{q_r^L }}} \right] . \end{aligned}$$

    We have

    $$\begin{aligned} 1-\frac{\left( {1+a\left( {F_r } \right) } \right) ^{q_r^L }}{\left( {1+a\left( {F_u } \right) } \right) ^{q_r^L }}>0\hbox { and }1-\frac{1}{\left( {1+a\left( {F_u } \right) } \right) ^{q_r^L }}>0. \end{aligned}$$

    It can be derived that \(C\left( O \right) >C\left( {O^{{\prime }}} \right) \), which conflicts with the optimal schedule.

Case 2. \(O=\left( {W_1 ,F_u^o ,W_2 ,F_r^o ,W_3 } \right) \).

  1. (1)

    when \(q_r^L \ge q_u^O \), this situation is similar to (1) in case 1.

  2. (2)

    when \(q_r^L <q_u^O \), we can add all jobs of \(F_r^L \) following \(F_r^o \) and transfer the jobs of \(F_u^O \) with the job number of \(q_r^L \) into \(L\), and then swap the updated \(F_r^{O^{{\prime }}} \)and \(F_u^{O^{{\prime }}} \). \(O\) is updated to \(O^{{\prime }}=\left( {W_1 ,F_r^{O^{{\prime }}} ,W_2 ,F_u^{O^{{\prime }}} ,W_3 } \right) \), where \(q_r^{O^{{\prime }}} =q_r \) and \(q_u^{O^{{\prime }}} =q_u^O -q_r^L \). Thus,

    $$\begin{aligned} C\left( O \right) -C\left( {O^{{\prime }}} \right)= & {} \left[ {t_0 \mathop \prod \limits _{l=1}^{n^{O}} \left( {1+a\left( {F_l } \right) } \right) ^{q_l^O }+s\mathop \sum \limits _{l=1}^u \mathop \prod \limits _{f=l}^{n^{O}} \left( {1+a\left( {F_f } \right) } \right) ^{q_f^O }} \right] \\&\cdot \left[ {1-\frac{\left( {1+a\left( {F_r } \right) } \right) ^{q_r^L }}{\left( {1+a\left( {F_u } \right) } \right) ^{q_r^L }}} \right] \\&+\,s\mathop \sum \limits _{l=u+1}^r \mathop \prod \limits _{f=l}^{n^{O}} \left( {1+a\left( {F_f } \right) } \right) ^{q_f^O }\cdot \left[ {1-\frac{\left( {1+a\left( {F_u } \right) } \right) ^{q_u^O -q_r^L }}{\left( {1+a\left( {F_r } \right) } \right) ^{q_r^O }}} \right] . \end{aligned}$$

    Since \(\rho \left( {F_r } \right) >\rho \left( {F_u } \right) \), that is, \(\left( {1+a\left( {F_r } \right) } \right) ^{q_r }>\left( {1+a\left( {F_u } \right) } \right) ^{q_u }\), we have

    $$\begin{aligned} \left( {1+a\left( {F_u } \right) } \right) ^{q_u^O }\le \left( {1+a\left( {F_u } \right) } \right) ^{q_u }<\left( {1+a\left( {F_r } \right) } \right) ^{q_r }. \end{aligned}$$

    Hence,

    $$\begin{aligned} \left( {1+a\left( {F_u } \right) } \right) ^{q_u^O -q_r^L }<\left( {1+a\left( {F_r } \right) } \right) ^{q_r -q_r^L }=\left( {1+a\left( {F_r } \right) } \right) ^{q_r^O }. \end{aligned}$$

    It can be derived that

    $$\begin{aligned} 1-\frac{\left( {1+a\left( {F_u } \right) } \right) ^{q_u^O -q_r^L }}{\left( {1+a\left( {F_r } \right) } \right) ^{q_r^O }}>0. \end{aligned}$$

    We have

    $$\begin{aligned} 1-\frac{\left( {1+a\left( {F_r } \right) } \right) ^{q_r^L }}{\left( {1+a\left( {F_u } \right) } \right) ^{q_r^L }}>0. \end{aligned}$$

    Therefore, we obtain that \(C\left( O \right) >C\left( {O^{{\prime }}} \right) \), which also conflicts with the optimal schedule.

Combining cases 1 and 2, there should be no jobs of \(F_r \) in \(L\) when some jobs from \(F_u \) are included in \(O\). The proof is completed.

Based on the above lemmas, the following Algorithm 3 is designed to solve the problem \(1\left| {s-batch,p_i =a_i t,s_{sd} ,ac} \right| \sum \nolimits _{i=1}^N U_i \).

Algorithm 3

Step 1.

Sequence the jobs of the same type together, and then sequence the job sets of all types in non-decreasing order of \(a\left( {F_l } \right) \) such that \(a\left( {F_1 } \right) \le a\left( {F_2 } \right) \le \cdots \le a\left( {F_n } \right) \). Set \(k=1\) and \(O=\left\{ {J_1 } \right\} \).

Step 2.

Set \(k=k+1\).

Step 3.

Set \(O=O\cup \left\{ {J_k } \right\} \). Sequence the jobs of the same type together, and sequence the job sets of all types in non-increasing order of \(a\left( {F_l^O } \right) \), where \(\sigma \left( {F_l^O } \right) =\left( {1+a\left( {F_r^O } \right) } \right) ^{q_l^O }\) such that \(a\left( {F_1^O } \right) \ge a\left( {F_2^O } \right) \ge \cdots \ge a\left( {F_{n^{O}}^O } \right) \). Calculate the job completion time \(C\left( O \right) \) as Eq. (2). If \(C\left( O \right) >d\), then set \(O=O\backslash \left\{ {J_k } \right\} \), and go to step 5. Otherwise, go to step 4.

Step 4.

If \(k=N\), then go to step 5. Otherwise, go to step 2.

Step 5.

Sequence the jobs of the same type together, and sequence the job sets of all types in non-increasing order of \(a\left( {F_l^O } \right) \). Set \(l=0.\)

Step 6.

Set \(l=l+1.\)

Step 7.

If there are more than \(b\) jobs in \(F_l^O \), then place the first \(b\) jobs in a batch and iterate. Otherwise, place the remaining jobs in a batch.

Step 8.

If \(l=n^{O}\), then stop and schedule the batches in their generation order at time\(t_0 \). Otherwise, go to step 6.

Theorem 3

For the problem \(1\left| {s-batch,p_i =a_i t,s_{sd} ,ac} \right| \sum \nolimits _{i=1}^N U_i \), an optimal schedule can be obtained by Algorithm 3 in \(O\left( {N^{2}\log N} \right) \) time.

Proof

Based on Lemmas 1113, Algorithm 3 can generate an optimal solution. The time complexity of step 1 is \(O\left( {n\log n} \right) \). Since the execution time of step 2 is at most \(N\) and the time complexity of step 3 is at most \(O\left( {n\log n} \right) \), the total time complexity of steps 2, 3, and 4 is at most \(O\left( {nN\log n} \right) \). Similarly, the time complexity of step 5 is \(O\left( {n\log n} \right) \) and the total time complexity of steps 6, 7, and 8 is at most \(O\left( {nN} \right) \). Then, we have \(n\le N\). Thus, the time complexity of Algorithm 1 is at most \(O\left( {N^{2}\log N} \right) \).

6 Problem \(1\left| {s-batch,p_i =a_i t,s_{sd} } \right| \sum \nolimits _{i=1}^N C_i \)

In this section, we focus on two special cases of minimizing the total completion times of all jobs, and these two special cases are \(a\left( {F_l } \right) =a\) and \(s=0\), respectively. The property is given for the general problem as follows.

Lemma 14

For the problem \(1\left| {s-batch,p_i =a_i t,s_{sd} } \right| \sum \nolimits _{i=1}^N C_i \), there is only one job in any batch.

Proof

If there exists a batch with \(n_k \ge 2\), then \(\sum \nolimits _{i=1}^N C_i \) is reduced after we separate any job from this batch as a single batch. This completes the proof. \(\square \)

Corollary 4

For the problem \(1\left| {s-batch,p_i =a_i t,s_{sd} } \right| \sum \nolimits _{i=1}^N C_i \), there are \(N\) batches in an optimal schedule.

6.1 Special case: \(a\left( {F_l } \right) =a\)

In this subsection, we focus on the special case that the jobs of different types have the same deteriorating rate, i.e., \(a\left( {F_l } \right) =a\), \(l=1,2,\cdots ,n\). We first propose some useful lemmas for this case, and then an optimization algorithm is developed to solve it based on these lemmas.

Lemma 15

There exist two consecutive batches \(b_k \) and \(b_{k+1} \) of different job types in a schedule, with the starting time of \(b_k\) at time \(T>0\), then

$$\begin{aligned}&\mathop \sum \limits _{J_i \in b_k } C_i +\mathop \sum \limits _{J_i \in b_{k+1} } C_i =\frac{1}{a}\left[ \left( {T+s} \right) \left( {1+a} \right) ^{n_k +n_{k+1} +1}\right. \\&\quad \left. -\left( {T+s} \right) \left( {1+a} \right) +s\left( {1+a} \right) ^{n_{k+1} +1}-s\left( {1+a} \right) \right] . \end{aligned}$$

Proof

Based on Lemma 14, we have

$$\begin{aligned} \mathop \sum \limits _{J_i \in b_k } C_i =\frac{1}{a}\left[ {\left( {T+s} \right) \left( {1+a} \right) ^{n_k +1}-\left( {T+s} \right) \left( {1+a} \right) } \right] \end{aligned}$$

and

$$\begin{aligned} \mathop \sum \limits _{J_i \in b_{k+1} } C_i= & {} \frac{1}{a}\left[ \left( {T+s} \right) \left( {1+a} \right) ^{n_k +n_{k+1} +1}\right. \\&\left. -\left( {T+s} \right) \left( {1+a} \right) ^{n_k +1}+s\left( {1+a} \right) ^{n_{k+1} +1}-s\left( {1+a} \right) \right] . \end{aligned}$$

Then,

$$\begin{aligned} \mathop \sum \limits _{J_i \in b_k } C_i +\mathop \sum \limits _{J_i \in b_{k+1} } C_i= & {} \frac{1}{a}\left[ \left( {T+s} \right) \left( {1+a} \right) ^{n_k +n_{k+1} +1}\right. \\&\left. -\left( {T+s} \right) \left( {1+a} \right) +s\left( {1+a} \right) ^{n_{k+1} +1}-s\left( {1+a} \right) \right] . \end{aligned}$$

The proof is completed. \(\square \)

Lemma 16

For the problem \(1\left| {s-batch,p_i =a_i t,s_{sd} ,a\left( {F_l } \right) =a} \right| \sum \nolimits _{i=1}^N C_i \), the generated batches of the same job type are produced consecutively in an optimal schedule.

Proof

The same notations and the sequences \(\pi ^{*}\) and \(\pi \) are used as in the proof of Lemma 4. Let \(T\) denote the starting time of \(b_p \). Based on Lemma 15, we have

$$\begin{aligned}&\!\!\!\mathop \sum \limits _{i=\sum \nolimits _{k=1}^{p-1} n_k +1}^{\sum \nolimits _{k=1}^q n_k } C_i \left( \pi \right) -\mathop \sum \limits _{i=\sum \nolimits _{k=1}^{p-1} n_k +1}^{\sum \nolimits _{k=1}^q n_k } C_i \left( {\pi ^{*}} \right) \\&\quad =\mathop \sum \limits _{i=\sum \nolimits _{k=1}^p n_k +1}^{\sum \nolimits _{k=1}^{q-1} n_k } C_i \left( \pi \right) {+}\!\mathop \sum \limits _{i=\sum \nolimits _{k=1}^{q-1} n_k +1}^{\sum \nolimits _{k=1}^q n_k } C_i \left( \pi \right) {-}\mathop \sum \limits _{i=\sum \nolimits _{k=1}^p n_k +1}^{\sum \nolimits _{k=1}^{q-1} n_k } C_i \left( {\pi ^{*}} \right) -\mathop \sum \limits _{i=\sum \nolimits _{k=1}^{q-1} n_k +1}^{\sum \nolimits _{k=1}^q n_k } C_i \left( {\pi ^{*}} \right) \\&\qquad <\frac{\left( {T+s} \right) \left( {1+a} \right) ^{n_p +n_q }}{a}\cdot \left[ {\left( {1+a} \right) ^{\sum \nolimits _{k=p+1}^{q-1} n_k +1}-\left( {1+a} \right) } \right] \\&\qquad +\,\frac{\left( {T+s} \right) \left( {1+a} \right) ^{n_p }}{a}\cdot \left[ {\left( {1+a} \right) ^{n_q +1}-\left( {1+a} \right) } \right] \\&\qquad -\,\frac{\left( {T+s} \right) \left( {1+a} \right) ^{n_p }}{a}\cdot \left[ {\left( {1+a} \right) ^{\sum \nolimits _{k=p+1}^{q-1} n_k +1}-\left( {1+a} \right) } \right] \\&\qquad -\frac{\left( {T+s} \right) \left( {1+a} \right) ^{\sum \nolimits _{k=p}^{q-1} n_k }}{a}\cdot \left[ {\left( {1+a} \right) ^{n_q +1}-\left( {1+a} \right) } \right] \\&\quad =\left[ {\left( {1+a} \right) ^{n_q }-1} \right] \frac{\left( {T+s} \right) \left( {1+a} \right) ^{n_p }}{a}\cdot \left[ {\left( {1+a} \right) ^{\sum \nolimits _{k=p+1}^{q-1} n_k +1}-\left( {1+a} \right) } \right] \\&\qquad +\left[ {1-\left( {1+a} \right) ^{\sum \nolimits _{k=p+1}^{q-1} n_k }} \right] \cdot \frac{\left( {T+s} \right) \left( {1+a} \right) ^{n_p }}{a}\cdot \left[ {\left( {1+a} \right) ^{n_q +1}-\left( {1+a} \right) } \right] \\&\quad =\frac{\left( {T+s} \right) \left( {1+a} \right) ^{n_p }}{a}\cdot \left[ {\left( {1+a} \right) ^{n_q +1}-\left( {1+a} \right) } \right] \\&\qquad \cdot \left[ {\left( {1+a} \right) ^{\sum \nolimits _{k=p+1}^{q-1} n_k }-1+1-\left( {1+a} \right) ^{\sum \nolimits _{k=p+1}^{q-1} n_k }} \right] =0. \end{aligned}$$

Hence,

$$\begin{aligned} \mathop \sum \limits _{i=\sum \nolimits _{k=1}^{p-1} n_k +1}^{\sum \nolimits _{k=1}^q n_k } C_i \left( \pi \right) <\mathop \sum \limits _{i=\sum \nolimits _{k=1}^{p-1} n_k +1}^{\sum \nolimits _{k=1}^q n_k } C_i \left( {\pi ^{*}} \right) . \end{aligned}$$

Based on Lemma 4, it can be deduced that

$$\begin{aligned} \mathop \sum \limits _{i=\sum \nolimits _{k=1}^q n_k +1}^N C_i \left( \pi \right) <\mathop \sum \limits _{i=\sum \nolimits _{k=1}^q n_k +1}^N C_i \left( {\pi ^{*}} \right) . \end{aligned}$$

and

$$\begin{aligned} \mathop \sum \limits _{i=1}^{\sum \nolimits _{k=1}^{p-1} n_k } C_i \left( \pi \right) =\mathop \sum \limits _{i=1}^{\sum \nolimits _{k=1}^{p-1} n_k } C_i \left( {\pi ^{*}} \right) . \end{aligned}$$

Thus,

$$\begin{aligned}&\mathop \sum \limits _{i=1}^N C_i \left( \pi \right) -\mathop \sum \limits _{i=1}^N C_i \left( {\pi ^{*}} \right) \\&\quad =\mathop \sum \limits _{i=1}^{\sum \nolimits _{k=1}^{p-1} n_k } C_i \left( \pi \right) +\mathop \sum \limits _{i=\sum \nolimits _{k=1}^{p-1} n_k +1}^{\sum \nolimits _{k=1}^q n_k } C_i \left( \pi \right) +\mathop \sum \limits _{i=\sum \nolimits _{k=1}^q n_k +1}^N C_i \left( \pi \right) \\&\quad \quad -\left[ {\mathop \sum \limits _{i=1}^{\sum \nolimits _{k=1}^{p-1} n_k } C_i \left( {\pi ^{*}} \right) +\mathop \sum \limits _{i=\sum \nolimits _{k=1}^{p-1} n_k +1}^{\sum \nolimits _{k=1}^q n_k } C_i \left( {\pi ^{*}} \right) +\mathop \sum \limits _{i=\sum \nolimits _{k=1}^q n_k +1}^N C_i \left( {\pi ^{*}} \right) } \right] <0, \end{aligned}$$

which conflicts with the optimal schedule. This completes the proof. \(\square \)

Based on Lemma 16, we have the following property.

Lemma 17

For the problem \(1\left| {s-batch,p_i =a_i t,s_{sd} ,a\left( {F_l } \right) =a} \right| \sum \nolimits _{i=1}^N C_i \), if \(q_r \ge q_{r+1}\) for two consecutive job sets of job types \(r\) and \(r+1\), \(r=1,2,\cdots ,n-1\), then it is optimal to process \(F_r \) before \(F_{r+1}\). \(\square \)

Proof

We use the same notations and the sequences \(\pi ^{*}\) and \(\pi \) as in the proof of Lemma 6. We assume that there exists \(q_r <q_{r+1} \) in \(\pi ^{*}\). Let the starting time of \(F_r \) in \(\pi ^{*}\) be \(T\).

For \(\pi ^{*}\), we have

$$\begin{aligned} \mathop \sum \limits _{i=\sum \nolimits _{l=1}^{r-1} q_l +1}^{\mathop \sum \limits _{l=1}^{r+1} q_l } C_i \left( {\pi ^{*}} \right)= & {} \left( {T+s} \right) \left( {1+a} \right) \cdot \frac{\left( {1+a} \right) ^{q_r }-1}{a}\\&+\left[ {\left( {T+s} \right) \left( {1+a} \right) ^{q_r }+s} \right] \left( {1+a} \right) \cdot \frac{\left( {1+a} \right) ^{q_{r+1} }-1}{a} \end{aligned}$$

And for \(\pi \),

$$\begin{aligned} \mathop \sum \limits _{i=\sum \nolimits _{l=1}^{r-1} q_l +1}^{\mathop \sum \limits _{l=1}^{r+1} q_l } C_i \left( \pi \right)= & {} \left( {T+s} \right) \left( {1+a} \right) \cdot \frac{\left( {1+a} \right) ^{q_{r+1} }-1}{a}\\&+\left[ {\left( {T+s} \right) \left( {1+a} \right) ^{q_{r+1} }+s} \right] \left( {1+a} \right) \cdot \frac{\left( {1+a} \right) ^{q_r }-1}{a}. \end{aligned}$$

Then,

$$\begin{aligned}&\mathop \sum \limits _{i=\sum \nolimits _{l=1}^{r-1} q_l +1}^{\sum \nolimits _{l=1}^{r+1} q_l } C_i \left( {\pi ^{*}} \right) -\mathop \sum \limits _{i=\sum \nolimits _{l=1}^{r-1} q_l +1}^{\sum \nolimits _{l=1}^{r+1} q_l } C_i \left( \pi \right) \\&\quad =\left( {T+s} \right) \left( {1+a} \right) \cdot \frac{\left( {1+a} \right) ^{q_r }-1}{a}+\left[ {\left( {T+s} \right) \left( {1+a} \right) ^{q_r }+s} \right] \left( {1+a} \right) \cdot \frac{\left( {1+a} \right) ^{q_{r+1} }-1}{a}\\&\quad \quad -\left( {T+s} \right) \left( {1{+}a} \right) \cdot \frac{\left( {1{+}a} \right) ^{q_{r{+}1} }-1}{a}-\left[ {\left( {T+s} \right) \left( {1+a} \right) ^{q_{r+1} }+s} \right] \left( {1+a} \right) \cdot \frac{\left( {1+a} \right) ^{q_r }{-}1}{a}\\&\quad =\frac{s\left( {1+a} \right) }{a}\left[ {\left( {1+a} \right) ^{q_{r+1} }-\left( {1+a} \right) ^{q_r }} \right] >0. \end{aligned}$$

Based on Lemma 6, it can be derived that

$$\begin{aligned} \mathop \sum \limits _{i=\sum \nolimits _{l=1}^{r+1} q_l +1}^{\mathop \sum \limits _{l=1}^n q_l } C_i \left( {\pi ^{*}} \right) >\mathop \sum \limits _{i=\sum \nolimits _{l=1}^{r+1} q_l +1}^{\sum \nolimits _{l=1}^n q_l } C_i \left( \pi \right) . \end{aligned}$$

And we have

$$\begin{aligned} \mathop \sum \limits _{i=1}^{\sum \nolimits _{l=1}^{r-1} q_l } C_i \left( {\pi ^{*}} \right) =\mathop \sum \limits _{i=1}^{\sum \nolimits _{l=1}^{r-1} q_l } C_i \left( \pi \right) . \end{aligned}$$

Thus,

$$\begin{aligned} \mathop \sum \limits _{i=1}^N C_i \left( {\pi ^{*}} \right) >\mathop \sum \limits _{i=1}^N C_i \left( \pi \right) , \end{aligned}$$

which conflicts with the optimal schedule. This completes the proof. \(\square \)

Based on the above lemmas, we develop the following Algorithm 4 to solve the first special case.

Algorithm 4

Step 1.

Sequence the jobs of the same type together, and then sequence the job sets of all types in non-increasing order of \(q_l \), i.e., \(q_1 \ge q_2 \ge \cdots \ge q_n \). Set \(l=0.\)

Step 2.

Set \(l=l+1.\)

Step 3.

If there is any job in \(F_l \), then place the first job as a batch and iterate. Otherwise, go to step 4.

Step 4.

If \(l=n\), then stop and schedule the batches in their generation order at time \(t_0 \). Otherwise, go to step 3.

Thus, Algorithms 1 and 4 have some similarities, where the jobs of the same type are sequenced together and the same way of job batching is conducted in both algorithms.

Theorem 4

For the problem \(1\left| {s-batch,p_i =a_i t,s_{sd} ,a\left( {F_l } \right) =a} \right| \sum \nolimits _{i=1}^N C_i \), an optimal schedule can be obtained by Algorithm 4 in \(O\left( {N\log N} \right) \) time. If the job sets of all types are sequenced in non-increasing order of \(q_l \left( {l=1,2,\cdots ,n} \right) \), then the optimal sum of job completion times is

$$\begin{aligned} \mathop \sum \limits _{i=1}^N C_i= & {} \left( {t_0 +s} \right) \frac{\left( {1+a} \right) ^{N+1}{-}\left( {1+a} \right) }{a}+s\left[ {\mathop \sum \limits _{j=3}^n \mathop \sum \limits _{l=2}^{j-1} \left( {1+a} \right) \frac{\left( {1+a} \right) ^{q_j }{-}1}{a}\mathop \prod \limits _{x=l}^{j-1} \left( {1+a} \right) ^{q_x }} \right. \nonumber \\&\left. {+\mathop \sum \limits _{j=2}^n s\left( {1+a} \right) \frac{\left( {1+a} \right) ^{q_j }-1}{a}} \right] \end{aligned}$$
(4)

Proof

Based on Lemmas 1517, an optimal solution can be generated by Algorithm 4. It is seen that the time complexity of step 1 is \(O\left( {n\log n} \right) \) to obtain the optimal job set sequence of all types, and the total time complexity of steps 2, 3, and 4 is \(O\left( n \right) \). Then, we have \(n\le N\). Thus, the time complexity of Algorithm 4 is at most \(O\left( {N\log N} \right) \).

Mathematical induction can be used to prove the optimal result of sum of job completion times based on the number of job types. Firstly for \(n=1\) we have

$$\begin{aligned} \mathop \sum \limits _{i=1}^{q_1 } C_i =\left( {t_0 +s} \right) \frac{\left( {1+a} \right) ^{q_1 +1}-\left( {1+a} \right) }{a}, \end{aligned}$$

so Eq. (4) holds for \(n=1\). Suppose that for all \(2\le p\le n-1\), Eq. (4) is satisfied. We have

$$\begin{aligned} \mathop \sum \limits _{i=1}^{\sum \nolimits _{f=1}^p q_f } C_i= & {} \left( {t_0 +s} \right) \frac{\left( {1+a} \right) ^{\mathop \sum \nolimits _{f=1}^p q_f +1}-\left( {1+a} \right) }{a}\\&+\,s\left[ {\mathop \sum \limits _{j=3}^p \mathop \sum \limits _{l=2}^{j-1} \left( {1+a} \right) \frac{\left( {1+a} \right) ^{q_j }-1}{a}\mathop \prod \limits _{x=l}^{j-1} \left( {1+a} \right) ^{q_x }} \right. \left. {+\mathop \sum \limits _{j=2}^p \left( {1+a} \right) \frac{\left( {1+a} \right) ^{q_j }-1}{a}} \right] \end{aligned}$$

Then, for the \(\left( {p+1} \right) \)th job set \(F_{p+1} \),

$$\begin{aligned}&\mathop \sum \limits _{i=1}^{\sum \nolimits _{f=1}^{p+1} q_f } C_i =\mathop \sum \limits _{i=1}^{\sum \nolimits _{f=1}^p q_f } C_i +\mathop \sum \limits _{i=\sum \nolimits _{f=1}^p q_f +1}^{\sum \nolimits _{f=1}^{p+1} q_f } C_i\\&\quad =\mathop \sum \limits _{i=1}^{\sum \nolimits _{f=1}^p q_f } C_i +\left[ {\left( {t_0 +s} \right) \left( {1+a} \right) ^{\sum \nolimits _{f=1}^p q_f }+\mathop \sum \limits _{j=2}^p s\left( {1+a} \right) ^{\mathop \sum \limits _{f=j}^p q_f }+s} \right] \left( {1+a} \right) \\&\quad \quad \quad \frac{\left( {1+a} \right) ^{q_{p+1} }-1}{a}\\&\quad =\left( {t_0 +s} \right) \frac{\left( {1+a} \right) ^{\mathop \sum \nolimits _{f=1}^{p+1} q_f +1}-\left( {1+a} \right) }{a} \\&\qquad +s\left[ {\mathop \sum \limits _{j=3}^{p+1} \mathop \sum \limits _{l=2}^{j-1} \left( {1+a} \right) \frac{\left( {1+a} \right) ^{q_j }-1}{a}\mathop \prod \limits _{x=l}^{j-1} \left( {1+a} \right) ^{q_x }} \right. \left. {+\mathop \sum \limits _{j=2}^{p+1} \left( {1+a} \right) \frac{\left( {1+a} \right) ^{q_j }-1}{a}} \right] . \end{aligned}$$

Note that \(\sum \nolimits _{i=1}^N C_i =\sum \nolimits _{i=1}^{\sum \nolimits _{f=1}^n q_f } C_i \), the result is proved by the induction. \(\square \)

6.2 Special case: \(s=0\)

Lemma 18

For the problem \(1\left| {s-batch,p_i =a_i t,s=0} \right| \sum \nolimits _{i=1}^N C_i \), there is an optimal schedule, where the batches of the same job type are processed together, and all jobs are sequenced in non-decreasing order of \(a_i\). \(\square \)

Proof

For any given schedule, the makespan remains unchanged after the batches of the same job type are processed together. Hence, the batches of the same job type can be processed together in an optimal schedule. Let \(\pi ^{*}\) and \(\pi \) be an optimal schedule and a job schedule. The difference between the two schedules is the pairwise interchange of two job batches \(\left\{ {J_x } \right\} \) and \(\left\{ {J_{x+1} } \right\} \left( {x=1,2,\cdots ,m-1} \right) \), that is, \(\pi ^{*}=\left( {W_1 ,\left\{ {J_x } \right\} ,\left\{ {J_{x+1} } \right\} ,W_2 } \right) \), \(\pi =\left( {W_1 ,\left\{ {J_{x+1} } \right\} ,\left\{ {J_x } \right\} ,W_2 } \right) \), where \(J_x \) and \(J_{x+1} \) are of different job types \(l\) and \(f\), \(a\left( {F_l } \right) >a\left( {F_f } \right) \), \(W_1 \)and \(W_2 \) represent two partial sequences, and \(W_1 \) or \(W_2 \) may be empty. Hence, we have \(a_x >a_{x+1} \). Then,

$$\begin{aligned} \mathop \sum \limits _{i=1}^N C_i \left( {\pi ^{*}} \right) -\mathop \sum \limits _{i=1}^N C_i \left( \pi \right) =\mathop \sum \limits _{i=1}^{x+1} C_i \left( {\pi ^{*}} \right) -\mathop \sum \limits _{i=1}^{x+1} C_i \left( \pi \right) =t_0 \left( {a_x -a_{x+1} } \right) \mathop \prod \limits _{i=1}^{x-1} \left( {1+a_i } \right) >0, \end{aligned}$$

Which conflicts with the optimal schedule, and this completes the proof. \(\square \)

Based on the above lemma, we develop the following Algorithm 5 to solve the second special case.

Algorithm 5

Step 1.

Sequence the jobs of the same type together, and then sequence the job sets of all types in non-decreasing order of \(a\left( {F_l } \right) \), i.e., \(a\left( {F_1 } \right) \le a\left( {F_2 } \right) \le \cdots \le a\left( {F_n } \right) \). Set \(l=0.\)

Step 2.

Set \(l=l+1.\)

Step 3.

If there is any job in \(F_l \), then place the first job as a batch and iterate. Otherwise, go to step 4

Step 4.

If \(l=n\), then stop and schedule the batches in their generation order at time\(t_0 \). Otherwise, go to step 3.

Theorem 5

For the problem \(1\left| {s-batch,p_i =a_i t,s=0} \right| \sum \nolimits _{i=1}^N C_i \), an optimal schedule can be obtained by Algorithm 5 in \(O\left( {N\log N} \right) \) time. If the job sets of all types are sequenced in non-decreasing order of \(a\left( {F_l } \right) \left( {l=1,2,\cdots ,n} \right) \), then the optimal total completion times of all jobs are \(t_0 \sum \nolimits _{i=1}^N \prod \nolimits _{j=1}^i \left( {1+a_j } \right) .\)

Proof

Based on Lemma 18, Algorithm 5 can obtain an optimal solution. It is obvious that the time complexity of Algorithm 5 is the same as that of Algorithm 4, so the time complexity of Algorithm 5 is also \(O\left( {N\log N} \right) \). The result of total completion times of all jobs can be proved by induction. The proof is similar to that of Lemma 1, and it is omitted here. The proof is completed. \(\square \)

7 Conclusions

In this paper, we study a new serial-batching scheduling model with deteriorating jobs, where multiple job types and sequence-dependent setup times are considered simultaneously. For the problems of minimizing the makespan, the maximum tardiness, the maximum lateness, and the maximum earliness, we develop optimization algorithms to solve them respectively. Moreover, an optimization algorithm is proposed to minimize the number of tardy jobs under a certain agreeable condition. Finally, for the problem of minimizing the total completion time of jobs, we also analyze its two special cases and propose optimization algorithms to solve them respectively. The algorithm can be applied in actual practices to increase the productivity. In future research, we may focus on developing effective meta-heuristic to solve some related scheduling problems, considering other objective functions, and proposing more general and practical models.