modOpt: A modular development environment and library for optimization algorithms

Applications of numerical optimization span a wide range of fields, from finance and economics to the natural sciences and engineering. Optimization techniques employed in each field are specialized to exploit the structure of the underlying problems. As optimization problems grow in scale and complexity, they uncover bottlenecks in existing optimization algorithms and necessitate further specialization of the algorithms. Such specialization requires expert knowledge of the underlying mathematical theory and the software implementation of current algorithms. However, currently available optimization libraries lack the modularity, transparency, and accessibility needed for customization and experimentation, as they often provide only monolithic implementations of algorithms. To overcome the challenges posed by this limitation in algorithm development and education, we present modOpt, an open-source Python framework designed to facilitate the construction, customization, and study of optimization algorithms. Its modular architecture enables students and researchers to tailor existing algorithms to new applications by only altering the relevant modules, eliminating the need to understand or reimplement an algorithm in its entirety. The framework is written entirely in Python and supports both novice and advanced users through clear documentation, built-in visualization, and fully transparent implementations of pedagogical algorithms. To facilitate testing and benchmarking of new algorithms, the framework features interfaces to modeling frameworks such as OpenMDAO and CSDL, interfaces to general-purpose optimization algorithms such as SNOPT and SLSQP, and an interface to the CUTEst test problem set. This level of interoperability—spanning 12 external algorithms, 10 pedagogical algorithms, 4 modeling tools, and a benchmark test set—is unique to modOpt and is not available in other optimization libraries. In this paper, we present the software architecture of modOpt, review its various features, discuss several educational and performance-oriented algorithms within modOpt, and present numerical studies illustrating its unique capabilities. modOpt is available as an open-source project on GitHub at https://github.com/lsdolab/modopt , with comprehensive documentation hosted at https://modopt.readthedocs.io/ . • modOpt is a development environment and library for optimization algorithms. • modOpt is an open-source Python package to build reconfigurable optimizers. • modOpt provides interfaces to CUTEst, OpenMDAO, Jax, CasADi, and CSDL. • modOpt has gradient-based and gradient-free algorithms for nonlinear programming. • modOpt provides optimization utilities for testing, benchmarking, post-processing.

Authors

Institutions

Publication Details

Journal
Advances in Engineering Software
Published
2025-12-08
DOI
https://doi.org/10.1016/j.advengsoft.2025.104084
Primary Topic
Stochastic Gradient Optimization Techniques
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

modOpt: A modular development environment and library for optimization algorithms

John T. Hwang, Anugrah Jo Joshy
Advances in Engineering Software
Stochastic Gradient Optimization Techniques
article

modOpt: A modular development environment and library for optimization algorithms

John T. Hwang, Anugrah Jo Joshy
article en

Abstract

Applications of numerical optimization span a wide range of fields, from finance and economics to the natural sciences and engineering. Optimization techniques employed in each field are specialized to exploit the structure of the underlying problems. As optimization problems grow in scale and complexity, they uncover bottlenecks in existing optimization algorithms and necessitate further specialization of the algorithms. Such specialization requires expert knowledge of the underlying mathematical theory and the software implementation of current algorithms. However, currently available optimization libraries lack the modularity, transparency, and accessibility needed for customization and experimentation, as they often provide only monolithic implementations of algorithms. To overcome the challenges posed by this limitation in algorithm development and education, we present modOpt, an open-source Python framework designed to facilitate the construction, customization, and study of optimization algorithms. Its modular architecture enables students and researchers to tailor existing algorithms to new applications by only altering the relevant modules, eliminating the need to understand or reimplement an algorithm in its entirety. The framework is written entirely in Python and supports both novice and advanced users through clear documentation, built-in visualization, and fully transparent implementations of pedagogical algorithms. To facilitate testing and benchmarking of new algorithms, the framework features interfaces to modeling frameworks such as OpenMDAO and CSDL, interfaces to general-purpose optimization algorithms such as SNOPT and SLSQP, and an interface to the CUTEst test problem set. This level of interoperability—spanning 12 external algorithms, 10 pedagogical algorithms, 4 modeling tools, and a benchmark test set—is unique to modOpt and is not available in other optimization libraries. In this paper, we present the software architecture of modOpt, review its various features, discuss several educational and performance-oriented algorithms within modOpt, and present numerical studies illustrating its unique capabilities. modOpt is available as an open-source project on GitHub at https://github.com/lsdolab/modopt , with comprehensive documentation hosted at https://modopt.readthedocs.io/ . • modOpt is a development environment and library for optimization algorithms. • modOpt is an open-source Python package to build reconfigurable optimizers. • modOpt provides interfaces to CUTEst, OpenMDAO, Jax, CasADi, and CSDL. • modOpt has gradient-based and gradient-free algorithms for nonlinear programming. • modOpt provides optimization utilities for testing, benchmarking, post-processing.

Advances in Engineering SoftwareVol. 213
University of California San Diego (US)
Openalex Percentile: Top 79%
Stochastic Gradient Optimization Techniques
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.