/MetaHeuristics4Java

Public API for the rapid development of applications that solve optimization problems using meta heuristics

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

Meta Heuristics 4 Java (MH4J) Build Status

MH4J is a java framework that enables you to solve optimization problems using metaheuristics.Our aim is to offer a wide range of different algorithms which can be easily integrated into your application.

Currently the following metaheuristics are implemented:

  • Simulated Annealing
  • Genetic Algorithms

Future releases will presumably contain these algorithms:

  • Ant Algorithms
  • Tabu-Search

Goals

Among others these goals are the ones that are most important to us while developing the API:

  • easy to use (rapid development)
  • usage of Java Generics
  • highly configurable
  • well supported concurrency
  • fast (efficient CPU and memory usage)
  • high test coverage (we use TestNG)

Specific Features

  • a broad range of algorithms: you can choose between different metaheuristics to solve your optimization problem
  • examples and tutorials: we will help you getting started with MH4J by giving you an example implementation for each feature and also some tutorials in this wiki.
  • experimentation framework: in the future we will give you an additional framework that lets you test and compare your application and visualize the data

Usage

To explain the usage of all the different metaheuristics we have created some example implementations for you. There will also be a tutorial section where we explain these implementations in some detail and help you get started with your own project.

Installation

Binaries are available in the Download Section.

Similar projects

We found the following projects out on the web that share some of our goals: