NSGA2 A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II 13/11/23 Updated to include constraint handling and tested on Python versions 3.8 to 3.12