Layout optimization in FLORIS #897
Replies: 1 comment 2 replies
-
Hi Marco, Thank you for your question. We have indeed experienced these troubles ourselves. I believe this issue is pertaining to the method of optimization itself, and the scipy optimizers (I believe like many) will test past the boundary conditions in the process of converging to a valid solution. However the selection of the parameters of the optimization (like step size) can be a tricky art. In the past, for our work for larger problems we have relied on the SNOPT optimizer within pyoptsparse (https://mdolab-pyoptsparse.readthedocs-hosted.com/en/latest/optimizers/SNOPT.html), but note that you need to purchase a license. However more recently we are proposing (@misi9170 will have a poster at the upcoming Torque conference, and a paper will be published at that time) a new layout optimization algorithm that we believe does a good job on these problems. The algorithm uses a genetic random search to identify an optimal layout, and uses a custom algorithm. If you would like to try this approach, it is currently available in a branch: (#697) and will be merged into FLORIS v4.1. If you have the code set up as in the layout optimization example, should be a very small change to try this algorithm and see how it performs for you. |
Beta Was this translation helpful? Give feedback.
-
Dear all,
I am currently approaching the optimization of a wind farm using FLORIS, taking as an example the optimization of 4 wind turbines within a square boundary, specifically the case “Example: Optimize Layout” (https://nrel.github.io/floris/examples/examples_layout_optimization/001_optimize_layout.html), and then customizing the model to our conditions.
My model has been developed using the SciPy optimization method, incorporating the layout (in polygonal form) of a wind farm consisting of 65 wind turbines as a starting point, and also loading the wind rose data of the site to calculate the Annual Energy Production (AEP) of the site. However, after 100 iterations, we realized that the optimization process does not adhere to the defined boundaries, neither maintaining the minimum distance requirements nor remaining within the boundaries themselves. I have conducted the site optimization using both Jensen and empirical Gauss wake models.
Is this a problem you have encountered when initializing a large number of turbines? Are there any code modifications that can help avoid these issues?
Thank you for your attention.
Best regards,
Marco De Pascali
Beta Was this translation helpful? Give feedback.
All reactions