<aside> 💡

This is not quite complete yet

</aside>

Aims of Framework

The aim of the proposed framework is to produce a solution that can optimise maintenance scheduling for offshore wind farms. My vision is for the solution to be user-driven, taking into account variables and parameters that the user specifies.

This web-app is a working prototype aimed at industry to visualise the optimisation of an offshore wind farm. Although customizability of parameters is limited, the Teesside Offshore Wind Farm has been used as an example to showcase the abilities of the application. It includes a console to see the current execution of the MOOP algorithm, as well as a visualisation of metrics, results and explainable metrics are produced. This can also be used to show convergence as the model executes. Once execution has finished, the final schedules are shown and can be viewed by selecting the data point along the pareto front. There is also a basic LLM integrated into the app to answer any questions regarding the data produced or schedules that are visible to the user. The LLM can also produce reports and pick-up on patterns that a regular user may miss.

Objectives

Objectives in the sense of this model refers to the objectives of what the model wants to optimise. This could be the cost of performing maintenance against the benefit of performing it via its impact on the energy production. The cost objectives will want to be as minimised as much as possible while the benefit of performing the maintenance should be maximized.

Cost will be broken down into these sub-considerations:

Benefit of performing maintenance will be broken down into:

How it works

The rewards policy for the environment and the agent is calculated with 4 variables.

Each of these variables also have a weighting which can be edited. Currently, pareto front analysis of power generated against cost is being used so the weightings of these variables is 1.5 with the others set as 1. The aim was to prioritize these rewards to ensure the pareto front would converge.

A breakdown of how the aim for the cost calculations is here:

Turbine Degradation is calculated from an exponential health curve starting at 100. The health of each turbine component will degrade randomly each day. When maintenance is performed the health of a component is returned back up the curve by a random amount. The turbine health snapshot shows the average health of a turbine. The turbines themselves consist of 6 components including the nacelle, blades, tower, generator, gearbox, and control system. If their health falls below a certain threshold, maintenance actions are considered corrective rather than preventative (replacement rather than servicing for example).

The actions that can be performed in the simulation are: 1- return to port, 2- do nothing, or 3- move to turbine and perform maintenance.

Moving to perform maintenance on a turbine has costs associated with it. Firstly, the distance between turbines or from the port and to the turbine is calculated. The price of fuel and the load on the engine from wave conditions is calculated to predict the cost of travelling to the turbine. Each maintenance action has an estimated preventative and corrective cost which is then calculated also.