## 2 Problem Statement and Mixed Integer Linear Programming (MILP) Model  
A number of orders were sequentially carried out by manufacturing, batching, and delivery operations between a manufacturing plant and multi-delivery sites. Many jobs in the various orders by customers were firstly received and produced by one of the identical parallel machines in a manufacturing plant. The jobs to be shipped to the same customer were grouped in a batch. The batch was loaded into one of the available trucks with a truck containing limit and delivered to the associated customer. Once the trucks were successfully delivered to the current delivery location, for the next delivery, they were directly returned to the manufacturing plant. In this article, three main decisions are to be determined: (1) machine scheduling, which gives a job assignment to a machine and a job sequence produced in each machine, (2) batching, which decides grouping the jobs to the same delivery place within a delivery capacity, and (3) truck delivery scheduling, which decides a batch assignment to truck and a batch sequence delivered in each truck. Total tardiness violating due times of each job is important to improve the service level of customers. Thus, the objective function is to minimize the total tardiness. For the mathematical formulation, the parameters and decision variables were defined in Appendix A. In this model, the variables \(z_{\mathit{i}in}^{M}\) and \(z_{\mathit{k}kt}^{T}\) were specially introduced. The variable \(z_{\mathit{i}in}^{M}\) equals 1, if job \(i\) is assigned to the first processing sequence of machine \(m\) at the manufacturing plant. Similarly, the variable \(z_{\mathit{k}kt}^{T}\) equals 1, if batch \(k\) is assigned to the first delivery sequence to truck \(t\). Since the batching is one main decision in the model, the initial set \(B\) is defined as the set of maximum available batches and the number of maximum available batches equals the number of jobs (\(|B|=|J|\)). Some dummy batches had no assigned jobs in set \(B\), and we ignored the batches on the truck delivery scheduling. In these cases, we ignored the batches on the truck delivery scheduling, which were \(y_{\mathit{k}in}^{C}=0\) for \(\forall n\in C\). For illustrating the proposed problem, a simple example is given in Figure 1 and Table 1. In the example, nine jobs from three orders by the corresponding customers were required to schedule manufacturing and delivery by two machines and two trucks. Jobs 1 and 2 were ordered by customer 1, jobs 3, 4, 5, and 6 were ordered by customer 2, and jobs 7, 8, and 9 were ordered by customer 3, respectively. In Table 1, the parameters of processing time, due time, and volume of each jobs, and transportation time to each customer are shown. From Figure 1, machine 1 sequentially produces jobs 3, 7, 5, and 9, and machine 2 also sequentially produces jobs 1, 4, 8, 6, and 2 at the plant. According to the truck containing capacity (\(V=10\)) and the ordering customer, 6 batches were grouped using the manufactured jobs. Once batching was completed, truck scheduling was processed based on the batches. For truck scheduling, truck 1 sequentially delivered three batches 3, 5, and 6 to customers 2, 3, and 3, and truck 2 sequentially delivered three batches, 1, 4, and 2, to customers 1, 2, and 1, respectively. From these schedules, the tardiness of each job is calculated in the last column of Table 1. Hence, the total tardiness of these schedules becomes 150. Using the above problem parameters and decision variables, the MILP model for the proposed problem is as follows:  
\[Min\ \mathrm{z}=\sum_{i\in J}\tau_{i} \tag{1}\]  
_s.t._  
\[x_{i}+p_{i}\leq x_{j}+Q\Bigg{(}1-\sum_{m\in M}Z_{ijm}^{M}\Bigg{)}\ \ \ for\ \forall i,j\in J;\ j\
eq i \tag{2}\]  
\[\sum_{m\in M}y_{im}^{M}=1,\ \ \ for\ \forall i\in J \tag{3}\]  
\[\sum_{i\in J}z_{im}^{M}\leq 1,\ \ \ for\ \forall m\in M \tag{4}\]