3 #include <geneial/namespaces.h>
5 geneial_private_namespace(geneial)
7 geneial_private_namespace(operation)
9 geneial_private_namespace(replacement)
12 geneial_export_namespace
14 class BaseReplacementSettings
25 REPLACE_ALL_OFFSPRING, REPLACE_FIXED_NUMBER
26 } replace_offspring_mode;
28 static const BaseReplacementSettings::replace_offspring_mode DEFAULT_REPLACEMENT_MODE = BaseReplacementSettings::REPLACE_ALL_OFFSPRING;
29 static const unsigned int DEFAULT_AMOUNT_TO_REPLACE = 0;
30 static const unsigned int DEFAULT_AMOUNT_ELTISIM = 1;
32 BaseReplacementSettings():
33 _mode(DEFAULT_REPLACEMENT_MODE),
34 _amountToReplace(DEFAULT_AMOUNT_TO_REPLACE),
35 _amountElitism(DEFAULT_AMOUNT_ELTISIM)
40 explicit BaseReplacementSettings(
const replace_offspring_mode mode,
const unsigned int amountToReplace = 0,
const unsigned int amountElitism =
42 _mode(mode), _amountToReplace(amountToReplace), _amountElitism(amountElitism)
46 unsigned int getAmountToReplace()
const
48 return _amountToReplace;
51 void setAmountToReplace(
const unsigned int amountToReplace)
53 _amountToReplace = amountToReplace;
56 replace_offspring_mode getMode()
const
61 void setMode(
const replace_offspring_mode mode)
66 unsigned int getAmountElitism()
const
68 return _amountElitism;
71 void setAmountElitism(
const unsigned int amountElitism)
73 _amountElitism = amountElitism;
76 replace_offspring_mode _mode;
77 unsigned int _amountToReplace;
78 unsigned int _amountElitism;