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
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
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
77921fea0c
feat: add initializer list interface to eoFunctorStore
...
Easier to use while state initialize combined operators.
2020-03-24 16:34:01 +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
11254b4fbd
remove eoEvalFuncCounterBounder.h from general eo header
2020-03-16 18:22:14 +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
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