Pallas Solver
0.1
C++ Global Optimization Algorithms
|
#include <cfloat>
#include "pallas/history_concept.h"
#include "pallas/types.h"
#include "pallas/internal/crossover_strategy.h"
#include "pallas/internal/mutation_strategy.h"
#include "pallas/internal/shuffler.h"
#include "pallas/internal/state.h"
Go to the source code of this file.
Classes | |
class | pallas::DifferentialEvolution |
Minimizes an objective function by continuously evolving a population of candidate solutions. More... | |
struct | pallas::DifferentialEvolution::Options |
struct | pallas::DifferentialEvolution::Summary |
Contains a summary of the optimization. More... | |
struct | pallas::DifferentialEvolution::HistoryOutput |
Stores information about the state of the system for at a given iteration number. More... | |
Functions | |
void | pallas::Solve (const DifferentialEvolution::Options &options, const GradientProblem &problem, double *parameters, DifferentialEvolution::Summary *summary) |
Helper function which avoids going through the interface of the pallas::DifferentialEvolution class. More... | |
void | pallas::dump (const DifferentialEvolution::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 differential algorithm due to Storn and Price: Differential Evolution - a Simple and Efficient Heuristic for Global Optimization over Continuous Spaces.
This code is based on the SciPy implementation of differential evolution found in scipy.optimize and relies on the local optimization algorithms in the Google Ceres project.
void pallas::dump | ( | const DifferentialEvolution::HistoryOutput & | h, |
HistoryWriter & | writer | ||
) |
Dumps the system state contained in the history output into the stream contained by the writer.
h | DifferentialEvolution::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 DifferentialEvolution::Options & | options, |
const GradientProblem & | problem, | ||
double * | parameters, | ||
DifferentialEvolution::Summary * | summary | ||
) |
Helper function which avoids going through the interface of the pallas::DifferentialEvolution class.
The specified options are used to setup a differential evolution 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::DifferentialEvolution::Options. Options used to configure the optimization. |
problem | pallas::GradientProblem. The problem to optimize. |
parameters | double*. The starting point for further optimization. |
summary | DifferentialEvolution::Summary*. Summary instance to store the optimization details. |