It is not the first time I submit a paper to a fair open-source journal, and this one is extremely enjoyable. As one can read from the journal’s website
The Journal of Open Source Software is a developer friendly, open-access journal for research software packages.
It is designed to publish papers on packages. The process is entirely on Github, where the editors and reviewers are engaging in a discussion. For instance, following one of the reviewer’s suggestions, we added a tutorial with a binder link so you can run it online, package’s documentation. The tutorial shows a comparison with Ipopt on a distributed Poisson control problem with Dirichlet boundary conditions (Spoiler alert: DCI is doing great). Overall, I loved the process and I am already engaged in a review for this journal. The review is clarified by a todo-list of things that needs to be checked.
This package uses a matrix-free feasibility process, but the tangent step still relies on an SQD matrix factorization using HSL or LDLFactorizations. It is now the obvious next step to make this solver fully matrix-free, see issue 85.
I’m thrilled to share two major milestones in my recent work within the Julia ecosystem. First, I presented the latest developments in optimization solvers at JuMP-dev 2024, and second, my paper on JSOSuite.jl was accepted in The Proceedings of the JuliaCon Conferences.
These two achievements highlight both the ongoing evolution of JuliaSmoothOptimizers (JSO) and its growing impact on large-scale nonlinear optimization problems.
JuMP-dev 2024: Advancing Nonlinear Optimization with JuliaSmoothOptimizers
This year’s JuMP-dev workshop, held independently from JuliaCon for the first time in Montreal, offered a focused platform for deep dives into JuMP and its surrounding tools. In my presentation, I discussed the latest progress within the JuliaSmoothOptimizers (JSO) ecosystem, my slides and the replay.
At the core of my talk was an introduction to new solvers and packages like AdaptiveRegularization.jl, which address the unique challenges of large-scale optimization problems with Adaptive Regularization with Cubics. I emphasized the following key innovations:
Automatic Differentiation (AD) support and integration with JuMP for easier problem modeling.
Memory pre-allocation for in-place solvers, reducing runtime overhead.
Support for multi-precision solvers and GPU-based computations, essential for modern large-scale applications.
The value of factorization-free solvers, which excel in tackling large, complex problems, such as those in discretized PDE-constrained optimization.
For newcomers to JSO, JSOSuite.jl serves as a critical entry point, simplifying solver selection and benchmarking through automatic algorithm matching. This tool eliminates the complexity of choosing from multiple solvers by providing a user-friendly interface that adapts to the problem at hand. My talk also touched on the broader adoption and longevity of JSO, which now spans over 50 registered packages, making it one of the most comprehensive platforms for numerical optimization.
JSOSuite.jl covers a range of problem types—from unconstrained to generally-constrained and least-squares problems—and eliminates the need for users to understand the intricate details of individual solvers. Instead, the package conducts a preliminary analysis of the problem and automatically selects the most appropriate solver, offering significant advantages to both experienced practitioners and newcomers alike.
This paper builds on the innovations within JSO, reinforcing its versatility and ease of use across various fields and applications. The package is a natural fit for researchers who need efficient, reliable solvers without the overhead of manually configuring them for different problem types.
Looking Forward
Both my presentation at JuMP-dev 2024 and the publication of the JSOSuite.jl paper reflect the significant strides made by the JuliaSmoothOptimizers organization over the past year. The JSO ecosystem is positioned to continue driving innovation in the field of numerical optimization.
I’m excited to see how these advancements will be applied across diverse optimization problems in the coming years and look forward to continuing this journey with the JSO community.
This project holds a special place in my heart as it touches on the very applications in geochemistry that first drew me into research. Equilibrium reactions, particularly in slow processes like the water cycle in aquifers, have always fascinated me. Moreover, this paper represents an important milestone for one of the authors, Bastien, as it was part of his Ph.D. thesis. The use of projected dynamical systems, a model I am particularly fond of, adds an additional layer of personal significance to this work.
As I started my Ph.D. journey in numerical optimization back in 2014, I noticed something that really stood out to me: despite the abundance of scientific papers discussing algorithms and their numerical results, the availability of corresponding open-source codes lagged far behind.