GithubHelp home page GithubHelp logo

markuswagnergithub / jmetal Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jmetal/jmetal

1.0 1.0 0.0 39.2 MB

jMetal: a framework for multi-objective optimization with metaheuristics

Home Page: http://jmetal.sourceforge.net

Java 100.00%

jmetal's Introduction

jMetal Development Site

jMetal is an object-oriented Java-based framework for multi-objective optimization with metaheuristics (http://jmetal.sourceforge.net).

The current jMetal development version is hosted in this repository; this way, interested users can take a look to the new incoming features in advance.

After eight years since the first release of jMetal, we have decided it's time to make a deep redesign of the software. Some of the ideas we are elaborating are:

  • Architecture redesign to provide a simpler design while keeping the same functionality.
  • Improve code quality:
  • Application of unit testing
  • Better use of Java features (e.g, generics)
  • Design patterns
  • Application of clean code guidelines - “Clean code: A Handbook of Agile Software Craftsmanship" (Robert C. Martin)
  • Algorithm templates
  • Parallelism support
  • Algorithm measures
  • Maven is used as the tool for development, testing, packaging and deployment.

If you are interested in contributing with your ideas and comments, please take a look the current discussions in the Issues section.

##Components The current development version provides:

  • Algorithms: NSGA-II, NSGA-III (to be tested), SMPSO, GDE3, IBEA, MOEA/D (variants: MOEA/D-DE, MOEA/D-DRA, Constrained MOEA/D), SPEA2, PESA2, AbYSS, MOCell, RandomSearch, SMS-EMOA
  • Encodings: Binary, Real, Integer, Permutation, Integer+Double
  • Crossover operators: SBXCrossover, SinglePointCrossover, DifferentialEvolutionCrossover, IntegerSBXCrossover, BLXAlphaCrossover, HUXCrossover
  • Mutation operators: PolynomialMutation, SingleRandomMutation, BitFlipMutation, IntegerPolynomialMutation, UniformMutation, NonUniformMutation
  • Selection operators: BinaryTournamentSelection, DifferentialEvolutionSelection, RankingAndCrowdingSelection, NaryTournamentSelection
  • Problems: Fonseca, Kursawe, Schaffer, Srinivas, OneZeroMax, NMMin, NMIN2, ZDT benchrmark, DTLZ benchmark, WFG benchmark, LZ09 benchmark, multiobjective TSP
  • Qualitity indicators: Epsilon, Hypervolume, error ratio, spread, generalized spread, generational distance, inverted generational distance, set coverage.
##jMetal is available as a Maven Project in The Central Repository

The link to the modules is: https://search.maven.org/#search%7Cga%7C1%7Cjmetal

##jMetal documentation The documentation is hosted in https://github.com/jMetal/jMetalDocumentation

##Publications A.J. Nebro, J.J. Durillo, M. Vergne: "Redesigning the jMetal Multi-Objective Optimization Framework". Proceedings of the Companion Publication of the 2015 on Genetic and Evolutionary Computation Conference (GECCO Companion '15) Pages 1093-1100. DOI: http://dx.doi.org/10.1145/2739482.2768462

jmetal's People

Contributors

yebisu avatar matthieu-vergne avatar ajnebro avatar juanjdurillo avatar juanmateos avatar estebanpua avatar cbarba avatar deric avatar javierferrer avatar jnietogit avatar

Stargazers

Zhiqiang Bian avatar

Watchers

Markus Wagner 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.