# Solving wind farm layout optimization with mixed integer programs and constraint programs

- First Online:

- Received:
- Accepted:

DOI: 10.1007/s13675-014-0024-5

- Cite this article as:
- Zhang, P.Y., Romero, D.A., Beck, J.C. et al. EURO J Comput Optim (2014) 2: 195. doi:10.1007/s13675-014-0024-5

- 12 Citations
- 727 Downloads

## Abstract

The wind farm layout optimization problem is concerned with the optimal location of turbines within a fixed geographical area to maximize profit under stochastic wind conditions. Previously, it has been modeled as a maximum diversity (or \(p\)-dispersion-sum) problem, but such a formulation cannot capture the nonlinearity of aerodynamic interactions among multiple wind turbines. We present the first constraint programming (CP) and mixed integer linear programming (MIP) models that incorporate such nonlinearity. Our empirical results indicate that the relative performance between these two models reverses when the wind scenario changes from a simple to a more complex one. We then extend these models to include landowner participation and noise constraints. With the additional constraints, the MIP-based decomposition outperforms CP in almost all cases. We also propose an improvement to the previous maximum diversity model and demonstrate that the improved model solves more problem instances.

### Keywords

Wind farm layout Noise Landowner Optimization Constraint programming Mixed integer programming### Mathematics Subject Classification

90C90 Application of mathematical programming 90C11 Mixed integer programming## Introduction

Wind farm layout optimization problems deal with the optimal placement of turbines in a wind farm field. Currently, this problem appears only in the engineering research literature (Mosetti et al. 1994; Grady et al. 2005; Chowdhury et al. 2010; Donovan 2005; Fagerfjäll 2010; Kwong et al. 2012), where much effort has been spent on developing metaheuristics (Mosetti et al. 1994; Grady et al. 2005; Chowdhury et al. 2010; Dilkina et al. 2011) and greedy algorithms Zhang et al. (2011) for variations of the problem. Some existing heuristic methods (Mosetti et al. 1994; Grady et al. 2005) and mixed integer models (Donovan 2005; Fagerfjäll 2010; Turner et al. 2014) have explored this problem with discretization: the land is decomposed into a set of small cells, where each accommodates one turbine. Compared with a continuous approach (Kwong et al. 2012), the discrete approach is less sensitive to discontinuity in the wind farm land. Such discontinuity is common in practice due to existing infrastructure and geographic constraints (Manwell et al. 2009c). In the current work, our problem instances are square wind farms with equal-size square cells.

An interesting feature of this problem that sets it apart from standard location problems is the aerodynamic interaction among multiple turbines. In a simple scenario with only two turbines, the turbine downstream is said to be in the wake region of the upstream turbine, and it experiences a loss in energy production due to the reduction in wind speed and increase in turbulence intensity (Jensen 1983). In practice, a turbine that is downstream of multiple turbines is affected by all upstream turbines simultaneously and the overall effect is a nonlinear function of individual wakes. There are different analytical equations to describe the superposition of multiple wakes, some being closer to the physical reality than others (Renkema 2007). It is difficult to incorporate the more accurate wake equations into a mathematical programming model due to their nonlinearity: currently, only heuristics (Mosetti et al. 1994; Grady et al. 2005; Chowdhury et al. 2010; Kwong et al. 2012) include the most accurate wake models.

Another interesting aspect of this problem relates to the noise impact of wind farms. In Ontario, Canada, noise regulation is strict (Ministry of the Environment 2008, 2011) and the acceptable noise limit at a receptor is dynamic, depending on the participation of the corresponding landowner and the wind condition. A participating landowner usually hosts a turbine, a wind farm substation, or a section of the cable network. Compared with a non-participating landowner, the noise limit for a participating landowner is relaxed. Some previous work has included static noise constraints (Fagerfjäll 2010). To the best of our knowledge, no previous wind farm layout optimization models considered the participation of landowners.

Our goals are to computationally improve existing mixed integer programming (MIP) models and incorporate more accurate wake models into constraint programming (CP) and MIP models. In addition, we extend these models to include the aforementioned noise constraints while modeling the participation of landowners. In this work, we focus on the Jensen wake model (Jensen 1983) and power maximization objective. The Jensen wake model is currently one of the most accurate analytical models of wake impact included in any optimization or heuristic approaches (Manwell et al. 2009c; Renkema 2007).

The contributions of this paper are: the proposal of two novel mathematical programming models (CP and MIP) that can describe the physics of the problem more accurately than the previous MIP models; the extension of a previous MIP model so that the solution quality and time are improved; the comparison of four models on twelve problem instances, with varying wind scenario complexity, turbine numbers, and wind farm grid resolution; and the proposal of linear noise constraints and inclusion of landowner participation.

## Problem definition: the physics of wakes and noise propagation

### Description of the problem

Wind farm site selection, or wind farm siting, is based on meteorological conditions, topological features of the site, and accessibility for construction and electrical transmission, among other factors (Manwell et al. 2009c). After siting, wind farm developers optimize the layout of the turbines according to prescribed objectives and constraints in a process called micro-siting. In a typical case, design engineers try to maximize the expected profit and minimize hazardous side-effects during wind farm construction and operation (Manwell et al. 2009c). This is a challenging task because there are many objectives and constraints, and every site is different. To limit our scope, we consider the maximization of energy capture of a wind farm as our only objective, as it is closely related to the long-term profit of the wind farms and it is well accepted in the wind farm optimization literature (Mosetti et al. 1994; Grady et al. 2005; Chowdhury et al. 2010). We further assume that the wind farm land is flat, and all turbines are of the same type.

- 1.
Proximity: turbines must be placed five turbine rotor diameters apart to avoid structural damage induced by strong aerodynamic interactions;

- 2.
Boundary: Turbines must be placed within the wind farm boundaries;

- 3.
Turbine number: The number of turbines is fixed.

As mentioned in the previous section, we use a discrete representation of wind farm: land is decomposed into a set of square cells, where each cell can only accommodate one turbine. This approach is common in the literature (Mosetti et al. 1994; Donovan 2005; Grady et al. 2005).

### Wake and energy models

While some constraints of this problem are similar to vertex packing (Atamtürk et al. 2000), undesirable facility location (Owen 1998), and circle packing problems (Stephenson 2005), the objective function is unique to wind farm layout optimization. In particular, the available wind energy at each turbine is proportional to the cube of wind speed at that location. In turn, the wind speed at a turbine is a nonlinear function of the distances to its upstream turbines. Note that “upstream” is relative to the wind direction, which varies over time.

#### Single wake

#### Multiple wakes: sum-of-squares

#### Multiple wakes: linear superposition

With the physics introduced, we want to make a note on the representation of these equations in our optimization models. Although the power calculation Eqs. (3) and (5) appear to be nonlinear in wind speeds, we can actually remove some of the nonlinearity due to the choice of discrete optimization models. As illustrated by Donovan (2005), the linear superposition model (Eq. 5) is completely linear, because all the wind speed terms can be calculated prior the optimization, since the candidate turbine locations (\(i\), \(j\)) and wind states \(\mathcal {D}\) are known in the discrete representation. However, linearizing the wake model given by Eq. (3) is a non-trivial task, because even after pre-calculating the wind speed terms, we still have the square root of a weighted sum. In Sect. 3, we will first introduce a CP model that directly represents the nonlinearity in its objective function, and then describe our novel approach that can incorporate the physics of Eq. (3) into a mixed integer linear program.

### Noise propagation and perception

#### Ontario regulations

In Ontario, landowner participation in a wind farm project affects the acceptable noise levels. A landowner is participating if his or her land hosts part of the wind farm (a turbine, cable, substation, etc.) and non-participating otherwise. Specifically, each square cell of our discretized wind farm belongs to one landowner, and the participation of a landowner depends on whether he/she hosts a turbine in one of his/her cells. Every landowner has one or more noise receptors (e.g., houses) on the property, and their locations are determined prior to optimization. Therefore, noise constraints are dynamic in the sense that the constraint related to a noise receptor depends on the existence of turbines on the corresponding landowner’s property. For non-participating landowners, the maximum noise at the receptor location is 40–51 dBA, depending on the wind condition; for participating landowners, these constraints are relaxed (i.e., with higher tolerance) (Ministry of the Environment 2008).

## Optimization models

In this section, we first present five basic optimization models using MIP or CP, ignoring the noise constraints. We then show how the noise constraints can be added to each model.

### Sum-of-squares optimization models (SOM)

The following three optimization models are based on the more accurate way of accounting for multiple wakes (Eq. 3).

#### CP and MIP models

#### A decomposition model

It is not hard to see that the number of constraints (\(*\)) is exponential in \(n\) due to the requirement (\(\forall \mathcal {S}_i \subset \mathcal {N} {\setminus } i\)). Therefore, rather than experimenting with SOM2, we propose a third model, SOM3, which can be understood as a decomposition of SOM2 (Bertsimas and Tsitsiklis 1997).

- 1.Evaluate the turbine layout power considering full wake effects based on \(\mathbf {x}^t\) (the solution from the master problem at iteration \(t\)) by substituting it into$$\begin{aligned} \sum \limits _{i \in \mathcal {N}} \sum \limits _{d \in \mathcal {D}} \frac{1}{3} x^t_i \left( u_{id,\infty } \left[ 1 - \sqrt{\sum \limits _{j \in \mathcal {U}_{id}} x^t_j \left( 1 - \frac{u_{ijd}}{u_{id,\infty }} \right) ^2} \right] \right) ^3 p_{d} \end{aligned}$$
- 2.
If it is evaluated to the same as the objective value from the master problem or the maximum solution time is reached, terminate; otherwise:

- 3.
Generate cuts in the form of \(z_i \le g_i(\mathbf {x}^t)\) and \(z_i \le h_{ijk}(\mathbf {x}^t)\) [see Eqs. (9), (10) below]; return to the master problem.

*Cuts*We propose two types of cut: a no-good cut and a 3-cut. The former is presented in Eq. (9). \(M\) is a large constant; \(x^t_j\) is the \(j\)th component of \(\mathbf {x}^t\); \(\mathcal {N}^t\) is the set of locations that host turbines in iteration \(t\); \(w_{i, \mathcal {A}}\) is the maximum amount of power convertible when all cells with indices in \(\mathcal {A}\) have turbines; \(w_i\), \(w_{i,j}\) and \(w_{i,jk}\) are short forms for \(w_{i,\emptyset }\), \(w_{i,\{j\}}\) and \(w_{i,\{jk\}}\), following the definition of \(w_{i,\mathcal {A}}\).

**Proposition 1**

The cut \(z_i \le w_i + (w_{i,j} - w_i)x_j + (w_{i, jk} - w_{i, j})x_k\) is tight (cutting off all infeasible values for \(z_i\) assuming no turbines are “on” except for \(j,k\)) at \((x_i, x_j, x_k) = (1, 0, 0)\), \((1, 1, 0)\), and \((1, 1, 1)\).

*Proof*

When \((x_i, x_j, x_k) = (1, 0, 0)\), \((1, 1, 0)\), and \((1, 1, 1)\), the cut reduces to \(z_i \le w_i\), \(z_i \le w_{i,j}\), and \(z_i \le w_{i,jk}\), respectively. These values are tight by definition of \(w_i\), \(w_{i,j}\), and \(w_{i,jk}\). When \((x_i, x_j, x_k) = (1, 0, 1)\), the cut reduces to \(z_i \le w_i + w_{i,jk} - w_{i,j}\). Since \(z_i \le w_{i,k}\) by the definition of \(w_{i,k}\), and the combination of power deficits is sub-linear (Eqs. 3, 4), \(w_i + w_{i,jk} - w_{i,j} \ge w_{i, k}\). Therefore, \(z_i \le w_i + w_{i,jk} - w_{i,j}\) is not tight and does not cut off any feasible region. \(\square \)

### Linear superposition optimization models (LSOM)

Previous MIP models use a simpler [and less accurate (Renkema 2007)] calculation of energy: the power deficits from individual wakes are combined linearly to account for the total power loss. The following two MIP models are based on such linear superposition technique. The first model (LSOM1) was originally proposed by Donovan (2005), while the second one (LSOM2) is our extension of LSOM1.

Other location problems in the literature such as the maximum diversity problem (MDP) (Kuo et al. 1993) and the \(p\)-dispersion-sum (\(p\)DS) problem (Pisinger 1999) are similar to Donovan’s model. However, we have not seen any application of the state-of-art MDP/\(p\)DS solution algorithms to this wind farm layout optimization model.

In LSOM1, the \(y_{ij}\) variables are always equal to the product of \(x_i\) and \(x_j\), indicating if there are turbines at both places. Since \(i, j \in \mathcal {N}\), there are in total \(|\mathcal {N}|^2\)\(y_{ij}\) variables. A high resolution of the wind farm grid with a complicated wind regime results in denser coefficient matrix for this optimization formulation. To address this weakness we propose LSOM2.

However, LSOM2 is not equivalent to LSOM1. When \(x_i=0\) and constraint (\(\dagger \)) is \(z_i \le 0\), constraint (\(\dagger \dagger \)) may become \(z_i \le -c\), where \(-c\) is a negative value. This is because the linear superposition model over-estimates power losses, making it possible for the right-hand side of (\(\dagger \dagger \)) to be negative. Fortunately, this case does not arise during our experiments due to the proximity constraint such that turbines cannot be less than 5 rotor diameters apart, which is an industry standard for wind farm design.

### Noise-constrained models

Here, we incorporate the noise constraints and update the energy-maximizing models into profit-maximizing models with landowner participation (Figs. 11, 12, 13 and 14).

## Experiment setup

Comparison of solutions based on sum-of-squares power calculation (\(\circ \): experiments took more than 1 h to setup; boldface: best objective value)

Wind regime | \(n\) | \(m\) | SOM1 | SOM3 | LSOM1 | LSOM2 | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|

Power (W) | Sol. time (s) | Power (W) | Sol. time (s) | Power (W) | Sol. time (s) | Opt. gap (%) | Power (W) | Sol. time (s) | Opt. gap (%) | |||

WR1 | 100 | 20 | 10,253.4 | 3,600 |
| 3,600 |
| 3.5 | 0 |
| 8.0 | 0 |

100 | 30 | 14,732.5 | 3,600 |
| 3,600 | 14,795.1 (14,702.2) | 2.5 | 0 | 14,798.6 (14,702.2) | 3,600 | 1.2 | |

100 | 40 | 18,459.5 | 3,600 |
| 3,600 |
| 1.0 | 0 |
| 98.8 | 0 | |

400 | 20 |
| 3,600 |
| 3,600 |
| 2.5 | 0 |
| 0.4 | 0 | |

400 | 30 | 15,359.6 | 3,600 | 15,410.9 | 3,600 | 15,407.6 (15,409.3) | 3600 | 0.9 |
| 3,600 | 0.9 | |

400 | 40 | 20,270.0 | 3,600 | 20,334.7 | 3,600 |
| 3,600 | 3.1 | 20,341.2 (20,172.4) | 3,600 | 2.8 | |

WR36 | 100 | 20 | 16,675.1 | 3,600 | 16,631.0 | 3,600 | 16,705.2 (16,356.6) | 3,600 | 3.0 |
| 3,600 | 3.2 |

100 | 30 | 24,574.0 | 3,600 | 24,391.0 | 3,600 | 24,597.3 (23,442.3) | 3,600 | 7.3 |
| 3,600 | 7.4 | |

100 | 40 | 32,204.6 | 3,600 | 31,616.0 | 3,600 | 32,197.3 (29,651.9) | 3,600 | 9.9 |
| 3,600 | 11.9 | |

400 | 20 | \(\circ \) | \(\circ \) | 16,551.0 | 3,600 | \(\circ \) | \(\circ \) | \(\circ \) |
| 3,600 | 3.1 | |

400 | 30 | \(\circ \) | \(\circ \) | 24,426.0 | 3,600 | \(\circ \) | \(\circ \) | \(\circ \) |
| 3,600 | 5.9 | |

400 | 40 | \(\circ \) | \(\circ \) | 31,977.0 | 3,600 | \(\circ \) | \(\circ \) | \(\circ \) |
| 3,600 | 10.0 |

## Results

Table 1 summarizes the performance of the four models (without noise constraints) by comparing the expected power and solution times. The MIP optimality gaps are included where applicable. Columns \(n\) and \(k\) represent the total numbers of cells and turbines. For LSOM1 and LSOM2, there are two power values: the power calculated with the sum-of-squares wake model and, in parentheses, the objective function value based on linear superposition model. Overall, LSOM2 outperforms the other models in most cases in terms of solution quality. SOM3 and LSOM2 can solve problem instances with high grid resolution and high wind data resolution (WR36-400-\(m\)), while the other two models cannot even initialize these instances within an hour due to the size of the model. Interestingly, although the LSOM models use less accurate wake models, they yield better solutions (within the 1-h time limit) when evaluated with the more accurate sum-of-squares evaluations. This observation empirically shows that although LSOM optimality solutions should be worse than the SOM optimal solutions, the less accurate wake model of LSOM is actually a reasonably proxy when the experiments are run under the 1-h time limit.

### SOM1 vs. SOM3

Table 1 shows that SOM3 solves more instances than SOM1. In the higher resolution case (WR36-400), the SOM1 objective function expression must account for many wind directions and turbine pairs leading to memory saturation during the model creation phase and the inability to start search within an hour. SOM3 also performs better in WR1 cases. We believe that the simpler turbine interactions for WR1 instances are accurately captured by no-good and 3-cuts.

SOM3 also improves more slowly in the WR1-400-\(m\) instances (Fig. 17) than in the WR1-100-\(m\) instances (Fig. 16). There are more combinations of three turbines in the former instances and therefore more 3-cuts must be generated for the master problem to improve its objective value. Eventually, SOM3 catches up with SOM1 because the 3-cuts describe the interactions of all turbines reasonably accurately.

### LSOM1 vs. LSOM2

Table 1 shows that the power production calculated by linear superposition method (in brackets) is always lower than or equal to the sum-of-squares calculation. For some values of \(n\) and \(k\), the problem cannot be solved to optimality within an hour, while some other instances are solved in less than 10 s. Table 1 clearly shows that LSOM2 outperforms LSOM1 in solution quality in all but one instance (WR1-400-40). In the WR1-400-40 case, LSOM1 outperforms LSOM2 in terms of the revised power calculation, however, LSOM2 is “misled” by the objective function (in brackets). Thus, if we compare the true optimization objective for LSOM1 and LSOM2, LSOM2 strictly dominates LSOM1 in solution quality. In terms of computation time, LSOM2 performs similarly to LSOM1 except the WR1-100-30 and WR1-100-40 instances. A closer look at the CPLEX solution log reveals that LSOM2 arrived at the actual optimal solution (proven by LSOM1) within a few seconds for both cases, but was unable to quickly tighten the dual bound. As with the SOM1 model, the bigger cases (WR36-400) cannot be solved by LSOM1 within 1 h because the CPLEX solver either took a few hours to initialize or could not start at all.

### Noise-constrained models

Comparison of solutions of the noise-constrained models (\(\circ \): experiments took more than 1 h to setup; boldface: best objective value)

Wind regime | \(n\) | \(m\) | SOMl-noise | SOM3-noise | LSOMl-noise | LSOM2-noise | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|

Profit ($) | Sol. time (s) | Profit ($) | Sol. time (s) | Profit ($) | Sol. time (s) | Opt. gap (%) | Profit ($) | Sol. time (s) | Opt. gap (%) | |||

WR1 | 100 | 20 | 3,195 | 2,667 | 3,697 | 3,600 |
| 3,600 | 5.0 | 3,605 | 3,600 | 33.3 |

100 | 30 | 10,167 | 3,600 |
| 3,600 | 10,163 | 3,600 | 4.8 | 10,167 | 3,600 | 22.4 | |

100 | 40 | no sol. | 3,600 | no sol. | 3,600 | no sol. | 3,600 | – | no sol. | 3,600 | – | |

400 | 20 | 7,016 | 3,600 |
| 3,600 |
| 56 | 0 |
| 11 | 0 | |

400 | 30 | 12,773 | 3,600 |
| 3,600 | 14,393 | 3,600 | 20.2 | 15,647 | 3,600 | 10.5 | |

400 | 40 | 23,685 | 3,600 | 23,709 | 3,600 |
| 3,600 | 17.9 | 23,754 | 3,600 | 6.1 | |

WR36 | 100 | 20 | 17,682 | 3,600 | 18,013 | 3,600 | 19,280 | 3,600 | 39.3 |
| 3600 | 13.4 |

100 | 30 | 34,054 | 3,600 | 32,023 | 3,600 | 34,000 | 3,600 | 30.1 |
| 3,600 | 14.9 | |

100 | 40 | no sol. | 3,600 | no sol. | 3,600 | no sol. | 3,600 | – | no sol. | 3,600 | – | |

400 | 20 | \(\circ \) | \(\circ \) | 18,826 | 3,600 | 19,417 | 3,600 | 79.4 |
| 3,600 | 13.1 | |

400 | 30 | \(\circ \) | \(\circ \) | 32,660 | 3,600 | 33,889 | 3,600 | 54.4 |
| 3,600 | 21.0 | |

400 | 40 | \(\circ \) | \(\circ \) | 49,164 | 3,600 | 52,511 | 3,600 | 36.1 |
| 3,600 | 16.3 |

## Discussion

## Conclusion

We have constructed a decomposition model (SOM3) in order to outsource the energy evaluation of a layout to a subproblem, so that the master problem can remain as a MIP while the subproblem can take on any form—from nonlinear equations for wake superposition to computational fluid dynamics simulation that can capture the flow of the field in more details. The current paper focuses on the validity of the SOM3 model with a set of simple nonlinear equations for the wake superposition. Future extension of SOM3 includes the alteration of the subproblem into a simulation-type evaluation. We proposed two models to incorporate the nonlinearity in the superposition of wakes according to the existing literature. The first model (SOM1) is a direct formulation of the problem in constraint programming. While having promising performance under complex wind scenarios, the major drawback of this approach is the “curse of dimensionality”—the growth of the numbers of variables and terms quickly exceeds reasonable computational capacity. A second decomposed MIP model (SOM3) performs well in the simple wind regimes, because no-good and 3-cuts can accurately describe the turbine interactions. However, with more complicated wind regimes, SOM3 is unable to improve its early feasible solutions due to the weakness of the current cuts. We also presented a novel extension of an existing LSOM model. The LSOM models are based on a less accurate model of power productions, thus having different objective functions than the SOMs. However, the models can be solved more quickly and achieve high-quality solutions when a posteriori evaluated with the more accurate sum-of-squares power calculation.

In summary, we have presented two new models for the wind farm layout optimization problem. We also included noise constraints and landowner decisions in a profit-maximization version of the models, to account for the environmental and social impact of wind farms. To our best knowledge, this is the first work dealing with the on/off links between the landowner participation and noise limit levels. These CP and MIP models are the first mathematical programming models that capture the wind turbine interactions by modeling the sum-of-squares equations—the most accurate analytical multi-wake modeling in the literature (Renkema 2007). We also presented an extension (LSOM2) to a previous MIP model (LSOM1) and demonstrated improved solution quality and time. Based on the experimental study, we think that the most promising directions for future work include the strengthening of cuts for SOM3 and hybridization of SOM1 and SOM3.