Skip to content

Efficient python implementation for multiobjective evolutionary algorithms

Notifications You must be signed in to change notification settings

JaydeepGodbole/genetic-algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Efficient python implementation for multiobjective evolutionary algorithms

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages