Git Product home page Git Product logo

wind-farm-layout-optimization's Introduction

Wind-Farm-Layout-Optimization

Hybrid Genetic Algorithm and Simulated Annealing implementation to search for the global optimum configuration and thereby to maximize the Annual Energy Production (AEP).

The Shell.ai Hackathon for Sustainable and Affordable Energy kicked-off on September 14th, 
focusing on a Windfarm Layout Optimisation coding challenge. The participants were invited
to optimise the placement of 50 wind turbines of โ€˜100 m rotor diameter to help maximise the 
AEP (Annual Energy Production), each on a hypothetical offshore wind farm area. One of the 
key problems of an unoptimized layout is the combined effect wind turbines can have on the
wind speed distribution in a windfarm. As a wind turbine extractsenergy from incoming wind,
it creates a region behind it downstream where the wind speed is decreased- this is called
a wake region. Note that wind turbines automatically orient their rotors, to face incoming 
wind from any direction. Due to the induced speed deficit, a turbine placed inside the wake
region of an upstream turbine will naturally generate reduced electrical power. This
inter-turbine interference is known as a wake effect. An optimal windfarm layout is
important to ensure a minimum loss of power during this combined wake effect.

The contestants faced challenges such as a high dimensionality, complex multimodality and the
discontinuous nature of the search space. This made optimising the layout analytics difficult.
But, armed with optimisation strategies and computer algorithms, around 5000 teams signed up to
compete in this challenge.

More information at Hackerearth, Shell, Slides

Introduction

An optimized layout of wind turbines improves the AEP by 5-15% from that of an unoptimized random arrangement. In our case of 50 turbines, with effective diameters of 400 m, are to be arranged optimally in a square-shaped farm of side 4 km. This optimization problem poses many exciting challenges due to its high dimensionality (100 DOF), Complex multimodality and discontinuous search space. Any analytic or gradient search is impossible for this 100-dimensional optimization problem. Hence, a grid-based hybrid genetic algorithm generates optimum grid solution, and we follow that up with a simulated annealing optimizer to refine the solution towards the global optimum.

ensembel

Hybrid Grid based Genetic Algorithm Optimizer (GA)

For reducing the complexity of the problem, the field is subdivided into grids, and the turbines are constrained to be on grid points only. Doing this has two main advantages,

  1. Reduces the complexity of the problem from infinity possible configurations to a combination of the number of grid points and the number of turbines (which is still large).
  2. The grid points are chosen so that they implicitly satisfy the proximity constrain on any two turbines. This grid makes the generation of random configurations a mere choosing problem from an extremely time consuming random Markov chain sampling problem. (Note: The rejection rate of the 2D case is prohibitive when approaching the last 20 turbines this cannot be fixed as there are no rejection free sampling algorithms for more than 1D)

Using this grid, we can sample the positions of 50 turbines randomly. These random configurations form the initial population to the GA. Selection, crossover, and mutation operations are applied to the population based on their AEP. In addition to the global search, local search is implemented, which is why the Hybrid label is added. This local search leads to improvement in performance.

ensembel

ensembel

Simulated Annealing Optimizer

Based on the metallurgical method of annealing in which metal at high temperature is slowly cooled to improve its properties. In this case, the virtual temperature is gradually reduced, and the configurations in the neighbourhood of the current optima are sampled. The advantage of this algorithm is its ability to escape local optima which is invaluable in our multimodal optimization problem.

ensembel

ensembel

Winner of the north zone in special university edition and 10th on Global leaderboard.

Certificate

wind-farm-layout-optimization's People

Contributors

aximthered avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.