Releases: codeurjc/brkga_mp_ipr_java
Release list
v0.3.0
Highlights
- New API:
BrkgaMpIpr.getLastRunBestChromosome()— returns the historical best
solution of the lastrun(), the overall incumbent. UnlikegetBestChromosome()
(the current-population best), it survives anyshake/resettriggered during the
run, and its fitness equals theAlgorithmStatus.bestFitnessthatrun()returns.
Backed by the new native symbolbrkga_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
@returnjavadoc onaddNewSolutionObserver(returningtruekeeps
the optimization running;falsestops it).
v0.2.0 — Require Java 25
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.devand the dev container. - Pinned
maven-compiler-plugin(3.13.0) in both POMs so thereleaselevel is
honoured regardless of the local Maven version. - Publishing fixes: bumped
central-publishing-maven-pluginto 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.datv0.1.0
Java (FFM) wrapper for BRKGA-MP-IPR: library, examples, benchmark, do…