Commit graph

2,112 commits

Author SHA1 Message Date
Johann Dreo
7f2e591891 fix default pop size 2020-10-02 16:19:49 +02:00
Johann Dreo
f24efdd770 fix offspring_size versus pop_size mistake 2020-10-02 16:01:02 +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
367a8c8ab1 easier interface for fastga in irace contrib 2020-09-22 15:42:49 +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
Amine Aziz-Alaoui
5d3253ef7a add two FastGA tests 2020-09-21 18:05:40 +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
Amine Aziz-Alaoui
6e8767515c add some help to fastga irace contrib 2020-09-21 17:39:11 +02:00
Amine Aziz-Alaoui
2c1ff1cb33 First version of the irace API 2020-09-21 16:21:53 +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
78be884270 fix wrong licenses 2020-04-12 10:10:53 +02:00
3cec9cde12 fix missing headers 2020-04-12 10:10:28 +02:00
d03f2abb46 feat: add a new operator: eoAlgoReset
- Used in eoAlgoRestart, useful if one wants to reset some things before a
restart.
- Add operators to reset a pop (EO) and a distrib (EDO) and a wrapper to
combine several reset operators.
2020-04-12 10:04:46 +02:00
412e054933 feat: add an eoAlgoFoundry interface
Mainly expose the "algo = encoding" entrface.
2020-04-12 10:02:25 +02:00
ccb6bbed7c comment out useless tuple_printer 2020-04-02 16:39:01 +02:00
c8c8987174 fix: missing return in tuple 2020-04-02 16:38:50 +02:00
a436fb3fa0 feat: add algo foundry and eval foundry
Necessary machinery to perform automatic algorithm selection
based on the grammar defined by EasyEA and
the vocabulary defined by sets of parametrized operators.
2020-03-30 17:37:04 +02:00
c281440cfe better indent 2020-03-30 17:36:38 +02:00
dd8aa6df37 add eoAlgoFoundryEA 2020-03-29 18:32:25 +02:00
2183ee688b fix eoForge*
- fix memory allocation in forges.
- fix empty variadic tuples when handling constructors without arg.
- remove eoForgeMap.
2020-03-29 17:45:42 +02:00