Pallas Solver
0.1
C++ Global Optimization Algorithms
|
#include "pallas/history_concept.h"
#include "pallas/types.h"
Go to the source code of this file.
Classes | |
class | pallas::Brute |
Minimizes an objective function by brute force, trying all possible combinations of specified parameter ranges and outputs the best solution found. More... | |
struct | pallas::Brute::Options |
struct | pallas::Brute::Summary |
Contains a summary of the optimization. More... | |
struct | pallas::Brute::HistoryOutput |
Stores information about the state of the system for at a given iteration number. More... | |
struct | pallas::Brute::ParameterRange |
Range of values to test for the ith degree of freedom. More... | |
Functions | |
void | pallas::Solve (const Brute::Options options, const GradientProblem &problem, const std::vector< Brute::ParameterRange > ¶meter_ranges, double *parameters, Brute::Summary *global_summary) |
Helper function which avoids going through the interface of the pallas::Brute class. More... | |
void | pallas::dump (const Brute::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 a brute force minimization 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 Brute::HistoryOutput & | h, |
HistoryWriter & | writer | ||
) |
Dumps the system state contained in the history output into the stream contained by the writer.
h | Brute::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 Brute::Options | options, |
const GradientProblem & | problem, | ||
const std::vector< Brute::ParameterRange > & | parameter_ranges, | ||
double * | parameters, | ||
Brute::Summary * | global_summary | ||
) |
Helper function which avoids going through the interface of the pallas::Brute class.
The specified options are used to setup a brute 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::Brute::Options. Options used to configure the optimization. |
problem | pallas::GradientProblem. The problem to optimize. |
parameters | double*. The starting point for further optimization. |
summary | Brute::Summary*. Summary instance to store the optimization details. |