We’re closing out 2023 with one more feature announcement: 👋 hello to the Nextmv Pyomo integration! This new feature expands Python modeling support with Nextmv, automatically pre-bundles the CBC and GLPK solvers (with options to add more solvers!) to work with Nextmv Cloud, and provides access to Nextmv’s DecisionOps tooling for model testing, deployment, and management. Within minutes, you can create and run a Pyomo model with a pre-installed solver on production-grade infrastructure, providing you with a set of custom API endpoints to call your own.
Check out the video demo below 👇👇👇 and read on for more details. You can also see a more detailed walkthrough in my upcoming techtalk!
What is Pyomo?
Pyomo is a Python-based open source optimization modeling layer. Created in 2008, Pyomo provides users with a familiar mathematical optimization notation and rich set of features such as callbacks.
Perhaps one of its biggest strengths is its support for multiple open source and commercial solvers and problem types. This is advantageous for users who want the freedom to swap between solvers as they see fit.
The Nextmv Pyomo integration and DecisionOps
The Nextmv Pyomo integration brings the goodness of Pyomo into the Nextmv platform to operationalize, improve, and scale decision models. With a few commands, Nextmv users can create a Pyomo optimization model, deploy it to production infrastructure to test, manage, and operate as a decision app just like any other Nextmv app.
Within the Nextmv ecosystem, Pyomo modelers have access to a suite of DecisionOps tools. We view DecisionOps as an automated process, manually audited. It accelerates how you (and your team) develop decision algorithms by providing deployment infrastructure, testing, collaboration, and management capabilities — with touchpoints for human review and analysis along the way.
Deployment. The integration provides a clear, speedy deployment path for your Pyomo model that is backed by enterprise-grade cloud infrastructure. This results in a set of custom API endpoints for making runs, managing models, performing experiments, etc. It effectively gives a SaaS-like experience for completely custom decision models.
Testing, experimentation, and CI/CD. Easily perform historical (batch, scenario, and acceptance) and online tests (shadow and switchback) on your Pyomo models to derisk production rollout and more effectively improve and iterate upon model performance. Nextmv makes it possible to integrate acceptance tests into your Git and CI/CD workflows, for example with GitHub actions.
Model management. Keep track of who is working on which Pyomo model version, view run history, monitor run status, and organize model instances based on region, release candidates, and more. Plus, switching out a version to promote or rollback is just a dropdown away.
Collaboration. Share your run history, model visualization, or test results by sending a link to a member of your team to accelerate stakeholder buy-in and understanding for your Pyomo model in a repeatable and transparent way.
By bringing together Pyomo and Nextmv with this integration, it’s easier than ever to operationalize Pyomo models for real-world use cases.
How to get started with Nextmv and Pyomo
With a free account and a few minutes, you can have a working Pyomo model to run using a pre-bundled solver on production infrastructure.
- Create a free Nextmv account, start a free trial
- Download the Nextmv SDK
- Initialize the pyomo template
- Deploy the pyomo template to Nextmv Cloud to run remotely (the default is a knapsack model with a pre-installed CBC solver)
- View the results in the Nextmv console and then customize, test, and iterate from there.
To learn more about getting started and beyond, check out our documentation.
And that's all there is to it! Wishing happy holidays and new year to everyone! We hope you’ll try the Nextmv Pyomo integration. Want to use another solver? Or see a specific feature? We're adding new capabilities all the time. Your feedback is welcome in our community forum or reach out to us directly as we build out even more!