Skip to content

Windfarm Optimization using Particle Swarm Optimization (Done using PySwarms) and Circle Packing.

Notifications You must be signed in to change notification settings

Bhavya1705/WindFarmOptimization

Repository files navigation

WindFarmOptimization

Using Particle Swarm Optimization and Circle Packing

Approach 1:

Wind Farm Optimization Using MINIMIZATION TECHNIQUES.

Problem-

To optimize placement of Windmills in a Wind Farm constrained by perimeter, distance and subject to Wake Effect.

Solution-

To solve the given problem, the given sample location file was used as starting value. The library py-wake was used to generate wake field. The given Farm_evaluator_vecc file was reconstructed for taking input an array of dimension 100, and used as cost function for a minimization problem. The return value of Farm_evaluator_vecc was inverted.

Methods used for Minimization-

• Particle Swarm Optimization using PySwarm[1]
• Scipy Optimizer- “nelder-mead”[2]
• Genetic Algorithm Using PyGAD and GeneticAlgorithm Libraries[3]
• Simulated Annealing Using Mlrose library[4]
• Random Hill Climb/Hill Climb Using Mlrose library[5]

In initial stages of Optimization Particle Swarm was used to optimize the cost function with initail value set to Turbine_loc_test as initial value. With over ~50,000 iterations, the Average Energy Production improved from ~505 GWh to ~515 GWh. At this stage net increase in gain from Particle Swarm decreased, possible stagnation in local minima. To further optimize the cost function, A combination of Scipy Optimizer and Particle Swarm was used, with each taking the output of the other as initial value. This followed for over ~10,000 iterations with increase in Energy to ~520GWh. With no more improvement from Particle Swarm, Scipy Optimizer was singularly run with over ~30,000 iterations, which increased Average Power from ~520GWh, to ~525GWh. No further progress was made using Scipy Optimizer. An increase of ~1GWh was done using Hill Climb method in Mlrose library in python.

Fig.1. Change in Energy V/S CSV Files Created

Alt Text

Fig.2. Visualization using Py-Wake

Alt Text
Alt Text

Fig.3. Placement of Turbines

Alt Text

Other Techniques used:

• Wind farm layout optimization problem (WFLOP) SUGGA Python toolbox
  (https://github.com/JuXinglong/WFLOP_SUGGA_Python) -Allows for broad level Optimization, does not do changes locally.

References

1. https://docs.scipy.org/doc/scipy/reference/optimize.minimize-neldermead.html#optimize-minimize-neldermead
2. https://mlrose.readthedocs.io/en/stable/source/tutorial1.html
3. https://pyswarms.readthedocs.io/en/latest/
4. https://pygad.readthedocs.io/en/latest/
5. https://pypi.org/project/geneticalgorithm/
6. https://topfarm.pages.windenergy.dtu.dk/PyWake/notebooks/Quickstart.html
7. https://github.com/JuXinglong/WFLOP_SUGGA_Python
Material that require Looking into
1. https://github.com/byuflowlab/PlantEnergy
2. https://github.com/sohailrreddy/WindFLO

About

Windfarm Optimization using Particle Swarm Optimization (Done using PySwarms) and Circle Packing.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy