An object-oriented optimization framework for large-scale inverse problems

We present an object-oriented optimization framework that can be employed to solve small- and large-scale problems based on the concept of vectors and operators. By using such a strategy, we implement different iterative optimization algorithms that can be used in combination with architecture-indep...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Computers & geosciences 2021-09, Vol.154, p.104790, Article 104790
Hauptverfasser: Biondi, Ettore, Barnier, Guillaume, Clapp, Robert G., Picetti, Francesco, Farris, Stuart
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:We present an object-oriented optimization framework that can be employed to solve small- and large-scale problems based on the concept of vectors and operators. By using such a strategy, we implement different iterative optimization algorithms that can be used in combination with architecture-independent vectors and operators, allowing the minimization of single-machine or cluster-based problems with a unique codebase. We implement a Python library following the described structure with a user-friendly interface that is designed to seamlessly scale to high-performance-computing (HPC) environments. We demonstrate its flexibility and scalability on multiple inverse problems, where convex and non-convex objective functions are optimized with different iterative algorithms. •General object-oriented framework to solve small- and large-scale inverse problem.•Simple interface to develop elaborated optimization workflows.•Seamless scalability from local machines to HPC clusters with the same codebase.•Multiple algorithms to solve convex and non-convex inverse problems.•Seismic data imaging and inversion examples using high-performance CUDA kernels.
ISSN:0098-3004
1873-7803
DOI:10.1016/j.cageo.2021.104790