LSLOpt is a C++ library for numerical optimization. It is a collection of BFGS-type algorithms (BFGS, BFGS-B, L-BFGS, L-BFGS-B) that allows a dynamic limitation of the step length in each iteration.
It is developed at the Universität Hamburg, ZBH - Center for Bioinformatics by Florian Flachsenberg and Matthias Rarey.
Please cite the following papers describing the LSL-BFGS algorithm and the LSLOpt library:
Flachsenberg, F., Meyder, A., Sommer, K., Penner, P., Rarey, M. A Consistent Scheme for Gradient-Based Optimization of Protein - Ligand Poses. J. Chem. Inf. Model. 2020, 60(12), pp 6502-6522. doi: 10.1021/acs.jcim.0c01095
Flachsenberg, F., Rarey, M. LSLOpt: An Open-Source Implementation of the Step-Length Controlled LSL-BFGS Algorithm. J. Comput. Chem. 2021. Manuscript accepted for publication.
The library is distributed under the BSD 3-Clause license.
The LSLOpt library makes use of the Eigen 3 library for linear algebra. The tests are written using the GoogleTest framework and partially use the Boost.Multiprecision library for multiple-precision arithmetics.
See documentation for detailed installation instructions and further information.