# Energy-Efficient Hybrid Flow-Shop Scheduling under Time-of-Use and Ladder Electricity Tariffs
## 2 Problem Statement and Methods
The notations which used in this paper are summarized below:  
**Indices:**  
\(C_{max}\)  
Makespan  
\(TEC\)  
Total energy consumption  
\(i\)  
Index of processing stages, \(i=1,\ 2,\cdots,n\)  
\(j\)  
Index of job, \(j=1,\ 2,\cdots,m\)  
\(k\)  
Index of machines in the processing stages, \(k=1,\ 2,\ \cdots,p\)  
\(t\)  
Index of time period for TOU  
**Variables:**  
\(s_{ijk}\)  
Start time of job \(j\) on machine \(k\) in stage \(i\)  
\(e_{ijk}\)  
Completion time of job \(j\) on machine \(k\) in stage \(i\)  
\(\sigma(t)\)  
Processing time of job \(j\) on machine \(k\) in stage \(i\)  
\(\sigma^{v}(t)\)  
TOU price function  
\(q_{0}\)  
Electricity price under TOU and vth ladder stage  
\(q_{0}\)  
Electricity price within time \([0,\ t_{1})\)  
Electricity price within time \([t_{1},\ t_{i})\)  
\(q_{i}^{v}\)  
Electricity price of stage v within time \([t_{1},\ t_{i})\), \(v\in[1,V]\)  
\(E_{p}\)  
power consumption for each machine during processing mode  
Figure 2: Applying the IBR tariff proportional to the daily energy consumption. **Decision variables:**  
\[x_{ijk}=\left\{ \begin{array}{cc}1&\text{job }j\text{ in sequence on machine }k\text{ in stage }i\\ 0&\text{otherwise}\end{array} \right.\]  
\[y_{jk}=\left\{ \begin{array}{cc}1&\text{job }j\text{ is assigned to machine }k\\ 0&\text{otherwise}\end{array} \right.\]  
\[Z_{ijk}^{v}=\left\{ \begin{array}{cc}1&\text{electricity consumption of }\text{job }j\text{ reach the standard of stage }v\\ 0&\text{otherwise}\end{array} \right.\]  
The mathematical formulation for the problem is as follows. Equations (1) and (2) are the multi-objective of the HFSP. Equation (1) represents the make span, which is the maximum completion time of all jobs. Equation (2) represents the TEC, which depends on the machine power and the energy price in each period. \[f_{1}=\text{min }C_{max} \tag{1}\]  
\[f_{2}=\text{min}TEC \tag{2}\]  
Equation (3) ensures that only one job can be processed simultaneously. Equation (4) guarantees that each job can be processed by only one machine at any stage. \[\sum_{i=1}^{n}x_{ijk}=1\text{ }j=1,2,\cdots,m;\text{ }k=1,2,\ \cdots,\ p; \tag{3}\]  
\[\sum_{j=1}^{m}y_{jk}=1\text{ }k=1,2,\ \cdots,\ p; \tag{4}\]  
Equations (5)-(8) formulate the processing contiguity constraints. Equation (5) illustrates the relationship between the start time and the completion time of the process at the same stage. Equation (6) indicates that the next process of the same job cannot be started before the previous process is completed. \[e_{ijk}=s_{ijk}+p_{ijk}i=1,2,\cdots,n;\text{ }j=1,2,\cdots,m;\text{ }k=1,2,\ \cdots,\ p; \tag{5}\]  
\[e_{ijk}\leq s_{i(i+1)k}i=1,2,\cdots,n;\text{ }j=1,2,\cdots,m;\text{ }k=1,2,\ \cdots,\ p; \tag{6}\]  
Equation (7) indicates that the next job cannot be processed earlier than the previous one at the same stage. Equation (8) means that the lower-ranked job allocated on the same machine at the same stage can only be processed after the previous job is processed, M is enough for when the job in different ranks is not on the same machine. \[\sum_{i=1}^{n}x_{ijk}s_{ij}\leq\sum_{i=1}^{n}x_{(j+1)k}s_{ij}\text{ }j=1,2,\cdots,m;\text{ }k=1,2,\ \cdots,\ p; \tag{7}\]  
\[\sum_{i=1}^{n}x_{ijk}y_{ik}e_{ij}\leq\sum_{i=1}^{n}x_{ijk}y_{ik}s_{ij}+\left(1 -\sum_{i=1}^{n}x_{ijk}y_{ik}s_{ij}\right)\times M \tag{8}\]  
\[j=1,2,\cdots,m;\text{ }k=1,2,\ \cdots,\ p;\]  
Equations (9) and (10) indicate electricity prices during different processing times and electricity consumption levels. \(\sigma(t)\) is the TOU electricity price function and \(\sigma^{v}(t)\) represents the electricity price under TOU and the \(v\)th ladder stage. \[\sigma(t)=\left\{ \begin{array}{cc}q_{1}&0\leq t<t_{1}\\ q_{2}&t_{1}\leq t<t_{2}\\ &\cdots\\ q_{l}&t_{l-1}\leq t<t_{l}\end{array} \right. \tag{9}\]  
\[\sigma^{v}(t)=\left\{ \begin{array}{cc}q_{1}^{v}&0\leq t<t_{1}\\ q_{2}^{v}&t_{1}\leq t<t_{2}\\ &\cdots\\ q_{l}^{v}&t_{l-1}\leq t<t_{l}\end{array} \right.