(120d) A Framework for Modeling and Optimizing Complex, Structured Problems | AIChE

(120d) A Framework for Modeling and Optimizing Complex, Structured Problems

Authors 

Nicholson, B. - Presenter, Sandia National Laboratories
Siirola, J., Sandia National Laboratories
Algebraic modeling languages (AMLs) have drastically simplified the implementation of algebraic optimization problems. However, there are still many classes of optimization problems that are not easily represented in most AMLs. For example, generalized disjunctive programming, stochastic programming, and dynamic optimization problems all incorporate high-level mathematical constructs (i.e. disjuncts/disjunctions, scenario trees, and differential equations) in order to clearly and concisely describe complex relationships between different parts of a model. However, most AMLs cannot represent these high-level mathematical constructs directly. Instead, these classes of problems are typically reformulated before implementation, which requires significant effort and time from the modeler and obscures the original problem structure or context. In this talk we demonstrate how the Pyomo AML can be used to represent complex optimization problems using high-level modeling constructs. We also describe the general model transformations available in Pyomo for automatically transforming these high-level constructs into a form that off-the-shelf optimization solvers understand. We focus on problems that span multiple classes of optimization problems and demonstrate the combination of Pyomo extensions for generalized disjunctive programming, stochastic programming, and dynamic optimization. Finally, we demonstrate the scalability of this framework on a large-scale process model of a bubbling fluidized-bed adsorber.