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
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)
- 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
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.
Binaries are available in the Download Section.
We found the following projects out on the web that share some of our goals:
- The Watchmaker Framework: Java API for genetic algorithms
- JAGA: Java API for genetic algorithms
- Jannealer: Java API for simulated annealing.
- Jenes: Java API for genetic algorithms