Pallas Solver  0.1
C++ Global Optimization Algorithms
Classes | Functions
brute.h File Reference
#include "pallas/history_concept.h"
#include "pallas/types.h"
Include dependency graph for brute.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 > &parameter_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...
 

Detailed Description

Author
Ryan Latture
Date
5-18-15

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.

Function Documentation

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.

Parameters
hBrute::HistoryOutput. State of the system for a specific iteration.
writerHistoryWriter. Object responsible for writing the history output to a stream.

Here is the call graph for this function:

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.

Parameters
optionspallas::Brute::Options. Options used to configure the optimization.
problempallas::GradientProblem. The problem to optimize.
parametersdouble*. The starting point for further optimization.
summaryBrute::Summary*. Summary instance to store the optimization details.

Here is the call graph for this function: