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...
Gespeichert in:
Veröffentlicht in: | Computers & geosciences 2021-09, Vol.154, p.104790, Article 104790 |
---|---|
Hauptverfasser: | , , , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
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 |