Pallas Solver
0.1
C++ Global Optimization Algorithms
|
#include <cfloat>
#include "pallas/history_concept.h"
#include "pallas/scoped_ptr.h"
#include "pallas/step_function.h"
#include "pallas/types.h"
#include "pallas/internal/metropolis.h"
#include "pallas/internal/state.h"
Go to the source code of this file.
Classes | |
class | pallas::Basinhopping |
Minimizes an objective function by sequentially hopping between minima in the objective's energy landscape. More... | |
struct | pallas::Basinhopping::Options |
struct | pallas::Basinhopping::Summary |
Contains a summary of the optimization. More... | |
struct | pallas::Basinhopping::HistoryOutput |
Stores information about the state of the system for at a given iteration number. More... | |
Functions | |
void | pallas::Solve (const Basinhopping::Options &options, const GradientProblem &problem, double *parameters, Basinhopping::Summary *summary) |
Helper function that avoids going through the interface of the pallas::Basinhopping class. More... | |
void | pallas::dump (const Basinhopping::HistoryOutput &h, HistoryWriter &writer) |
Dumps the system state contained in the history output into the stream contained by the writer. More... | |
This file contains a C++ implementation of the basinhopping algorithm. This code relies on the Google Ceres local minimization functions, and is inspired by the SciPy implementation found in scipy.optimize
void pallas::dump | ( | const Basinhopping::HistoryOutput & | h, |
HistoryWriter & | writer | ||
) |
Dumps the system state contained in the history output into the stream contained by the writer.
h | Basinhopping::HistoryOutput. State of the system for a specific iteration. |
writer | HistoryWriter. Object responsible for writing the history output to a stream. |
void pallas::Solve | ( | const Basinhopping::Options & | options, |
const GradientProblem & | problem, | ||
double * | parameters, | ||
Basinhopping::Summary * | summary | ||
) |
Helper function that avoids going through the interface of the pallas::Basinhopping class.
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. |