modOpt: A modular development environment and library for optimization algorithms
Recent advances in computing hardware and modeling software have given rise to new applications for numerical optimization. These new applications occasionally uncover bottlenecks in existing optimization algorithms and necessitate further specialization of the algorithms. However, such specializati...
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | Recent advances in computing hardware and modeling software have given rise
to new applications for numerical optimization. These new applications
occasionally uncover bottlenecks in existing optimization algorithms and
necessitate further specialization of the algorithms. However, such
specialization requires expert knowledge of the underlying mathematical theory
and the software implementation of existing algorithms. To address this
challenge, we present modOpt, an open-source software framework that
facilitates the construction of optimization algorithms from modules. The
modular environment provided by modOpt enables developers to tailor an existing
algorithm for a new application by only altering the relevant modules. modOpt
is designed as a platform to support students and beginner developers in
quickly learning and developing their own algorithms. With that aim, the
entirety of the framework is written in Python, and it is well-documented,
well-tested, and hosted open-source on GitHub. Several additional features are
embedded into the framework to assist both beginner and advanced developers. In
addition to providing stock modules, the framework also includes fully
transparent implementations of pedagogical optimization algorithms in Python.
To facilitate testing and benchmarking of new algorithms, the framework
features built-in visualization and recording capabilities, interfaces to
modeling frameworks such as OpenMDAO and CSDL, interfaces to general-purpose
optimization algorithms such as SNOPT and SLSQP, an interface to the CUTEst
test problem set, etc. In this paper, we present the underlying software
architecture of modOpt, review its various features, discuss several
educational and performance-oriented algorithms within modOpt, and present
numerical studies illustrating its unique benefits. |
---|---|
DOI: | 10.48550/arxiv.2410.12942 |