the Creative Commons Attribution 4.0 License.
the Creative Commons Attribution 4.0 License.
A Neighborhood Search Integer Programming Approach for Wind Farm Layout Optimization
Mathias Stolpe
Nicolaos Antonio Cutululis
Abstract. Two models and a heuristic algorithm to address the wind farm layout optimization problem are presented. The models are linear integer programming formulations where candidate locations of wind turbines are described by binary variables. One formulation considers an approximation of the power curve by means of a step-wise constant function. The other model is based on a power-curve-free model where minimization of a measure closely related to total wind speed deficit is aimed. A special-purpose neighborhood search heuristic wraps the formulations in order to increase tractability and effectiveness compared to the full model. The heuristic iteratively searches neighborhoods around the incumbent using a branch-and-cut algorithm. The number of candidate locations and neighborhood sizes are adjusted adaptively. Numerical results on a set of publicly available benchmark problems indicate that a proxy for total velocity deficit as objective is a functional approach, since high-quality solutions of an annual energy production metric are found. Furthermore, the proposed heuristic is able to match and in some cases improve the results obtained when considering the turbine positions as continuous variables.
Juan-Andrés Pérez-Rúa et al.
Status: final response (author comments only)
-
RC1: 'Comment on wes-2022-82', Anonymous Referee #1, 25 Jan 2023
- AC1: 'Reply on RC1', Juan-Andrés Pérez-Rúa, 06 Mar 2023
-
RC2: 'Comment on wes-2022-82', Erik Quaeghebeur, 15 Mar 2023
Reviewer summary
The authors consider the wind farm layout optimization problem. Their contribution are a pair of discrete optimization algorithms. These consist of an inner and outer optimizer. Starting from an initial proposal solution (feasible layout) The inner optimizer generates a set of candidate solutions (feasible layouts; ‘pool’) using a MILP solver applied to a linearization—thus approximation—of the classical AEP objective. (The authors propose two such linearizations, hence the pair of algorithms.) The outer ‘NSH’ optimizer calculates the exact, non-approximated AEP values for the candidate solutions and selects the best one as the proposal for the next MILP run (or the final solution, upon algorithm termination) and determines the parameters for the next MILP run.
The authors motivate their work by pointing out the advantages of discrete optimization algorithms when moving beyond classical AEP calculations to objectives such as NPV which also take into account costs, such as those of turbines, their installation, and the cabling. In support of the linearization of the objective—which is needed to use well-developed, capable MILP solvers—they present an analysis of the correlation between the AEP and the simplest linearized objective based on their application to a set of random layouts. To demonstrate their algorithms, they apply them to the IEA Wind Task 37 Case Study 1, which consists of three layout optimization problems with a disc-shaped site with different sizes and (fixed) turbine numbers. Furthermore, they also modify the Case Study problem, to show that one of the two algorithms can optimize NPV by varying both turbine locations and counts.
General evaluation and key critical feedback points
I was able to follow the exposition without much rereading, so generally I consider the paper to be written at good levels of abstraction and detail and well-structured. The quality of the writing is decent: while the meaning is generally clear, the reader is distracted by some strange formulations, likely due to the authors not being native speakers of English. This can be fixed by having a (near) native speaker going over the paper just focusing and providing feedback on English usage (some pointers will be given in the detailed feedback). The paper's visuals and tables are generally OK, but can be improved in some detailed aspects (pointers will be provided in the detailed feedback). The mathematics as well is generally fine, but the notation can be introduced with a bit more care to support understanding and avoid confusion (pointers will be provided in the detailed feedback).
I agree with the paper's motivation for developing a discrete wind farm layout optimization algorithm, but did not find the argumentation sufficiently concrete or precise. Make it more explicit what and how is difficult to do with continuous optimization algorithms and easy with discrete ones. A weakness of the paper is that it only demonstrates the advantages of discrete optimization by looking at one optimization problem that goes beyond the basic AEP optimization over a convex site only by making the turbine count a design variable. Furthermore, the choice of benchmark used, IEA Wind Task 37 Case Study 1 is not anymore state-of-the art; something like Case Study 4, with a more realistic site complexity and more realistic wind resource modeling would be a more appropriate comparison point (cf. the paper on this Case Study currently also under review: https://wes.copernicus.org/preprints/wes-2022-90/ [disclosure: I contributed to this work]). Ideally, such a more realistic benchmark would be included, but this may be too much to ask, so I would leave such decision to the editor.
The correlation analysis to support the use of one of the proposed linearized objectives is useful to show that it makes sense to try out its use, as indeed there is sufficiently strong correlation within a random set of layouts. However, I find correlation for a random set of layouts insufficient justification for concluding that its use is warranted. Namely, during a MILP run, the layouts will very much not be random and will be very similar to each other, so it would need to be shown that for such sets of layouts there also is correlation. This can be done by comparing the rankings produced by the linearized objective and the AEP for all of the solutions in a pool, for each of the pools. It is my opinion that such an analysis should be added, because based on the current information, it could still be the case that the inner MILP optimization's added value is limited, as there is mostly a random search happening. (It the plots 5, 7 and 9, the flat parts suggest such behavior and the sloped ones not.)
Mathematical programming techniques (linear, quadratic, with and without integer variables) have been used in the context of wind farm layout optimization by many researchers. Also, linearization of objectives to be able to use MILP solvers is a common technique. The paper gives a decent selection of references about this. It can make the connection to the existing literature more explicit, however. Namely, what is it precisely that is new in this work, which was not done yet (in this context)? Specifically, I feel that the work of Turner et al. (2014) should get more credit and mention in your discussion, as they present a linearization that is very close to your power curve-free approach (compare your Eqs. 17-19 with their Eqs. 3, 7, 9 and your discussion on page 9 line 219-220 with their Eq. 10). As far as I can see, your contribution here is applying a big-M trick, which reduces the problem's complexity.
Similarly, a bit more can be said about search heuristics both in wind farm layout optimization and other application domains to contextualize your NSH algorithm. (Such search algorithms are quite common, also in nested optimization algorithms.) Here, I am not aware of as close a counterpart as with Turner et al. (2014) for the MILP part, but some example references are http://dx.doi.org/10.1016/j.renene.2015.01.005 (the most important one, according to me), http://dx.doi.org/10.1016/j.renene.2012.07.021, and methods in https://wes.copernicus.org/preprints/wes-2022-90/ such as ADREMOG [disclosure: I was involved in the creation of this algorithm].
The discussion of the application of the presented algorithms to IEA Wind Task 37 Case Study 1 presents information about their practical computational efficiency. The computational time needed shows the approach to be very computationally demanding (order of 10 h, 20 h, 40 h, respectively for the sites with 16, 36, and 64 turbines), which impedes its use and therefore decreases its practical relevance. Certainly the variant using a stepwise-constant approximation to the power curve is problematic in this regard, as on very performant hardware it takes 36 hours on the smallest case to perform noticably worse than the power curve-free variant (using about 15 h on quite standard workstation laptop hardware). In the IEA Wind Task Case Studies, there was a wide range of computational efficiencies in the algorithms presented, but there were multiple competitive ones that were substantially more efficient than the approaches presented here. As an example, the approach that I contributed to the Case Studies is the one based on pseudo gradients (cf. https://wes.copernicus.org/articles/6/815/2021/). The authors mention the results of this approach with their own by stating that they can achieve similar results in 2 and 3 hours (16 and 36 turbine cases) and that this is ‘way faster’ than for ‘these kind of algorithms’. I re-ran the case studies with the (current, more flexible, but more involved) version of the pseudo-gradient algorithm and obtained the following results (on a laptop that is roughly 2-3 times as fast as the one used by the authors), to be compared to the values in Table 1:
- 16-turbine case: 4 seconds to obtain 403 GW layout; 1 minute to obtain 409 GW layout
- 36-turbine case: 7 seconds to obtain 833 GW layout; 2 minutes to obtain 844 GW layout
- 64-turbine case: 45 seconds to obtain 1466 GW layout; 2 minutes to obtain 1480 GW layout
While the pseudo-gradient algorithm was created for supporting a more interactive form of wind farm design and therefore is not able to obtain the highest AEP values seen, these computation times should help recalibrate the author's view of what is typical in state-of-the-art wind farm layout optimization. Understandably, I feel it is required that the authors update their mention of typical times of approaches they compare to.
Connection of key points with submission rating
By themselves, the application of a big-M trick to get a more efficient linearization and the design of the NSH are relevant contributions.
That, after the initial part of the optimization runs, more is happening than just a random search, is something that should be demonstrated, because otherwise I feel these contributions are not novel and proven enough to merit acceptance of the paper. The huge computational resources necessary for the piecewise-constant power curve linearization approach leads me to conclude that this approach is impractical, so effectively, that for that approach a negative result has been obtained. That is something that can be reported, but is by itself not enough to merit acceptance.Detailed comments and technical feedback
Abstract
* velocity deficit → wind speed deficit1. Introduction
- It is relatively long, so add subsections to help readers see its structured
- l17: turns into a critical task → remains relevant (avoid exaggeration)
- multiple locations: Authors (Authors, year) → Authors (year) [just use \citet{…}?]
- l78-89: use list (first, second) to make this paragraph clearer
- l92: Preface with, e.g., “The rest of the paper is structured as follows.” for clarity
- l93: unfolds → describes? [strange wording]
- l94: deployed → presented? [strange wording, occurring multiple times]
2. Physics modelling
- l106: δu_il → δ_il: for mathematical notation, it is discouraged to use two (multiple) consecutive symbols, as this can be mistaken for the multiplication of two symbols; it also makes the notation heavier than needed
- l107: mention that it is Case Study 1
- l109-110: inappropriate paragraph indent after math; avoid by not having blank line? [occurs very often; fix all]
- l115: Δu_il → Δ_il (as for δu_il)
- l115: ‘wind speed k’: the use of k for a wind speed is confusing, as k is typically used for integers, but likely you meant k to be the index for a discretized wind speed value (then make that clear)
- l124: drop ‘and wind speed k’
- l124-125: there is strange extra white space before the displayed equation; check your LaTeX [occurs very often; fix all]
- Eq. 6 is the logical combination rule when one wants a linear objective, but the one of Eq. 7 is used; this needs to be better justified
- l135: only the most simpel models of power curves are convex right below rated speed
- l137: ≤ → < for middle two lines' left-hand inequality
- Eq. 9: note that putting the sum over i after the w_jk corresponds to a more efficient calculation
3. Optimization models
- l153: ‘(2D in this study)’: mention that when presenting the actual test case, not here
- l152: use of j different from wind direction index, so confusing double use of the same symbol; please avoid that
- l164: what is meant by ‘isometric’? [strange wording]
- Fig. 1: gray dot hard to see; please improve readability
- Eqs. 16 and 21 would be easier to understand if you first present the set same of equations for the non-linearized way in a grouped way, so that it is easy to see what changes; especially 16f is hard to understand without piecing together some things
- Eq. (16b): wouldn't ξ_i+sum_{j in N_i}ξ_j≤1 for all i be a more efficient set of constraints?
- l205: necessitated → needed
- l206: total wind speed → sum of wind speeds (‘total’ was confusing to me here)
- l211: ‘dropping the square roots’ is a very crude way of introducing the linearization of the square root here; explain why you use this expression and not one with a different coefficient (you could also just put an abstract coefficient in front and drop it when you drop the first term)
- l221: provide reference for big-M trick
4. Neighborhood search heuristic
- Alg.1 line 11: This is the first time ‘solution pool’ appears; this concept needs to be introduced on beforehand and it needs to explained concretely which solutions are in this pool and how they are generated (this is for me the part of the explanation that endangers reproducibility the most for me)
5. Computational experiments
- l288: V used in a second meaning from in Alg.1; avoid reusing mathematical symbols
- l330: relation between U and Ũ: not very interesting, rather between AEP and Ũ would be
- l363: ‘The inputs are tuned …’: please share how this was done and how much effort this entails
- l365: seek → search
- The use of % in the discussion of 5.2-4 is confusing; a better approach is to use wake loss factor/percentage (1-AEP/AEP_wakeless) and mention percentage point changes; wake loss factor (differences) are independent of the starting layout and provide the scale of things that are of interest to wind farm developers (a 1 percentage point difference in wake loss factor is practically significant, but a 0.1 percentage point difference likely not anymore, as it will likely be below the uncertainty bounds involved due to model uncertainty); wake loss factors can also be compared across wind farms, as they do not depend on the number of turbines
- There are numbers with 8 significant digits listed (some AEP values), which is absurd, as modelling inaccuracies make such precision unrealistic; try to give all numbers with a reasonable number of significant digits (giving more than 3 or 4 is typically dubious)
- Figs. 5, 7, 9: put yellow box material in table for better legibility
- l385: escalates → scales
- l420-422: regarding the pattern in NSH operation: you cannot conclude what you have stated, as you always use smaller neighborhoods before larger ones; making statements like this would require comparison at least with runs where the neighborhood size decreases; I would just leave out this statements
- l451: you state that the power curve-free approach is not suited for NPV optimization, but as part of the linearization, it is entirely possible to estimate a coefficient to transform (m/s)² to units of currency; so I find the current argumentation to a be a bit limited; I'd suggest including a more nuanced argumentation
- l463: ‘Mill.Eur’ is not a proper unit; please use proper units also for currencies
6. Discussion
- l499-500: Is it hard to establish whether a MILP formulation would still be possible? As long as the wake model enters into the picture via pairwise deficits, it should work without material changes.
- l507-508: Why hasn't the study for the dependence on initial layout been done yet? As far as I understand, it is mostly just a matter of rerunning the cases n times. (While I understand that this takes time, the optimization runs would not require full convergence, but just long enough to see repeated/varying behavior.) This would be an interesting addition to the paper and increase its value.
Citation: https://doi.org/10.5194/wes-2022-82-RC2
Juan-Andrés Pérez-Rúa et al.
Juan-Andrés Pérez-Rúa et al.
Viewed
HTML | XML | Total | BibTeX | EndNote | |
---|---|---|---|---|---|
289 | 102 | 15 | 406 | 9 | 5 |
- HTML: 289
- PDF: 102
- XML: 15
- Total: 406
- BibTeX: 9
- EndNote: 5
Viewed (geographical distribution)
Country | # | Views | % |
---|
Total: | 0 |
HTML: | 0 |
PDF: | 0 |
XML: | 0 |
- 1