This paper introduces a major redesign of SimOpt, a testbed of simulation-optimization (SO) problems and solvers. The testbed promotes the empirical evaluation and comparison of solvers and aims to accelerate their development. Relative to previous versions of SimOpt, the redesign ports the code to an object-oriented architecture in Python; uses an implementation of the MRG32k3a random number generator that supports streams, substreams, and subsubstreams; supports the automated use of common random numbers for ease and efficiency; includes a powerful suite of plotting tools for visualizing experiment results; uses bootstrapping to obtain error estimates; accommodates the use of data farming to explore simulation models and optimization solvers as their input parameters vary; and provides a graphical user interface. The SimOpt source code is available on a GitHub repository under a permissive open-source license and as a Python package. History: Accepted by Ted Ralphs, Area Editor for Software Tools. Funding: This work was supported by the National Science Foundation [Grant CMMI-2035086]. Supplemental Material: The software that supports the findings of this study is available within the paper and its Supplemental Information ( https://pubsonline.informs.org/doi/suppl/10.1287/ijoc.2023.1273 ) as well as from the IJOC GitHub software repository ( https://github.com/INFORMSJoC/2022.0011 ) at ( http://dx.doi.org/10.5281/zenodo.7468744 ).
more »
« less
GEKKO Optimization Suite
This paper introduces GEKKO as an optimization suite for Python. GEKKO specializes in dynamic optimization problems for mixed-integer, nonlinear, and differential algebraic equations (DAE) problems. By blending the approaches of typical algebraic modeling languages (AML) and optimal control packages, GEKKO greatly facilitates the development and application of tools such as nonlinear model predicative control (NMPC), real-time optimization (RTO), moving horizon estimation (MHE), and dynamic simulation. GEKKO is an object-oriented Python library that offers model construction, analysis tools, and visualization of simulation and optimization. In a single package, GEKKO provides model reduction, an object-oriented library for data reconciliation/model predictive control, and integrated problem construction/solution/visualization. This paper introduces the GEKKO Optimization Suite, presents GEKKO’s approach and unique place among AMLs and optimal control packages, and cites several examples of problems that are enabled by the GEKKO library.
more »
« less
- Award ID(s):
- 1650547
- PAR ID:
- 10086871
- Date Published:
- Journal Name:
- Processes
- Volume:
- 6
- Issue:
- 8
- ISSN:
- 2227-9717
- Page Range / eLocation ID:
- 106
- Format(s):
- Medium: X
- Sponsoring Org:
- National Science Foundation
More Like this
-
-
Aggressive and accurate control of complex dynamical systems, such as soft robots, is especially challenging due to the difficulty of obtaining an accurate and tractable model for real-time control. Learned dynamic models are incredibly useful because they do not require derivation of an analytical model, they can represent complex, nonlinear behavior directly from data, and they can be evaluated quickly on graphics-processing units (GPUs). In this paper, we present an open-source Python library to further current research in model-based control of soft robot systems. Our library for Modeling of Learned Dynamics (MoLDy), is designed to generate learned forward models of complex systems through a data-driven approach to hyperparameter optimization and learned model training. Included in the MoLDy library, we present an open-source version of NEMPC (Nonlinear Evolutionary Model Predictive Control), a previously published control algorithm validated on soft robots. We demonstrate the ability of MoLDy and NEMPC to accurately perform modelbased control on a physical pneumatic continuum joint. We also present a benchmarking study on the effect of the loss metric used in model training on control performance. The results of this paper serve to guide other researchers in creating learned dynamic models of novel systems and using them in closed-loop control tasks.more » « less
-
Nonlinear optimal control problems are challenging to solve efficiently due to non-convexity. This paper introduces a trajectory optimization approach that achieves real-time performance by combining machine learning to predict optimal trajectories with refinement by quadratic optimization. First, a library of optimal trajectories is calculated offline and used to train a neural network. Online, the neural network predicts a trajectory for a novel initial state and cost function, and this prediction is further optimized by a sparse quadratic programming solver. We apply this approach to a fly-to-target movement problem for an indoor quadrotor. Experiments demonstrate that the technique calculates near-optimal trajectories in a few milliseconds, and generates agile movement that can be tracked more accurately than existing methods.more » « less
-
Abstract Over the past few decades, the measurement precision of some pulsar timing experiments has advanced from ∼10 μ s to ∼10 ns, revealing many subtle phenomena. Such high precision demands both careful data handling and sophisticated timing models to avoid systematic error. To achieve these goals, we present PINT ( P INT I s N ot T empo3 ), a high-precision Python pulsar timing data analysis package, which is hosted on GitHub and available on the Python Package Index (PyPI) as pint-pulsar . PINT is well tested, validated, object oriented, and modular, enabling interactive data analysis and providing an extensible and flexible development platform for timing applications. It utilizes well-debugged public Python packages (e.g., the N um P y and A stropy libraries) and modern software development schemes (e.g., version control and efficient development with git and GitHub) and a continually expanding test suite for improved reliability, accuracy, and reproducibility. PINT is developed and implemented without referring to, copying, or transcribing the code from other traditional pulsar timing software packages (e.g., Tempo / Tempo2 ) and therefore provides a robust tool for cross-checking timing analyses and simulating pulse arrival times. In this paper, we describe the design, use, and validation of PINT , and we compare timing results between it and Tempo and Tempo2 .more » « less
-
Despite the success of multiscale modeling in science and engineering, embedding molecular-level information into nonlinear reactor design and control optimization problems remains challenging. In this work, we propose a computationally tractable scale-bridging approach that incorporates information from multi-product microkinetic (MK) models with thousands of rates and chemical species into nonlinear reactor design optimization problems. We demonstrate reduced-order kinetic (ROK) modeling approaches for catalytic oligomerization in shale gas processing. We assemble a library of six candidate ROK models based on literature and MK model structure. We find that three metrics—quality of fit (e.g., mean squared logarithmic error), thermodynamic consistency (e.g., low conversion of exothermic reactions at high temperatures), and model identifiability—are all necessary to train and select ROK models. The ROK models that closely mimic the structure of the MK model offer the best compromise to emulate the product distribution. Using the four best ROK models, we optimize the temperature profiles in staged reactors to maximize conversions to heavier oligomerization products. The optimal temperature starts at 630–900K and monotonically decreases to approximately 560 K in the final stage, depending on the choice of ROK model. For all models, staging increases heavier olefin production by 2.5% and there is minimal benefit to more than four stages. The choice of ROK model, i.e., model-form uncertainty, results in a 22% difference in the objective function, which is twice the impact of parametric uncertainty; we demonstrate sequential eigendecomposition of the Fisher information matrix to identify and fix sloppy model parameters, which allows for more reliable estimation of the covariance of the identifiable calibrated model parameters. First-order uncertainty propagation determines this parametric uncertainty induces less than a 10% variability in the reactor optimization objective function. This result highlights the importance of quantifying model-form uncertainty, in addition to parametric uncertainty, in multi-scale reactor and process design and optimization. Moreover, the fast dynamic optimization solution times suggest the ROK strategy is suitable for incorporating molecular information in sequential modular or equation-oriented process simulation and optimization frameworks.more » « less
An official website of the United States government

