Vita
Public Member Functions | List of all members
vita::constrained_evaluator< T, E, P > Class Template Reference

The class merges a basic evaluator and a penalty function into a new combined evaluator. More...

#include <constrained_evaluator.h>

Inherits vita::evaluator< T >.

Public Member Functions

 constrained_evaluator (E, P)
 
fitness_t fast (const T &) override
 
std::unique_ptr< basic_lambda_flambdify (const T &) const override
 
fitness_t operator() (const T &) override
 
- Public Member Functions inherited from vita::evaluator< T >
virtual fitness_t fast (const T &)
 
virtual std::unique_ptr< basic_lambda_flambdify (const T &) const
 
virtual bool load (std::istream &)
 
virtual fitness_t operator() (const T &)=0
 
virtual bool save (std::ostream &) const
 
- Public Member Functions inherited from vita::cached_evaluator
virtual void clear ()
 Clear possible cached values. More...
 

Detailed Description

template<class T, class E, class P>
class vita::constrained_evaluator< T, E, P >

The class merges a basic evaluator and a penalty function into a new combined evaluator.

Template Parameters
Tthe type of individual used
Ethe basic evaluator
Pthe penalty function

The new evaluator calculates an augmented fitness of this form:

(-penalty, base fitness)

Definition at line 35 of file constrained_evaluator.h.

Member Function Documentation

◆ fast()

template<class T , class E , class P >
fitness_t vita::constrained_evaluator< T, E, P >::fast ( const T &  )
overridevirtual

Reimplemented from vita::evaluator< T >.

◆ lambdify()

template<class T , class E , class P >
std::unique_ptr< basic_lambda_f > vita::constrained_evaluator< T, E, P >::lambdify ( const T &  ) const
overridevirtual

Reimplemented from vita::evaluator< T >.

◆ operator()()

template<class T , class E , class P >
fitness_t vita::constrained_evaluator< T, E, P >::operator() ( const T &  )
overridevirtual
Returns
the fitness of the individual

Implements vita::evaluator< T >.


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