Scalable Modeling and Optimization

Creating, solving, analyzing, and deploying optimization applications are core activities in systems engineering. In developing such applications, the user often needs to experiment with different model formulations and with different data instances. We are collaborating with Argonne National Laboratory to develop Plasmo.jl, a Julia-based modeling platform that facilitates the development of optimization applications. 

Plasmo.jl uses hierarchical graph abstractions wherein nodes are associated with optimization models or computational tasks that are linked together. The underlying graph structure is exploited to enable the use parallel solution algorithms such as those implemented in PIPS-NLP and DSP. Our tools ultimately seek to facilitate access to high-performance computing capabilities by non-expert users.