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
38e3f40bad
cleaner numerical errors management for EDO adaptive algos
...
- Change the ill-condition continuator to use eigen decomposition of the
covariance matrix, just like in the adaptive estimator.
- Add a warning message in adaptive sampler.
2020-03-17 12:05:56 +01:00
64e14e09df
move the distrib continue in EDO adaptive algos
...
- Call the continuator right after the distribution update,
because we may have generated an ill-conditioned distribution,
which would lead to bad solution sampling.
- Reserve mem of sampled vector.
2020-03-17 12:04:02 +01:00
f68d3c1396
add an interface toward IOHexperimenter
...
Handle IOH mono-objective function and CSV logger.
2020-03-16 18:30:48 +01:00
11254b4fbd
remove eoEvalFuncCounterBounder.h from general eo header
2020-03-16 18:22:14 +01:00
80a11c7059
add a reset method to edoNormalAdaptive
...
Useful when performing restart after exception catch.
2020-03-16 18:21:25 +01:00
a5354f8ef3
add eoEvalNanThrowException
...
Wrap an evaluation function so that an exception may be thrown when the
eval function returns a bad value (Not A Number or infinity).
2020-03-16 18:20:04 +01:00
c99ed01dc6
REMOVE eoEvalFuncCounterBounder duplicate of eoEvalCounterThrowException
2020-03-16 18:19:10 +01:00
08bbf69f44
add EDO continuator checking matrices of adaptive distribution
2020-03-16 18:17:35 +01:00
c8121c788d
make_checkpoint writes stats on clog by default
...
Allow for separating logs from output of an algorithm.
2020-03-11 11:39:38 +01:00
67aaf8b025
add option to exit after make_help + fix exit code
...
- Defaults to previous behaviour, which was to exit.
- Fix the returned exit code: was 1, but should be 0, as asking for help
is not an error.
2020-03-10 09:12:39 +01:00
124701a364
expose ScalarType in eoScalarFitness
2020-03-10 09:12:01 +01:00
2da161fc85
update eoRNG to fit C++17 standard
...
ISO C++17 does not allow 'register' storage class specifier
2020-03-10 09:11:16 +01:00
6232ff2f21
add eoEvalNamedPipe
...
- a class to connect an external objective function through file(s)
- fix doc error in eoEvalCmd
2020-03-08 21:44:42 +01:00
9623f4d1f8
add missing eoEval* headers in <eo>
2020-02-09 07:09:53 +01:00
2f5a00a7ac
fix: eoEvalCmd use serialized input for the fitness instead of atof
2020-02-09 05:43:32 +01:00
ccb4b3787b
add eoEvalCmd, an eval that call a system command
2020-02-08 16:34:34 +01:00
9056ed8989
add an eoSystemError exception
...
- make members const in eoException.h classes
2020-02-06 21:55:12 +01:00
90c3e8ffa1
refactor: expose a eoHowMany::value function
2019-12-10 11:27:35 +01:00
728bc6e897
feat: get a param handle from its name
...
Useful for introspection and dynamic parameter management.
2019-12-10 11:26:09 +01:00
be782f8cfb
feat: add a sequential select that returns the best individual
2019-12-10 11:24:39 +01:00
9b887c83a6
feat: class to wrap a eoMonOp into a eoQuadOp
2019-12-10 11:20:54 +01:00
87d4f08258
eoBitOp feat: access to preference, fix: use doubles and swap
...
- Makes the `preference` member protected instead of private, which may
be used for algorithms managing their internal parameters during search.
- Replace float parameter with double, used everywhere else in the
framework.
- use std::swap instead of handmade swap.
2019-12-10 11:18:09 +01:00
e64417f2a5
BREAKING CHANGE: set standard to C++11, feat: accessor to breeder ops
...
Give an access to the operators held by a breeder.
This is needed to design algorithms that dynamically update their
internal parameters during search.
To simplify the interface, we use a returned tuple, and thus upgrade the
C++ standard to C++11.
2019-12-10 11:11:47 +01:00
646f20934e
fix back some errors inserted by previous refactoring
...
- move PBIL classes in deprecated/, superseeded by the EDO module
2019-12-06 15:58:27 +01:00
Ronaldd Pinho
aa5dbe82c6
Use relative includes in headers and absolute in code
...
- relative includes in headers
- absolute includes in exe code
- include sstream lib in eoExceptions.h
- fix ga/make_op_ga.cpp
- fix eoSGATransform.h
2019-12-06 15:15:22 +01:00
d83681d6fa
add cmake export to all targets & bugfix Find module
...
- Add "EXPORT paradiseo-targets" to cmake's "install" commands.
- Export those targets in "paradiseo-config.cmake",
which is needed by FindParadiseo.cmake script.
- Bugfix "FindParadiseo.cmake" script:
- document PARADISEO_ROOT input,
- add PARADISEO_DIR to specify a bin dir (try build, debug and release as defaults),
- bugfix bad copy pastes involving edo and peo,
- default messages only for eo, mo and meo.
2019-09-29 21:14:30 +02:00
f7608e2d51
Merge pull request #37 from ronaldpnh/master
...
README file adapted to README.md
2019-06-29 11:07:29 +02:00
ff322ba27b
fix missing API update
...
- tutorial/Lesson3 was still using the old eoStdoutMonitor interface
2019-04-19 06:52:38 +02:00