pass::optimiser Class Referenceabstract

#include <optimiser.hpp>

Inheritance diagram for pass::optimiser:

Public Member Functions

 optimiser (const std::string &name)
 
virtual optimise_result optimise (const pass::problem &problem)=0
 

Public Attributes

double acceptable_fitness_value
 
arma::uword maximal_iterations
 
arma::uword maximal_evaluations
 
std::chrono::nanoseconds maximal_duration
 
const std::string name
 

Detailed Description

Interface for algorithms that approximate a solution to a pass::problem. Subclasses need only implement optimise.

Constructor & Destructor Documentation

◆ optimiser()

pass::optimiser::optimiser ( const std::string &  name)

Initialises an optimiser with its own name

Member Function Documentation

◆ optimise()

virtual optimise_result pass::optimiser::optimise ( const pass::problem problem)
pure virtual

Optimises problem, storing the result and performance characteristics of the optimisation in the returned optimise_result.

Implemented in pass::parallel_swarm_search, pass::particle_swarm_optimisation, and pass::random_search.

Here is the caller graph for this function:

Member Data Documentation

◆ acceptable_fitness_value

double pass::optimiser::acceptable_fitness_value

The optimiser will stop early if it finds a agent that evaluates to a value less than or equal to acceptable_fitness_value.

Initialised to -infinity.

◆ maximal_duration

std::chrono::nanoseconds pass::optimiser::maximal_duration

The maximal elapsed time before the optimiser stops.

Initialised maximum time std::chrono::system_clock::duration::max().

◆ maximal_evaluations

arma::uword pass::optimiser::maximal_evaluations

The maximal number of evaluations before the optimiser stops.

Initialised to the maximum value representable with arma::uword.

◆ maximal_iterations

arma::uword pass::optimiser::maximal_iterations

The maximal number of iterations before the optimiser stops.

Initialised to the maximum value representable with arma::uword.

◆ name

const std::string pass::optimiser::name

Identify every optimiser with its own name


The documentation for this class was generated from the following files: