Commit graph

5,318 commits

Author SHA1 Message Date
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
7a6f9a640f feat: add an accessor to eoEvalIOH
Useful for using ParadisEO with IOHexperimenter's suites
without having to do costly reallocation of operators.
2020-04-02 16:37:36 +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
1fdd977408 fix: use distance instead of hoping for pointers arithmetics
just in case
2020-03-29 17:41:52 +02:00
25dc4b655f remove a warning 2020-03-29 17:40:50 +02:00
98802f00a1 fix CPack use README.md 2020-03-29 17:40:22 +02:00
30c99f290f first example of automatic algorithm assembling
- add "Forges" tools, to wrap several operator with deferred
instanciation.
- add t-forge-algo to show how to enumerate several algorithms instances
from a common grammar and several alternative operators.
- add several missing className().
2020-03-27 15:59:49 +01:00
eba2e14950 use eoExceptions everywhere 2020-03-27 00:48:23 +01:00
75ac37b02a fix some errors in tests
- use eoEvalCounterThrowException
- use make_help
2020-03-26 22:47:26 +01:00
6aeb74f6e0 refactor exceptions 2020-03-26 22:46:52 +01:00
3b01169726 refactor exceptions and exceptions hierarchy 2020-03-26 07:53:23 +01:00
0332920d63 several fix of minor warnings 2020-03-25 14:46:23 +01:00
1cdbb036d3 add a dimension accessor to eoInitFixedLength
Useful to avoid divergence on indiv size in auto makers.
2020-03-25 14:43:36 +01:00
193ea83eb3 feat: add a way to print a message at each stop criterion call 2020-03-24 23:01:06 +01:00
98501e0dd4 feat: add an algo that manage restarts
Reset the pop for you, then call the algo, until continue.
2020-03-24 18:25:25 +01:00
40fb64a5aa feat: add a dummy continue, always returning true.
Useful in do_make* when no continue may be instanciated.
2020-03-24 16:37:30 +01:00
e389294cbb feat: EDO add combinable estimators
Useful to edit the distribution during init, restart or even search.
2020-03-24 16:35:49 +01:00
77921fea0c feat: add initializer list interface to eoFunctorStore
Easier to use while state initialize combined operators.
2020-03-24 16:34:01 +01:00
e0e1cb8bc9 feat: separate estimators for init and in loop in edoAlgoAdaptive
Allows for easier reseting or editing of distribution during
restarts.
2020-03-24 16:31:49 +01:00
ab740b2a72 add a monitor to print on eo::log at given level
- add eoTimedMonitor missing header
2020-03-24 16:27:58 +01:00
7e766f848d add eoStoreFunctor::pack to allocate & store in one line
Instead of calling `new`, then `state.storeFunctor`, the user can just call
`Class& inst = state.pack< Class >( params )` in one line.

Use C++11's variadic templates.
2020-03-22 18:57:50 +01:00