Skip to content
This repository was archived by the owner on Jul 26, 2025. It is now read-only.

atraplet/ecos4j-native

Repository files navigation

Note

The repository of the underlying solver ECOS is inactive. Moreover, ECOS has known issues with performance and numerical stability. Hence, we decided to stop the development of ecos4j and to archive it.

If you are interested in solving convex optimization problems with Java, then you may use our project clarabel4j. The underlying native solver Clarabel improves the algorithm and implementation of ECOS and is under active development.

ECOS Solver for Java Native Libraries

Build Maven Central GPLv3 licensed

ecos4j-native (ECOS Solver for Java Native Libraries) bundles shared library release binaries of ECOS for ecos4j for Linux (linux_64), Windows (windows_64), and MacOS (osx_arm64).

Usage

Dependency

Add the latest version from Maven Central to your pom.xml

<dependency>
    <groupId>com.ustermetrics</groupId>
    <artifactId>ecos4j-native</artifactId>
    <version>x.y.z</version>
    <scope>runtime</scope>
</dependency>

Build

Release

Update the version in the pom.xml, create a tag, and push it by running

export ECOS_VERSION=X.Y.Z
export VERSION=X.Y.Z
export VERSION=$VERSION-$ECOS_VERSION
git checkout --detach HEAD
sed -i -E "s/<version>[0-9]+\-SNAPSHOT<\/version>/<version>$VERSION<\/version>/g" pom.xml
git commit -m "v$VERSION" pom.xml
git tag v$VERSION
git push origin v$VERSION

This will trigger the upload of the package to Maven Central via GitHub Actions.

Then, go to the GitHub repository releases page and update the release.

Credits

This project is based on the native open source mathematical programming solver ECOS, which is developed and maintained by embotech, Alexander Domahidi, and others.