A computer tool for optimisation and simulation of marine operations for offshore wind farm installation

The installation process of offshore wind farms is complex and requires a high level of coordination, agile scheduling and systematic methods. High risks and costs are involved and especially weather conditions have an impact on the marine operations. A computer tool for optimisation and simulation of marine operations has been developed in close cooperation with a large actor in the offshore wind industry. The tool has a web-based user interface and an optimisation engine that is based on a version of a genetic algorithm and uses an agent-based simulation process to evaluate installation schedules with respect to weather risks, time and costs. The objective is to provide decision support for the early phase planning of wind farm installation by offering an efficient method for estimation of cost and time for future projects.


Introduction
The planning of maritime operations for installation of an offshore wind farm is critical for a successful installation campaign and requires minimising the costs of installation and the risk associated with the installation schedule, while satisfying requirements in terms of project duration and milestones. In an early phase of project development, identifying optimal installation logistic strategies, resource plans and uncertainties is important for providing realistic estimation of a project's cost and duration.
There exist offshore marine operation tools for detailed planning, engineering and risk analysis for offshore wind installation, including simulation of marine operations. Simulation tools for simulating multiple offshore operations scenarios to identify the most adequate one have been developed the past years (e.g. Shoreline [6]). However, there is a need for an analysis tool integrating optimisation and simulation algorithms, to identify optimal resources (vessels, ports), installation strategy (sequence of installation), installation schedule and synchronisation of vessel operations, given weather uncertainty. The capability gap identified covers: • Automatic optimisation of schedule considering main parameters: costs, time and risk (weather) • Efficient planning process: Automised and efficient setup of installation schedule • Efficient feasibility studies: Ability to screen more offshore wind concepts and installation solutions in a shorter time period, and to compare and select feasible and cost/time/riskminimising concepts The foreseen values of such additional capability include: higher competitiveness, ability to conduct feasibility studies of offshore wind concepts more effectively, deliver more competitive bids, explore possibilities to reduce installation time, and conduct cost and risk assessment of alternative installation solutions in a systematic and effective manner. There exists little research on optimisation models for installation of offshore wind farms. Some examples being [5] that presents a mixed integer linear program (MILP) for the optimal schedule for the installation phase. Then [1] presents another MILP model for the aggregated installation planning problem for an offshore wind farm. [4] proposes a bi-objective optimisation model for the installation scheduling problem of offshore wind farms and minimises both cost and time. A benders decomposition approach for the problem is proposed by [7]. Then a mixedmethod optimisation and simulation framework is proposed in [2] where robust optimisation is combined with discrete-event simulation.
The objective of this paper is to introduce a computer tool for scheduling of installation tasks: principally for the bidding phase, including cost, time, risk analysis of installation project, and the feasibility study for screening various concept solutions. The computer tool's main engine is based on a version of Genetic Algorithm (GA) to produce and propose optimal installation schedules that are evaluated by an agent-based discrete event simulator (DES).
The rest of this paper is organised as follows: A problem formulation for the installation planning problem considered by the tool is presented in Section 2. The computer tool is then presented in Section 3. The underlying solution methodology, namely the GA-based installation schedule generator and the DES procedure, is presented in Section 4, before the paper is concluded in Section 5.

Problem formulation
The underlying problem considered by the computer tool is the optimisation problem for the maritime logistic challenges of installation of offshore wind farms. There are two main aspects: • Determine optimal resources: Propose optimal fleet of vessels and corresponding infrastructure (ports) to support all installation tasks. • Determine optimal installation schedule: Propose optimal deployment of resources, i.e., which resource should be used to support which installation tasks at what time.
In summary, vessel and port resources along with required installation tasks are considered and combined to find the optimal resources and installation schedule based on two objectives -the minimisation of total cost and the minimisation of total installation time. Requirements are that all components are installed at the offshore wind farm site. Output will be one, or several, optimal (or near-optimal) installation schedules.

Input and output
The purpose of the main engine in the computer tool is to generate optimal, or close-to-optimal, installation schedules for an installation scenario. The installation scenario defines all input required to propose an installation schedule, and the installation schedule contains a number of installation tasks supported by vessel resources starting on the first day of installation and ending when all components have been installed at the offshore wind farm site.
In the computer tool resources represent physical resources that can be vessels, ports and equipment used for installation. Port resources are recognised by their distance to the offshore wind farm site, fixed port costs that can be provided at a daily basis and/or as a fixed lumpsum for the whole installation period, wind farm components that can be supplied from the  Figure 1. General overview of the computer tool port, vessel types that can access the port and how many installation vessels it can service simultaneously. Vessel resources are divided into types where a type represents vessels with the same, or similar, capabilities costs and availability. Equipment used for installation will be associated with a vessel. Vessel types are recognised by their mobilization cost, time charter costs, number of available vessels, transit speed, fuel consumption rates and the installation tasks the vessel type can install and/or transport.
Component types can be sub-structures (foundation and transition piece), top-structures (tower, nacelle and blades), cables (inter-array and export) and substation(s) (foundation and substation). A complete set of components does not need to be considered; a subset is also sufficient. The components are recognised by how many of them that need to be installed and the dependency to other components, i.e., if there are any components that need to be installed before a component can be installed. It is assumed that components are available in the installation port(s) supplying them when needed.
Several uncontrollable parameters affect operations during the installation process. Especially weather conditions affect when installation tasks can be executed and the estimated duration before completion of tasks. Hence, weather data are input treated as stochastic parameters.
A general overview of the computer tool with input/output is illustrated in Figure 1. Output from the combined optimisation and simulation procedure in the computer tool are solution summary, two Gantt-charts, one showing from the vessel perspective, and one showing from the component perspective, finally there are risk plots for which the consequences of the weather simulation are shown.

Building blocks
In Figure 1 the illustration below Build installation schedules shows the building blocks for building an installation schedule.
Installation tasks are activities executed by vessels that include transporting and installing components at the offshore wind farm type. An installation task can be component dependent, i.e., it contains some involvement of one or several components, or non-component dependent. There are seven main types: In addition to these seven main types of installation tasks, there are synchronisation tasks that are added when a vessel that only transports components is synchronised with a vessel that only installs components.
Installation tasks are matched with vessels to generate vessel installation tasks. These link each individual vessel type to the installation tasks they can execute and are recognised by the vessel type and installation task(s) involved, estimated time of completion (loading time for transport type of installation tasks), transport capacity (for transport type) and limiting wave height, wave period and wind speed conditions. Several installation tasks combined for a vessel resource form an installation cycle: a vessel starts at a point of origin, executes a number of installation tasks, before returning to the point of origin. A sequence of one or several installation cycles for a vessel forms an installation template. Then the combination of all installation templates for all vessels forms an installation schedule.

Computer tool
The computer tool has a web-based user interface that provides decision support with respect to installation strategy and planning during early phase of an offshore wind farm project. It calls an underlying optimisation procedure that based on input identifies the installation schedules of transportation and installation of offshore wind farm components associated with lowest cost and time, given potential weather conditions. Figure 2 provides a schematic overview of the computer tool. The dark grey box illustrates the main engine of the tool -the optimisation module. It communicates with the user interface and get data from the main database and weather data. Weather data are given in a .dat or .txt file format and consists of historical weather data. A separate weather module generates weather data sets with significant wave heights, wind speeds and wave periods for use in the simulation procedure. The main database stores information on vessels available, ports and components to be installed, and the user specifies an installation scenario in the user interface that then generates data for use in the optimisation module. When the optimisation module has finished running an installation scenario, the final simulated schedule(s) are stored as solutions and the user can retrieve the data and get visualisation of schedule (Gantt-diagrams), visualisation of risk profiles based on the weather simulation, and compare different key performance indicators between the schedule(s) retrieved.

System architecture
The system architecture of the tool has been designed to offer enterprise-level features: It supports user authentication, secure communication using Hypertext Transfer Protocol Secure (HTTPS) and is easy to deploy and maintain using a clean and flexible structure composed by Docker containers. The user interacts through the web browser with NGINX web server, which serves static resources. The core web application runs on a dynamic web server that handles the processing of the graphical user interface, reacts on user requests and passes requests for optimisation back to the module. The web application uses the Python based Django framework. Optimisation requests are handled through a job queue management server (JQM) that allows to run and manage long running processes through an asynchronous interface. See Section 4 for more information about the optimisation module and simulation procedure. A PostgreSQL database is used by the dynamic web server and queue manager that serves two purposes: JQM use it to keep track of running jobs, uploaded weather files and log files, while the optimisation module use it to store all user-defined scenario resources.

User procedure
A typical user procedure is summarised as follows: (i) Installation scenario definition: The user defines an offshore wind farm installation scenario: the location, size of wind farm and its overall composition (main turbine components, offshore substation(s), cables), the installation period, main logistics resources available (ports from which to pick up turbine components; and vessels to transport and/or install components). (ii) Specification of input parameters: All the input elements -ports, vessels, components -are further defined and parameterised in a database, including main vessel operational limits. (iii) Scoping the capabilities of the vessel resources: In the user interface, the user further specifies the main vessel capabilities and restrictions with regards to transport and installation tasks per type of component. This includes weather restrictions: wave height, wind speed and wave period, cargo limits, i.e., how many components of each type the vessel can carry simultaneously, and which components it can install. The purpose is to scope the window of possibilities for the computer tool to identify which vessel is appropriate to which transport and installation task, and the possibility of synchronisation of tasks such as transfer of component from transport vessel to installation vessel. (iv) Run the problem solver: Once the scenario set up is completed, the user runs the problem solver. Then the tool starts the search for optimised installation schedules. The decisions to consider to find optimal installation schedules are: which components to install, which tasks necessary to install the components, when to execute these tasks, and with which resources (vessels and installation ports). The output is a risk analysis on time and cost. Once the search is finalised, a set of (near)-optimal solutions is listed on a result page and plotted on a time/cost Pareto diagram.

Solution methodology
The underlying optimisation problem is bi-objective: the objectives are to minimise total installation time and total installation cost. The implemented optimisation procedure consists of a version of a Genetic Algorithm to generate installation schedules and an agent based discrete event simulation (DES) tool to evaluate each installation schedule's feasibility, time and cost. In a Genetic Algorithm, a population of candidate solutions is evolved towards better solutions during an iterative process, see e.g. [3]. Figure 4 shows a flow chart of the optimisation procedure. It contains the following elements: The local search procedure minimises total installation time by transferring installation tasks from a vessel to a new vessel that is currently not part of the installation schedule. That is, it shortens a vessel's installation template by removing vessel cycles and adding them to a new vessel of similar type.

Optimisation procedure overview
The procedure for generation of new individuals consists of selecting a number of installation cycles from one parent schedule and adding installation cycles from the other parent schedule until a feasible installation schedule is obtained. If, after adding cycles, the installation schedule is still infeasible, other cycles are added until it is feasible.
The construction heuristics are: • Random: Add one random vessel to the schedule and continue to add random vessel cycles for the vessel until no more vessel cycles can be added. If all components have not been transported and installed at the wind farm, add a new random vessel to the schedule and random vessel cycles. This procedure continues until all components have been transported and installed at the wind farm. • Vessel first: Add one random vessel and vessel cycle to the schedule. Continue to add the same vessel cycle to the vessel until it can no longer be added, i.e., all components transported and/or installed by the cycle are transported and/or installed at the wind farm. Then search for other vessel cycles that can be added to the vessel's template. Continue to add cycles in this manner until no more vessel cycles can be added. If not all components have been transported and installed at the wind farm, a new random vessel and vessel cycle is added to the schedule, and the procedure described above is repeated. This procedure continues until all components have been transported and installed at the wind farm. • Vessel fleet: All vessels are added to the schedule. Then, for a random vessel, add a cycle that has already been assigned to that vessel to the schedule, if such feasible cycle exists, otherwise add a new, random cycle for the vessel. The procedure continues until all components have been transported and installed at the wind farm. Finally, all vessels in the schedule that have not been assigned any cycles are removed from the schedule. • Vessel fleet random: All vessels are added to the schedule. Then, a random vessel is picked and a random cycle for that vessel is added to the schedule. The procedure continues until all components have been transported and installed at the wind farm. Finally, all vessels in the schedule that have not been assigned any cycles are removed from the schedule.
The optimisation procedure continues until one of the stopping criteria is met. There are two stopping criteria that can be user specified: max runtime and max number of non-improving iterations, i.e., number of iterations in the Genetic Algorithm where new, non-dominated installation schedules are not found. Then a user specified number N of installation schedules are selected from the Pareto front to present to the user in the web-based interface.

Simulation procedure
The procedure for generating installation schedules ensures that all components are installed at the offshore wind farm and that all vessels are installing components in a logical sequence. However, there may be cases of infeasibility when some vessels are transporting and other installing components. The feasibility of such schedules is evaluated by the simulation procedure. The simulation procedure uses historical weather data and have two purposes: assessing the performance of the installation schedule in terms of total installation time and total installation costs under uncertain weather conditions and assessing the process of component transfer from transport vessel(s) to installation vessel(s). Component transfer involves the following decisions: • Which transport and installation vessels should be paired for transfer • Direct installation of components from deck of transport vessel or transfer to installation vessel • Which and how many components of each should be transferred and/or directly installed from transport vessel An agent-based discrete event simulation (DES) procedure is used to model the processes in the system (installation schedule) as a sequence of events in time. The values of parameters such as sailing time, installation time and transfer time are not deterministic and can only be assessed as expected values. In DES, each event takes place at a particular point in time and makes changes to the system state. Events are the start and end time of any processes (installation tasks) and the change of weather conditions. In the simulation, the end of previous task defines the start of next task. Between any consecutive events no change in the system state occurs. The system state is defined by the set of variables of interest: components installed, installation tasks started or completed, vessels arriving at the offshore wind farm site, and vessels available for transfer or installation, and their values at a particular point in simulation time. The simulation keeps track of the current system time, i.e., simulation time/clock, which changes not continuously but jumps to the next event as the simulation proceeds. The processes/installation tasks and events may occur simultaneously (parallel in time). The DES model is hence developed as multi-thread. There is a significant effort to synchronise current events for different tasks executed by different threads at the same time.
Classical DES logic implies simulation of the preliminary scheduled processes or tasks. The problem considered has added complexity as some tasks may be scheduled only after the completion of some other tasks and in addition may depend on the system state. In other words, part of scheduling decisions can only be made during the schedule execution and DES helps here to model such decisions and assess the system (installation schedule) performance considering the influence of uncertainty in weather conditions. An overall pseudo-code for the simulation procedure is provided in Algorithm 1. It runs for each weather year of the historical data from the weather file and continues with adding a thread to each vessel in the installation schedule. Then it goes through, in parallel, each vessel cycle for the vessels and each task in the vessel cycle. For each simulated task the thread is set on wait until other tasks for other vessels are executed before the process continues.
Data resulting from the DES procedure is collected and the resulting expected total installation time and cost are used to evaluate installation schedules and update the approximation of the Pareto front in the algorithm. The data on the most promising installation schedules, i.e., the user specified number N picked from the Pareto front, is gathered and made available for the user.

Conclusions
This paper has introduced a computer tool for optimisation and simulation of marine operations for offshore wind farm installation. The computer tool is designed to be used in the bidding phase of offshore wind farms and has been developed in close cooperation with a large offshore wind farm developer and operator.
The computer tool has a web-based interface where the user defines an installation scenario and runs an underlying combined optimisation and simulation module that solves the installation scenario problem. The implemented optimisation algorithm is a version of a Genetic Algorithm, and the simulation procedure is an agent-based discrete event simulation procedure that takes into consideration uncertain weather conditions and component transfer logic.
The tool brings significant value to the industry by systematically and automated providing a user with approximated Pareto-optimal solutions to an installation scheduling scenario for an offshore wind farm. Risk plots with regards to weather uncertainty are provided that can be used by the industry to evaluate risk in an efficient manner.