Commit graph

339 commits

Author SHA1 Message Date
maartenkeijzer
ebca71e228 NDSorting: changed exact ranking values to make check for front easier
eoRNG: changed nothing (did some debugging)
2001-03-26 10:09:40 +00:00
maartenkeijzer
94f0558d43 Changed the single objective shortcut calculation 2001-03-22 10:51:16 +00:00
jmerelo
8ff63ff776 Added a new xover to varlenxover 2001-03-21 13:35:10 +00:00
jmerelo
d8fe00183a Added a new atommutator to Variable Length, and corrected some headers which had problems 2001-03-21 13:09:47 +00:00
jmerelo
06dd2dc314 Moved epAtom* out of the obsolete dir; added some CVS headers to some files, and made everything work with my elipse classes 2001-03-21 12:10:13 +00:00
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
548b2ae528 Some bugfixing in MO optimization and added empty check: target in tutorial 2001-03-16 13:11:32 +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
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
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
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
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
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
ef75dbc2ee Made dtor virtual 2001-02-27 11:43:06 +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
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
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
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
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
jmerelo
0dd3e27e4e Moved out of the 'obsolete' directory a couple of honest classes, which didn't harm anybody; activated also in Makefile.am the program that tested them 2001-02-13 22:35:07 +00:00
maartenkeijzer
07bc61e694 Added a bit more documentation, more to follow (I hope) 2001-02-13 14:43:54 +00:00
maartenkeijzer
262869d0ae fixed a bug: the parser now correctly parses parameters of the form
-Pvalue

This will now produce 'value'. The buggy parser would parse 'alue' here. I am truly and deeply
ashamed to have created such an off-by-one error.

Marc assumed this was wanted behaviour (so that it should read: -P=value)
I must admit that this is a logical conclusion, though it was merely a side-effect
of the error. To not force Marc to rewrite the tutorial and his way of working with
EO, I decided to make a feature out of the bug, so that now the parser will parse:

-Pvalue
-P=value

and of course the true and blue:

-Parameter=value

I will now go and check if I sent out some crappy papers caused by this bug (as I've been using eo!)
2001-02-13 12:38:19 +00:00
maartenkeijzer
dea8a51f7e Ok, updated the Makefile.am again to use the
make check

Command I picked up in the automake documentation (RTFM, you know)

Tagged a lot of header functions in the GnuPlot files with 'inline',
so they can be used from more than one sourcefile.

Ok, now the interesting news. Started a new library libga (not to be confused
with Matthew's GaLib). Here I suggest we put a fairly complete and configurable
genetic algorithm. Just to see how far we can stretch ourselves and also to have
a GA-componenent that can be used in other applications without having to rebuild
the entire thing. test/t-eoGA.cpp tests this library
2001-02-12 13:58:51 +00:00
maartenkeijzer
4aed181311 Removed small bug in reading outside a buffer in eoParser::readFrom
This caused the parser to crash when a simple flag of the form program -f
was given.
2001-02-11 16:25:03 +00:00
jmerelo
3c2df139bd Minor bugs for Win quashed; fixed Win project files 2001-02-09 16:52:06 +00:00
evomarc
b893445d31 Added a comment before eoPopulator class so it is documented! 2001-02-09 08:32:47 +00:00
evomarc
890218e270 Removed eoEvolutionStrategy because it was based on eoGeneralOp old interface 2001-02-09 05:28:33 +00:00
evomarc
d347fa9da2 Because it has not extension, I had forgotten to update the eo file itself!
Now reflects the change of eoGenOp interface and the changes of names in ga
2001-02-09 05:25:25 +00:00
evomarc
09b669ed46 Added the GnuPlotSnapshotMonitor, the eoScalarFitnessStat and eoFDCStat in checkpointing 2001-02-09 05:21:04 +00:00
evomarc
3b2125e060 Left-out from the big change of general op interface! 2001-02-09 05:10:25 +00:00
evomarc
415b419671 The BIG change of general operator interface
I also changed
  - the eoQuadratic into eoQuad (as dicussed with Maarten)
  - the eoBin into eoBit, with more appropriate names for the "binary"
    operators (that can be unary!) as no one protested when I posted on
    eodev list
2001-02-09 05:09:26 +00:00
evomarc
1b681e4e0d Added the missing include of eoScalarFitness - mandatory due to
explicit specialization for eoParamValue<vector<eoMinimizingFitness> >
2001-02-07 05:15:18 +00:00
evomarc
d3525298fe Added the handling of generic operators in Combined Ops 2001-02-07 05:13:33 +00:00