## 2 The Generic Materials and Operational Planning Model (GMOP)  
The Generic Materials and Operational Planning model was proposed by [PERSON] et al. [19] and [PERSON] et al. [18], as an alternative for modeling the existing relations between the processes and the materials needed for the elaboration of a product. Unlike the Gozinto representation (where the priority falls on the final product and its components), this lot-sizing model focuses on the planning of operations (strokes) to be made for the manufacture, purchase, or transportation of a certain product or a group of products. A stroke is defined as any activity or operation that allows for the transformation of a set of products or Stock Keeping Units (SKUs) into another set of SKUs, using or immobilizing a certain amount of resources. As shown in Figure 1, a Stroke can contain the following attributes [19]:  
* Outputs (Stroke Outputs): The product or set of products obtained from the stroke execution, as shown in Table 1.
* Inputs (Stroke Inputs): The product or set of products consumed at the execution of the stroke, as shown in Table 2.
* Lead times
* Operation times and costs
* Set-up times and costs
* Resource usage: Resources can be, for example, machinery, workforce, and so on. The GMOP model can easily include capacity constraints, as well as direct, inverse, and alternate bill of materials, multi-site production, resource requirements, by-products, transportation modes, and packaging processes [19]. The problem is presented as a mixed integer programming model, whose parameters and variables are shown in Table 3. The objective function (1) aims to minimize the total planning cost \(Z\), which includes storage, operation, and set up costs generated by the execution of strokes. \begin{table}
\begin{tabular}{l c c c c c} \hline \hline \(\mathbf{SO}_{i,k}\) & \(\mathbf{k1}\) & \(\mathbf{k2}\) & \(\mathbf{k3}\) & \(\mathbf{k4}\) & \(\mathbf{k5}\) \\ \hline SKU \(\mathbf{A}\) & 1 & 1 & 0 & 0 & 0 \\ SKU \(\mathbf{B}\) & 0 & 0 & 1 & 0 & 0 \\ SKU \(\mathbf{C}\) & 0 & 0 & 0 & 1 & 1 \\ SKU \(\mathbf{D}\) & 0 & 0 & 0 & 0 & 0 \\ SKU \(\mathbf{E}\) & 0 & 0 & 0 & 0 & 0 \\ SKU \(\mathbf{F}\) & 0 & 0 & 0 & 0 & 0 \\ SKU \(\mathbf{G}\) & 0 & 0 & 0 & 0 & 0 \\ SKU \(\mathbf{H}\) & 0 & 0 & 0 & 0 & 0 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Stroke outputs matrix, according to Figure 1.  
Figure 1: Bill of materials example representation in the Generic Materials and Operational Planning (GMOP) model [28]. \begin{table}
\begin{tabular}{l c c c c} \hline \hline \(\mathbf{SI}_{i,k}\) & \(\mathbf{k1}\) & \(\mathbf{k2}\) & \(\mathbf{k3}\) & \(\mathbf{k4}\) & \(\mathbf{k5}\) \\ \hline SKU \(\mathbf{A}\) & 0 & 0 & 0 & 0 & 0 \\ SKU \(\mathbf{B}\) & 1 & 0 & 0 & 0 & 0 \\ SKU \(\mathbf{C}\) & 0 & 1 & 0 & 0 & 0 \\ SKU \(\mathbf{D}\) & 0 & 0 & 3 & 0 & 0 \\ SKU \(\mathbf{E}\) & 0 & 0 & 2 & 0 & 0 \\ SKU \(\mathbf{F}\) & 0 & 0 & 0 & 5 & 4 \\ SKU \(\mathbf{G}\) & 0 & 0 & 0 & 3 & 0 \\ SKU \(\mathbf{H}\) & 0 & 0 & 0 & 0 & 5 \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Stroke inputs matrix, according to Figure 1.  
Equation (2) represents the inventory constraint. It considers the stock levels from the previous period, demand requirements, purchased items, and the quantities generated and consumed by the strokes in every time period. Equation (3) ensures the inclusion of a setup cost when a stroke is used: If \(z_{k,t}\) is larger than zero, then \(\delta_{k,t}\) must be 1 in order to satisfy the constraint. Equation (4) is a capacity constraint that limits the use of resources by considering both setup and operations times. Finally, Equations (5)-(8) define the range and domain of the decision variables.