An open API service indexing awesome lists of open source software.

https://github.com/atraplet/highs4j-native

HiGHS Solver for Java Native Libraries
https://github.com/atraplet/highs4j-native

convex-optimization interior-point-method java linear-programming mixed-integer-programming operations-research optimization optimization-algorithms quadratic-programming simplex-algorithm

Last synced: about 1 month ago
JSON representation

HiGHS Solver for Java Native Libraries

Awesome Lists containing this project

README

          

# HiGHS Solver for Java Native Libraries

*Work in progress*

[![Build](https://github.com/atraplet/highs4j-native/actions/workflows/build.yml/badge.svg)](https://github.com/atraplet/highs4j-native/actions/workflows/build.yml)
[![Maven Central](https://img.shields.io/maven-central/v/com.ustermetrics/highs4j-native)](https://central.sonatype.com/artifact/com.ustermetrics/highs4j-native)
[![Apache License, Version 2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://github.com/atraplet/highs4j-native/blob/master/LICENSE)

highs4j-native (HiGHS Solver for Java Native Libraries) bundles shared library release binaries
of [HiGHS](https://highs.dev) for [highs4j](https://github.com/atraplet/highs4j) for Linux (linux_64),
Windows (windows_64), and MacOS (osx_arm64).

## Usage

### Dependency

Add the latest version from [Maven Central](https://central.sonatype.com/artifact/com.ustermetrics/highs4j-native) to
your `pom.xml`

```

com.ustermetrics
highs4j-native
x.y.z
platform
runtime

```

where `x.y.z` is the version of the library and `platform` is one of `linux_64`, `windows_64`, or `osx_arm64`. If no
`classifier` is specified, the library will include binaries for all platforms.

## Build

## Release

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

```
export HIGHS_VERSION=X.Y.Z
export VERSION=X.Y.Z
export VERSION=$VERSION-$HIGHS_VERSION
git checkout --detach HEAD
sed -i -E "s/[0-9]+\-SNAPSHOT<\/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](https://github.com/atraplet/highs4j-native/releases) and update the
release.

## Credits

This project is based on the native open source mathematical programming
solver [HiGHS](https://highs.dev), which is developed and maintained by Julian Hall, Ivet Galabova, Qi
Huangfu, Leona Gottwald, Michael Feldmeier, and other contributors. For details see https://highs.dev,
https://ergo-code.github.io/HiGHS, and https://github.com/ERGO-Code/HiGHS.