9a10e818bc
fix missing header inclusion
2021-01-19 18:18:27 +01:00
3d48db9f4a
fix irace: use categorical config for operator lists
...
Keep metric integer config for numeric parameters.
Thanks to Manuel López-Ibáñez for suggesting the fix.
2020-11-13 09:34:50 +01:00
a227e071f9
count eval after calling the objective function
2020-10-09 16:41:16 +02:00
5cb7bfd317
declutch restart in FastGA foundry
2020-10-09 16:40:38 +02:00
6d465c6c2f
fix FastGA mutation invalidation
2020-10-09 16:19:04 +02:00
0f4dbf3a13
fix template change of eoBooleanGenerator
2020-10-09 16:17:49 +02:00
0665cc02f5
fix: do not count two times the evaluations in eoEvalCounterThrowException
2020-10-09 16:15:44 +02:00
34eadef7a2
feat: add eoEvalPrint
2020-10-09 14:53:53 +02:00
08b826c81b
feat: more useful FastGA foundry name()
2020-10-09 14:21:12 +02:00
3d6821a97c
fix: add template to eoBooleanGenerator
...
In order to be able to generate boolean within int types.
2020-10-09 14:09:45 +02:00
da4118142f
add some missing className
2020-10-09 13:33:43 +02:00
Johann Dreo
7ca5b6c0d0
remove FastGA foundry last evals, more logs, fix some typos
2020-10-08 15:26:07 +02:00
e975f0f388
fix eoDetSingleBitFlip num_bit setting
...
- remove the reference in the constructor, which is error prone because
not explicit.
- replace it with an explicit setter.
- add an assert to check that num_bit is consistent at call.
2020-10-07 15:53:36 +02:00
be230c34cd
feat add a debug log for restarts
2020-10-06 17:53:37 +02:00
3f61b43576
fix eoProportionalSelect: fallback to last solution
2020-10-06 15:07:23 +02:00
Amine Aziz-Alaoui
75f1d9524f
fix offspring/pop misconception in FastGA foundry
2020-10-02 17:38:44 +02:00
Amine Aziz-Alaoui
8fa2270ffd
update the irace interface with the new FastGA foundry
...
- fix: comment out useless rparamsin irace config
2020-10-01 11:50:57 +02:00
Amine Aziz-Alaoui
560dedbef0
feat update eval foundry for fastga
2020-09-30 15:06:48 +02:00
Amine Aziz-Alaoui
40c80eda45
feat: adds a FastGA algo, update the Foundry
2020-09-30 09:47:02 +02:00
Amine Aziz-Alaoui
93da7a8dae
fix wrong doc for algo foundry
2020-09-22 15:42:31 +02:00
Amine Aziz-Alaoui
70f21e95cf
add a parameter to make_help to inidicate output
2020-09-22 15:42:05 +02:00
Amine Aziz-Alaoui
5d6f87c98c
add missing eval foundry for fastga
2020-09-22 15:41:13 +02:00
7512ed0635
add missing header in a test
2020-09-21 18:05:08 +02:00
Amine Aziz-Alaoui
3f4d9bf728
fix foundry encoding
...
- remove normalization, use direct encoding in foundries
- add fastGA in <eo>
2020-09-21 17:45:13 +02:00
a6c68f324a
add templatized version of eoM**imizingFitness
...
Called eoM**imizingFitnessT, so as to not break up ascendent
compatibility.
2020-09-21 17:41:35 +02:00
8f949409e7
add a scalar template to eoInt
...
Some applications may want size_t instead of a siméle int, for
example.
2020-09-21 17:40:49 +02:00
41e3d8a648
fix eoProportionalSelect for negative fitnesses
2020-08-31 11:13:19 +02:00
1d092a5840
fix using resize in eoPerf2Worth
...
use copy instead, to avoil empty containered EOTs
2020-08-26 12:01:10 +02:00
fca55505d8
depreciate CUDACC
2020-08-26 12:00:29 +02:00
e2bf3ec3c0
allow eoBit to be templatized on its value type
...
This helps avoiding the infamous std::vector<bool> specialization,
which (wrongly) exchange space for speed.
2020-08-26 11:58:46 +02:00
d460b68500
add static branching in minimizing_fitness
...
This allows for EOT with empty constructors,
if they use eoM[in|ax]imizingFitness fitnesses.
Of course this is faster in that case.
2020-08-26 11:57:11 +02:00
efa6567359
add FastGA foundry and eoStandardBitMutation variants
2020-07-09 11:10:43 +02:00
1cdb134ee2
feat: add a binomial distribution to eo::rng
...
Note: use the most naive algorithm, should be a rejection one.
2020-07-05 18:00:51 +02:00
75c2c6ab76
fix eoDetSingdeBitFlip: better algorithm
...
The old version was inefficient, using trial and errors.
This new version is a single pass algorithm.
2020-07-05 17:59:30 +02:00
a173e10fec
fix #50 : add missing string header in eoFunctor
2020-06-06 10:45:13 +02:00
ae81793f7c
refactor: add eoOperatorFoundry
...
- Simpler relationships between encoding and set of operators in foundry.
- Rename "instanciate" in "instantiate"
2020-05-03 15:31:25 +02:00
9d3c848dfb
fix even more warnings and reduce some tests runtimes
...
tested under gcc and clang
2020-04-28 17:41:50 +02:00
8ad56f7ad3
fix more warnings
2020-04-28 16:37:48 +02:00
24bc8edd6f
fix new warnings and escape apply namespace
...
- `std::apply` is part of C++17 and the compiler wants to use it because
of ADL. Thus it is now necessary to escape it as `::apply`.
- remove some `using namespace std` remaining in the sources.
- fix simple warnings.
2020-04-28 15:56:14 +02:00
c95f5607d8
feat: add an intermediate layer of init with dimension
2020-04-28 15:55:28 +02:00
2fa245e833
UPGRADE to C++17, because of metaprogramming in eoForges
...
Avoiding the use of make_from_tuple would be too error-prone.
2020-04-28 15:53:14 +02:00
23f6e68d34
fix: pass everything by copy in forges
...
- Only way to avoid references to out-of-scope variables.
- Add warnings everywhere in documentation to enforce using std::ref.
2020-04-27 21:40:35 +02:00
d27aad810d
fix: use perfect forwarding in forges
...
- Avoid some cases of implicit copy instead of correct reference
forwarding.
- Use C++-17's make_from_tuple instead of the previous complex machinery.
2020-04-26 23:58:03 +02:00
dff32c9a96
fix: get rid of the old "register" keyword in eoRng
2020-04-22 08:00:56 +02:00
ee5e1a36f6
fix: doc and warnings
2020-04-22 08:00:28 +02:00
4d51fb8132
feat: initialization of eoVector from std::vector
...
Useful to brace-init hard-coded vectors.
2020-04-22 07:58:52 +02:00
5a64a1755a
feat: encoding accessor in foundry & less constrained forge setup
...
Allow forge setup to be called on nullptr and have an empty constructor
setup. Useful to build up forge vectors in one pass instead of add/setup
loops.
2020-04-22 07:55:56 +02:00
13d62d0445
feat add cache management to forges
...
- Disabled by default, because dangerous on statefull operators.
- More doc.
2020-04-20 15:26:51 +02:00
78b0aed928
fix algo reset combination
2020-04-20 13:15:12 +02:00
11ff72bdd9
fix: refactor foundry to be more dynamic than static
...
- Remove size template in favor of dynamic container: allow using the
generic interface.
- Using `operator=` was inducing slicing.
2020-04-12 16:26:37 +02:00