WISDEM optimization with NSGA2: solver parameters not read

Hello everybody,

I have run two optimizations for a wind farm of monopile wind turbines setting NSGA2 as solver.
In the first one, I just replaced SLSQP with NSGA2 as solver option in the analysis_options file, and the optimization started without any error (and run much longer than with the default SLSQP optimizer).

In the second one, I set NSGA2 as solver and also values for its PopSize, maxGen, pMut_real, eta_c and eta_m parameters. But, at first, I set the value of maxGen purposely wrong (equal to a string instead of a number) to check whether my setting were really read or not: actually, WISDEM gave me no error and started the optimization… :face_with_raised_eyebrow:

I tried the same trick with the solver setting tol, and this time WISDEM output an error and did not start the optimization.
So it seems that WISDEM did not read only my settings for the NSGA2 algorithm. Can someone explain me why?
I am using WISDEM 3.10.1 development version.

Thank you for your time and attention

I cannot replicate this error. When I designate NSGA2 as the optimization solver, the code is responsive to entries for PopSize or maxGen in the analysis yaml driver->optimization section.

If you are truly using WISDEM v 3.10.1, then that version was released in June 2023, so is two years old at this point. I would suggest aligning with the latest version before submitting code bug questions. Please also be sure you are up-to-date on pyOptSparse as there have been some recent bug fixes on their NSGA2 interface.

If you have firm reasons for sticking with an older version of WISDEM and really want to run a GA, OpenMDAO have SimpleGA and DifferentialEvolution drivers that are also available via WISDEM.

Thank you Garret for your fast reply.
Actually, I re-run my check for maxGen and PopSize, and after few optimizer iterations I got errors and the optimization stopped.
I must have missed something in my first check: I apologize for having wasted some of your time.