3 #include <geneial/namespaces.h>
4 #include <geneial/core/population/builder/MultiValueBuilderSettings.h>
6 geneial_private_namespace(geneial)
8 geneial_private_namespace(population)
10 geneial_private_namespace(chromosome)
13 geneial_export_namespace
16 template<
typename VALUE_TYPE,
typename FITNESS_TYPE>
17 class PermutationBuilderSettings:
public MultiValueBuilderSettings<VALUE_TYPE, FITNESS_TYPE>
20 unsigned int _permutationRoundsMin;
21 unsigned int _permutationRoundsMax;
24 PermutationBuilderSettings(
const typename FitnessEvaluator<FITNESS_TYPE>::ptr fitnessEvaluator,
25 const unsigned int num = MultiValueBuilderSettings<VALUE_TYPE, FITNESS_TYPE>::DEFAULT_NUM,
26 const unsigned int permutationRoundsMin = MultiValueBuilderSettings<VALUE_TYPE, FITNESS_TYPE>::DEFAULT_NUM,
27 const unsigned int permutationdsRoundsMax = 2 * MultiValueBuilderSettings<VALUE_TYPE, FITNESS_TYPE>::DEFAULT_NUM ):
28 MultiValueBuilderSettings<VALUE_TYPE, FITNESS_TYPE>(fitnessEvaluator, num, -1, -1),
29 _permutationRoundsMin(permutationRoundsMin),
30 _permutationRoundsMax(permutationdsRoundsMax)
34 inline unsigned int getPermutationRoundsMax()
const
36 return _permutationRoundsMax;
39 inline void setPermutationRoundsMax(
unsigned int permutationRoundsMax)
41 _permutationRoundsMax = permutationRoundsMax;
44 inline unsigned int getPermutationRoundsMin()
const
46 return _permutationRoundsMin;
49 inline void setPermutationRoundsMin(
unsigned int permutationRoundsMin)
51 _permutationRoundsMax = permutationRoundsMin;
55 virtual ~PermutationBuilderSettings()