Pallas Solver
0.1
C++ Global Optimization Algorithms
|
Minimizes an objective function by sequentially hopping between minima in the objective's energy landscape. More...
#include <basinhopping.h>
Classes | |
struct | HistoryOutput |
Stores information about the state of the system for at a given iteration number. More... | |
struct | Options |
struct | Summary |
Contains a summary of the optimization. More... | |
Public Member Functions | |
Basinhopping () | |
Default constructor. | |
void | Solve (const Basinhopping::Options &options, const GradientProblem &problem, double *parameters, Basinhopping::Summary *global_summary) |
Minimizes the specified gradient problem. More... | |
Minimizes an objective function by sequentially hopping between minima in the objective's energy landscape.
Basin-hopping is a stochastic algorithm that attempts to find the global minimum of a smooth scalar function of one or more variables. The algorithm in its current form was described by David Wales and Jonathan Doye http://www-wales.ch.cam.ac.uk/.
The algorithm is iterative with each cycle composed of the following features
The acceptance test used here is the Metropolis criterion of standard Monte Carlo algorithms.
Example
void pallas::Basinhopping::Solve | ( | const Basinhopping::Options & | options, |
const GradientProblem & | problem, | ||
double * | parameters, | ||
Basinhopping::Summary * | global_summary | ||
) |
Minimizes the specified gradient problem.
The specified options are used to setup a basinhopping instance which is then used to minimize the GradientProblem. The optimal solution is stored in parameters
and a summary of the global optimization can be found in summary
.
options | pallas::Basinhopping::Options. Options used to configure the optimization. |
problem | pallas::GradientProblem. The problem to optimize. |
parameters | double*. The starting point for further optimization. |
summary | Basinhopping::Summary*. Summary instance to store the optimization details. |