HiGHS is a high performance serial and parallel open-source solver used for solving large-scale sparse linear programming (LP), mixed-integer programming (MIP) and quadratic programming (QP) models.
Get started using HiGHS with Go (Nextmv SDK)
When running locally, this solver is supported natively using Nextmv's Go SDK.
Specify the highs
feature in your app.yaml
manifest:
HiGHS supports the use of these flags:
-solve.control.int
: parameters withinteger
values.-solve.control.float
: parameters withdouble
values.-solve.control.string
parameters withstring
values.-solve.control.bool
: parameters withboolean
values.
Please visit HiGHS's documentation for a full list of all the solver control parameters.
Take the simplex_update_limit
parameter as an example:
The Type
indicates the data type of the parameter. In this case, it is an integer
. To set this parameter, use the -solve.control.int
flag as -solve.control.int "simplex_update_limit=10000"
.
Here is an example where out-of-the-box SDK options are set, alongside different HiGHS-specific options. The Nextmv CLI is used. Notice that some options set multiple solver parameters.
Given that verbosity is set to high
, the console will show the solver's log (exposing that the options were set):
The output also shows the options that were used:
License
HiGHS does not require additional licensing or setup for running locally or remotely on Nextmv Platform.
Supported version
The current supported HiGHS version when using Go is v1.3.0
. If you’re using Python, you can specify which version you would like to use in requirements.txt
and that version will be bundled as a dependency.
Languages & runtimes
Supported languages and available runtimes for HiGHS apps are listed in the table below. These properties must be defined in the app manifest for your app to run remotely.
Language | Runtime |
---|---|
Go | ghcr.io/nextmv-io/runtime/default |
Python | ghcr.io/nextmv-io/runtime/python |
- Learn more about setting up your app manifest
- Learn more about runtimes
Community apps
The community apps listed in the table below use HiGHS.
Community app | Description |
---|---|
go-highs-knapsack | Solve a knapsack problem with HiGHS. |
go-highs-orderfulfillment | Solve an order fulfillment problem with HiGHS. |
go-highs-shiftscheduling | Solve a shift scheduling with HiGHS. |
python-highs-knapsack | Solve a knapsack problem with HiGHS. |
python-ampl-facilitylocation | Solve a facility location problem with AMPL and HiGHS. |
python-ampl-knapsack | Solve a knapsack problem with AMPL and HiGHS. |
python-ampl-priceoptimization | Solve a price optimization problem with AMPL and HiGHS. |
python-pyoptinterface-knapsack | Solve a knapsack problem with PyOptInterface and HiGHS. |
Clone a community app locally using Nextmv CLI:
Marketplace apps
The HiGHS Shift Scheduling and HiGHS Order Fulfillment apps in Nextmv Marketplace use HiGHS.
Sign up for a free Nextmv Cloud account to test out the HiGHS Shift Scheduling and HiGHS Order Fulfillment apps.