  Infinite-dimensional optimization (InfiniteOpt) problems involve modeling
components (variables, objectives, and constraints) that are functions defined
over infinite-dimensional domains. Examples include continuous-time dynamic
optimization (time is an infinite domain and components are a function of
time), PDE optimization problems (space and time are infinite domains and
components are a function of space-time), as well as stochastic and
semi-infinite optimization (random space is an infinite domain and components
are a function of such random space). InfiniteOpt problems also arise from
combinations of these problem classes (e.g., stochastic PDE optimization).
Given the infinite-dimensional nature of objectives and constraints, one often
needs to define appropriate quantities (measures) to properly pose the problem.
Moreover, InfiniteOpt problems often need to be transformed into a finite
dimensional representation so that they can be solved numerically. In this
work, we present a unifying abstraction that facilitates the modeling,
analysis, and solution of InfiniteOpt problems. The proposed abstraction
enables a general treatment of infinite-dimensional domains and provides a
measure-centric paradigm to handle associated variables, objectives, and
constraints. This abstraction allows us to transfer techniques across
disciplines and with this identify new, interesting, and useful modeling
paradigms (e.g., event constraints and risk measures defined over time
domains). Our abstraction serves as the backbone of an intuitive Julia-based
modeling package that we call InfiniteOpt.jl. We demonstrate the developments
using diverse case studies arising in engineering.
