Execution Environment

Supported solvers

Technical reference on solvers supported by the the Nextmv Platform.

The Nextmv Platform supports multiple solvers and solver interfaces. This allows you to use the best solver for the problem at hand. The Platform includes integrations with third-party and in-house solvers, with more planned. Solvers are configured to execute in Nextmv Cloud via runtimes.

nextroute

nextroute is a fast and powerful vehicle routing problem (VRP) solver. nextroute gives you access to a variety of constraints and options that can be used to tailor the solver to your specific business needs. The Nextmv Routing marketplace app is also powered by nextroute.

Get started with nextroute here.

AMPL

AMPL

Using AMPL with a full-size, unrestricted license (for commercial solvers) is only available with premium execution classes. Please contact Nextmv support to get access.

AMPL is a commercial solver interface. It is the most powerful and intuitive tool for developing complex optimization solutions in business & scientific applications. AMPL connects to most commercial and open-source solvers and allows you to switch easily between them.

AMPL is A Mathematical Programming Language for solving optimization problems that integrates three main components. All three languages use the same concepts and syntax for streamlined application-building.

The AMPL - Nextmv integration works with a BYOL (Bring Your Own License) licensing model. This means that you need to have a valid AMPL license to use this technology on the Nextmv Platform. Nextmv does not provide AMPL licenses.

The knapsack-ampl community app is a great place to get started with the integration.

  • If you already have an AMPL license, the app showcases how to set it up. The community app ships with a ampl_license_uuid.template file that you can modify to include your AMPL UUID license. Remove the .template extension and fill in the information with your actual license.

    If your license grants access to commercial solvers with no restrictions, you need to execute on premium execution classes.

  • If you don’t have an AMPL license, the app comes with a special activation that allows you to access an offline AMPL community edition license with a 15 minute time-limit. It unlocks AMPL without size-limits with open-source solvers, and with commercial solvers up to the demo limits each of them has.

Depending on whether or not you have a license, make sure to modify the app.yaml manifest, where it may be specified that an ampl_license_uuid file must be included:

# This manifest holds the information the app needs to run on the Nextmv Cloud.
type: python
runtime: ghcr.io/nextmv-io/runtime/ampl:latest
# List all files/directories that should be included in the app. Globbing
# (e.g.: configs/*.json) is supported.
files:
  - main.py
  # If you have an AMPL license, uncomment the following line and make sure to
  # store your license information in that file.
  # - ampl_license_uuid
Copy

FICO Xpress

FICO Xpress

FICO Xpress is a commercial solver that can be used to solve large-scale linear (LP) and mixed integer problems (MIP), as well as non-linear problems.

Learn more about the FICO Xpress integration in the mixed integer programming section.

The FICO Xpress integration is available by request only at the moment. Contact Nextmv support to request access.

Gurobi

Gurobi

Gurobi is only available with premium execution classes. Please contact Nextmv support to get access.

Gurobi is a commercial solver that can be used to solve large-scale linear (LP) and mixed integer problems (MIP), as well as non-linear problems. Users can quickly identify precise, globally optimal solutions to complex nonlinear problems—from domains such as chemical engineering, electricity flow, and price optimization.

The Gurobi - Nextmv integration works with the WLS (Web License Server) licensing model. This means that you need to have a valid WLS Gurobi license to use this solver on the Nextmv Platform. Nextmv does not provide Gurobi licenses.

The knapsack-gurobi community app is a great place to get started with the integration. It showcases how to set up the Gurobi license. The app.yaml manifest specifies that a gurobi.lic file must be included:

# This manifest holds the information the app needs to run on the Nextmv Cloud.
type: python
runtime: ghcr.io/nextmv-io/runtime/gurobi:latest
# List all files/directories that should be included in the app. Globbing
# (e.g.: configs/*.json) is supported.
files:
  - main.py
  - gurobi.lic # Store your license information in this file.
Copy

The community app ships with a gurobi.lic.template file that you can modify to include your Gurobi license. Remove the .template extension and fill in the information with your actual license.

WLSACCESSID=secret-123
WLSSECRET=secret-123
LICENSEID=123
Copy

HiGHS

HiGHS

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. When running locally, this solver is supported natively using Nextmv's Go SDK.

Learn more about the HiGHS integration in the mixed integer programming section.

OR-Tools

OR-Tools

OR-Tools is open-source solving technology designed to tackle the world’s toughest problems in vehicle routing, flows, integer and linear programming, and constraint programming. OR-Tools is supported using Python and must be run with the Python command directly when running locally. (as opposed to using the Nextmv SDK).

Learn more about the OR-Tools integration in the various sections such as vehicle routing, mixed integer programming and shift scheduling.

  • Languages and available runtimes:

  • Get started with a community app:

    • nextmv community clone -a cost-flow-ortools
    • nextmv community clone -a knapsack-java-ortools
    • nextmv community clone -a knapsack-ortools
    • nextmv community clone -a routing-ortools
    • nextmv community clone -a shift-assignment-ortools
    • nextmv community clone -a shift-planning-ortools

Pyomo

Pyomo

Pyomo is a Python-based, open-source optimization modeling language with a diverse set of optimization capabilities.

Learn more about the Pyomo integration in the mixed integer programming section.

  • Languages and available runtimes:

  • Get started with a community app:

    • nextmv community clone -a knapsack-pyomo
    • nextmv community clone -a shift-assignment-pyomo
    • nextmv community clone -a shift-planning-pyomo

Page last updated

Go to on-page nav menu