## 3 Materials and Methods
### Mathematical Formulation of the Proposed Model  
The considered case of optimization belongs to the FJSP, for which the formulation of the variables of the mathematical model can be conducted as follows [27]:  
1. Set of machines M = {M1, M2, M3,..., Mm}, where m is the total number of machines, with index h denoting each specific machine, h \(\in\){1...m};
2. Set of machine costs per time unit K = {K1, K2, K3,..., Km};
3. Set of working orders N = {N1, N2, N3,..., Nn}, where n is the total number of work orders, index i denotes each working order, i \(\in\){1...n};
4. Each work order consists of a sequence of operation O = {O1, O2, O3,..., Ok}, where k is the total number of operations within certain work order and index j denotes each working order operation, j \(\in\){1...k};
5. Ordered set of operations \(\forall\)Ni i \(\in\){1...n} \(\exists\): Oij = {O11, O12, O13,..., Onk*}, i.e., set of operations of the ith work order, where each work order i may have different number of k* operations;
6. Ordered set of machines for the execution of the ith work order \(\forall\)Oij i \(\in\){1...n}, j \(\in\){1...k*} \(\exists\): Mij \(\subseteq\) {M1, M1,..., Mm}. The execution of each operation j of a work order i (noted Oij) requires one machine out of a set of given machines called Mij \(\subseteq\) Mm;
7. Sequence lij of operation Oij, \(\forall\)Ni i \(\in\){1...n} is the execution sequence of the jth operation of ith work order;
8. Execution time pij of operations Oij \(\forall\)Ni i \(\in\){1...n} is the execution time of the jth operation of ith work order on hth machine;(ix) B, a large enough positive number. The model's control variables are the following:  
In addition to the observed model's input variables, it is necessary to define a vector of control variables, that is, variables that describe the optimization objectives stated. In the observed model, these are:  
\[\text{t}_{\text{jh}}\text{--start time of operation }\text{O}_{\text{ij}}\text{ on machine h} \tag{1}\]  
\[\text{T}_{\text{hl}}\text{--start time of the lth operation performed on the machine h} \tag{2}\]  
\[\text{ps}_{\text{ij}}\text{--processing time of operation }\text{O}_{\text{ij}}\text{ on machine h} \tag{3}\]  
\[\text{X}_{\text{jh}}=\left\{ \begin{array}{ll}1&\text{if operation }\text{O}_{\text{ij}}\text{ is assigned to machine h}\\ 0&\text{otherwise}\end{array} \right. \tag{4}\]  
\[\text{Y}_{\text{jjhl}}=\left\{ \begin{array}{ll}1&\text{if operation }\text{O}_{\text{ij}}\text{ is assigned to machine h on lth place}\\ 0&\text{otherwise}\end{array} \right. \tag{5}\]  
\[\text{Z}_{\text{ijhl}}=\left\{ \begin{array}{ll}1&\text{if operation }\text{O}_{\text{ij}}\text{ can be performed on machine h}\\ 0&\text{otherwise}\end{array} \right. \tag{6}\]  
\[\text{l}_{\text{h}}\text{--number of assigned operation on hth machine} \tag{7}\]  
\[\text{e}_{\text{jh}}\text{--completion time of operation }\text{O}_{\text{ij}}\text{ on hth machine} \tag{8}\]  
Constraints of the mathematical model:  
The process time can be defined only after assigning the operation \(\text{O}_{\text{ij}}\) to the appropriate machine from the subset \(\text{M}_{\text{ij}}\). \[\sum_{\text{h}=1}^{\text{m}}\text{X}_{\text{jih}}\text{.}\text{P}_{\text{jih} }=\text{ps}_{\text{ij}}\text{ }\text{ }\text{\forall}\text{i}\text{,j} \tag{9}\]  
Two or more operations of the same work order cannot be executed simultaneously. \[\text{t}_{\text{jih}}+\text{ps}_{\text{ij}}\leq\text{t}_{\text{i(j+1)}}+\left( 1-\text{X}_{\text{jih}}\right)\text{.}\text{B }\text{ }\text{\forall}\text{i}\text{,h,j}=1,\ldots,\text{k}_{\text{i}}-1 \tag{10}\]  
The start time of each operation on the machine must follow after the end of the execution of the previous operation on that machine.