SEISCOPE optimization toolbox.
The SEISCOPE optimization toolbox is a set of FORTRAN 90 routines for unconstrained and bound constrained large scale nonlinear minimization of differentiable functions.
The minimization methods available go from gradient-based method to quasi-Newton and truncated Newton methods:
All the methods are implemented following a reverse communication procedure, to ensure maximum flexibility. The user controls the iterative minimization loop. At each iteration of this loop, the minimization function from the toolbox is called and returns a FLAG. This FLAG tells the user what is the next action he has to perform:
- steepest-descent: PSTD
- nonlinear conjugate gradient: PNLCG
- quasi-Newton l-BFGS method: LBFGS, PLBFGS
- truncated Newton: TRN, PTRN.
All the methods are globalized through the same linesearch strategy. This linesearch strategy ensures the Wolfe rules are satisfied: sufficient decrease and sufficient curvature are satisfied. From any starting point, the different methods converge to the nearest local minimum (as all the methods are local descent methods, there are no guarantee to converge to the global minimum).
- gradient computation;
- preconditioner application;
- Hessian-vector product computation;
All the methods can be used with additional bound constraints. If this option is activated, a further step is added to the linesearch process. After a new steplength is tested, the corresponding iterate is projected into the feasible set. This ensures the satisfaction of the bound constraints at each step of the minimization process. In addition, the satisfaction of the Wolfe rules is still guaranteed.
All the methods can be used with or without preconditioning (approximation of the inverse Hessian). For -BFGS and truncated Newton, this gives rise to two different versions: LBFGS/PLBFGS, TRN/PTRN, where P stands for preconditioned.
Salt body imaging through Full Waveform Inversion. Synthetic test case on the BP 2004 model, using a surface acquisition and accounting for the free surface. Acoustic approximation. Frequency range: 2.5 Hz - 20 Hz. We present the following P-wave models: (a) initial, (b) exact, (c) -BFGS result, (d) nonlinear conjugate gradient results, (e) truncated Newton results. In this particular case, the truncated Newton method allows for a better reconstruction of the salt body.
- The set of routines is grouped into the tar file SEISCOPE_OPTIMIZATION_TOOLBOX_02_07_2014.tgz which can be downloaded here.
- A complete documentation of the optimization package can be found in the directory doc
The SEISCOPE OPTIMIZATION TOOLBOX codes have been developed in the framework of the SEISCOPE and SEISCOPE II consortia and we thank
the sponsors of these projects. We also thank the French National Center for Scientific Research (CNRS) for his support. Access to the high performance computing facilities of the meso-center CIMENT (Univ. Grenoble Alpes, Fr, https://ciment.ujf-grenoble.fr/) provided the required computer resources to develop this package
4. CONDITIONS OF USE
The routines proposed here are open-source (see Legal Statement). The only counterpart requested to anybody who may use these routines is to refer to the following article in any publications which may have benefit from the use of this code.
- The SEISCOPE Optimization Toolbox: A large-scale nonlinear optimization library based on reverse communication, 2016, Geophysisl, L. Métivier & R. Brossier, DOI 10.1190/geo2015-0031.1 preprint