## 1 Introduction
### General Classes of Scheduling Problems  
As can be seen from the process description and the description of current planning methods for offshore installations, the problem generally resembles a sub-type of a scheduling problem. Therefore, a fixed number of jobs, consisting of sequential operations, is assigned to a defined number of capable machines. In this context, the most commonly used objective function is the minimization of the makespan, i.e., the time that is needed to complete all jobs [26]. When compared to this classical notion, installation operations resemble machining operations, and vessels represent machines. As there is no inherently fixed sequence between vessels (machines) as typical to flow shop scenarios, the overall structure resembles a job-shop scheduling problem (JSSP). This class of problems is strongly NP-hard, even NP-complete for three or more machines [27]. Thus, an optimizer cannot guarantee the optimality of a solution in polynomial time, even for small scenarios. For this reason, this class is denoted as NP for non-polynomial. As a result, a multitude of solution algorithms has been proposed, ranging from exact mathematical models to heuristic or metaheuristic approaches. Please refer to [PERSON] et al. [28] for a concurrent review of solution approaches. Within the literature, there exist several classifications of sub-types of the JSSP, e.g., [28; 29; 30]. Nevertheless, besides giving a broad list of possible classifications, [PERSON] et al. propose four predominant sub-types for JSSP [28]:  
**Basic JSSP:**: The Basic JSSP constitutes the simplest class of job-shop scheduling problems. The Basic JSSP assumes that each operation can only be conducted by a single machine, thus resulting in a sequencing problem. **Flexible JSSP:**: The Flexible JSSP extends the basic formulation by allowing a specified set of alternative machines to perform operations. This flexibility increases the problem's complexity: In addition to the already present sequencing problem (order of operations per machine), the Flexible JSSP also has to cope with an additional routing problem, deciding which machine to choose for which operation [26]. **Multi-Resource JSSP:**: The Multi-Resource JSSP extends the formulation of the Flexible JSSP by another dimension. In addition to the machine, each operation additionally requires other limited resources. These could, for example, be workers, tools, or dies. **Multi-Plant Multi-Resource JSSP:**: This type of model extends the Multi-Resource JSSP by regarding multiple plants or production facilities. Therefore, it is also necessary to include the transport of orders between those facilities within the scheduling. Depending on the scope of the offshore installation problem considered, the installation planning can either be classified as Flexible JSSP or even as Multi-Resource Flexible JSSP if including crew- and personnel-assignments in the model. Nevertheless, from the process description, it can be argued that the three stages of the installation process, i.e., foundations, turbines, and commissioning, can be considered to be individual, sequentially performed tasks. Therefore, crew management primarily becomes an issue for the commissioning stage of the installation process [5]. As a result, this article considers the operative installation planning of offshore wind farms in terms of a Flexible JSSP. This classification is justified, as, e.g., installation vessels can perform overlapping sets of operations. For example, all installation vessels can perform all assembly operations, leading to a so-called Complete Flexible JSSP, where multiple machines offer the same sets of operations. If also considering transport operations by heavy-lift or feeder vessels, overlaps of performable operations exist, resulting in a so-called Partial Flexible JSSP. Please refer to [PERSON] et al. [28] for more information on Partial and Complete Flexible JSSPs and a more detailed definition of the different sub-types. Literature proposes a multitude of models for Flexible JSSP.