Plasmo.jl (Platform for Scalable Modeling and Optimization) is a modeling interface that facilitates modeling large complex optimization problems using graph-based approaches. The package provides a component style of modeling using what we call an optigraph abstraction. A key guiding concept of Plasmo.jl is to provide an intuitive modeling interface that makes it easy to construct and manage complex optimization models.
Plasmo.jl has been developed in conjunction with the Scalable Systems Laboratory at the University of Wisconsin-Madison and Argonne National Laboratory.
OMLT is a Python package for representing machine learning models (neural networks and gradient-boosted trees) within the Pyomo optimization environment. The package provides various optimization formulations for machine learning models (such as full-space, reduced-space, and MILP) as well as an interface to import sequential Keras and general ONNX models.