Simulation study demonstrates enhanced power extraction and reduced tower vibration in floating wind turbines via neural controllers, highlighting the importance of cost-function design.
Maximizing power extraction while mitigating structural vibrations remains a major control challenge in floating offshore wind turbines (FOWTs) due to coupled wind–wave–platform dynamics. This study proposes a genetic algorithm–optimized artificial neural network (GA–ANN) control framework for the below-rated operating region of a 5 MW barge-type FOWT. The control strategy combines direct generator speed control for maximum power point tracking with an ANN-based torque controller whose parameters are optimized using genetic algorithms. The main contribution of this work is a comparative analysis of cost-function formulations used in the GA optimization of the neural controller. These formulations incorporate both generator speed regulation and tower-top dynamic response, enabling a systematic evaluation of their influence on the optimization process and the resulting control performance. In particular, additive and multiplicative cost-function structures are investigated to analyze how different aggregation strategies affect the trade-off between energy capture and structural vibration mitigation. Numerical simulations performed in OpenFAST demonstrate that the proposed GA–ANN control strategy outperforms a baseline variable-speed controller, delivering higher and less oscillatory electrical power while significantly reducing tower-top acceleration levels. The results highlight the critical role of cost-function design in evolutionary optimization of wind turbine controllers and demonstrate the potential of the proposed methodology to improve both performance and structural durability in floating offshore wind systems.
No takes yet. Share an insight, caveat, or question.
Muñoz-Palomeque et al. (2026) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: