Skip to content

jMetal/jMetalHPC

Repository files navigation

jMetalHPC

build javadoc format commitlint style: google-java-format Java 21 License: MIT

High-performance implementations of multi-objective metaheuristics in Java.

Status: early bootstrap. No algorithm code yet; only project scaffolding, conventions and build configuration. First milestone is a baseline NSGA-II for continuous optimisation, benchmarked against jMetal.

Goals

  • Maximum runtime performance (ops/s, allocations/op) on multi-objective metaheuristics, starting with NSGA-II for continuous problems.
  • Numerical equivalence with jMetal under the same seed and number of evaluations.
  • No dependency on jMetal: implementations are standalone and avoid the abstractions (List<Double>, Solution<T>) that hurt JIT performance.

Requirements

  • Java 21+
  • Maven 3.9+

Commands

# Build and run tests
mvn test

# Build the JMH benchmarks jar
mvn -Pjmh package

# Run a JMH benchmark by regex
java -jar target/benchmarks.jar <regex>

Layout

src/main/java/org/uma/jmetalhpc/   Production code
src/test/java/                     JUnit 6 + AssertJ tests
src/jmh/java/                      JMH benchmarks (jmh profile)
experiments/                       Performance experiment notes (Markdown)
reference-snapshots/               Fixed-seed jMetal output used as numerical oracle

Conventions

Authoritative documents (read in this order before contributing):

License

MIT.

About

High performance version of jMetal

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors