Optimal Power Planning of Wind Turbines in a Wind Farm

Wind energy is attractive in the presence of climate concerns and has the potential to dramatically reduce the dependency on nonrenewable energy resources. With the increase in wind farms there is a need to improve the efficiency in power allocation and power generation among wind turbines. In this paper, a hierarchical algorithm including a cooperative level and an individual level is developed for power coordination and planning in a wind farm. In the cooperative level, a constrained quadratic programming problem is formulated and solved to allocate the power to wind turbines considering the aerodynamic effects of wake interaction and the power generation capabilities of wind turbines. In the individual level, a method based on the local pursuit strategy is studied to connect the cooperative level power allocation and the individual level power generation using a virtual leader-follower scheme. The stability of individual wind turbine power generation is analyzed. Simulations are used to show the advantages of the method.


Introduction
Wind energy is considered to be an important player in the renewable energy market, enabling a reduction in carbon pollution from conventional energy with a rapid growth at the rate of around 27% per year between 2005-2009 [1] [2]. The US government has plans to produce 20% of the country's energy via wind by 2030 [3].
Although promising in its potential, wind farms arranged in arrays suffer in power output due to aerodynamic interaction between the wind turbines. This requires wind farm control schemes that can improve the power production output and handle the aerodynamic interactions better [4]. It is shown that around 10% to 40% of wind energy output and profit is lost as a result of the interaction among wind turbines, particularly due to wake interactions [5] [6].
Wind energy control research is normally focused on either individual wind turbine control or wind farm cooperative control. In individual wind turbine controls, work has been done on using linear/nonlinear feedback control techniques to track the power to be produced. An example of this can be seen in [7] where the researchers proposed an adaptive control strategy using neural network to control rotor speed and blade pitch angle. Another popular direction is the study of wind availability and the stability analysis of the system while switching between different operation regimes [8].
The approach of maximizing the power of an individual turbine renders suboptimal in terms of wind farm power production due to coupled aerodynamic effects and mechanical loadings [9]. This beckons a scheme of coordination of individual wind turbine actions to increase the overall efficiency of the plant and reduce fatigue and loads on wind turbines [10]. With an increased responsibility in power generation, wind farms have other tasks to perform such as regulation and stabilization of power plants and may not be required to run at a full capacity at all times [9]. Many researchers have tackled cooperative wind farm control problems. The two broad categories of approaches include (i) maximizing the total power output, and (ii) power optimization schemes to distribute the power demand in terms of load reduction, e. g. in [10]. In [5], wind farm output is maximized by finding optimal combination of yaw angles and induction factor using a steepest decent method. In [11], power demand is met by dynamically coordinating and varying wind turbine power such that the addition of their power outputs matches the total requirement.
Although there have been many works in recent years focusing on the cooperative control of wind turbines, there is still plenty of room for improvement in this field. For example, most of the recent work focuses on the use of linearized wind turbine models [12] for optimization purposes; this can lead to errors as some wind turbine operating modes in linearized models do not match well with real nonlinear phenomena. Furthermore, the work in coordinated wind farm control often ignores structural deflection constraints of individual wind turbines [13]. In some wind farm cooperative control work as seen in [14], the algorithm has a high computational cost when applied to larger wind farms and is not scalable with increase in the number of wind turbines. The optimal cooperative power planning in this work is divided into a hierarchical structure which consists of two levels, cooperative and individual. The cooperative level algorithm handles the objective of optimally allocating power to the wind turbines while considering the coupled constraint of wake interaction between wind turbines, as well as uncoupled constraints of power production limits of individual wind turbines based on wind turbine properties and available wind speeds.
The individual level algorithm is to minimize the differences between the actual power generated and the allocated power demand while considering individual wind turbine constraints such as thrust and torque on the rotor, the rotor speed, and the tower deflection.
A leader follower arrangement is used in connecting the cooperative and individual level algorithms. The recently studied cooperative control strategy [15] motivated by the local pursuit phenomenon seen in foraging ants [16] will be further enhanced to govern the relationship between the power generation in virtual leader power and individual wind turbine.
The following aspects of algorithm are studied: (1) the asymptotic stability of power allocation formulation, 2) the equilibrium point and the stability of wind turbine rotor speed dynamics, 3) the ability to handle nonlinear wind turbine dynamics, and 5) the scalability of algorithm with increase in wind farm size.
The paper presented is divided into the following parts. Section 2 introduces the adopted individual wind turbine model and the wake interaction model. In Section 3 the cooperative level and individual level optimization problems are defined. Section 4 describes the local pursuit based individual wind turbine optimal power control, and Section 5 discusses the coordinated wind farm power allocation algorithm. Simulation results are shown in Section 6. Lastly conclusion is drawn in Section 7.

Individual Wind Turbine Model
The nonlinear wind turbine model adopted from [7] consists of the blade pitch actuator dynamics and the rotor dynamics as, Here the state variables [ ] x ω β = T r are the rotor angular velocity and the collective blade pitch angle, and the control variable r β is the blade pitch angle reference input.

( )
, P C λ β is the rotor power coefficient.
, and T β are the air density, rotor radius, average wind speed, the equivalent shaft inertia, gear box ratio, and time constant of the pitch servo system, respectively. r J and g J are the inertia of the rotor and generator. The data and coefficients used in this model are selected from a 3 blade, horizontal axis, 5 MW capacity offshore wind turbine [17]. The constants a and b are the parameters in the linearized generator torque model g g T a b ω = + [7], in which the generator speed is It is worth noting that the input matrix in Eq. (1) is non-square.
The outputs of the model ( ) h x include the power extracted from the wind P , the torque experienced by the low speed shaft T , and the thrust experienced by the rotor F as follows In the above equation, To make the extraction of pitch angle easy from known P C and λ , an equation is adopted from [18] as ( ) ( ) . The P C value calculated using Eqs. (4) and (5) matches well with the values obtained from the FAST and Aero Dyn packages of NREL [17]. The Jensen wake model [19] is used to calculate the downstream velocity between wind turbines in the farm, which permits fast calculations and is commonly used in commercial wake calculation programs. The wind speed at a distance x is given as follows.
( ) ( ) Here 0 V and k are the incoming wind speed and the entrainment constant, and R is rotor radius.
The thrust force acting on the rotor plane of the wind turbine causes the oscillation of the tower, and the tower deflection in the fore-aft direction is depicted in the second order system [20] as, mz dz cz F + + = ɺɺ ɺ (7) in which z is the displacement of tower top along the direction of the wind, the thrust force F is assumed to be concentrated in the center of the rotor hub. In Eq. (7), parameter m is the modal mass, d is the modal damping, and c is the modal stiffness of the tower. The displacement of the tower top is constrained by max z z ≤ .

Power Generation Optimization in Individual Wind Turbine
The performance index to be optimized in each wind turbine is, We assume that there are w N wind turbines in the farm, and , 1, 2,3 (3) and the tower deflection limitations are regarded as the inequality constraints.

Power Allocation in Wind Farms
In the wind farm cooperative level power allocation, the wind speed available to upwind turbines and the distances between the upwind and downwind wind turbines are known. At a particular time, the power grid network needs a total of tot P from this farm, and the performance index in the cooperative level is The power allocated to wind turbine i is limited by its power generation capability , ,  , which depends on the ranges of its incoming wind, pitch angle, and tip speed ratio.

Power Output Regulation
The power output of each wind turbine is proposed to be driven by a modified local pursuit strategy [15], in which VL P is the power output of leader that can be a virtual wind turbine, and the value can be the average power generated by w N wind turbines in the farm as The constant term i ∆ in a planning horizon is the power output bias of wind turbine i from VL P . There are different approaches to drive the power of each wind turbine towards its allocated value. Following Eq. (10) is just one approach. In this approach, the actual wind turbine power will follow a first order trajectory without an overshoot. Additionally, the speed control parameter (SCP) i v determines how fast the power output i P will converge to its desired value VL i P + ∆ . Let us define the output power tracking error of wind turbine i to be , 1, , Lemma 1: As t → ∞ , the power output of wind turbine i will asymptotically converge to its allocated value if 0 i v > . Also under this guidance law, the power output is ( ) Proof: It is proven in [15] that the error signal will asymptotically converge to zero as t → ∞ if ( ) 0 Thus the proof of this part of Lemma 1 is omitted. According to Eq. (10) and Eq. (11) (13) which leads to Eq. (12).

Equilibrium Point and Stability of Rotor
Lemma 2: If the power generation follows Eq. (10), the equilibrium points of the rotor speed , in which the coefficients are defined in the following proof.
Here a negative rotor speed represents the case that the rotor will spin in the opposite direction if allowed. Proof: The rotor dynamics from Eq. (1) can be written as, , the rotor dynamics can be rewritten as Therefore, the equilibrium point , As t → ∞ , the steady state equilibrium point of the rotor speed is derived as Eq. (17).
Remark 1: In reality, a wind turbine may only have one equilibrium point according to its wind blade pitch angle installation.
Lemma 3: If the power generation for each wind turbine follows the modified local pursuit equation (Eq. 10), the equilibrium point of the rotor speed in Eq. (17) is asymptotically stable if the perturbation from its equilibrium point , Proof: Let us assume the rotor speed is perturbed to be , , , is the error around the equilibrium point. Then Eq. (17) can be rewritten as which can be simplified as Remove the equilibrium part in Eq. (19), the error dynamics is derived to be For any 0 If , , coefficients in both terms of the error dynamics are negative, which means the rotor speed error will decay to zero as t → ∞ , and the error is bounded by its initial error. Therefore, according to [21], the rotor speed equilibrium point is asymptotically stable.
There is a singular value at , 0 Note that the equilibrium condition is applied in deriving Eq. (23). Therefore, if  10), the rotor speed in the individual wind turbine will reach its equilibrium point depending on its initial condition, which is asymptotically stable.

Remark 4: Based on Eq. (13), ( ) ( ) ( )
This equation can provide information on how fast roughly the power generated by wind turbine i will approach the allocated power.
Remark 5: It is worth noting the asymptotically stability of the equilibrium rotor speed assumes that the model is perfectly known and there is no sensor or actuator noises or uncertainties. When the noise and/or uncertainties cannot be neglected or the wind turbine is not perfectly modeled, the planning algorithm proposed here can be put in a receding horizon framework and the power generation in individual wind turbine will be replanned at the beginning of each planning horizon.

Dynamic Model Propagation
To solve the optimization problem for individual wind turbine listed in Section 3.1, we need to know the state and control variables at each instance. Since the input matrix of model Eq. (1) is non-square, instead of finding those variables through fast collocation methods such as those used in [15], we will directly propagate the dynamic model here. Since our goal is to plan individual level wind turbine's power regulation optimization, assumption is made that the relation between rotor speed, collective blade pitch angle, tip speed ratio, coefficient of power and allocated wind turbine power are perfectly modeled. The detailed steps involved are listed in the following algorithm. Step 1 Based on the allocated power i P for the th i wind turbine using Eq. (10), the rotor power coefficient ( , ) P i i C λ β can be calculated using Eq. (2).
Step 2 The result from step 1 can be used to propagate the angular speed dynamics , i r ω using the first equation in Eq. (1).
Step 3 The tip speed ratio is then calculated by Step 4 The tip speed ratio calculated in the previous step along with the known ( , ) P i i C λ β can help us reversely solve for the pitch angle i β using Eqs. (4) and (5) Step 5 The control variable (i. e. the reference pitch angle , Step 6 The output variables, i. e. the thrust and torque on the rotor, can be calculated using Eq. (2). The tower deflection ( i z ) is propagated using Eq. (7) based on the calculated thrust i F on the rotor.

Individual Wind Turbine Power Generation Optimization
The optimization of the power generation in each wind turbine is shown in Algorithm 2 listed below. The "fmincon" solver in MATLAB is applied here. As proven in Lemma 3, the closed-loop system is asymptotically stable.

Table 2. Algorithm 2 -Power Generation Optimization.
Step 1 Using the known virtual leader power VL P and the allocated power bias i ∆ , guess the optimizable variable (i. e. the speed control parameter i v ) at each time node.
Step 2 The power i P to be generated is propagated using the guessed i v .
Step 3 Algorithm 1 is followed and the results are used in evaluating the performance index as defined in Eq. (8) and the equality and inequality constraints as described in Section 3.1.
Step 4 If the performance index does not converge to the minimum or a feasible solution, go back to Step 1. Else, the optimization is accomplished.
Wind turbines in a wind farm can be optimized using Algorithm 2 in a decentralized manner.

Power Generation Allocation in Cooperative Level
The performance index in the cooperative level is given in Eq. (9). Expanding this performance index, we get . Expanding the first term in (25), Therefore, the performance index can be written as the form of a quadratic programming as where the optimizable parameters powers to be allocated. The matrices H and f are defined as The constraint in the optimal power allocation is [ ] P , P min max . To know the range of the available power for each wind turbine, the range of possible wind speed needs to be calculated. The algorithm to calculate the lower and upper bounds of the available power [ ] P , P min max is listed next as Algorithm 3.

Table 3. Algorithm 3 -Range of Available Power for each Wind Turbine.
Step 1 Receive the total wind farm power demand ( tot P ) Step 2 Follow Algorithm 3 to find min The MATLAB quadratic programming solver "quadprog" is used to solve the formulated power allocation problem (Eqs. 27 and 28 and [ ] P P , P ∈ min max ). The algorithm used to optimally allocate the power to each wind turbine is summarized in the following table. Step 1 Receive the total wind farm power demand ( tot P ) Step 2 Follow Algorithm 3 to find min P and max P Step 3 Solve the formulated quadratic programming problem (Eqs. 27 and 28 and [ ] P P , P ∈ min max ) Step 5 Compute the virtual leader power ( / VL tot w P P N = and 0 VL P = ɺ ) Step 6 Send the allocated power ( i VL i P P = + ∆ ), virtual leader power ( VL P ), and bias information ( i ∆ ) to Algorithm 2 for lower level optimization. This step is decentralized.

Coordinating Power Allocation and Planning Algorithm
Algorithms 1 through 4 are put together in Algorithm 5 as the overall power allocation and optimal power planning algorithm for a wind farm. Table 5. Algorithm 5 -Summary of the Algorithm.
Step 1 The grid sends a total desired power output ( tot P ) in the beginning of each planning horizon.
Step 2 Algorithm 4 (including Algorithm 3) is used to find VL P , i P and i ∆ in the cooperative level, which will be sent to individual wind turbine (centralized).
Step 3 Algorithm 2 (including Algorithm 1) is used to find the optimized i v and the optimal reference pitch angle , i r β (decentralized).
Step 4 Send the overall operation and power production information back to the central computer. Individual wind turbine will execute the , i r β command.

Simulation Settings
The simulation is carried out on a laptop, running Intel® Core i7-2620M with a processor speed of 2.7 GHz and a 6 GB RAM. The constrained nonlinear programming problem in Algorithm 2 is solved using the MATLAB "fmincon" function; while the constrained linear quadratic programming problem in Algorithm 4 is solved by the "quadprog" function. The properties of the wind turbine are adopted from [13] as shown in Table 6. It is worth mentioning that although all the wind turbines in the simulated wind farm are assumed to be the same, non-homogenous dynamics models can be used in the proposed cooperative control algorithm.

Parameter Definition Number
Gear box ratio ( gb n ) 97 Generator inertia ( g J ) , respectively [13]. The maximum tower deflection ( max z ) constraint is kept at 5% of the tower height. As one case, the weights in performance index Eq. (8) are set to 1 1 W = , 2 0 W = , and 3 0 W = . All the quantities in the optimization are nondimensionalized to help the optimization convergence.
It is worth mentioning that for brevity only the plots of the state and control variables in Case A are shown since all the other cases have similar state and control variable performance.

Individual Wind Turbine Optimization
Three scenarios are simulated to test the robustness of Algorithm 2, i. e. the power planning optimization of individual wind turbine: A) varying wind speed, B) varying allocated power, and C) varying initial power condition. During the planning horizon, it is presumed that the wind speed remains constant.

Varying Wind Speeds (Case A)
The table below summarizes the optimization results of varying wind speeds for a fixed set of allocated and initial wind turbine power, as well as an invariant virtual leader power.
The obtained steady state values for rotor speed, pitch angle, rotor torque, and rotor thrust are in agreement with those in similar scenarios on a 5 MW NREL wind turbine [17]. The minor differences in those performances are due to fact that the generator torque values (i. e. the values of a and b) chosen for the simulation are different from the data in NREL. Our strategy is to tune the generator torque to keep the tip speed ratio between 7 and 8 near the optimal tip speed ratio of 7.55 [17] Optimum solutions are able to be attained in reasonable time as shown in Table VII, ranging between 1.8 and 2.8 seconds. The following figure shows the time history of the wind turbine state and output variables for those five varying wind speed cases. In Figure 1(a) - Figure 1(b), the torque and thrust force are within the limit. The rotor speed (Figure 1(c)) is stabilized at its equilibrium point based on its power output and blade pitch angle. In all the cases, the power generation reaches its allocated number 1 MW (Figure 1(d)). The pitch angle (Figure 1(e)) follows well with the commanded reference pitch angle (Figure 1(f)). It is worth noting that all five cases have different initial pitch angle due to the fact that there are only two independent variables among the initial power, initial blade pitch angle, and initial rotor speed settings.

Varying Allocated Power (Case B)
For the cases in Table VIII, the allocated power is changing and the wind speed is kept constant. As expected with an increase in power demand, the pitch angle decreases. The maximum tower deflection, force, and thrust experienced by the turbine are increasing in a general trend. The CPU time is between 1.79 and 2.82 seconds. The rotor speed is maintained at its equilibrium point according to its power output, wind speed, and blade pitch angle.

Varying Initial Power (Case C)
For all five C cases, the initial power condition is varied, while the wind speed and the allocated power are kept at the rated value. For the same commanded power at the same (rated) wind speed, the steady state values for all 5 cases achieve the same value as expected. The maximum tower deflection is different due to its different initial power output, which affects the transient stage of the power generation; however it is within the limit.

Coordinated Wind Turbine Optimization
The overall cooperative optimal power planning algorithm (Algorithm 5) is tested on three offshore wind farms with different sizes.

A 2 by 2 Wind Farm Array
In this case, an array consisting of 4 wind turbine array is selected (Figure 2). The distance between each row of wind turbines is 504 m. A total power demand of 10 MW is requested from the farm. A rated wind speed of 11.4 m/s is available at the first row of wind turbines. Following Algorithm 5 and subsequent algorithms within it, the downwind wind speed at the second row is 10.13 m/s and the CPU time used in allocating the power to the wind turbines is 0.33 sec. The individual level algorithm is then minimizing the performance index in Eq. (8) and determines the pitch angle references for the individual wind turbines.

A 4 by 4 Wind Farm Array
In the second case a bigger array is used (Figure 3). Here again a rated wind speed of 11.4 m/s is available in the first row of wind turbines. For a total power demand of 30 MW, the cooperative level algorithm could rapidly allocate power to each wind turbines. The calculated velocities at the 2nd, 3rd and 4th rows are 9.83 m/s, 8.74 m/s, 7.54 m/s. The CPU time of the cooperative power allocation is 0.35 sec.

A 5 by 5 Wind Farm Array
For similar upwind conditions, in this case with 25 wind turbines (Figure 4), the total power demand from the wind farm is 45 MW. The calculated wind speeds based on the cooperative level algorithm at the downwind rows 2, 3, 4 and 5 are 9.84 m/s, 8.75 m/s, 7.55 m/s, and 5.91 m/s, respectively. The CPU time of the cooperative power allocation is 0.36 sec. The table below demonstrates the scalability of the cooperative power planning algorithm proposed in this paper. For an increase in the farm size, the computational cost remains at a similar level. The CPU time for the cooperative level only increases slightly from 0.33 seconds to 0.36 seconds. The CPU time increase for the individual level is relatively very low. The power allocation and planning optimization in a typical wind farm is at most 0.1 Hz [7]; therefore the CPU time achieved here meets the need. Furthermore, with a more efficient C programming solver, the CPU time is expected to be much lower.

Conclusion
In this paper, a new, hierarchical method for cooperative control of wind turbines in a wind farm is presented. The power allocation among wind turbines is obtained by solving a formulated quadratic constrained programming problem taking into account coupled and uncoupled constraints. The local pursuit strategy is customized for each wind turbine to optimally track the allocated power command taking into account realistic wind turbine constraints. Some benefits of the algorithms are: the wind turbine rotor dynamics under the planned power generation strategy is guaranteed to be asymptotically stable; the computational cost is low; and the algorithm is scalable in terms of the CPU time.