AMPL Forum

AMPL at INFORMS Annual Meeting 2023

Join us October 14-18, 2023 in Phoenix, Arizona.

Sponsorship and Exhibit Booth

AMPL will be a Gold Sponsor for the 2023 event and has sponsored the Networking Lounge. Visit us at booth 303 next to the Networking Lounge for a live demo. 

Technology Workshop, Session Talk and Technology Tutorial

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

INFORMS Annual Meeting 2023

Technology Workshop, Saturday, October 14, 1:00 - 3:30 pm

Location: CC-North 121 A

Teaching, Learning, and Applying Optimization:

New Developments in the AMPL Modeling System

Presented by: Filipe Brandão and Robert Fourer

Optimization is the most widely adopted technology of Operations Research and Analytics, yet it must steadily evolve to remain relevant. After an introductory example, this presentation takes you on a tour through new developments in the AMPL modeling language and system that have been changing the ways that people learn and apply large-scale optimization:

  • A new approach to connecting the modeling language to solvers, which lets you write many common logical conditions and “not quite linear” functions in a much more natural way, avoiding complicated and error prone reformulations.
  • A Python-first alternative to learning AMPL and  model-building, supported by new teaching materials that leverage the power of Jupyter notebooks and Google Colab to bring modern computing to the study of optimization.
  • Enhancements to the AMPL Python interface (amplpy), including faster data input and closer solver integration, which expand the possibilities for model- based application development.

We conclude with deployment examples, showing how Python scripts can be turned quickly into OR and 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.

Session TC54 - Optimization Modeling Software II, Tuesday, October 17, 12:45 - 2:00 pm

Location: CC-North 231B

Advances in Model-Based Optimization with AMPL

Presented by: Filipe Brandão

The ideal of model-based optimization is to describe your problem the way you think about it, and then let the computer do the work of getting a solution. Recent enhancements aim to bring the AMPL modeling language and system closer to this ideal. Using a variety of modeling language extensions, common formulations are described more naturally, with the AMPL translator, the AMPL-solver interface, or the solver itself doing most of the needed transformations. Extensions described in this presentation include quadratic expressions, logical operators and constraints, simple near-linear and nonlinear functions, and combinations of these together with linear terms. All are supported by a new C++ AMPL-solver interface library that can be adapted to handle the multiple detection and transformation strategies required by large-scale solvers.

Technology Tutorial, Tuesday, October 17, 2:55 - 3:30 pm

Location: CC-North 120 D

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 OR and 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 has 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 full featured solvers on Google Colab, with no installation overhead and free access for courses
  • Turning Python scripts into prescriptive analytics applications in minutes with amplpy, Pandas, and Streamlit