**The 3rd Evolutionary Computation Competition**

The problem in this year is a wind turbine design optimization problem.

December 14 (Sat), 2019, 9:00-12:00, Minamiawaji, Hyogo, Japan

Organizer: The Japanese Society of Evolutionary Computation

Conratulations!

We also thank all participants.

See below for the results of the competition.

Introduction

Introduction of algorithms of participants

conceptual design optimization problem of the wind turbine

Summary of results

Analysis of results

**Notices**

- The competition results are uploaded. (2020/7/27)

- The post-processing software is modified because a solution with the constraint violation of 0 is judged as feasible solution.
This change has no effect on the results because the all constraints are real-number functions. (2019/12/3)

- The reference point and normalization procedure for hyper-volume calculation are updated for the multiobjective optimization category.

The post-processing software is also modified with the updated reference point and normalization. (November 27, 2019)

- Description of the constraint condition is modified so that equal condition is excluded from the feasible region (November 27, 2019)
- A minor bug in the C ++ code for post-processing is found and fixed.(November 6, 2019)

- A minor bug in the C ++ code for post-processing is found and fixed.(October 29, 2019)

- The C ++ code for post-processing is uploaded because the R script takes too much time to obtain the hypervolume(October 15, 2019)

- Q&A is added. (October 4, 2019)

- Numbers are assigned to the variable names in [Table 1] (October 4, 2019)

- Names of some constraints in Talbe 4 are modified (October 4, 2019)

- Q&A is added. (October 3, 2019)

- The sample data (sample.zip) was updated because it was incorrect (October 3, 2019)

- windturbine_SOP.py and windturbine_MOP.py are updated because there was a minor bug that did not affect the results (October 3, 2019)

- The description of constraints (Table 4) has been revised.(September 3, 2019)

- Evolutionary Computation Symposium 2019 competition page is open.(September 2, 2019)

Again, in this year, we organize the optimization competition on a real-world engineering problem. This competition aims at promoting the applied research of optimization methods including evolutionary computation. We have two categories in the competition, i.e., single-objective design optimization category and multi-objective design optimization category. The winner of each category will be awarded by the Japanese Society of Evolutionary Computation.

The optimization problem of this year is the design optimization problem of a wind turbine for wind power generation, which is gaining worldwide attention as renewable energy. In order to increase the power generation and reduce the power generation costs, the size of wind turbine for wind power generation is getting larger year by year. For example, a 5MW large-scale wing power generation facility manufactured by Hitachi, Ltd. as part of Japanese government NEDO project has a rotor diameter of 126 m and a tower height of about 90 m. [Reference] On the other hand, the tip speed increases as the blade size increases, and new design issues such as noise are arising.

The problem of this competition has 32 real-number design variables. This problem is a constrained optimization problem with 22 constraints. In the multi-objective design optimization category, the number of objectives is five, i.e., this is a many-objective optimization problem that everyone has been waiting for!

Website of the first competition in 2017 (in Japanese)

Website of the second competition in 2018

Check the website of Evolutionary Computation Symposium 2019 for information about venue and access. The competition will be held in the morning of the first day (12/14) at the venue of the Evolutionary Computation Symposium 2019.

Announcement of competition details and application start: Monday, September 2, 2019

Application deadline: Monday, November 18, 2019 (There is no extension of the deadline.)

Data submission deadline: Monday, December 2, 2019 (There is no extension of the deadline.)

Competition date: Saturday, December 14, 2019

Participation fee is free. Apply via e-mail by Monday, November 18, 2019 with the following information.

Subject: Evolutionary Computation Symposium 2019 Competition Application

Body: Enter the applicant's name(s), affiliation, e-mail address, and whether the application is for single-objective or multi-objective category

If the applicant is a student, please include the name of the supervisor.

Send the application to ec2019-competition@flab.isas.jaxa.jp

9:00 - 9:05 Explanation of the purpose of the event by Oyama (Japan Aerospace Exploration Agency)

9:05 - 9:20 Explanation of the general idea of the wind turbine design optimization problem by TBD

9:20 -11:30 Presentation from applicants (5-10 minutes per case)

11:30 -12:00 Summary and discussion of results by Oyama (Japan Aerospace Exploration Agency)

The winners of each category (single-objective and multi-objective optimization) receive awards from the Japanese Society of Evolutionary Computation.

Send the following data to ec2019-competition@flab.isas.jaxa.jp by Monday, December 2, 2019.

Subject: Evolutionary Computation Symposium 2019 Competition data (single-objective or multi-objective)

The benchmark problem of this year is a design optimization problem of a wind turbine for wind power generation.

[Reference]Objectives and Constraints for Wind Turbine Optimization

Table 1 presents the design variables and search space.

[Table 1] Design variables and search space

# | Lower Bound | Design Variable Name | Upper Bound | Description |

1 | 1.0 [m] | chord_sub[1] | 5.3 [m] | Distribution of blade chord length in blade span direction[1] |

2 | 1.0 [m] | chord_sub[2] | 5.3 [m] | Distribution of blade chord length in blade span direction[2] |

3 | 1.0 [m] | chord_sub[3] | 5.3 [m] | Distribution of blade chord length in blade span direction[3] |

4 | 1.0 [m] | chord_sub[4] | 5.3 [m] | Distribution of blade chord length in blade span direction[4] |

5 | 0.1 [m] | r_max_chord | 0.3 [m] | Blade maximum chord length position |

6 | -5 [deg] | theta_sub[1] | 30 [deg] | Distribution of blade mounting angle in blade span direction[1] |

7 | -5 [deg] | theta_sub[2] | 30 [deg] | Distribution of blade mounting angle in blade span direction[2] |

8 | -5 [deg] | theta_sub[3] | 30 [deg] | Distribution of blade mounting angle in blade span direction[3] |

9 | -5 [deg] | theta_sub[4] | 30 [deg] | Distribution of blade mounting angle in blade span direction[4] |

10 | 0.005 [m] | sparT[1] | 0.2 [m] | Distribution of spar-cap thickness in blade span direction[1] |

11 | 0.005 [m] | sparT[2] | 0.2 [m] | Distribution of spar-cap thickness in blade span direction[2] |

12 | 0.005 [m] | sparT[3] | 0.2 [m] | Distribution of spar-cap thickness in blade span direction[3] |

13 | 0.005 [m] | sparT[4] | 0.2 [m] | Distribution of spar-cap thickness in blade span direction[4] |

14 | 0.005 [m] | sparT[5] | 0.2 [m] | Distribution of spar-cap thickness in blade span direction[5] |

15 | 0.005 [m] | teT[1] | 0.2 [m] | Distribution of trailing edge panel thickness in blade span direction[1] |

16 | 0.005 [m] | teT[2] | 0.2 [m] | Distribution of trailing edge panel thickness in blade span direction[2] |

17 | 0.005 [m] | teT[3] | 0.2 [m] | Distribution of trailing edge panel thickness in blade span direction[3] |

18 | 0.005 [m] | teT[4] | 0.2 [m] | Distribution of trailing edge panel thickness in blade span direction[4] |

19 | 0.005 [m] | teT[5] | 0.2 [m] | Distribution of trailing edge panel thickness in blade span direction[5] |

20 | -6.3 [m] | precurve_sub[1] | 0.0 [m] | Distribution of blade precurve in blade span direction[1] |

21 | -6.3 [m] | precurve_sub[2] | 0.0 [m] | Distribution of blade precurve in blade span direction[2] |

22 | -6.3 [m] | precurve_sub[3] | 0.0 [m] | Distribution of blade precurve in blade span direction[3] |

23 | 6.0 | tsr | 14.0 | Design tip speed ratio (ratio between rotational speed and wind speed) |

24 | 6.0[rpm] | maxOmega | 20.0[rpm] | Maximum rotation speed |

25 | 50 [m] | bladeLength | 80 [m] | Blade length |

26 | 20 [m] | z_param | 70 [m] | Tower waist position |

27 | 3.87 [m] | tower_d[1] | 6.3 [m] | Distribution of tower outer diameter in height direction[1] |

28 | 3.87 [m] | tower_d[2] | 6.3 [m] | Distribution of tower outer diameter in height direction[2] |

29 | 3.87 [m] | tower_d[3] | 6.3 [m] | Distribution of tower outer diameter in height direction[3] |

30 | 0.005 [m] | t_param[1] | 0.1 [m] | Distribution of tower thickness in height direction[1] |

31 | 0.005 [m] | t_param[2] | 0.1 [m] | Distribution of tower thickness in height direction[2] |

32 | 0.005 [m] | t_param[3] | 0.1 [m] | Distribution of tower thickness in height direction[3] |

For the single-objective design optimization, the design objective is to minimize the power generation cost.

[Table 2] Design objective (single-objective optimization category)

No. | Objective function | Description |

1 | Power generation cost ( = (manufacturing and construction cost + operation and maintenance cost) / power production amount) [$/kWh] | [Minimization] Decreasing power generation cost contributes to lower electricity charge. |

Multi-objective design optimization problems have five design objectives.

[Table 3] Design objective (multi-objective optimization category)

No. | Objective function | Description |

1 | Annual power production [kWh/(year*turbine)] | [Maximization] Increasing the amount of power production will reduce the power production costs and increase profits of power generation companies. |

2 | Average annual cost (manufacturing and construction cost + operation and maintenance cost) [$/(year*turbine)] | [Minimization] Decreasing costs will reduce power generation costs. |

3 | Tower base load [Nm] | [Minimization] Decreasing the tower base load can reduce the construction cost of the foundation for offshore construction. |

4 | Blade tip speed [m/s] | [Minimization] Decreasing blade tip speed will reduce aerodynamic noise. |

5 | Fatigue damage (considering both blades and towers) [logarithmic scale] | [Minimization] Decreasing the fatigue damage level will extend the service life and reduce power generation costs. |

The constraints are shown in Table 4.

[Table 4] Constraints

No. | Constraint | Value | Description |

1 | Blade maximum deflection [m] | < distance between blade and tower / (safety factor 1.485) [m] | Prevents collision of the blade with tower due to blade deflection |

2 | The clearance between the blade and the ground [m] | > 20 [m] | Ensures safety and avoid turbulence near the surface |

3 | Blade natural frequency [Hz] | > Blade passing frequency * (safety ratio 1.1) [Hz] | Avoids blade resonance |

4 | Tower natural frequency [Hz] | > Blade rotation frequency * (safety ratio 1.1) [Hz] | Avoids tower resonance |

5 | Tower maximum stress during power generation [Pa] | < 4.5e+08 / (safety ratio 1.485) [Pa] | Prevents damage at maximum load during power generation |

6 | Tower maximum stress during high wind standby [Pa] | < 4.5e+08 / (safety ratio 1.485) [Pa] | Prevents damage at maximum load during high wind standby |

7 | Tower overall buckling judgment formula during power generation [-] | < 1 (threshold) [-] | Prevents damage due to overall buckling at maximum load during power generation |

8 | Tower overall buckling judgment formula during high wind standby [-] | < 1 (threshold) [-] | Prevents damage due to overall buckling at maximum load during high wind standby |

9 | Tower local buckling judgment formula during power generation [-] | < 1 (threshold) [-] | Prevents damage due to local buckling during power generation |

10 | Tower local buckling judgment formula during high wind standby [-] | < 1 (threshold) [-] | Prevents damage due to local buckling during high wind standby |

11 | Tower fatigue damage [-] | < 1 (threshold) [-] | Ensures tower life of 20 years or more |

12 | Tower top diameter / Tower base diameter [-] | > 0.4 (threshold) [-] | Guarantees tower manufacturability |

13 | Tower diameter / Tower thickness [-] | > 120 (threshold) [-] | Guarantees tower weldability |

14 | Blade tip speed [m/s] | < 80 [m/s] | Limits wind noise |

15 | Blade spar strain [-] | > Blade spar-cap panel buckling strain [-] | Prevents damage of blade spar-cap panel due to buckling |

16 | Blade trailing edge strain [-] | > Blade trailing edge buckling strain [-] | Prevents damage of blade trailing-edge panel due to buckling |

17 | ln(Blade fatigue damage) [-] | < ln(1) = 0.0 (threshold) [-] | Ensures blade life of over 20 years |

18 | Blade spar-cap compression strain \ [-] | > - (Breaking strain 0.01) / (safety ratio 1.755) [-] | Prevents blade spar-cap panel compression failure |

19 | Blade spar-cap tensile strain [-] | < (Breaking strain 0.01) / (safety ratio 1.755) [-] | Prevents blade spar-cap panel tensile failure |

20 | Blade trailing-edge compression strain [-] | > - (Breaking strain 0.0025) / (safety ratio 1.755) [-] | Prevents compression failure of blade trailing-edge panel |

21 | Blade trailing-edge tensile strain [-] | < (Breaking strain 0.0025) / (safety ratio 1.755) [-] | Prevents tensile failure of blade trailing-edge panel |

22 | Power generation [kWh] | > 0.0 [kWh] | Constraint to avoid non-physical solutions |

(1) The objective function is evaluated using OpenMDAO developed by NASA and WISDEM developed by NREL. It takes about 3 seconds to evaluate one design candidate.

(2) The maximum number of evaluations is 10,000, so as to finish each optimization within a night. Since it takes about 3 seconds to evaluate one design candidate, it takes about 8 hours to complete one optimization case.

(3) Use general methods for initial population generation such as random number generation in the entire design space, or placing them based on the design of experiment.

(4) Evaluation criteria

- In the single-objective optimization category, the algorithm (team) that finds the smallest power generation cost (=objective function 2/ objective function 1 in the multi-objective optimization category) win the prize. It is not the minimum value of the solutions included in the final generation, but the value of the solution with the lowest power generation cost among all the solutions evaluated during the optimization process. If multiple algorithms (teams) find the same solution with the smallest power generation cost, the algorithm (team) who find the solution with smaller number of evaluations win the prize.

- In the multi-objective optimization category, the algorithm (team) that finds the highest hypervolume (hereinafter referred to as HV) value win the prize. The HV value is not of the non-dominated solutions in the final generation group, but those of the set made from all the solutions evaluated during the optimization process.

aere, because the evaluation module outputs (-1 x annual power production), all objective function value should be minimized in this optimization problem.

For hyper-volude calculation, the objective function values are normalized as

$f_{normalized} = \frac{f - f^{min}}{f^{max} - f^{min}}$.

$(f^{min}_1, f^{min}_2, f^{min}_3, f^{min}_4, f^{min}_5) = (-2.42e+07, 9.47e+05, 2.09e+07, 3.20e+01, -2.30e+00)$,

$(f^{max}_1, f^{max}_2, f^{max}_3, f^{max}_4, f^{max}_5) = (-1.96e+02, 2.35e+06, 1.89e+08, 8.00e+01, -2.50e-05)$.

The reference point for the HV value calculation is（1.5, 1.5, 1.5, 1.5, 1.5).

The solutions that do not dominate the updated reference point are NOT used for the hypervolume calculation.

See the following document for more detail.

How_to_calculate_HV.pdf

(6) Median value of twenty one trials with different random numbers for initial population generation or optimization algorithm is evaluated. For the single-objective optimization, evaluation bases on median value of the power generation cost. For the multi-objective optimization, evaluation bases on median value of hypervolume (HV).

The execution for both single-objective optimization and multi-objective optimization are the same.

1. Download and unzip the following files

[installation_manual_english.pdf]Installation manual

[dummies.zip] Dummy module

[windturbine_SOP.py] Evaluation module for single-objective optimization

[windturbine_MOP.py] Evaluation module for multi-objective optimization

[sample.zip] Calculation result example

2. Install according to the installation manual

3. Place the evaluation module in any folder and run it with

python windturbine_sop.py (path where pop_vars_eval.txt exists)

or

python windturbine_mop.py (path where pop_vars_eval.txt exists)

4. Upon successful completion, pop_objs_eval.txt and pop_cons_eval.txt will be generated.

pop_vars_eval.txt

Design solution dataset read by the evaluation module. Each row represents one individual, and each column separated by tabs represents a design variable. The values are normalized by [0, 1].

pop_objs_eval.txt

Objective function dataset generated by the evaluation module. Each row represents one individual, and each column separated by tabs represents the objective function value. The order of the rows (individuals) is consistent with pop_vars_eval.txt. Each column from the left is

[Single-objective optimization] f1 = power generation cost

[Multi-objective optimization] f1 = -annual power generation，f2 = average annual cost，f3 = tower base load，f4 = blade tip speed，f5 = fatigue damage.

As for the multi-objective optimization, because f1 (annual power generation) is the value that should be maximized, the negative value is put in the evaluation module. Therefore, this evaluation module is made to be used as minimization problem for all the objective functions.

pop_cons_eval.txt

Constraint dataset generated by the evaluation module. Each row represents one individual, and each column separated by tabs represents a constraint condition. The order of the rows (individuals) is consistent with pop_vars_eval.txt. All constraints are described in the form g(x)>0. When g(x) is greater than zero, the constraint is satisfied.

(s1) Optimal solution value (median of 21 trials) (Follow the format s1 below)

(s2) Optimization history (median case of 21 trials) (Follow the format s2 below)

(s3) Optimal solution value (best value of 21 trials) (Follow the format s3 below)

(s4) Optimization history (best case of 21 trials) Follow the format s4 below)

[Format s1]

- The file format is csv file.

- The file name is s_opt_***.csv (*** is the group name written in single-byte alphabet).

- Enter the objective function value, design variable value, constraint value, etc. of the optimal solution according to the pareto.csv format in the benchmark problem calculation example.

[Format s2]

- The file format is csv file.

- The file name is s_his_***.csv (*** is the group name written in single-byte alphabet).

- For each column from the left, enter the number of generations, the number of evaluations, f1 ( = -power generation cost ) of the optimal solution in that generation, and the number of solutions that satisfy the constraints in that generation. For items that cannot be described, please enter -1. (for example, if you use random search, you don't have number of generation)

[Format s3]

- The file format is csv file.

- The file name is s_bst_***.csv (*** is the group name written in single-byte alphabet).

- Enter the objective function value, design variable values, constraint values, etc. of the optimal solution according to the pareto.csv format in the benchmark problem calculation example.

[Format s4]

- The file format is csv file.

- The file name is s_bst_his_***.csv (*** is the group name written in single-byte alphabet).

- For each column from the left, enter the number of generations, the number of evaluations, f1 ( = -power generation cost ) of the optimal solution in that generation, and the number of solutions that satisfy the constraints in that generation. For items that cannot be described, please enter -1.

(m1) HV value (median of 21 trials)

(m2) Design variables, constraints, objective functions, etc. of all non-dominated solutions (exclude dominated solutions) used in calculating the HV value (median case of 21 trials) (Follow the format m2)

(m3) History of the optimization (median case of 21 trials) (Follow the format m3)

(m4) HV value (best value of 21 trials)

(m5) History of the optimization (best case of 21 trials) (Follow the format m5)

[Format m2]

- The file format is csv file.

- The file name is m_prt_***.csv (*** is the group name written in single-byte alphabet).

- Enter the objective function value, design variable value, constraint condition value, etc. of all non-dominated solutions used in calculating the HV value according to the format of pareto.csv in the benchmark problem calculation example. For items that cannot be described, enter -1. (for example, if you use random search, you don't have number of generation)

[Format m3]

- The file format is csv file.

- The file name is m_his_***.csv (*** is the group name written in single-byte alphabet).

- From the left, each column shows the number of generations, the number of evaluations, the HV value of that generation, the HV value of the set of all solutions evaluated up to that generation, and the number of executable solutions that satisfy all the constraints in each generation. For items that cannot be described, please enter -1.

[Format m5]

- The file format is csv file.

- The file name is m_bst_***.csv (*** is the group name written in single-byte alphabet).

- From the left, each column shows the number of generations, the number of evaluations, the HV value of that generation, the HV value of the set of all solutions evaluated up to that generation, and the number of executable solutions that satisfy all the constraints in each generation. For items that cannot be described, please enter -1.

Download the program (C ++ code) for calculating the hypervolume from the file output of the evaluation module.

Download post-processing program (updated on December 3, 2019)

* You may use a program developed by yourself as well.

(1) The competition participants can give 5-10 minutes presentation at the competition venue. Explain - Explanation of the algorithm used (including devised points) - Result. (2) Note that we will compare the data submitted by you in the "Summary of Results". (3) The data submitted by you may be used for writing commentary articles at a later date. If there is a problem, please let us know before the competition.

UserWarning: rotor diameter may be modified in unexpected ways if tip precurve and precone are both nonzero

ec2019-competition@flab.isas.jaxa.jp