Skip to content

Releases: codeurjc/brkga_mp_ipr_java

v0.3.0

Choose a tag to compare

@OscarSotoSanchez OscarSotoSanchez released this 19 Jul 15:12
14fa349

Highlights

  • New API: BrkgaMpIpr.getLastRunBestChromosome() — returns the historical best
    solution of the last run(), the overall incumbent. Unlike getBestChromosome()
    (the current-population best), it survives any shake/reset triggered during the
    run, and its fitness equals the AlgorithmStatus.bestFitness that run() returns.
    Backed by the new native symbol brkga_get_last_status_best_chromosome.

Install

<dependency>
    <groupId>io.github.codeurjc</groupId>
    <artifactId>brkga-mp-ipr-java</artifactId>
    <version>0.3.0</version>
</dependency>

Upgrade note

The wrapper bundles precompiled Linux x86-64 native binaries, so no C++ toolchain is
needed. If you supply your own native library via -Dbrkga.bridge.dir, rebuild it from
the 0.3.0 sources — a 0.2.0 .so lacks brkga_get_last_status_best_chromosome and the
wrapper will fail to link it.

Also included

  • Fixed inverted @return javadoc on addNewSolutionObserver (returning true keeps
    the optimization running; false stops it).

v0.2.0 — Require Java 25

Choose a tag to compare

@OscarSotoSanchez OscarSotoSanchez released this 14 Jul 16:10

Java edition of BRKGA-MP-IPR, now targeting Java 25.

Highlights

  • Requires JDK 25 or newer (previously JDK 22). The library is compiled with
    --release 25, so this is a breaking change for consumers still on JDK 22–24.
    The Foreign Function & Memory API it relies on remains stable (non-preview)
    since JDK 22.

  • Published to Maven Central as 0.2.0:

    <dependency>
        <groupId>io.github.codeurjc</groupId>
        <artifactId>brkga-mp-ipr-java</artifactId>
        <version>0.2.0</version>
    </dependency>

    Run with native access enabled: java --enable-native-access=ALL-UNNAMED ....
    Linux x86-64 native binaries are bundled, so no C++ toolchain is needed to
    use the library.

Under the hood

  • Toolchain moved to JDK 25 across CI, Dockerfile.dev and the dev container.
  • Pinned maven-compiler-plugin (3.13.0) in both POMs so the release level is
    honoured regardless of the local Maven version.
  • Publishing fixes: bumped central-publishing-maven-plugin to 0.11.0 and
    enabled automatic release on Sonatype Central.

Examples

Download brkga_mp_ipr_java_examples.zip from the assets below, unzip it, and:

./run.sh brkga.single.MainMinimal 27000001 \
    data/config/single.conf 10 data/instances/burma14.dat

v0.1.0

Choose a tag to compare

@micaelgallego micaelgallego released this 23 Jun 16:06
Java (FFM) wrapper for BRKGA-MP-IPR: library, examples, benchmark, do…