Design mining is the use of computational intelligence techniques to iteratively search and model the attribute space of physical objects evaluated directly through rapid prototyping to meet given objectives. It enables the exploitation of novel materials and processes without formal models or complex simulation. In this article, we focus upon the coevolutionary nature of the design process when it is decomposed into concurrent sub-design-threads due to the overall complexity of the task. Using an abstract, tunable model of coevolution, we consider strategies to sample subthread designs for whole-system testing and how best to construct and use surrogate models within the coevolutionary scenario. Drawing on our findings, we then describe the effective design of an array of six heterogeneous vertical-axis wind turbines.
Design mining [54,–56] is the use of computational intelligence techniques to iteratively search and model the attribute space of physical objects evaluated directly through rapid prototyping to meet given objectives. It enables the exploitation of novel materials and processes without formal models or complex simulation, while harnessing the creativity of both computational and human design methods. A sample-model-search-sample loop creates an agile, flexible approach (viz., primarily test-driven) enabling a continuing process of prototype design consideration and criteria refinement by both producers and users.
Computational intelligence techniques have long been used in design, particularly for optimization within simulations or models. Recent developments in additive-layer manufacturing (3D printing) mean that it is now possible to work with over a hundred different materials, from ceramics to cells. In the simplest case, design mining assumes no prior knowledge and builds an initial model of the design space through the testing of 3D printed designs, whether specified by human and/or machine. Optimization techniques, such as evolutionary algorithms (EAs), are then used to find the optima within the data mining model of the collected data; the model that maps design specifications to performance is inverted, and suggested good solutions identified. These are then 3D printed and tested. The resulting data are added to the existing data and the process repeated. Over time the model—built solely from physical prototypes tested appropriately for the task requirements—captures the salient features of the design space, thereby enabling the discovery of high-quality (novel) solutions. Such so-called surrogate models have also long been used in optimization for cases when simulations are computationally expensive. Their use with 3D printing opens new ways to exploit optimization in the design of physical objects directly, while raising a number of new issues with respect to simulation.
This approach of constantly producing working prototypes from the beginning of the design process bears a resemblance to agile software engineering : Requirements are identified at the start, even if only partially, and then corresponding tests created, which are then used to drive the design process via rapid iterations of solution creation and evaluation. The constant supply of (tangible) prototypes enables informed sharing with, and hence feedback from, those involved in other stages of the process, such as those in manufacture or end users. This feedback enables constant refinement of the requirements and testing and also means that aspects of the conceptual and detailed design stages become blended. Moreover, due to the constant production of better (physical) prototypes, aspects of the traditional manufacturing stage become merged with the design phase. The data mining models created provide new sources of knowledge, enabling designers, manufacturers, or users to do what-if tests during the design process to suggest solutions, the sharing of timely, accurate information when concurrent sub-design-threads are being exploited, and so on. Thereafter, they serve as sources of information for further adaptive designs, the construction of simulators and models, and so on.
In contrast to human designers, who typically arrive at solutions by refining building blocks that have been identified in highly constrained ways, computational intelligence offers a much more unconstrained and unbiased approach to exploring potential solutions. Thus, by creating the designs directly in hardware there is the potential that complex and subtle physical interactions can be utilized in unexpected ways where the operational principles were previously unknown. These physical effects may simply be insufficiently understood or absent from a simulator and thus otherwise unable to be exploited. Design mining is therefore ideally suited to applications involving highly complex environments and/or materials.
The design of modern wind farms typically begins with the blade profile optimization of a single isolated wind turbine through the use of computational fluid dynamics (CFD) simulations , followed by optimizing the site positioning of multiple copies of the same design to minimize the negative effects of inter-turbine wake interactions . While CFD simulations have been successfully applied, they are extremely computationally expensive; consequently, most numerical studies perform only 2D analysis (e.g., ), and it is currently infeasible to perform accurate 3D simulations of a large array. Moreover, various assumptions must be made, and accurately modeling the complex inter-turbine wake interactions is an extremely challenging task where different turbulence models can have a dramatic effect on turbine performance . CFD studies have also presented significant differences between results even with identical geometric and flow conditions, due to the complexity of performing accurate numerical analysis .
In our initial pilot study we used the design mining approach to discover a pair of novel, heterogeneous vertical-axis wind turbine (VAWT) designs through cooperative coevolution . Accurate and computationally efficient modeling of the inter-turbine interactions is extremely difficult, and therefore the area is ideally suited to the design mining approach. More recently, we have begun to explore the performance of relevant techniques from the literature within the context of design mining. Following , the pilot study used multi-layered perceptrons (MLPs)  for the surrogate modeling. Using the data from that study, we have subsequently shown that MLPs appear a robust approach in comparison with a number of well-known techniques . That is, MLPs appear efficient at capturing the underlying structure of a design space from the relatively small number of data points a physical sampling process can be expected to generate. In this article we begin by continuing this line of inquiry, here focusing upon the coevolutionary nature of the design process when it is decomposed into concurrent sub-design-threads due to the overall complexity of the task. Using an abstract, tunable model of coevolution, we consider strategies to sample subthread designs for whole system testing and how best to construct and use surrogate models within the coevolutionary scenario. Drawing on our findings, the article then describes the effective design of a more complex array of VAWTs than explored in our pilot study.
2.1 Evolving Physical Systems
As we have reviewed elsewhere , there is a small amount of work considering the evolutionary design of physical systems directly, stretching back to the origins of the discipline [8, 51, 19, 57]. Well-known examples include robot controller design ; the evolution of vertebrate tail stiffness in swimming robots ; adaptive antenna arrays ; electronic circuit design using programmable hardware ; product design via human-provided fitness values ; chemical systems ; unconventional computers ; robot embodied evolution ; drug discovery ; functional genomics ; adaptive optics ; quantum control ; fermentation optimization ; and the optimization of analytical instrumentation . A selection of multiobjective case studies can be found in . Examples of EAs incorporating the physical aerodynamic testing of candidate solutions include the optimization of jet nozzles [57, 62], as well as flapping [2, 31, 48] and morphing  wings. More recent fluid dynamics examples include [50, 23, 5].
Lipson and Pollack  were the first to exploit the use of 3D printing in conjunction with an EA, printing mobile robots with embodied neural controllers that were evolved using a simulation of the mechanics and control. Rieffel and Sayles'  use of an interactive EA to 3D-print simple shapes is particularly relevant to the work presented here. As noted above, in this article we adopt an approach where relatively simple and tunable simulations of the basic evolutionary design scenario are used to explore the general performance of different algorithmic approaches before moving to the physical system. This can be seen as somewhat akin to the minimalist approach proposed by Jakobi  for addressing the so-called reality gap in evolutionary robotics, although further removed from the full details of the physical system. Surrogate models are then used to capture the underlying characteristics of the system to guide design.
2.2 Cooperative Coevolution and Surrogates
Cooperative coevolution decomposes a global task into multiple interacting subcomponent populations and optimizes each in parallel. In the context of a design process, this can be seen as directly analogous to the use of concurrent subthreads. The first known use of cooperative coevolution considered a job-shop scheduling task . Here solutions for individual machines were first evaluated using a local fitness function before being partnered with solutions of equal rank in the other populations to create a global solution for evaluation. Bull and Fogarty  subsequently presented a more general approach wherein the corresponding newly created offspring solutions from each population are partnered and evaluated. Later, Potter and De Jong  introduced a round-robin approach with each population evolved in turn, which has been adopted widely. They explored using the current best individual from each of the other populations to create a global solution, before extending it to using the best and a random individual from the other population(s). These two partnering strategies, along with others, were compared under their round-robin approach and found to be robust across function and problem types . We used the round-robin approach and partnering with the best individual in our pilot study, and we return to it here with the focus on learning speed, that is, how to minimize the number of (time-consuming or costly) fitness evaluations while learning effectively.
As EAs have been applied to ever more complex tasks, surrogate models (also known as meta-models) have been used to reduce the optimization time. A surrogate model, , can be formed using a sample of evaluated designs N, where is the genotype describing the design morphology and y is the fitness or performance. The model is then used to compute the fitness of unseen data points , thereby providing a cheap approximation of the real fitness function for the EA to use. Evaluations with the real fitness function must continue to be performed periodically; otherwise the model may lead to premature convergence on local optima (see Jin  for an overview). There has been very little prior work on the use of surrogates in a coevolutionary context: They have been shown capable of solving computationally expensive optimization problems with varying degrees of epistasis more efficiently than conventional coevolutionary EAs (CEAs), through the use of radial basis functions  and memetic algorithms . Remarkably, in 1963 Dunham et al. [19, p. 257], in describing the evolutionary design of physical logic circuits and devices, briefly note (without giving details): “It seemed better to run through many ‘generations’ with only approximate scores indicating progress than to manage a very few ‘evolutions’ with rather exact statements of position.”
Our aforementioned pilot study is the first known use of coevolutionary design without simulation. As noted above, we have recently compared different modeling techniques by which to construct surrogates for coevolution. In this article we further consider how best to train and use such models.
2.3 The NKCS Model
Kauffman and Johnsen  introduced the abstract NKCS model to enable the study of various aspects of coevolution. In their model, an individual is represented by a genome of N (binary) genes, each of which depends epistatically upon K other randomly chosen genes in its genome. Thus increasing K, with respect to N, increases the epistatic linkage, increasing the ruggedness of the fitness landscapes by increasing the number of fitness peaks, which increases the steepness of the sides of fitness peaks and decreases their typical heights. Each gene is also said to depend upon C randomly chosen traits in each of the other X species with which it interacts, where there are S species in total. The adaptive moves by one species may deform the fitness landscape(s) of its partner(s). Altering C, with respect to N, changes how dramatically adaptive moves by each species deform the landscape(s) of its partner(s). The model assumes all inter- and intragenome interactions are so complex that it is appropriate to assign random values to their effects on fitness. Therefore, for each of the possible K + (X × C) interactions, a table of 2K + (X × C) + 1 fitnesses is created for each gene, with all entries in the range 0.0 to 1.0, such that there is one fitness for each combination of traits. The fitness contribution of each gene is found from its table; these fitnesses are then summed and normalized by N to give the selective fitness of the total genome for that species. Such tables are created for each species (see example in Figure 1; the reader is referred to Kauffman  for full details). This tunable model has previously been used to explore coevolutionary optimization, particularly in the aforementioned comparison of partnering strategies . We similarly use it here to systematically compare various techniques for the design mining approach.
That is, each species is cast as a subthread of an overall design task, thereby enabling examination of the effects from varying their number (S), their individual complexity (K), and the degree of interdependence between them (C). The fitness calculations of all species are combined to give a global system performance.
2.4 Evolving Wind Farms
As we have reviewed elsewhere , techniques such as EAs have been used to design wind turbine blades using CFD simulations, some in conjunction with surrogate models, (e.g., Chen et al. ). EAs have also been extensively used to optimize the turbine positioning within wind farms (e.g., Mosetti et al. ). Most work has focused on arrays of homogeneous turbines; however, wind farms of heterogeneous height have recently gained attention as a means to improve the overall power output for a given number of turbines [15, 20, 13]. Chamorro et al.  explored horizontal-axis wind turbine (HAWT) farms with large and small turbines positioned alternately. They found that size heterogeneity has positive effects on turbulent loading as a result of the larger turbines facing a more uniform turbulence distribution and the smaller turbines operating under lower turbulence levels. Craig et al.  have demonstrated a similar potential for heterogeneous-height VAWT wind farms. Chowdhury et al.  optimized layouts of HAWTs with heterogeneous rotor diameters using particle swarm optimization and found that the optimal combination of turbines with differing rotor diameters significantly improved the wind farm's efficiency. Recently, Xie et al.  have performed simulations of wind farms with collocated VAWTs and HAWTs, showing the potential to increase the efficiency of existing HAWT wind farms by adding VAWTs.
Conventional offshore wind farms require support structures fixed rigidly to the seabed, which currently limits their deployment to depths less than 50 m. However, floating wind farms can be deployed in deep seas where the wind resources are strongest, away from shipping lanes and wind obstructions . See Borg et al.  for a recent review of floating wind farms. They note that floating VAWTs have many advantages over HAWTs, such as lower center of gravity, increased stability, and increased tolerance of extreme conditions. The design of floating wind farms is especially challenging in that platform oscillations also need to be considered. EAs are beginning to be used to explore the design of floating support structures; for example, Hall et al.  optimized HAWT platforms using a simple computational model to provide fitness scores. Significantly, all of these works have involved the use of CFD simulations with varying degrees of fidelity.
Our pilot study found that asymmetrical pairs of VAWTs can be more efficient than similar symmetrical designs. In this article, we extend our initial work to the heterogeneous design of an array of six closely positioned VAWTs, which is currently effectively beyond the capabilities of accurate 3D CFD simulation; the approach performs optimization in the presence of nonuniform wind velocity, complex inter-turbine wake effects, and multidirectional wind flow from nearby obstacles, which is extremely difficult to achieve accurately under high-fidelity CFD simulation. In addition, previously the combined rotational speed was simply used as the objective measure, whereas here we use the total angular kinetic energy of the array, which includes both mass and speed of rotation, and we use a more flexible spline representation that enables the potential exploitation of both drag and lift forces in conjunction with inter-turbine flow and turbulence from nearby obstacles.
3 Surrogate-Assisted Coevolution
The basic coevolutionary genetic algorithm (CGA) is outlined in Algorithm 1. Initially all individuals in each of the species populations must be evaluated. Since no initial fitness values are known, a random individual is chosen in each of the other populations to form a global solution; however, if there is a known good individual, then that individual can be used instead. The CGA subsequently cycles between populations, selecting parents via tournament and creating offspring with mutation and/or crossover. The offspring are then evaluated using representative members from each of the other populations. At any point during evolution, each individual is assigned the maximum team fitness achieved by any team in which it has been evaluated, where the team fitness is the sum of the fitness scores of all the collaborating members.
For the basic surrogate-assisted CGA (SCGA) used in this article, the CGA runs normally except that each time a parent is chosen, λm offspring are created and then evaluated with an artificial neural network surrogate model; the single offspring with the highest approximated fitness is then evaluated on the real fitness function in collaboration with the fittest solution (best partner) in each other population. See the outline in Algorithm 2. The model is trained using backpropagation for T epochs, where an epoch consists of randomly selecting, without replacement, all individuals from a species population archive and updating the model weights at a learning rate β. The model weights are (randomly) reinitialized each time before training, due to the temporal nature of the collaborating scheme.
For both CGA and SCGA, a tournament size of 3 takes place for both selection and replacement. A limited form of elitism is used, whereby the current fittest member of the population is given immunity from deletion.
4 NKCS Experimentation
For the physical experiments performed in this article, six VAWTs are positioned in a row. Therefore, to simulate this interacting system, we explore the case where S = 6 and each species is affected by its proximate neighbors, that is, X = 1 for the first and sixth species, and X = 2 for all others. Figure 2 illustrates the simulated topology. For all NKCS simulations performed, P = 20, N = 20, the per-allele mutation probability μ = 5%, and the crossover probability is 0%. Where a surrogate model is used, the model parameters are: N input neurons, H = 10 hidden neurons, 1 output neuron, λm = 1000, T = 50, β = 0.1. All results presented are an average of 100 experiments consisting of 10 coevolutionary runs on 10 randomly generated NKCS functions. The performance of all algorithms is shown for four different K and C values, each representing a different point in the range of inter- and intra-population dependence.
We begin by comparing the traditional approach, of partnering with the elite member in each other species (CGA-b), with performing additional evaluations (CGA-br), and we explore any benefits to overall learning speed from refreshing the population fitness values as the fitness landscapes may shift; that is, all individuals in the other species populations are reevaluated in collaboration with the current elite members each time a new fittest individual is found (CGA-re).
As noted above, after Potter and De Jong , traditionally CEAs consider each population in turn. Thus, if S = 10 and each species population creates one offspring per turn, then 10 evaluations are required for the whole system. However, at the other end of this scale, each population simultaneously generates a new individual each turn, and evaluates all offspring at once , therefore requiring only one evaluation for the whole system. Varying the number of offspring collaborators in this way is therefore a mechanism through which to vary the evaluation environment of the coevolving populations. Therefore, we explore the case where all species offspring are created and tested simultaneously (CGA-o).
In summary, the NKCS model is used to examine the following four different collaboration schemes:
CGA-b: Each offspring is evaluated in collaboration with the current best individual in each of the other species populations.
CGA-br: Each offspring is evaluated as in CGA-b, and additionally with a random member in each of the other populations.
CGA-re: Each offspring is evaluated as in CGA-b, and all populations are reevaluated when one makes a progress.
CGA-o: Offspring are created in each species simultaneously and evaluated together.
Figure 3 and Table 1 present the performance of the collaboration schemes. As can be seen, during the early stages of evolution, the mean best fitness of CGA-b is significantly greater than those of CGA-br and CGA-re for all tested K and C values, showing that performing additional evaluations results in a lower fitness than the approach of only collaborating with the elite members. At the end of the experiments, the three approaches generally reach similar performance, suggesting that there is no penalty for this increase in early learning speed. For the case of both lower inter- and intra-population epistasis CGA-br performs better, which supports findings reported elsewhere [53, 9]. The approach of evaluating all offspring simultaneously (CGA-o) appears to be detrimental to performance under the simulated conditions.
|After 480 evaluations:|
|After 3600 evaluations:|
|After 480 evaluations:|
|After 3600 evaluations:|
4.2 Surrogate-Assisted Coevolution
In this subsection we compare the performance of CGA-b with the standard surrogate-assisted version (SCGA-b). In addition, we compare the performance of the standard surrogate approach where the models are presented only the N genes from their own species (SCGA-b) with the case where the models are presented all N × S partner genes (SCGA-a). We also compare the standard approach of evaluating the most promising of λm offspring stemming from a single parent (SCGA-b) with evaluating the same number of offspring where λm tournaments are performed to select parents that each create a single offspring (SCGA-p).
Furthermore, due to the highly temporal nature of the individuals undergoing evaluation needing to partner with the elite members in each of the other species, it is possible that the surrogate model performance may be degraded by using the entire data set for training. For example, individuals from the initial population may perform very differently when partnered with the elite individuals from later generations. A windowed approach of using only the most recent P evaluated individuals in each species for training seemed promising in a prior experiment coevolving a pair of VAWTs, but was not statistically significant in practice . Here we explore the effect for larger numbers of species, where the temporal variance is potentially much higher (SCGA-bw).
In summary, the algorithms tested were:
SCGA-b: Standard SCGA.
SCGA-a: Global surrogate model construction.
SCGA-p: λm parents selected via tournaments, each creating a single offspring, and the most promising as suggested by the model evaluated.
SCGA-bw: Most recent P evaluated individuals used for training.
The results are presented in Figure 4 and Table 2. As can be seen, the use of the surrogate model to identify more promising offspring clearly increases learning early in the search. For example, the mean best fitness of SCGA-b is significantly greater for all tested K and C values, with the exception of very high inter- and intra-population epistasis. At the end of the experiments, similar optima are reached, showing that there is no penalty for this increase in early learning speed. The benefit of the divide-and-conquer strategy to model building can be seen by comparing SCGA-b with SCGA-a. The mean best fitness of SCGA-b is significantly greater than that of SCGA-a for all four K and C pairs after 480 evaluations, with the exception of very high K and C, showing that purely local models are both efficient and scalable. Comparing SCGA-b with SCGA-p shows that the simple method of using the model we presented in our pilot study is quite robust, as there is no significant difference. Finally, the windowed training scheme (SCGA-bw) was found to be significantly worse than using all data (SCGA-b) during the early stages of evolution; however, later in the experiments the latter reached higher optima.
|After 480 evaluations:|
|After 3600 evaluations:|
|After 480 evaluations:|
|After 3600 evaluations:|
5 VAWT Wind Farm Design
A single two-stage two-blade VAWT candidate with end plates is here created as follows. End plates are drawn at the center of a Cartesian grid with a diameter of 35 mm and thickness of 1 mm. A central shaft 70 mm tall, 1 mm thick, and with a 1-mm inner diameter is also drawn at the center of the grid in order to mount the VAWT for testing. The 2D profile of a single blade on one stage is represented using five (x, y) coordinates on the Cartesian grid, that is, 10 genes, x1, y1,…, x5, y5. A spline is drawn from (x1, y1) to (x3, y3) as a quadratic Bézier curve, with (x2, y2) acting as the control point. The process is then repeated from (x3, y3) to (x5, y5), using (x4, y4) as control. The thickness of the spline is fixed at 1 mm. The coordinates of the 2D blade profile are only restricted by the plate diameter; that is, the start and end position of the spline can be located anywhere on the plate.
To enable z-axis variation, three additional coordinates (i.e., six genes) are used to compute cubic Bézier curves in the xz and yz planes that offset the 2D profile. The xz-plane offset curve is formed from an x offset equal to 0 on the bottom plate to an x offset equal to 0 on the top plate, using control points (zx1, z1) and (zx2, z2). The yz-plane offset curve is formed in the same way with zy1 and zy2 control points, but reusing z1 and z2 to reduce the number of parameters to optimize.
Furthermore, an extra gene, r1, specifies the degree of rotation [0, 180°] whereby the blades of one-stage are rotated from one end plate to the next about the z axis. Thus, a total of 17 genes specify the design of a candidate VAWT. The blade is then duplicated and rotated 180° to form a two-bladed design. The entire stage is then duplicated and rotated 90° to form the second stage of the VAWT; see the example design in Figure 5a. When physical instantiation is required, the design is fabricated by a 3D printer (Replicator 2, MakerBot Industries LLC, USA) using a polylactic acid (PLA) bioplastic at 0.3-mm resolution. Figure 5b shows the VAWT after fabrication.
In order to provide sufficient training data for the surrogate model, initially CGA-b proceeds for three generations before the model is used, so that there are a total of 360 physical array evaluations with 60 evaluated individuals in each species. S = 6 species are explored, each with P = 20 individuals, a per-allele mutation probability μ = 25% with a mutation step size, σ1 = 3.6 (mm) for coordinates and σ2 = 18° for r1, and a crossover probability of 0%. Each species population is initialized with the example design in Figure 5a and 19 variants mutated with μ = 100%. The individuals in each species population are initially evaluated in collaboration with the seed individuals in the other species populations. Thereafter, CGA-b runs as usual by alternating between species after a single offspring is formed and evaluated with the elite members from the other species. After three generations, SCGA-b is used for an additional generation. To explore whether there is any benefit in windowing the training data, the SCGA is subsequently rerun for one generation, starting with the same previous CGA-b populations, but using only the current species population for model training (SCGA-bw). The model parameters are: 17 input neurons, H = 10 hidden neurons, 1 output neuron, λm = 1000, T = 1000, β = 0.1. Each VAWT is treated separately by evolution and approximation techniques; heterogeneous designs could therefore emerge.
The rotational speed (rpm) is here measured using a digital photo laser tachometer (PCE-DT62; PCE Instruments UK Ltd) by placing a 10 × 2-mm strip of reflecting tape on the outer tip of each VAWT and recording the maximum achieved over a period of ≈30 s during the application of wind generated by a propeller fan.
Figure 6 shows the test environment with the 30-W, 3500-rpm, 304.8-mm propeller fan, which generates 4.4-m/s wind velocity, and six turbines mounted on rigid metal pins 1 mm in diameter and positioned 42.5 mm adjacently and 30 mm from the propeller fan. That is, there is an end plate separation distance of 0.2 diameters between turbines. It is important to note that the wind generated by the fan is highly turbulent with nonuniform velocity and direction across the test platform, so that each turbine position receives a different amount of wind energy from different predominant directions, and wind reflecting from the test frame may cause multi-directional wind flow. Thus, the designs evolved under such conditions will adapt to these exact environmental circumstances.
Each generation consisted of 120 fabrications and array evaluations. After evaluating all individuals in the initial species populations, no mutants were found to produce a greater total kinetic energy than the seed array. After one evolved CGA-b generation, the fittest array combination generated a greater total kinetic energy of 7.6 mJ than the initial seed array, which produced 5.9 mJ. A small increase in the total mass of 42 g to 44.8 g was also observed. After two evolved CGA-b generations, the fittest array generated a total kinetic energy of 10 mJ with a further small increase in total mass to 45.6 g. SCGA-b was then used for one additional generation and produced a total kinetic energy of 12.2 mJ with a further increase in mass to 49.3 g.
The fittest SCGA-bw array produced a greater total kinetic energy, 14.8 mJ, than SCGA-b. Furthermore, the SCGA-bw mean kinetic energy (M = 12.27, SD = 1.29, N = 120) was significantly greater than the SCGA-b (M = 10.56, SD = 0.93, N = 120), according to a two-tailed Mann-Whitney test (U = 2076, p ≤ 0.001), showing that windowing the model training data was beneficial in this experiment. SCGA-b and SCGA-bw appear to have predominantly exploited different components of the fitness measure, with SCGA-b finding heavier turbine designs (+8%) that maintain approximately the same rpm (+3%), whereas SCGA-bw discovered designs that were approximately the same mass (+0.6%) with significantly increased rpm (+22%).
Figure 7a shows the total angular kinetic energy of the fittest arrays each generation, Figure 7b shows the total mass, and Figure 7c the total rpm. The cross sections of the fittest array designs can be seen in Figures 8,91011–12. When the position of the final evolved SCGA-b array was inverted (i.e., the first species design being swapped with the sixth, the second swapped with the fifth, etc.), a decrease in total rpm of 17.8% was observed, causing a reduction in total KE of 36.7%. A similar test was performed for the final evolved SCGA-bw array, and the total rpm decreased by 14% with a consequent decrease in total KE of 22%, showing that evolution has exploited position-specific characteristics.
It is interesting to note the similarity of some of the evolved VAWTs with human-engineered designs. Bach  performed one of the earliest morphological studies of Savonius VAWTs and found increased aerodynamic performance with a blade profile consisting of a 2/3-flattened trailing section and a larger blade overlap to reduce the effect of the central shaft, which is similar to the fourth species designs in Figures 10d and 12d. The evolved VAWT in the second species (e.g., Figures 10b and 12b overall appear more rounded and similar to the classic S-shape Savonius design . There appears to be little twist rotation along the z axis of the evolved designs, which may be a consequence of the initial seeding or due to the test conditions having strong and persistent wind velocity from a single direction; that is, the starting torque in low wind conditions is not a component of fitness in these experiments, where twisted designs may be more beneficial.
Design mining represents a methodology through which the capabilities of computational intelligence can be exploited directly in the physical world through 3D printing. Our previous pilot study  considered the parallel design of two interacting objects. In this article we have used a well-known abstract model of coevolution to explore and extend various techniques from the literature, with an emphasis on reducing the number of fitness function evaluations. Our results suggest that the round-robin evaluation process using the best solution in each other population is robust , as is our previously presented sampling method of surrogate models built using strictly population specific data. It has also been shown that the same techniques remain effective when scaling to six interacting species. These findings were then applied to a more complex version of the wind turbine design task considered in our pilot study, primarily moving from designing a pair of heterogeneous VAWTs to a system of six turbines. As noted above, the SCGA remains robust to an increasing number of turbines, since the number of inputs to the models remains constant. Indeed, we are unaware of a real-world coevolutionary optimization task of this scale, with or without surrogate models.
The VAWT spline representation used here is also much more flexible than the simple integer approach used previously, enabling the exploration of designs where the blades are not attached to the central shaft. This has enabled designs to emerge that exploit or compensate not only for the wind interaction with the central shaft, but also for the effect of mass and vibrational forces as the turbines freely rotate around the mounted pins at high speed. That is, it has been shown possible to exploit the fan-generated wind conditions in the environment, including the complex inter-turbine turbulent flow conditions and position-specific wind velocity, to design an array of six different turbines that work together to produce the maximum angular kinetic energy. Note that the starting design for the turbines was based upon a standard commercial design, and performance in the array was seen to double over the time allowed.
3D printing provides a very flexible way to rapidly prototype designs for testing. One of the most significant benefits of the technology is a “complexity paradox,” wherein the complexity of the printed shape is highly uncorrelated with production time and cost. With conventional manufacturing, the more complex an object is, the more it costs to fabricate (especially when subcomponents require complex assembly processes). With 3D printing, however, the time and cost to fabricate an object mostly depend on the amount of material used. Moreover, the more complex a shape is, the more numerous the spaces (voids) that exist between components, and thus the smaller the quantity of material required. There is thus a synergy between computational intelligence techniques that can search a wide range of complex shapes in a complex environment while also exploring the effects of novel materials. Here only PLA plastic was used to fabricate designs; however, there are now over a hundred different materials that 3D printers can use, ranging from cells to titanium. Future work may explore the use of flexible materials and multi-material designs, which may result in very different designs of future wind farms. In addition, 3D printing can produce designs at different fidelity, such as slower, more accurate prints for subtle optimization and rapid, coarse designs for quick evaluation. Fabrication can also be parallelized with multiple printers (e.g., a different printer for each species).
Future work may also use the power generated as the objective under different wind conditions specific to the target environment (e.g., low cut-in speed) in the design of larger wind farms, including turbine location, multiple rows of turbines, and collocation of VAWT and HAWT; in the exploration of alternative surrogate models to reduce the number of fabrications required and of alternative shape representations that can enable increased morphological freedom, including varying the number of blades (e.g., supershapes ); and in the use of novel fabrication materials. In addition, future avenues of research may include arrays of collaborating variable-speed wind turbines, turbines located on rooftops, and floating wind turbines. The use of adaptive design representations, allowing the number of shape parameters to increase as necessary (e.g., ), which will involve adaptive and/or coevolved surrogate models (e.g., ), will also be of interest.
The issue of scalability remains an important area of future research. Changes in dimensionality may greatly affect performance; however, it remains to be seen how the performance will change in the presence of other significant factors such as turbine wake interactions. Larger 3D printing and testing capabilities could be used to design larger turbines using the same method, although with longer fabrication and testing times. However, 3D printing is a rapidly developing technology capable of fabricating larger parts with decreasing production times; for example, the EBAM 300 (Sciaky Ltd., USA) can produce a 10-ft-long titanium aircraft structure in 48 h. On the micro scale, turbines with a rotor diameter smaller than 2 mm can be used to generate power (e.g., for wireless sensors ), and in this case high-precision 3D printers would be required. Recently, 3D printing capabilities have been added to aerial robots to create flying 3D printers , which may eventually enable swarms of robots to rapidly create, test, and optimize designs in areas that are difficult to access.
The design mining approach outlined here provides a general and flexible framework for engineering design, with applications that cannot be simulated due to the complexity of materials or environment. We anticipate that in the future, such approaches will be used to create highly unintuitive yet efficient bespoke solutions for a wide range of complex engineering design applications.
This work was supported by the Engineering and Physical Sciences Research Council under grant EP/N005740/1, and the Leverhulme Trust under grant RPG-2013-344. The data used to generate the graphs is available at http://researchdata.uwe.ac.uk/166.