Skip to content

Latest commit

 

History

History
17 lines (12 loc) · 1.04 KB

README.md

File metadata and controls

17 lines (12 loc) · 1.04 KB

genetic-algorithms

Efficient python implementation for multiobjective evolutionary algorithms

This is a part of my term project in the course of Genetic Algorithms under Prof. Nirupam Chakraborti at IIT Kharagpur.

The code implements Kalyanmoy Deb's fast non-dominated sorting algorithms NSGA-II, using numpy. NSGA-II is used to generate the Pareto Optimal solutions for MEMS sensor design. Two objective functions, the sensor area and sensor noise are considered. It can be seen that NSGA-II finds the Pareto Optimal solutions easily.

This implementation is markedly different compared to other open source implementations, in that, it does not rely on for loops and lists for its implementation.

Using efficient numpy functions, the algorithm was able to run in 4 seconds for population size of 100 and 100 generations, on an i9 hexacore processor.

The animation below helps visualize the output of the solutions in the objective space.