Often, it is very difficult to pose a model for a system even after the system is conceptually understood. The reason is the mathematical languages we employ have few forms of expression. We define more expressive languages, first for dynamical discrete-continuous systems, and then more rigorously for mathematical programs (MP). Our approach provides theoretical basis for designing MP software.
The first framework we define is called linear coupled component automata (LCCA). It supports finite domain constraints, explicitly handles dynamics, and enforces modular modeling. We show how LCCA models can be mechanically converted into mathematical programming (MP) constraints. Currently, chemical process systems are usually modeled directly with MP constraints. We show with an example that it is much easier to model hybrid systems in our LCCA framework.
We then pursue a more rigorous approach for the MP part of our work, for the purposes of providing a computer implementation of an MP framework. There are two main results: a rich computer language for declaring MPs and automation of certain model transformations. Mathematically, these correspond to defining a set p of MPs and defining a binary relation on p.
The set p contains programs as one would want to write in practice, not just canonical matrix forms. Complex index sets can be defined in intuitive ways, and they are first-class entities in our theory, not mere notational conveniences eliminated at parse time. This has many benefits: it retains knowledge of the problem structure, keeps the program size to a minimum, and speeds up certain operations. Our definition of the semantics elucidates the nature of MP algorithms and explains the information sought from a solution.
The binary relation on programs p can be defined because a logical formulation allows treating constraints and programs as mathematical objects. Principally, our definition includes: a procedure for putting Boolean expressions into conjunctive normal form, and a procedure for converting disjunctive constraints into mixed-integer inequalities. Neither has been defined previously for a language as expressive as ours, and the latter has not been defined as a formal mapping on constraint spaces. Overall this leads to a procedure for converting general MPs to pure mixed-integer programs (MIPs).
Sets and set relations are defined using the methods of type theory, which espouses a close relation between mathematics and computation. As a result, the set p can be viewed simultaneously as a novel definition of MP and as the software architecture for implementing an MP language. Similarly, the binary relation on p can be directly implemented on a computer. Several examples of our software’s input and output are provided.
Ashish Agarwal (2006). Logical Modeling Frameworks for the Optimization of Discrete-Continuous Systems, PhD Dissertation, Carnegie Mellon University.