Baldwin Dumortier
email: baldwin.dumortier@inria.fr

Madalina Deaconu
email: madalina.deaconu@inria.fr

Patrice Cornu
email: p.cornu@venathec.com

Lorraine B Dumortier

E Vincent

Efficient optimisation of wind power under acoustic constraints

Keywords: Wind turbines, knapsack problem, branch and bound, acoustic control

Great attention is currently paid to protecting residential areas from the noise pollution due to wind turbines. A family of acoustic constraints was developed to assess it. Maximizing electricity production under these constraints is difficult as they rapidly evolve with weather conditions and background noise. Today, this problem is addressed by computing a curtailment plan involving fixed operating modes, but the chosen modes are often suboptimal. In this article, we show that this problem can be expressed as a non-linear knapsack problem and we solve it using an efficient branch-and-bound (B&B) algorithm that converges asymptotically to the global optimum. The algorithm is initialised with a greedy heuristic that iteratively downgrades the turbines with the best acoustical to electricity loss ratio. The solution is then refined using a depthfirst search strategy and a bounding stage based on a continuous relaxation problem solved with an adapted gradient algorithm. The results are evaluated using data from 28 real wind farms.

I. INTRODUCTION

Renewable energies have gained popularity all over the world and the use of solar and wind energy has experienced an exponential growth for the last ten years. The increased usage and the stochastic nature of wind energy have brought a large panel of research problems including storage-conversion, grid integration, dynamic control of the turbine parameters, power curve estimation [START_REF] Lydia | Advanced algorithms for wind turbine power curve modeling[END_REF] and wind prediction [START_REF] Giebel | The state-of-the-art in short-term prediction of wind power: A literature overview[END_REF], [START_REF] Costa | A review on the young history of the wind power short-term prediction[END_REF].

However, up to now, acoustic constraints have never really been covered from an optimisation perspective. Yet, they are the constraints that limit most the deployment of new farms and the electricity production of existing farms today. Currently, acoustic studies are required to ensure tranquillity of the inhabitants around the farms. For this purpose, acoustic measurements are made over the duration of a couple of weeks. While measuring, the wind turbines are periodically stopped in order to evaluate the difference between the ambient noise level (with the turbines on) and the background noise level (with the turbines off). The data are then classified into homogeneous classes that correspond to different ranges of background noise and meteorological data. A curtailment plan is then computed for each homogeneous class and sent to the wind farm owner in order to set it up in the local control system of the turbines (SCADA).

In this paper, we study the problem of maximizing electricity production under acoustic constraints from a rigorous optimisation perspective. We show that it can be seen as a convex integer non-linear programming problem [START_REF] Dambrosio | Mixed integer nonlinear programming tools: a practical overview[END_REF], [START_REF] Bonami | Algorithms and software for convex mixed integer nonlinear programs[END_REF], [START_REF] Burer | Non-convex mixed-integer nonlinear programming: a survey[END_REF], or a non-linear knapsack problem [START_REF] Hochbaum | A nonlinear knapsack problem[END_REF], [START_REF] Mathur | A branch and search algorithm for a class of nonlinear knapsack problems[END_REF]. This designates an extension of a famous optimisation problem, the knapsack problem, in a non-linear context. It is an NP-complete class of problems [START_REF] Bonami | Algorithms and software for convex mixed integer nonlinear programs[END_REF] and different algorithms have been used over the last decades to address it such as branch and bound (B&B), outer-approximation [START_REF] Marco | An outer-approximation algorithm for a class of mixed-integer nonlinear programs[END_REF], generalized benders decomposition [START_REF] Arthur M Geoffrion | Generalized benders decomposition[END_REF], extended cutting plane [START_REF] Westerlund | An extended cutting plane method for solving convex minlp problems[END_REF], LP/NLP based Branch-and-Bound [START_REF] Quesada | An lp/nlp based branch and bound algorithm for convex minlp optimization problems[END_REF] and hybrid methods.

Here, we propose a B&B approach which is appropriate to solve discrete optimisation problems with a finite number of admissible solutions [START_REF] Teghem | La recherche opérationnelle tome 1: Les méthodes d'optimisation[END_REF]. The algorithm builds a sequence of solutions that monotonously converges to an optimal solution. To achieve this, the B&B algorithm uses a smart browsing of the solution tree based on the "divide and conquer" principle.

This algorithm is an exact approach in the sense that it is theoretically optimal when the used research tree is fully browsed. However, the computational efficiency strongly depends on the implementation choices made in the "branching stage" and in the "bounding stage" of the algorithm. For that reason, B&B algorithms require specific choices depending on the problem. Theoretical contributions and comparisons with other algorithms have been described in [START_REF] Ross | A branch and bound algorithm for the generalized assignment problem[END_REF], [START_REF] Cohen | A branch-and-bound algorithm for unit commitment. Power Apparatus and Systems[END_REF] [21] [START_REF] Ya | Piecewise linear multicriteria programs: the continuous case and its discontinuous generalization[END_REF], [START_REF] Mathur | A branch and search algorithm for a class of nonlinear knapsack problems[END_REF], [START_REF] Hochbaum | A nonlinear knapsack problem[END_REF], [START_REF] Borchers | An improved branch and bound algorithm for mixed integer nonlinear programs[END_REF], [START_REF] Bonami | More branch-and-bound experiments in convex nonlinear integer programming[END_REF]. B&B algorithms have been used for a wide range of resource allocation problems. Applications in the wind energy field have been proposed in [START_REF] Siahkali | Electricity generation scheduling with large-scale wind farms using particle swarm optimization[END_REF], [START_REF] Chen | Optimal wind-thermal generating unit commitment[END_REF], [START_REF] He | Chance constrained unit commitment with wind generation and superconducting magnetic energy storages[END_REF], [START_REF] Nian | A method for optimal sizing of stand-alone hybrid pv/wind/battery system[END_REF].

For our application, we chose to use two algorithms respectively to initialise and bound the nodes of the trees. This is inspired from an algorithm described in [26, p.201]. However, the originality of our approach comes from a greedy algorithm specifically designed for our problem and a gradient-based approach to solve the continuous relaxation with a piecewiselinear objective function. The algorithm was tested on real data obtained from measurement campaigns conducted by VE-NATHEC SAS, a company specialised in acoustic engineering.

This paper is organised as follows. The general context and assumptions are presented in Section II. Then the reformulation is given at Section III. To address this problem, an adapted algorithm is introduced in Section IV. Finally, the experiments and the results are presented in Section V. We conclude in Section VI.

II. ASSUMPTIONS AND INITIAL FORMULATION

In this section, we give an overview of the main assumptions, introducing the logic behind the legal acoustic annoyance criteria commonly used in the world and the usual problem formulation.

Different countries in the world have set a maximum ambient noise level around wind farms. However, the ambient level itself is not always a good measure of discomfort. Indeed, it appears that the human ear is rather sensitive to the ratio of the energy of the annoying noise signals (noise of the wind turbines called particular noise in this article) over the energy of the other acoustic signals (called residual noise level). One can easily imagine two different situations with about the same ambient level but with very different ratios of particular noise and residual noise levels. For that reason, the residual noise level is often directly or indirectly taken into account in the regulation. The ratio of ambient noise energy over the residual noise energy is called acoustic emergence and is defined as follows, for each a given measurement point j around the farm:

e j = b j -r j (1)
where b j designates the total ambient noise power when the turbines are turned on and r j designates the residual noise power when the turbines are turned off. The acoustic emergence is directly considered in some countries like Australia or France by measuring the residual noise level when the the turbines are turned off. In some other countries, like Germany, the acoustic emergence is indirectly used by considering different maximum admissible values of the ambient noise level depending on the type of residential area. In any case, the legal criterion can be always formulated as follows :

∀j ∈ {1, .., J}, e j < S e,o or b j < S s,o (2)
where S e,o is the emergence threshold, and S s,o is the ambient noise threshold. Here J denotes the number of measurement points considered and j one of these measurement points. Table I presents a summary of noise thresholds for several countries and institutions based on a review written by Schild and Chavand [START_REF] Schild | State of the art and new perspectives for the development of noise regulation of wind farms[END_REF] working in the field of acoustics in France. The data are in terms of S e,o and S s,o .

The criterion 2 cannot be applied in real time since the particular noise and the residual noise can't be measured directly and constantly evolve. For this reason, homogeneous classes are defined by environment conditions that allow to gather measurements that are supposed to happen in similar conditions. The particular noise level and the residual noise level are considered to be constant in each class and for each measurement point j. For instance, in France the homogeneous classes are standardised and defined by the subclasses P = {day, night}, D = {d 1 , d 2 , d 3 , d 4 , d 5 , d 6 } and M = {m 3 , m 4 , ..., m 10 }, that respectively designates partitions of the period of the day, of the wind directions (60 angular sectors) and wind speed (interval of wind speed centred on an integer value between 3 and 10 m/s and of width 1 m/s). The set of homogeneous classes can be defined as the Cartesian product of all subclasses and written as

O = P × D × M.
More generally, we consider O to be the set of homogeneous classes defined by the Cartesian product of the subclasses used in a given country.

The legal criterion is then computed off-line for each homogeneous class in order to find out which optimal operating modes fulfil the constraints for each homogeneous class and wind turbine. Optimal operating modes are then searched under the assumptions that the uncertainties on the acoustic and electric parameters of the system are considered negligible in each homogeneous class. The problem of finding the optimal operating modes can be expressed as follows for each homogeneous class o ∈ O:

(P )                      max c∈C I I i=1 p v (c i ) ∀j ∈ {1, ..., J} b j -r j ≤ S e,o or b j ≤ S s,o
where c i is an integer command variable for the i-th wind turbine and I the number of wind turbines. The possible commands are given by the set C = 1, ..C defining all the manufacturers operating modes sorted by decreasing order of production and acoustic power. p v is the function returning the production power for the current value of wind speed v. This problem is often solved in a heuristic way by acoustic engineers today. This results in suboptimal production power.

In the following we propose to solve it using a principled optimisation approach.

III. REFORMULATION AS A NON LINEAR CONVEX KNAPSACK PROBLEM

From now on, we consider a simple propagation model which is currently used in the field of acoustics. We denote by x i the noise emitted by wind turbine i and by A t = [a i,j ] the propagation matrix that defines the acoustical energy loss from each turbine i to each measurement point j. The acoustic parameters are basically in decibels but we use a wavy line (∼) to denote the parameters expressed in linear scale (i.e ỹ = 10 (

In order to obtain a more usual formulation for the optimisation problem, we use a variable change and the linear scale. The constraints in (2) become:

           ∀j ∈ {1, ..., J} I i=1 ãi,j xi ≤ 10
Now if we set q = [q j ] as follows:

∀j ∈ {1, ..., J}, q j = max( 10Se,o +r j 10

-rj , 10

Ss,o 10 -rj ) (5)
then, we have ∀j ∈ {1, ..., J} I i=1 ãi,j xi ≤ q j that we write in the following:

ÃT x ≤ q (6)
We thus obtain a linear formulation for the acoustical constraints. Still, the dependencies between the constraints and the objective function are not explicit. We then propose to consider x as the new choice variable instead of c. This allows us to reformulate the problem without loss of generality as a bijection between the operating modes c and the acoustic emission x. To do this, we define the function f as follows:

f : x v (C) → R (7) xi → p v (x -1 v (x i )).
where x v is the function returning the acoustic power for the current value of wind speed v. In other words, f is the function that relates the acoustic power in W/m 2 to the electricity production power of each wind turbine. We also define the total production power F as ∀x ∈ xv (C) I , F(x) = I i=1 f(x i ). Then we get:

(P ) ⇔        max x∈xv(C) I F(x) ÃT x ≤ q (8)
This last formulation is the most interesting as it defines a theoretical context for the given problem which allows us to construct an optimal algorithm. We also experimentally verified that f is non linear and concave, and therefore that the optimisation problem is convex (see Figure 2). It should also be noticed that with this formulation, the problem can be solved with the same algorithm for every country: only the value of q will change.

IV. PROPOSED OPTIMISATION ALGORITHM B&B algorithms are a class of algorithms based on an intuitive principle. The admissible solutions 1 are stored in a search tree where each node defines a subset of all the admissible solutions. Each node is labelled with an upper bound that indicates the maximal possible value of the objective function for the subset of solutions that it represents. Then, the tree is iteratively browsed by using the following pruning rule.

Pruning rule: For a given admissible solution c of electricity production p, it is impossible to get a better solution from the nodes whose upper bound is smaller than p.

This property is the core of the algorithm. All the branches of the tree are either browsed or pruned and the solution is optimal when the computation terminates [26, p.135].

The main difficulties are to bound and to browse the tree efficiently. Coarse bounding of the nodes induces more useless browsing of the tree and fine bounding induces long computation time of the bounding stage. Moreover, a good initialisation is also essential to reduce computation time.

A. Proposed Branch and bound algorithm

In our algorithm, the whole set of admissible solutions is stored in the research tree in the following way: each new node defines a new operating mode for a given wind turbine compared to its father node. Fig. 1 gives an example of a typical tree. The tree is browsed using a depth-first strategy in the following order:

• In depth, the wind turbines are sorted by order of decreasing acoustical impact considering, for a given wind turbine i, the value max j a i,j . • In width, the nodes are sorted by decreasing value of upper bounds. The computation is explained in Section IV-C. The general pseudo-code is given in Algorithm 1.

B. The greedy heuristic

We propose a greedy heuristic to initialise the first solution of the sequence built by the B&B algorithm. close to the optimal solution with a computation time smaller than 1 s. The principle is to start from a "full-power" strategy and to downgrade one wind turbine at a time by choosing the wind turbine i that has the best "loss of acoustical excess" (of emergence or ambient noise) per "loss of production power" ratio. The ratio for the i-th wind turbine can be written as:

criterion(i) = d+ i down - d+ 1 F(x i down ) -F(x) 1 ( 9
)
where d+ is the J ×1 vector of the positive parts of the entries of d, the vector of acoustical excesses:

d = ÃT x -q (10)
d+ i down and xi down are respectively the vector of positive parts of the acoustic excesses and the vector of acoustic powers after downgrading turbine i from c i to c i + 1. . 1 is the usual 1norm defined by x 1 = |x 1 | + . . . + |x n | with x any n × 1 vector. When no excess is observed anymore (all the entries of d are negative), the algorithm terminates. The pseudo code of the algorithm is given by Algorithm 2.

C. Continuous relaxation

For each node, it is possible to define a continuous problem that allows us to determine an upper bound for the subset of solutions that the node represents. We consider continuous operating modes for the remaining wind turbines that are not Algorithm 2 Greedy algorithm function GREEDY initialise c with ∀i, c(i) = 1 while d+ is not the null vector do for i between 1 and n do criterion(i) ==

d+ i down - d+ 1 F(xi down )-F(x) 1
end for i_chosen = arg max(criterion); c(i_chosen) = c(i_chosen) + 1; end while end function determined yet. The solution to the continuous problem is always greater or equal to the discrete solution and therefore constitutes a bound for the node. This property is intuitive and easy to prove. Indeed, the continuity of the function and the compactness of the two sets of solutions (continuous and discrete) imply that an upper bound exists for each set. The order of those bounds can then be deduced from the preservation of inclusion by a function.

From now on, we suppose that the remaining wind turbines below a given node can have an infinity of operating modes whose values of acoustic emission and production are included between those of the closest discrete operating modes. If we denote by I 0 the number of determined wind turbines of a given node, new acoustical constraints can be deduced and we obtain a continuous problem for the I -I 0 remaining turbines. We consider xdet , the I × 1 emission power vector of the determined wind turbines and xfree , the I × 1 emission power vector of the undetermined wind turbines:

xdet =             xv (c 1 ) xv (c 2 ) ... ... xv (c I0 ) 0 0 ... 0             xfree =             0 0 ... 0 xv (c I0+1 ) xv (c I0+2 ) ... ... xv (c I )             . ( 11
)
We can set the following continuous problem:

(P contI 0 )        max (x I 0 +1 ,...,x I )∈[0,xv(1)] (I-I 0 ) I i=I0+1 f(x i ) ÃT xfree ≤ q -Ãx det . (12)
To extend the function f, any continuous and concave function can be chosen without any consequence on the optimality of the discrete algorithm. We chose to extend f with linear interpolations between the discrete operating modes. The reason is that the upper bound should be as small as possible to reduce computation time and a linear interpolation gives the smallest concave continuous function. An example of extended function f is given in Figure 2. It can be solved using any algorithm for constrained convex optimisation (projected gradient, Lagrange multipliers, ...) [START_REF] Boyd | Convex optimization[END_REF]. We propose below a projected gradient algorithm adapted to the piecewise nature of the objective function.

D. Projected gradient algorithm

Projected gradient is a classical algorithm to solve continuous optimisation problems with a differentiable objective function. It converges to a global optimum for a convex problem when the objective function is smooth enough. A variation to the classic algorithm is proposed in this paper in order to handle the specificities of the problem. The algorithm is adapted to the linear constraints of the problem ÃT x ≤ q and to the objective function which is a concave piecewise linear function F(x) = i f( xi ) where f is piecewise linear.

Let us start by introducing the algorithm on an example. We consider a problem with 2 wind turbines (I = 2), 2 measurement points (J = 2) and five possible operating modes (C = 5) with the following values:

•

f : [x v (C), x(1)] → [p v (C), p(1)] x → p v (k) -p v (k + 1) xv (k) -xv (k + 1) × (x -xv (k + 1)) + p v (k + 1)
• We set ÃT = 3 1

1 8

1 and q = 11 5 .

Fig. 3 gives a graphical representation of the gradient algorithm on the example with 2 wind turbines. The solution space is a polyhedron, whose border represents the legal constraints (ambient and emergence constraints) and the physical constraints (the emission power is always positive and reaches a maximal emission corresponding to full power operation). They are all indifferently referred to constraints in the rest of this article. The polyhedron is partitioned into square subspaces corresponding to the different modes. In each subspace, the gradient is constant because of the piecewise-linearity of the objective function. The hyperplanes between such subspaces are called gradient transitions and define the points where a brutal gradient change is observed. Moreover, we distinguish the active constraints (respectively active transitions) which are the constraints applying to the vector obtained and the previous iteration, from the hypothesized constraints (respectively hypothesized transitions) that are the constraints on the tested vectors and from the reached constraints (new reached transitions) that are the additional constraints in the current iteration (see Fig 4). Now, here is a short description of the execution based on Fig 3: • We start from x(0) = (0, 0) and we move in the polyhedron following the gradient until a gradient transition or a constraint is reached. • Here, we have stopped in x(1) where we reached a gradient transition. For now, the execution is simple as there are no active constraints, the new gradient is computed and followed. • In x(1) and x(2) , we have the same situation. We compute the new gradient and then we follow the gradient until x(3) • This time, in (x (3) ) a first constraint is reached. However, we have not find the optimum yet. We compute the projection of the gradient on the constraints that is followed until a new constraint or transition. • In x(4) a new transition is reached. The new gradient is computed and projected once again on the active constraint.

• Then we reach a new constraint in x(5) . The algorithm stops as it is not possible to follow the projection of the gradient on any of the constraints or on the intersection of the constraints without violating any of the constraints. More generally, we developed a gradient algorithm that moves inside an I -I 0 dimensional polyhedron. In this respect, the constraints and the gradient transitions are delimited by hyperplanes of dimension I -I 0 -1 and each time a new constraint or a new transition is reached all the intersections of combinations of hyperplanes must be tested in theory.

To avoid an exploding computational cost, we use the following heuristic : if k constraints/gradient transitions are reached at a given step, only the intersection of all the constraints/transitions and of the combinations of k -1 constraints/transitions are tested. We found this heuristic to be efficient and optimal in a huge majority of the test cases (see Section V). To describe the general algorithm, we need to introduce new notations:

• X poss = [0, x(1)] I set of possible continuous strategies. x

Fig. 4. Graphical representation to introduce the active, the hypothesized and the new reached constraints (or transitions) for one iteration of the algorithm.

x(n) is the current solution at iteration n. It is located on constraints/transitions (a) and (b) that are called active constraints/transitions for that reason. The vectors u 1 , u 2 , u 3 , u 4 are the tested vectors for the next iteration in the algorithm. They may release one or several constraints and hence the remaining constraints are called hypothesized constraints. On the figure, the hypothesized constraint of u 1 is (a), of u 4 is (b). u 2 and u 3 don't have hypothesized constraints. Finally, we call reached constraints, the last constraint that was added compared to the last iteration. On the figure, for x(n+1) , the reached constraint is (d). Indeed, the active constraints of each iteration consist of the sum of the new reached constraints plus the hypothesized constraints of the last chosen vector. On the figure, the active constraints of x(n+1) are (a) and (d), which are obtained by adding the reached constraint (d) to the hypothesized constraint (a) of the chosen vector u 1 .

• X adm = X poss ∩ {x ∈ R I | ÃT x ≤ q} set of continuous admissible strategies.

• W = {(w 1 , w 2 , .., w I ) ∈ C I } set of possible discrete strategies. • ∀w ∈ W, X adm (w) = X adm ∩ {x ∈ R I |∀i ∈ {1, .., I}, xv (w i ) ≤ xi ≤ xv (w i -1)
} subspace of admissible strategies where the gradient is constant and associated to the discrete strategy w. We have the following properties :

• X adm = ∪ w∈W X adm (w).

• ∀x ∈ X adm , ∃w ∈ W, x ∈ X adm (w) (generally w is not unique). • F is differentiable for all interior values of the subsets X adm (w). Also, the gradient is constant in each subset and its value is

T

As in the example, at each iteration n, we need to determine a new direction that increase the objective function and the biggest step size we can achieve without leaving the current subspace X adm (w) we are in. At each iteration n, F(x (n+1) ) > F(x (n) ) is guaranteed by the fact that (x (n+1) -x(n) ) • ∇F(x (n) ) > 0 and x(n+1) -x(n)

2 is chosen small enough to avoid overpassing a constraint/gradient transition. Notice that . 2 stands for the usual Euclidian norm. This is always true since we follow ∇F(x n ) or its orthogonal projection on an intersection of constraints. In other words, x(n+1) = x(n) + λ (n) u (n) where u (n) is the chosen direction and λ (n) the step size. By convention, we consider in the following normalised directions ( u (n) 2 = 1). We use the Moore-Penrose inverse to compute the projection of the gradient on the intersections of constraints and gradient transitions [9, p. 855]:

u (n) = ∇F(x (n) ) -M((M T M) -1 M T ∇F(x (n) )) (13)
where ∇F(x (n) ) denotes the vector to be projected, M denotes the matrix of vectors that defines the hyperplanes, and u (n) denotes the resulting projected vector.

To compute the step size λ (n) for a given direction u (n) , we use the piecewise form of f. For w ∈ W and λ (n) . Then, the best step size λ (n) is the maximum value such that x(n+1) is located in the same subset S adm (w) than x(n) . If we write y = ∇F(x (n) ) • u (n) and z = F(x (n) + λ (n) u (n) ) -F(x (n) ), the best step size is then λ (n) = min {i∈{1,...,I}|yi>0} zi yi .

(n) ∈ R, such that x(n) ∈ S adm (w) and (x (n) + λ (n) u (n) ) ∈ S adm (w), we have F(x (n) +λ (n) u (n) ) = F(x (n) )+λ (n) ∇F(x (n) )•u
The algorithm stops when we can't find any positive step size for all possible directions.

The pseudo code of the algorithm is given in Algorithm 3. Notice that, it can be shown using the Karush-Kuhn-Tucker [17] [4] criteria that this algorithm converges to a global optimum in a finite number of iterations.

V. EXPERIMENTS AND RESULTS

A. Experimental settings

We use real data coming from acoustical studies done by the company VENATHEC SAS. We extract the data of 28 wind farms in France. For each wind farms, measured data is classified along with explicative parameters (wind speed, wind direction, temperature,...) as commonly done in the field of acoustics. Each classification defines about 40 optimisation problems, totalling 1210 test cases. We also used the French threshold values for the acoustic constraints.

To evaluate the errors between the obtained solution and the theoretical maximal value, we used an exact B&B algorithm with a simplified bounding stage but a very long computation Relative error is defined by the difference between the obtained electricity production and the ground truth production divided by the ground truth production.

With real data, the greedy algorithm appears to be very fast (less than 0.25 s) and to be optimal in 70 % of the cases. However, when the optimum is not reached, the relative error can be up to 30 %. Nevertheless, the error is well distributed and we notice in Fig 6 that the relative error is smaller than 4 % in 90% of the test cases. Starting with the solution of the greedy algorithm, the B&B algorithm refines the solution enhancing the production power at each iteration. Fig 7 shows the distribution of the relative error. As expected, the algorithm reaches the optimal solution in a huge majority (98.5%) of the test cases. For the remaining cases, the error is smaller than 2.3 %. This error is due to the heuristic used to limit the computation time. However it is still acceptable if we all the consider that the error is equal to only 9.10 -3 on average over all test cases.

Regarding computation time, the important issue is to know how the relative error evolves with time, as the B&B algorithm can be manually stopped at any iteration and output the best current solution at that iteration. VI. CONCLUSION In this article, we have proposed a mathematical model of the problem of allocating acoustic operating modes as a nonlinear convex discrete programming problem. This allowed us to develop an efficient algorithm based on a B&B approach by proposing a gradient algorithm to the piece-wise nature of relaxation by testing the algorithm on numerous real cases. This will allow companies in the field of acoustics to ensure the optimality of their results and might be used as a basis for further research.

Concerning perspectives, acoustic control of wind farms can be improved by taking the uncertainties into account and the algorithm might be adapted for that purpose. Note also that in certain cases, a wind turbine show some response delay (when it is fully stopped for instance). For these specific cases, a predictive model might also be coupled.

y 10 for

 10 any acoustic parameter y) Now we can write the following relationship: ∀j, bj = I i=1 ãi,j xi + rj .

Se,o +r j 10 -

 10

Fig. 1 .

 1 Fig. 1. Example tree for 4 wind turbines and 4 operating modes.

Fig. 2 .

 2 Fig. 2. Example of extended f function

  We consider the following values of acoustical power for the operating modes: xv (C) = {0, 1, 2, 3, 4} and p v (C) = {0, 8, 12, 14, 15}. We set xv (1) = 4, xv (2) = 3, xv (3) = 2, xv (4) = 1, xv (5) = 0. We also consider for the power production: p v (1) = 15, p v (2) = 14, p v (3) = 12, p v (4) = 8, p v (5) = 0. • We extend the operating modes to continuous values of x1 and x2 in the interval [x v (C), x(1)] = [0, 4] for the acoustic power. Then, we extend the function f with piecewise linear interpolation:

Fig. 3 .

 3 Fig. 3. Graphical representation of the gradient algorithm on an example with 2 wind turbines. The gradient are shown as grey arrows.

pv (w 1 )

 1 -pv (w 1 -1) xv (w 1 )-xv (w 1 -1) pv (w 2 )-pv (w 2 -1) xv (w 2 )-xv (w 2 -1) . . . pv (w I )-pv (w I -1) xv (w I )-xv (w I -1)

Fig. 5 .

 5 Fig.5. Results of the greedy heuristic and the proposed B&B algorithm. Relative error is defined by the difference between the obtained electricity production and the ground truth production divided by the ground truth production.

Fig. 6 .

 6 Fig. 6. Distribution of the relative error of the greedy initialisation

  Fig 8 represents the temporal evolution of the long test cases (those with a computation time longer than 5 s). It shows the worst case among them and different quantiles. It can be seen that the algorithm converges within 2 min in all cases.

Fig. 7 .Fig. 8 .

 78 Fig. 7. Distribution of the relative error of the B&B algorithm

TABLE I .

 I WIND FARM NOISE REGULATION ACROSS COUNTRIES.

  It allows us to getAlgorithm 1 Branch and Bound algorithm function BRANCHANDBOUND Initialisation of the root of tree; current_node points to tree; Initialisation of current_solution with an admissible solution; while root of tree is not bounded OR tree is not empty do if current_node is a leaf then Write the solution in current_solution;

	Delete current_node and go back to its
	father;
	else if the sons of current_node have not been
	built yet then
	Build the sons of current_node;
	Compute the bounds of the sons of
	current_node;
	Sort the sons by decreasing value of bounds;
	end if
	if power production of current_solution <
	bound of the first son of current_node then
	Assign for current_node its son;
	else
	Delete current_node and go back to
	its father;
	end if
	end while
	end function

This work was done with the collaboration and the support of VENATHEC SAS. In particular, the authors thank Jeremy Schild from Venathec SAS for his implication.

Algorithm 3 Gradient algorithm function GRADIENT Initialisation of x(0) = (0, 0, ..., 0) of size I -I 0 ; Initialisation of the gradient grad of size I -I 0 ; Initialisation of the first chosen direction: p_chosen_grad = u (0) = grad; time that we evaluate on a supercomputer. Then, we considered the obtained solutions as the ground truth.

In the following we compare the proposed greedy solution and proposed B&B solution (including efficient bounding) with the considered ground truth.

B. Results

The results obtained for the greedy algorithm, and the B&B algorithm are summarised in Table 5.