## 2 A Detailed Description of the Problem  
This section describes a hybrid flow shop problem with realistic constraints. The example described here is based on the specifics and constraints of a pre-assembly process in semiconductor manufacturing, and notice that these constraints commonly appear in semiconductor manufacturing in general. In parallel with the realistic use case, in this section, we formally categorize our problem. Therefore, we use the notation first introduced by [8]. Using the scheme, any scheduling problem can be described by means of a parameter tuple \((\alpha|\beta|\gamma)\)[9]. The parameter \(\alpha\) defines the number, the type, and the arrangement of the machines and stages. The second parameter, \(\beta\), can contain any number of entries. The entries are separated by commas. \(\beta\) represents characteristic features and restrictions of the production process. The last expression, \(\gamma\), within the tuple stands for the objective function. Single objective functions, combinations of objective functions in a mathematical expression, or different tested objective functions can be specified here [9]. Due to production systems getting more complex and specified during the time, [PERSON]'s notation [8] was further specified by [9; 10] with additional production environments (\(\alpha\)), constraints (\(\beta\)), and objectives (\(\gamma\)). In this section, elements of their notations are also utilized to characterize our problem. Further, we explain the specifics of the use case and characterize the components of the problem by [PERSON]'s notation in brackets. Figure 1 shows the problem we are considering. The production contains 10 machines and 2 batch processes. Flow shops with multiple machines on one of the processing stages are referred to as hybrid or flexible flow shops (\(FHM\)) [9; 10]. Hybrid flow shop environments with machines that need different types (or a specified amount) of jobs to start their production can be categorized as assembly flow shops [11; 12]. In contrast, hybrid flow shops with machines that may process jobs of different types simultaneously (see machine \(Ba1\) and \(Ba2\) in Figure 1) are referred to as \(FHM\) with batching machines (_batch_) [9; 13]. The described machines \(i\in M\) process jobs \(j\in N\) of different product types \(t_{j}\in T\) or families (in [PERSON]'s notation known as \(fmls\)) [9], where \(M=M1,...,M10,Ba1,Ba2\). The four possible product types \(t_{j}\) are \(T=A1,A2,B1,B2\). Depending on the product type, the jobs are processed along a specific route, which consists in a defined sequence of machines. While the jobs \(j\) are all processed on machine M1 after being loaded into the modeled system, the jobs \(j\) are subsequently divided into different paths depending on their product types \(t_{j}\). On the one hand, jobs of product types \(j\in A1,A2\) are processed by machines \(M2\), \(M4\), and \(M5\), while jobs of product type \(j\in A2\) are processed on machine \(M9\). Jobs of product types \(B1\) and \(B2\) (\(j\in A1,A2\)) are not processed on machine \(M2\) but on machine \(M3\) and, subsequently, by machine \(M6\) in the case of product type \(B1\). In the case of product type \(B2\), they are processed by machines \(M7\) and \(M8\). Our model includes machine qualifications (\(Mj\)). In contrast, for example, jobs of type \(j\in A1\) skip machine \(M9\). Accordingly, the model contains the constraint of skipping stages (\(skip\)). According to a load of jobs with different product types--and thus different processing sequences--it is possible that jobs are processed at different speeds through the flow production scenario. In general, a global-priority-rule procedure applies to the modeled system. Accordingly, the orders of product type \(A2\) are prioritized, i.e., orders \(A2\) (if available) are always given priority on a machine (\(prec\)). In addition, a \"same setup\" priority rule applies to the entire flow production scenario (apart from the batch processes).