AMPL at INFORMS Business Analytics 2023

Join us April 16-18, 2023 in Aurora, Colorado.

AMPL will be a Platinum Sponsor and will have a booth in the exhibit area.

Technology Workshop and Tutorial

Our conference presentations will feature an introduction to Python and AMPL for Prescriptive Analytics. The Technology Workshop and Tutorial will show you how to build prescriptive analytics applications quickly, from prototyping to deployment, with Pandas, Colab, Streamlit, and amplpy.

Technology Workshop, Sunday, April 16, 3:00 - 4:45 pm

Location: TBD

Prescriptive Analytics with AMPL: Learn how you can build optimization applications quickly and reliably, from prototyping to deployment

Presented by: Filipe Brandão and Robert Fourer

Optimization is the most widely adopted technology of Prescriptive Analytics, but also the most challenging to implement. This presentation takes you through the steps of a proven approach that combines the best features of two implementation environments:

  • Prototyping in Google Colab using AMPL, a language and system designed for the needs of formulating and validating optimization models
  • Deployment using Python-based tools, the most popular environment for building Analytics models into deployable applications

We start by introducing model-based optimization, the key approach to streamlining the optimization modeling cycle and building successful applications today. Then we demonstrate how AMPL’s specialization to model-based optimization is able to offer exceptional power of expression and speed of execution while maintaining ease of use. Recent enhancements to the AMPL language let you write many common logical conditions in an even more natural way, avoiding complicated reformulations. To support the prototyping phase, expanded data handlers facilitate direct import of values in spreadsheet, CSV, JSON, and database formats.

Our presentation next shows how AMPL and Python work together for building optimization into enterprise systems. AMPL fits naturally into the Python framework, installing as an “amplpy” Python package, importing and exporting data naturally from/to Python data structures and Pandas dataframes, and supporting Jupyter notebooks that mix AMPL modeling and Python programming. In contrast to Python-only modeling solutions, AMPL’s Python API offers straightforward, efficient model processing while leveraging Python’s vast ecosystem for data pre-processing, solution analysis, and visualization.

We finish with a deployment example, showing how Python scripts can be turned quickly into Prescriptive Analytics applications using amplpy, Pandas, and the Streamlit app framework. Deployments are supported on traditional servers and in a variety of modern virtual environments including containers, clusters, and cloud machines.

Technology Tutorial, Monday, April 17, 3:40 - 4:30 pm

Location: TBD

Python and AMPL: Build Prescriptive Analytics applications quickly with Pandas, Colab, Streamlit, and amplpy

Presented by: Filipe Brandão and Robert Fourer

Python and its vast ecosystem are great for data pre-processing, solution analysis, and visualization, but Python’s design as a general-purpose programming language makes it less than ideal for expressing the complex optimization problems typical of prescriptive analytics. AMPL is a declarative language that is designed for describing optimization problems and that integrates naturally with Python. In this presentation, you’ll learn how the combination of AMPL modeling with Python environments and tools have made optimization software more natural to use, faster to run, and easier to integrate with enterprise systems. Following a quick introduction to model-based optimization, we will show how AMPL and Python work together in a range of contexts:

  • Installing AMPL and solvers as Python packages
  • Importing and exporting data naturally from/to Python data structures such as Pandas dataframes
  • Developing AMPL model formulations directly in Jupyter notebooks
  • Using AMPL and open-source solvers for free on Google Colab, with no arbitrary problem size limits
  • Turning Python scripts into prescriptive analytics applications in minutes with Pandas, Streamlit, and amplpy