Table of Contents
Fetching ...

Learning to Optimise Wind Farms with Graph Transformers

Siyi Li, Arnaud Robert, A. Aldo Faisal, Matthew D. Piggott

TL;DR

The paper tackles wake interactions in wind farms and the challenge of optimizing yaw angles across arbitrary layouts. It introduces a graph-transformer surrogate that operates on a fully-connected wind-farm graph $G=(V,E,u)$, trained with data from PLayGen and PyWake, to predict turbine powers and total farm output with high generalization. Key contributions include near-100% relative accuracy on unseen layouts ($$\approx 99.8\%$$), interpretable attention maps that reflect wake patterns, and substantial speedups in genetic-algorithm-based optimization via batched surrogate evaluations. The work demonstrates the practical potential of graph-transformer surrogates to enable rapid, scalable wind-farm optimization and suggests avenues for transfer to higher-fidelity physics and real-world data.

Abstract

This work proposes a novel data-driven model capable of providing accurate predictions for the power generation of all wind turbines in wind farms of arbitrary layout, yaw angle configurations and wind conditions. The proposed model functions by encoding a wind farm into a fully-connected graph and processing the graph representation through a graph transformer. The graph transformer surrogate is shown to generalise well and is able to uncover latent structural patterns within the graph representation of wind farms. It is demonstrated how the resulting surrogate model can be used to optimise yaw angle configurations using genetic algorithms, achieving similar levels of accuracy to industrially-standard wind farm simulation tools while only taking a fraction of the computational cost.

Learning to Optimise Wind Farms with Graph Transformers

TL;DR

The paper tackles wake interactions in wind farms and the challenge of optimizing yaw angles across arbitrary layouts. It introduces a graph-transformer surrogate that operates on a fully-connected wind-farm graph , trained with data from PLayGen and PyWake, to predict turbine powers and total farm output with high generalization. Key contributions include near-100% relative accuracy on unseen layouts (), interpretable attention maps that reflect wake patterns, and substantial speedups in genetic-algorithm-based optimization via batched surrogate evaluations. The work demonstrates the practical potential of graph-transformer surrogates to enable rapid, scalable wind-farm optimization and suggests avenues for transfer to higher-fidelity physics and real-world data.

Abstract

This work proposes a novel data-driven model capable of providing accurate predictions for the power generation of all wind turbines in wind farms of arbitrary layout, yaw angle configurations and wind conditions. The proposed model functions by encoding a wind farm into a fully-connected graph and processing the graph representation through a graph transformer. The graph transformer surrogate is shown to generalise well and is able to uncover latent structural patterns within the graph representation of wind farms. It is demonstrated how the resulting surrogate model can be used to optimise yaw angle configurations using genetic algorithms, achieving similar levels of accuracy to industrially-standard wind farm simulation tools while only taking a fraction of the computational cost.
Paper Structure (6 sections, 4 equations, 7 figures)

This paper contains 6 sections, 4 equations, 7 figures.

Figures (7)

  • Figure 1: Schematic of the message-passing graph network architecture. The edge, vertex and global models in a graph net block are multi-layer perceptrons (MLPs).
  • Figure 2: Schematic of the proposed transformer model architecture. $\mathbf{a}$: The proposed transformer architecture and its building blocks. $\mathbf{b}$: Details of a multi-head attention block, where GELU refers to the Gaussian Error Linear Unit.
  • Figure 3: Visualisation of various layout styles produced by PLayGen and their corresponding graph representations. Wake maps were generated using the Bastankhah-Gaussian analytical model within PyWake. For the purposes of these visualisation, simulations were conducted with a wind speed of $10$$m/s$, $5\%$ turbulence intensity, and all turbines facing the wind direction which in each case was chosen at random. It is important to note that flow field information was neither produced during the data generation process nor included as a component of the features within the dataset. The directed arrows represent edges used in GNN training. Wind turbines were coloured based on their individual power generation.
  • Figure 4: Comparison of lowest validation loss of GNN models of various sizes and the graph transformer model. The lowest validation loss of each GNN model was computed from training runs with three different random seeds. GNN models with 64 hidden units per MLP layer were denoted as "narrow", while those with 128 hidden units per MLP layer were referred to as "wide". The graph transformer model was trained only once due to the excessive training time required.
  • Figure 5: Illustration of different approaches for representing wind farms. The three rows correspond to three randomly generated wind farms previously unseen by the model, subject to similar physical conditions of $12$$m/s$ wind speed and $5\%$ TI at incoming wind directions of $45^\circ$, $315^\circ$ and $135^\circ$. The three wind farms comprise 45, 55, and 35 wind turbines, respectively. In particular, all turbines in all configurations are orientated to face the direction of the wind. $\mathbf{a}$: Wake map produced by PyWake using the Bastankhah-Gaussian analytical model. $\mathbf{b}$: Graph representation of the wind farms, where solid dots represent wind turbines (vertices) and grey lines with arrows represent interactions (directed edges). $\mathbf{c}$: Graph representation of the attention score output from the trained transformer model. Only attention scores larger than 0.1 are visualised. Circles with arrows at the end denote self-attending tokens.
  • ...and 2 more figures