Giter VIP home page Giter VIP logo

nsga-ii's Introduction

NSGA-II

Reference: Deb K, Pratap A, Agarwal S, et al. A fast and elitist multiobjective genetic algorithm: NSGA-II[J]. IEEE Transactions on Evolutionary Computation, 2002, 6(2): 182-197.

Nondominated sorting genetic algorithm II (NSGA-II) with simulated binary crossover (SBX) and polynomial mutation.

Variables Meaning
npop Population size
iter Iteration number
lb Lower bound
ub Upper bound
pc Crossover probability (default = 1)
eta_c The spread factor distribution index (default = 20)
pm Mutation probability (default = 0.1)
eta_m The perturbance factor distribution index (default = 20)
dim Dimension
pop Population
objs Objectives
pfs pfs[i] means the Pareto front which the i-th individual belongs to
rank The Pareto rank of all the individuals in the population
cd Crowding distance
mating_pool Mating pool
pf The obtained Pareto front

Test problem: ZDT3

$$ \left{ \begin{aligned} &f_1(x)=x_1\\ &f_2(x)=g(x)\left[1-\sqrt{x_1/g(x)}-\frac{x_1}{g(x)}\sin(10\pi x_1)\right]\\ &g(x)=1+9\left(\sum_{i=2}^nx_i\right)/(n-1)\\ &x_i\in[0, 1], \qquad i=1,\cdots,n \end{aligned} \right. $$

Example

if __name__ == '__main__':
    main(100, 300, np.array([0] * 10), np.array([1] * 10))
Output:

nsga-ii's People

Contributors

xavier-mayiming avatar

Stargazers

littleCoder avatar Xinyi avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.