## 2 MILP Formulation for the Problem  
This paper studies an energy-efficient single machine scheduling problem under TOU electricity tariffs. The problem can also be called a single machine scheduling problem with electricity costs (SMSEC). Consider a set of jobs \(N=\{1,2,\ldots,n\}\) that need to be processed on a single machine with the objective of minimizing the electricity cost. It is assumed that all the jobs must be processed at a uniform speed. Each job \(i\in N\) has its unique processing time \(t_{i}\) and power consumption per hour \(p_{i}\). A machine can process, at most, one job at a time, and when it is processing a job, no preemption is allowed. Each job and the machine are available for processing at time instant 0. Machine breakdown and preventive maintenance are not considered in this paper.  
The machine is mainly powered by electricity. The electricity price follows a TOU pricing scheme represented by a set of time periods \(M=\{1,2,\ldots,m\}\), with each period \(k\in M\), having an electricity price \(c_{k}\) and a starting time \(b_{k}\). The interval of period \(k\) is represented by \([b_{k},b_{k+1}]\), \(k\in M\), and \(b_{1}=0\) is always established. It is assumed that the \(C_{max}\) is the given makespan and \(b_{m+1}\geq C_{max}\). This means that a feasible solution always exists.  
The main work of this problem is to assign a set of jobs to periods with different electricity prices in the time horizon \([0,b_{m+1}]\) to minimize total electricity cost, and the main task is to determine to which period(s) a job is assigned and how long a job is processed in each period. Hence, two decision variables are given as follows. Note that the starting time of each job can be determined by the decision variables (i.e., \(x_{i,k}\) and \(y_{i,k}\)).  
\(x_{i,k}\): assigned processing time of job \(i\) in period \(k\), \(i\in N,k\in M\);  
\[y_{i,k}=\left\{\begin{array}{l}1,\text{if job $i$ or part of job $i$ is processed in period $k$}\\ 0,\text{otherwise}\end{array}\right.,i\in N,k\in M.\]  
In addition, a job is called processed within a period if both its starting time and completion time are within the same period. Otherwise, it is called processed across periods [9]. Let \(d_{k}\) and \(X_{k}\), \(k\in M\), represent the duration of period \(k\) and the total already assigned processing times in period \(k\), respectively. The difference between \(d_{k}\) and \(X_{k}\) is defined as the remaining idle time of period \(k\) which is represented by \(l_{k}\), \(k\in M\). If \(l_{k}=0\), the period \(k\) is called _full_.  
The MILP model for the single machine scheduling problem can be presented as follows:  
\[\text{Min }TEC=\sum_{i=1}^{n}\sum_{k=1}^{m}p_{i}x_{i,k}c_{i} \tag{1}\]  
s.t.  
\[\sum_{k=1}^{m}x_{i,k}=t_{i},i\in N; \tag{2}\]  
\[\sum_{i=1}^{n}x_{i,k}\leq b_{k+1}-b_{k},k\in M; \tag{3}\]  
more than one period, it must occupy several continuous periods. Constraint (6) ensures that if a job is processed across three periods, the middle period must be fully occupied by the job. Constraint (7) ensures that, at most, one job is processed across any pair of adjacent periods. An illustration to the MILP model is given by an example of a 2-job single machine scheduling problem under a 3-period TOU scheme, as shown in Figure 1. Note that more detailed explanations of the formulas can be seen in [PERSON] et al. (2018).