Commit graph

1,375 commits

Author SHA1 Message Date
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