## 1 Introduction and Related Work
### Related Work
#### 1.2.2 Evolutionary and Other Stochastic Algorithms  
Evolutionary algorithms are very flexible in both the type of problems they can handle and the interfacing with other algorithms they allow. The flexibility comes from the possibility to choose the encoding of the variables and the stochastic variation operators (crossover and mutation) and adapt them to the problem at hand, as theorized with the formula in [19]. These are key reasons for the great interest shown by the computer science community for evolutionary optimization algorithms, as can be seen in [12; 13; 20]. In the literature, some variants of evolutionary algorithms allow us to deal with the optimization over clouds of points. Instances of recombination and mutation operators for (multi-)sets of discrete elements have been described and put in a formal theory in [21], but these operators do not properly capture the continuous nature of the position vectors. This is further discussed after the presentation of the Wasserstein-based crossovers.  
In the work of [22], the number of turbines is fixed and their positions are optimized as continuous variables in a given domain. The authors compare two stochastic methods, a genetic algorithm and an ant colony optimization algorithm. The paper concludes in favor of the ant colony optimization. A similar problem formulation is considered in [23], where a stochastic greedy algorithm perturbs in a continuous manner an initial layout.  
Discrete formulations of the wind-farm layout where the possible positions of the turbines are fixed a priori have also been tackled with stochastic methods. A simulated annealing algorithm is used in [24] to find an optimal set of points. A predefined grid of position cells is populated with binary occupied/empty variables.  
In both [2; 25], the production capacity of a wind farm is maximized while controlling the number of turbines and the land acreage. The layout is represented as a binary vector, optimized by a genetic algorithm.  
The article accompanying the development of the TOPFARM tool, [26], compares a sequential linear programming algorithm from [27] to a standard genetic algorithm from [28]. The authors discuss two modelings of the decision variable. The first one maps the functions and decision variables into a linear space to benefit from the efficiency of linear programming. The second approach searches over a predefined grid of the domain. Both methods suppose a fixed number of vectors in the set.  
The optimization of a cloud of continuous points is also discussed in [29], where a two-stage genetic algorithm is used to search for an optimal placement. The first stage applies a binary search over possible locations. The number of wind turbines varies during this step. Once a solution in a binary form with a fixed size is obtained, the optimal positions are considered as the centers of cells. The second stage consists of improving this solution, which is used as the initialization for a local continuous search. Our algorithm, which we present soon, has a single step, because no prior information regarding good initial solutions is known and the freezing of the number of points may cause a loss of global optimality.  
Ref. [30] also adopts a two stage-method. The first step generates a grid of possible positions, i.e., it performs a discretization of the space. Next, a genetic algorithm is applied where the new variable is a vector containing binary strings. A continuation to this work can be found in [31], where the above genetic algorithm is compared to a particle swarm optimization.