dignea  1.0.0
Diverse Instance Generator with Novelty Search and Evolutionary Algorithms
FIGA.h
1 //
2 // Created by amarrero on 11/1/21.
3 //
4 
5 #ifndef __DIGNEA_FIGA_H__
6 #define __DIGNEA_FIGA_H__
7 
9 #include <dignea/core/Crossover.h>
10 #include <dignea/core/Mutation.h>
11 #include <dignea/core/Solution.h>
14 #include <dignea/utilities/random/PseudoRandom.h>
15 
23 template <class S>
24 class FIGA : public AbstractGA<S> {
25  public:
26  FIGA();
27 
28  virtual ~FIGA() = default;
29 
35  string getName() const override { return "One-vs-One Genetic Algorithm"; }
41  string getID() const override { return "1vs1-GA"; }
42 
43  protected:
44  void updateProgress() override;
45 };
46 
52 template <class S>
54  this->replacement = make_unique<FirstImprove<S>>();
55 }
56 
62 template <class S>
64  this->performedEvaluations += this->populationSize;
65 }
66 
67 #endif //__DIGNEA_FIGA_H__
Class to represent an Abstract Genetic Algorithm. Base skeleton is defined here, to extend in particu...
Definition: AbstractGA.h:38
unique_ptr< Replacement< S > > replacement
Definition: AbstractGA.h:101
Class to represents a First Improve Genetic Algorithm (FIGA). This algorithms differentiate from othe...
Definition: FIGA.h:24
void updateProgress() override
Updates the performed evaluations to the population size on each call.
Definition: FIGA.h:63
string getName() const override
Get the Name.
Definition: FIGA.h:35
string getID() const override
Get the ID of the algorithm.
Definition: FIGA.h:41
FIGA()
Creates a RAW FIGA instance.
Definition: FIGA.h:53