FF Optimizer: framework for force field parameter optimization

The FF Optimizer is a base module that can be extended with other modules that implement specific optimization methods. The base FFOptimizer module offers methods to compute the cost function (also known as the error or the fitness function) and its first and second derivatives with respect to the force-field parameter values. Besides that, there are two extensions available that implement global optimization methods: Monte-Carlo (MCFF) and Covariance Matrix Adaptation Evolution Strategy (CMA-ES).