All Projects → onclave → Nsga Ii

onclave / Nsga Ii

Licence: mit
an implementation of NSGA-II in java

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Nsga Ii

Cgranges
A C/C++ library for fast interval overlap queries (with a "bedtools coverage" example)
Stars: ✭ 111 (+516.67%)
Mutual labels:  algorithm, bioinformatics
Splatter Paper
Data and analysis for the Splatter paper
Stars: ✭ 17 (-5.56%)
Mutual labels:  bioinformatics, paper
Anms Codes
Efficient adaptive non-maximal suppression algorithms for homogeneous spatial keypoint distribution
Stars: ✭ 174 (+866.67%)
Mutual labels:  algorithm, paper
Pyshorttextcategorization
Various Algorithms for Short Text Mining
Stars: ✭ 429 (+2283.33%)
Mutual labels:  algorithm, package
Xstrings
Implements string functions widely used in other languages but absent in Go.
Stars: ✭ 888 (+4833.33%)
Mutual labels:  algorithm
Torbot
Dark Web OSINT Tool
Stars: ✭ 821 (+4461.11%)
Mutual labels:  algorithm
Competitivequestion
Question solved on various competitive sites 🤘
Stars: ✭ 5 (-72.22%)
Mutual labels:  algorithm
Manorm
A robust model for quantitative comparison of ChIP-Seq data sets.
Stars: ✭ 16 (-11.11%)
Mutual labels:  bioinformatics
Seqtk
Toolkit for processing sequences in FASTA/Q formats
Stars: ✭ 799 (+4338.89%)
Mutual labels:  bioinformatics
Aetherupload Laravel
A Laravel package to upload large files 上传大文件的Laravel扩展包
Stars: ✭ 835 (+4538.89%)
Mutual labels:  package
100 Days Of Ios Datastructure Algorithm
100天iOS数据结构与算法实战
Stars: ✭ 836 (+4544.44%)
Mutual labels:  algorithm
Javascript Algorithms
Stars: ✭ 6,893 (+38194.44%)
Mutual labels:  algorithm
Laravel Bootstrap Table List
Bootstrap table list generator for Laravel.
Stars: ✭ 16 (-11.11%)
Mutual labels:  package
Ts3server Package
A script that generates a debian package for a TeamSpeak 3 Server
Stars: ✭ 5 (-72.22%)
Mutual labels:  package
History tree
A persistent history tree for undo/redo
Stars: ✭ 17 (-5.56%)
Mutual labels:  algorithm
Galaxy
Data intensive science for everyone.
Stars: ✭ 812 (+4411.11%)
Mutual labels:  bioinformatics
Pybedgraph
A Python package for fast operations on 1-dimensional genomic signal tracks
Stars: ✭ 17 (-5.56%)
Mutual labels:  bioinformatics
Naive Bayes Classifier
Naive Bayes classifier is classification algorithm. It uses Naive based Bernoulli and Multinomial equation to classify documents(Text) as ham or spam.
Stars: ✭ 6 (-66.67%)
Mutual labels:  algorithm
Package Skeleton
📦 My base for PHP packages.
Stars: ✭ 6 (-66.67%)
Mutual labels:  package
Esfnet Pytorch
ESFNet-Pytorch
Stars: ✭ 18 (+0%)
Mutual labels:  paper

DOI

NSGA-II

an NSGA-II implementation using Java

Original Authors of the Paper: Kalyanmoy Deb, Amrit Pratap, Sameer Agarwal, T. Meyarivan

links to original contents:

note: this implementation of NSGA-II algorithm is in pure reference to the original published paper. This is not an effort to convert the originally implemented C code in Java. The original C code by the authors has not be referred to while writing this implementation.

Dependency: Java( >= 1.8), JFreeChart(1.5.0), JCommon(1.0.24)

Important

version 3.1.0 brings a lot of added functionality, fixes a few bugs and brings a few breaking changes. While it is recommended to use the latest version (3.1.0) and update your dependencies for your exisiting projects, do keep in mind about the breaking changes and open an issue if you are unable to do so.

Please Note:

This is v3 of the algorithm implementation. This reference implementation has been updated to be:

  • Used as package.
  • Much more generic, customizable and hence more powerful.
  • More efficient than the previous version.

The reference v2 implementation can be found here. The README of that implementation can be found here.

The reference v1 implementation can be found here. The README of that implementation can be found here.

note: Code commenting of v3 is under progress and not all code is commented properly. This shall be done shortly. In the mean time, if you are unable to understand any part of the code, feel free to open an issue about it and I shall try to resolve it.

Documentation

This is a fully customizable implementation of the NSGA-II algorithm, made as generic as possible. This documentation assumes you have basic understanding of the NSGA-II algorithm. Apart from the core concepts of the algorithm, everything else in this package can be implemented as per the user's choice and plugged into the algorithm dynamically.

By default, the package provides a default implementation of every plugin and hence the package can be run with just one line of code as a PoC.

(new NSGA2()).run();

For more information, visit the Wiki

For full documentation, visit the Documentation Wiki.

Using it in your project

This package is now available on the maven central repository!

To use it as a maven dependency add the following to your pom.xml file:

    <dependencies>
        ...
        <dependency>
            <groupId>com.debacharya</groupId>
            <artifactId>nsgaii</artifactId>
            <version>3.1.3</version>
        </dependency>
    </dependencies>

Please note that while you can use version 3.0.1, it requires Java 13 and above. 3.0.2 has been released to be able to work with Java 1.8 and above.

Getting Started

Contributing

This project is open to pull requests and encourages new features through contribution. The contribution guidelines shall be updated shortly.

Citation

You can now cite this NSGA-II implementation if you want.

Cite this library

Debabrata Acharya. (2020, September 21). onclave/NSGA-II: an NSGA-II implementation using Java. Zenodo. http://doi.org/10.5281/zenodo.4042108

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].