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.
Languages and available runtimes:
Get started with a community app:
nextmv community clone -a nextroute
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:
Languages and available runtimes:
- Python:
ghcr.io/nextmv-io/runtime/ampl
- Python:
Get started with a community app:
nextmv community clone -a knapsack-ampl
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.
Languages and available runtimes:
Get started with a community app:
nextmv community clone -a xpress
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:
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.
Languages and available runtimes:
- Python:
ghcr.io/nextmv-io/runtime/gurobi
- Python:
Get started with a community app:
nextmv community clone -a knapsack-gurobi
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.
Languages and available runtimes:
Get started with a community app:
nextmv community clone -a knapsack-ampl
nextmv community clone -a knapsack-gosdk
nextmv community clone -a order-fulfillment-gosdk
nextmv community clone -a shift-scheduling-gosdk
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 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:
- Python:
ghcr.io/nextmv-io/runtime/pyomo
- Python:
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