Commit graph

5,341 commits

Author SHA1 Message Date
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
934b368ed0 upgrade cmake to 3.10 required 2020-07-05 08:46:32 +02:00
f22f033d52 update the IOH interface 2020-06-09 13:43:43 +02:00
a173e10fec fix #50: add missing string header in eoFunctor 2020-06-06 10:45:13 +02:00
2599df2270 move webpage in /docs/
For compatibility with github pages and easier new user experience.
2020-05-14 17:52:37 +02:00
cf07f88eba webpage fix 2020-05-11 18:45:54 +02:00
73f0fc6bc8 webpage fix logo style 2020-05-11 10:34:10 +02:00
6f216b07b4 webpage style for printing 2020-05-10 20:03:13 +02:00
a2e69ab321 webpage even more responsive
add high res/width support
2020-05-10 15:41:16 +02:00
11fabd9313 webpage fix
- asynchronous load of logo font
- fix for high res mobile display
2020-05-10 09:58:36 +02:00
decda23977 webpage fix
- fix: use code instead of pre tags,
- hard copy instead of iframe (github compat),
- add A. Quemy tutorial links.
2020-05-09 16:08:33 +02:00
87408d1b80 move index.html at the root
enable github's webpages
2020-05-07 11:53:37 +02:00
ef7a0749d2 website: fix links 2020-05-07 11:50:52 +02:00
31b834098b webpage: add comparision to other frameworks 2020-05-07 10:57:20 +02:00
7144e38c85 Add some thought about grammar in webpage, ex. EDO. 2020-05-06 16:08:51 +02:00
f807fc7768 add quick start to the README 2020-05-06 15:27:49 +02:00
b63f634253 update README 2020-05-03 18:43:09 +02:00
5875cdabe0 small fix on website 2020-05-03 15:59:03 +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
2e23b837e4 add mininal cmaes 2020-05-03 15:31:12 +02:00
d44689a3b6 update the website page
- Single page with references to INRIA's home.
- Responsive design.
2020-05-03 14:39:11 +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
ddb261348c UPGRADE Cmake to 3.0 and set ParadisEO version to 3.0.0 2020-04-28 16:38:05 +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
b351c600da feat: add eoEvalIOHsuiteSingleDim and eoEvalIOHsuite 2020-04-27 22:01:17 +02:00
4110534122 fix: better dimension management in edo/adaptive operators 2020-04-27 22:00:10 +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
961ccca934 fix wrong const in adaptive distribution 2020-04-26 23:59:39 +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
a757dad270 feat: make eoEvalIOHproblem generic
- rename with suffix "problem", to distinguish from "suites",
- use the observer interface instead of the csv_logger one,
2020-04-12 10:07:35 +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