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 stepwise constant function. The other model is based on a powercurvefree model where minimization of a measure closely related to total wind speed deficit is aimed. A specialpurpose 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 branchandcut 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 highquality 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.
JuanAndrés PérezRúa et al.
Status: final response (author comments only)

RC1: 'Comment on wes202282', Anonymous Referee #1, 25 Jan 2023
 AC1: 'Reply on RC1', JuanAndrés PérezRúa, 06 Mar 2023

RC2: 'Comment on wes202282', 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, nonapproximated 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 welldeveloped, 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 discshaped 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 wellstructured. 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 stateofthe 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/wes202290/ [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 curvefree approach (compare your Eqs. 1719 with their Eqs. 3, 7, 9 and your discussion on page 9 line 219220 with their Eq. 10). As far as I can see, your contribution here is applying a bigM 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/wes202290/ 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 stepwiseconstant 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 curvefree 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 reran the case studies with the (current, more flexible, but more involved) version of the pseudogradient algorithm and obtained the following results (on a laptop that is roughly 23 times as fast as the one used by the authors), to be compared to the values in Table 1:
 16turbine case: 4 seconds to obtain 403 GW layout; 1 minute to obtain 409 GW layout
 36turbine case: 7 seconds to obtain 833 GW layout; 2 minutes to obtain 844 GW layout
 64turbine case: 45 seconds to obtain 1466 GW layout; 2 minutes to obtain 1480 GW layout
While the pseudogradient 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 stateoftheart 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 bigM 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 piecewiseconstant 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{…}?]
 l7889: 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
 l109110: 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’
 l124125: 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' lefthand 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 nonlinearized 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 bigM 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.24 is confusing; a better approach is to use wake loss factor/percentage (1AEP/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
 l420422: 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 curvefree 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
 l499500: 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.
 l507508: 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/wes202282RC2
JuanAndrés PérezRúa et al.
JuanAndrés PérezRú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