## 3 Bi-Level Programming Model for MEIFM
### Model Formulation
#### 3.2.2 Multi-Objective Bi-Level Programming Model  
The structure of the proposed bi-level model is illustrated in Figure 4. In the structure, the upper-level model is linked to the lower-level model by \(f_{lk}\) and \(d_{lk}\). First, the lower-level model regards the \(f_{lk}\) of the upper-level model as constraints to optimize the layout scheme. Then, the \(d_{lk}\) of the lower-level model feeds back to the upper-level model to affect the evaluation indexes of the upper-level model. The upper-level model for FJSSP:  
\[\text{min}C_{\text{max}}=\text{max}(ct_{ijk}); \tag{1}\]  
\[\text{min}TEC=PE+IE+TE; \tag{2}\]  
\(s.t.\)  
\[ct_{ijk}=st_{ijk}+pt_{ijk},\ (1\leq i\leq n;1\leq j\leq o_{i};1\leq k\leq m); \tag{3}\]  
\[ct_{ijk}-ct_{i(j-1)l}\geq pt_{ijk},\ (1\leq i\leq n;1\leq j\leq o_{i};1\leq k,l \leq m;k\
eq l); \tag{4}\]  
\[dt_{ijk}=\left\{ \begin{array}{cc}0,&ct_{ijkijk}\leq ct_{i(j-1)l}+t_{lk}\\ ct_{ijk}-ct_{i(j-1)}-tt_{lk},&ct_{ijk}>ct_{i(j-1)l}+tt_{lk}\end{array} ,\ (1\leq i,i\leq n;1\leq j,i\leq o_{i};1\leq k,l \leq m;k\
eq l);\right. \tag{5}\]  
\[tt_{lk}=d_{lk}/v,\ (1\leq k,l\leq m;k\
eq l); \tag{6}\]  
\[st_{ijk}=ct_{i(j-1)l}+x_{ilk}tt_{lk}+dt_{ijk},\ (1\leq i\leq n;1\leq j\leq o_{i};1 \leq k,l\leq m;k\
eq l); \tag{7}\]  
\[f_{lk}=\sum_{i=1}^{n}x_{ilk},\ (1\leq k,l\leq m;k\
eq l); \tag{8}\]  
\[it_{k}=\sum_{i,j=1}^{n}\sum_{j,j=1}^{o_{i}}\ (ct_{ijk}-ct_{ijk}-pt_{ijk} )x_{ijk}x_{ijk},\ (1\leq k\leq m); \tag{9}\]  
\[PE=\sum_{i=1}^{n}\sum_{j=1}^{o_{i}}\sum_{k=1}^{m}x_{ijk}pe_{k}pt_{ijk}; \tag{10}\]  
\[IE=\sum_{k=1}^{m}ie_{k}it_{k}; \tag{11}\]  
\[TE=\sum_{l=1}^{m}\sum_{k=1}^{m}x_{ilk}tt_{lk}te,\ (1\leq i\leq n;k\
eq l). \tag{12}\]  
Figure 4: Structure of the proposed bi-level model. Equations (1) and (2) are used to minimize the makespan and total energy consumption, respectively. It is noted that the total energy consumption includes the processing energy consumption and idle energy consumption of all machines, as well as the transportation energy consumption of all jobs. Equation (3) ensures that jobs are processed non-preemptively. Equation (4) guarantees that each machine can only process one job at a time. Equation (5) calculates the delay time of \(O_{ij}\) on machine \(k\). Figure 5 shows two cases of calculating \(dt_{ijk}\), in which Figure 5a expresses that when \(ct_{ij\gamma k}\) is less than or equal to the sum of \(ct_{i(i-1)l}\) and \(tt_{lk}\), \(dt_{ijk}=0\) and Figure 5b shows that when \(ct_{ij\gamma k}\) is greater than the sum of \(ct_{i(j-1)l}\) and \(tt_{lk}\), \(dt_{ijk}=ct_{ij\gamma k}-tt_{lk}-ct_{i(j-1)l}\). Equation (6) calculates the transportation time of jobs between machines. Equation (7) calculates the start time of \(O_{ij}\) on machine \(k\). Equation (8) computes the material handling frequency between machines. Equation (9) calculates the idle time of each machine. Equations (10)-(12) are used to get the total processing energy consumption, total idle energy consumption, and total transportation energy consumption, respectively. The lower-level model for MRWLP:  
\[\text{min}MHQ=\sum_{l=1}^{m}\sum_{k=1}^{m}f_{lk}d_{lk}; \tag{13}\]  
_s.t._  
\[x_{l}=x_{k}+(e_{l}+e_{k})/2+e_{lk}+\Delta_{lk},\ (1\leq k,l\leq m;k\
eq l); \tag{14}\]  
\[st_{ijk}=ct_{i(j-1)l}+x_{ilk}tt_{lk}+dt_{ijk},\ (1\leq i\leq n;1\leq j\leq o_{i};1 \leq k,l\leq m;k\
eq l); \tag{7}\]0  
\[st_{ijk}=ct_{i(j-1)l}+x_{ilk}tt_{lk}+dt_{ijk},\ (1\leq i\leq n;1\leq j\leq o_{i};1 \leq k,l\leq m;k\
eq l); \tag{7}\]1  
\[st_{ijk}=ct_{i(j-1)l}+x_{ilk}tt_{lk}+dt_{ijk},\ (1\leq i\leq n;1\leq j\leq o_{i};1 \leq k,l\leq m;k\
eq l); \tag{7}\]2  
\[st_{ijk}=ct_{i(j-1)l}+x_{ilk}tt_{lk}+dt_{ijk},\ (1\leq i\leq n;1\leq j\leq o_{i};1 \leq k,l\leq m;k\
eq l); \tag{7}\]3  
\[st_{ijk}=ct_{i(j-1)l}+x_{ilk}tt_{lk}+dt_{ijk},\ (1\leq i\leq n;1\leq j\leq o_{i};1 \leq k,l\leq m;k\
eq l); \tag{7}\]4  
Equation (13) is the objective function of the lower-level model, aiming to minimize the material handling quantity.