Commit graph

519 commits

Author SHA1 Message Date
maartenkeijzer
665e20b0f8 Changed a few things in the eoPerf2Worth classes, EO.h and eoSelectOne.h are functionally unchanged 2001-03-21 10:55:22 +00:00
maartenkeijzer
9bbac485f9 Updated eoStat.h to also "do the right thing" when confronted with pareto style fitness 2001-03-20 14:34:07 +00:00
maartenkeijzer
11cdd38f24 added help 2001-03-16 14:19:11 +00:00
maartenkeijzer
3c45141ba7 Now look how perty t-eoPareto has become (though it doesn't do a proper mo modelling yet) 2001-03-16 14:09:55 +00:00
maartenkeijzer
548b2ae528 Some bugfixing in MO optimization and added empty check: target in tutorial 2001-03-16 13:11:32 +00:00
maartenkeijzer
2dd807ecbe oops, ngens is now the nice 10 2001-03-16 12:09:36 +00:00
maartenkeijzer
d09c216b61 Ok, made an eoParetoFitness class, which meant that I could roll back a few changes in EO.h (phew).
Also changed eoSelectFromWorth etc.
2001-03-16 12:08:26 +00:00
maartenkeijzer
cf8f6b5c16 added 2001-03-16 11:48:32 +00:00
maartenkeijzer
d0fd97515e added dist and distdir targets 2001-03-15 14:11:24 +00:00
maartenkeijzer
67c3575873 Using nd-sorting now 2001-03-14 12:47:14 +00:00
maartenkeijzer
9aa9e38090 First go, does not do niching yet 2001-03-14 12:46:37 +00:00
maartenkeijzer
843d442475 OOPS, that was a major bug, letting non-dominating individuals dominate one another. 2001-03-14 11:58:47 +00:00
maartenkeijzer
fe89662e3c t-eoPareto now plots the evolving population and t-eoRandom check is slightly more strict 2001-03-14 10:14:27 +00:00
maartenkeijzer
3798b665d4 Added support for printing vector<T> as a fitness 2001-03-14 10:13:27 +00:00
maartenkeijzer
68904d7650 Added Multi-objective fitness monitoring added support for vector<vector<double> > in eoParam
and made eoFileSnapshot type-safe
2001-03-14 10:12:37 +00:00
maartenkeijzer
3449314a28 Swapped linking order of utility libs 2001-03-13 08:25:05 +00:00
evomarc
b2a0349595 Just modified an wrong comment (after a too quick cut-and-paste) 2001-03-13 05:25:51 +00:00
maartenkeijzer
b917e54486 Production of binop back to 1 2001-03-12 16:07:55 +00:00
maartenkeijzer
6a6b8551b0 Added first batch of pareto based stuff 2001-03-12 16:04:18 +00:00
maartenkeijzer
3c19641c70 Added pareto based stuff 2001-03-12 16:03:08 +00:00
maartenkeijzer
4222e64829 EO: added overloaded printing of fitness (for vectors and pairs)
Various bugs and ommissions in eoPerf2Worth and eoSelectFromWorth
2001-03-12 16:00:58 +00:00
maartenkeijzer
492899bfb2 invalidating supported now 2001-03-12 14:27:31 +00:00
maartenkeijzer
ead2ac2c62 Changed the populator to be a) more efficient and b) more useable
It is no longer derived from eoPop, it now gets a destination population.
This saves a lot of copying. The semantics has changed a little as well. It is
now an _infinite_ iterator. operator++ will *not* dispense new individuals, but
will merely stay at the end. To get a new indy, use operator*() as before.

eoEasyEA now checks the checkpoint *after* making a generation and clears the offspring
eoGeneralBreeder is changed to reflect the changes in eoPopulator
eoSequentialSelect now uses setup() rather than init()
2001-03-10 14:02:23 +00:00
maartenkeijzer
a27aa7112a Test for a ssga added. 2001-03-09 14:14:53 +00:00
maartenkeijzer
4388faec2e Various bugs found and resolved. 2001-03-09 14:13:28 +00:00
maartenkeijzer
4f1802c4e9 radically simplified the Makefile.am, but this only works for headers (no idea what the problem is with sources) 2001-03-08 13:38:41 +00:00
maartenkeijzer
00c7a10cb0 put using eo::rng in top of file to help out gcc 2.91 2001-02-27 11:45:31 +00:00
maartenkeijzer
7eecd318f9 swapped order of libeo and libeoutils, gcc 2.91 did not like it 2001-02-27 11:44:28 +00:00
maartenkeijzer
ef75dbc2ee Made dtor virtual 2001-02-27 11:43:06 +00:00
evomarc
59a42603af Still modifying eoInit ... 2001-02-27 05:24:24 +00:00
evomarc
72b6692f9b Modified all init sequences in Lesson2 and Lesson3 - and all corresponding
files in html dir - after the return of eoRndGenerators and subsequent
modifications of eoInit
2001-02-27 05:09:10 +00:00
maartenkeijzer
a79075f673 Modified eoInit so that it would use the eoRndGenerator base class.
To be able to use the primitive std::generate function, added a
set of wrappers in eoSTLFunctor.h that have the copy semantics most
STL functions expect (namely pass-by-value rather then pass-by-reference).

Updated test/Makefile.am to also test t-eoRandom
2001-02-19 12:23:13 +00:00
evomarc
e28211188a Date and version number 2001-02-18 06:41:30 +00:00
evomarc
f36f6d1265 Added the eo::rng (instead of rng) as default parameter to all calls.
Also t-eoRandom was abruptly aborting-> a min was greater than a max, and
exceptions were not being caught.
2001-02-18 04:34:57 +00:00
maartenkeijzer
025eb736ee eoVector is back (eoFixedLength and eoVariableLength are gone)
Also: introducing eoRndGenerators.h for eoRndGenerator derived classes:

  eoNormalGenerator
  eoUniformGenerator
  eoBooleanGenerator
  eoNegExpGenerator

Note the suffix that are added to aid in determining what these classes do
2001-02-17 10:51:31 +00:00
evomarc
e0ace0794f Now takes into account the last (and last!) modification of the operator interace:
no more invalidate, but a bool returned for simple operators, and a better description
of the eoPopulator/eoOpContainer links.
2001-02-17 08:22:53 +00:00
evomarc
a403525af0 Forgot the selector in the ctor 2001-02-17 06:47:31 +00:00
evomarc
1662fd2a8b Modified crossover and mutation to account for the new interface (bool ...)
Added the genop.tmpl, template for general op, 3 cases, growing pop,
shrinking pop through erase, thrinking pop through extra selector
2001-02-17 06:42:20 +00:00
evomarc
83e883a158 Added oine star at start of comment to have Doxygen process it !!! 2001-02-16 18:00:18 +00:00
maartenkeijzer
70d9804277 works for me 2001-02-16 09:39:06 +00:00
evomarc
7e849e2082 The perf2worth major check in
2 new important classes: eoPerf2Worth and eoSelectFromWorth
Instances of eoPerf2Worth are eoRanking and eoLinearFitScaling.
Coming soon (piece of cake now) are the niching strategies (sharing, clearing)
2001-02-16 08:21:25 +00:00
evomarc
da8b467b12 Only names modifications, to comply to EO strict rules :-) 2001-02-16 05:06:17 +00:00
maartenkeijzer
0540496021 reverted the max-to-produce initializer 2001-02-15 08:31:38 +00:00
evomarc
562b0b63e3 Changed the default values for popsize, vecsize and maxgen so
the user has a chance to see something even on Pentium 10GHz :-)
2001-02-15 05:36:28 +00:00
evomarc
9dbb516d8b Modified the comments so that all callses are documented by Doxygen
(a comment starting with // before the class definition is not taken into account)
Also updated the initial overall comment -
and waouw, doxygen generates links there, too! Cool.
2001-02-15 05:35:31 +00:00
evomarc
bf0e84fc56 A few minor corrections (and some comments) after Maarten big commit 2001-02-15 04:47:18 +00:00
maartenkeijzer
2ff2b66fdd updated the dsp, dsw files for the library 2001-02-14 18:05:36 +00:00
maartenkeijzer
98a9f24879 no need to keep these test functions here, will start new project in /test 2001-02-14 18:01:30 +00:00
maartenkeijzer
8ce0e6bb2a Changed the return value to return what it got in 2001-02-14 14:09:16 +00:00
maartenkeijzer
3a9b5a0e7e Well, what do you know, major commit.
Changed the signature of eoMon, eoBin and eoQuadOp to return a bool,
without invalidating fitness. Added a set of invalidators to take over
that job (see for instance eoSGA and eoSGATransform how this can transparantly used)

Derived eoState from eoFunctorStore (for convenience, from a design perspective this may sound wrong)

Added a wrap_op function that does the wrapping for you (see eoOpContainer how this made this functor
exceedingly less hairy). Checked all the tests removed the eoGeneric*Op family (not needed anymore)
and of course changed all the operators to reflect the change (and found a few that didn't
invalidate the fitness, thus really pointing out the advantage of the current approach)
2001-02-14 10:35:26 +00:00