El problema “duro”
Más o menos en junio de 2024 nos contactó una empresa del sector de la energía renovable. Nos llamaron por teléfono, cosa que no es común, y nos dijeron que tenían un problema con los diseños de sus parques eólicos.
Como comprenderéis, nosotros no teníamos ni idea ni experiencia en el problema concreto. Sí habíamos trabajado en el sector con un proyecto de monitorización vía satélite del estado de construcción de parques eólicos en tierra.
En este caso el problema es que la colocación de los aerogeneradores en un parque eólico offshore (en el mar) no es trivial y de ello depende que produzcan más o menos energía. Las turbinas tienen que estar colocadas de una forma óptima para que el viento las mueva y produzcan energía.
El asunto es que encontrar la forma óptima es un problema NP-Hard, o sea, que no hay una solución rápida y fácil. Hay que hacer muchas simulaciones y cálculos para encontrar la mejor forma de colocar los aerogeneradores.
El acercamiento de nuestro cliente al problema era más bien de “fuerza bruta”. Generaban un montón de diseños, los evaluaban con un software de simulación (PyWake).
Pero… puede ser que la solución óptima no esté en esos diseños. Puede ser que haya una forma mejor de colocar los aerogeneradores.
Innovación Abierta
Aquí quería yo llegar. Nosotros no sabemos - inicialmente del problema - pero sí sabemos de IA y Machine Learning. Ellos no saben tanto de IA y Machine Learning, pero sí del problema.
Esa es la forma en que ayudamos a nuestros clientes:
- Aportamos nuestra experiencia en IA y Machine Learning.
- Aportamos nuestra experiencia en desarrollo de software de calidad.
- Nos metemos en el problema y lo estudiamos.
- Hacemos un análisis “out of the box”.
En este caso, estudiamos primero el estado del arte y seleccionamos los artículos científicos más relevantes y los diferentes acercamientos en el mercado y en el mundo académico.
Nos dimos cuenta que hay gente que ha dedicado su trayectoria académica y profesional a este problema y que han publicado sesudos artículos sobre ello. Humildad amigos.
La propuesta
Lo primero fue sincerarnos con el cliente respecto a no poder garantizar la resolución completa del problema. Sí podemos ayudarles a mejorar su proceso de diseño y a reducir el tiempo que tardaban en encontrar la solución óptima. Y sí podemos aportar a la solución.
Lo que plantemos es:
- Usar un modelo de simulación de estelas basado en PyWake pero más rápido.
- Usar ese modelo para poder analizar la producción cada vez que ponemos una nueva turbina.
- Tratar al problema como un juego en el que un agente IA aprende a colocar las turbinas de forma óptima.
El resultado
En unos meses hemos conseguido:
- Entender el problema y sus ángulos.
- Probar diferentes modelos de simulación de estelas.
- Lanzar agente de Aprendizaje por refuerzo (RL) para colocar las turbinas que juegan millones de “partidas” en paralelo.
- Generar layouts mejorados de los parques eólicos.
El futuro
Sigue siendo un problema NP-Hard, pero hemos conseguido reducir el tiempo de simulación y mejorar la calidad de los diseños. Tenemos modelos de IA y nuevos modelos de fuerza bruta que nos permiten explorar el espacio de soluciones de forma más eficiente.
Estamos trabajando con casos reales con otros actores del diseño de parques eólicos y estamos viendo que la solución es escalable.
Participamos como ponentes en OTDChallenge2025 en el que contamos el proyecto y la solución.