Commit graph

117 commits

Author SHA1 Message Date
evomarc
d7c3d973c7 Small modifications here and there to be MSVC++ compatible
Mainly, time.h -> ctime
        definition of loop index out of loops when multiply used
        no typename in declaration using template typename
2001-11-10 09:02:17 +00:00
evomarc
a5e3abd9f6 Added the #pragma directive for MSVC++ in all .cpp 2001-11-10 06:59:02 +00:00
evomarc
58f5fd2f61 Added method
eoParam* getParamWithLongName(std::string _name);
so now you can get a parameter in another place than where it was defined
just by giving its name
2001-11-05 16:38:52 +00:00
jeggermo
4584fda53d Some changes for using EO with libstdc++V3 and gcc-3.01 2001-10-25 10:39:55 +00:00
evomarc
af05dfacb9 Added MAXFLOAT and MINFLOAT as it seems that Cygwin needs that ??? 2001-10-18 05:30:45 +00:00
evomarc
f2c21bdc0b Removed trailing text after #endif - causes warning on many compilers 2001-10-08 09:14:15 +00:00
evomarc
30616fca42 Forgot to double also the parameter to initialize in the Ctor! 2001-10-05 03:56:21 +00:00
evomarc
f4efc65994 Modified the reseed method in RNG class so two different seeds give different
sequences, after Jeroen's remark (jeggermo@liacs.nl)
2001-10-05 03:51:15 +00:00
evomarc
d0d14c3ff8 Removed trailing string after #endif - it generates a lot of useless warning
on some versions of g++
2001-09-08 05:59:17 +00:00
evomarc
e79edcffe7 Added make_help in checkpointing, included stdexcept in eoParam. Comments
updates ...
2001-09-04 06:43:19 +00:00
evomarc
62dfe13c3a Spotted and commented (but NOT corrected :-( a bug in case the ResDir
exists and is empty
2001-09-04 06:41:34 +00:00
evomarc
4f642f848e Corrected wrong arguments for the 2D Ctor 2001-09-04 06:40:28 +00:00
evomarc
0286faed1b Removed remaining debugging comment 2001-05-18 03:59:22 +00:00
jmerelo
34cb430bd7 Added Royal Road, MGE now work with it, small modifications to eoPopStat 2001-05-11 10:44:01 +00:00
evomarc
09388c8ed5 Bing change in eoRealBounds: it is now deriving from eoPersistent.
More important, the eoRealVectorBounds, vectorized version (a vector<eoRealBounds *>
has also become an eoPersistent object and now derives from an eoRealBaseVectorBounds
class.
A useful consequence (and actual motivatino) was to be able to have soem
eoValueParam<eoRealVectorBounds> with all possibilities for input
(see doc for Lesson4 in the tutorial for the syntax).
2001-05-08 04:41:51 +00:00
evomarc
42cb1981d5 In eoParser::readFrom, added a test to avoid reading non-parser sections
as these generally contain many -xxx that generate a reading error
when xxx is not a keyword.
This allows to use State-savec files directly as parameter files
2001-05-08 03:49:35 +00:00
evomarc
0aa6a235ef Replaced stupid eoRateParam by eoValueParam<eoHowMnay>
Had to transform eoHowMany into an eoPersistent ...
2001-05-07 07:13:36 +00:00
evomarc
5508869d00 A full working version of ES is now available in tutorial/Lesson4,
that makes full use of libes.a.
The user guide is in Lesson4 of the tutorial - programmer's guide
will come later.
Plus many small changes here and there
2001-05-04 16:51:29 +00:00
evomarc
f4d2630516 Corrected a problem in eoEsChromInit (it refused plain eoReal) + some
other minor modications (e.g. a dir in make_checkpoint where ALL file
will go).
2001-05-03 17:20:27 +00:00
evomarc
5bea22e876 Some changes in names, before too many users have to modify their code :-)
Changed es.h in src/es into make_es.h (was ambiguous with src/es.h)
Changed the interface of make_genotype - now templatized by the EOT
and not the fitness - this is mandatory for ES genoptypes as it allows to
choose the type of gentype at run-time (from existing types, of course!)

Also moved make_help.cpp into utils dir (otherwise you'd had to maintain
a copy into each representation dir!).
2001-04-30 13:24:42 +00:00
evomarc
d90286d890 Some changes in names, before too many users have to modify their code :-)
Changed es.h in src/es into make_es.h (was ambiguous with src/es.h)
Changed the interface of make_genotype - now templatized by the EOT
and not the fitness - this is mandatory for ES genoptypes as it allows to
choose the type of gentype at run-time (from existing types, of course!)

Also moved make_help.cpp into utils dir (otherwise you'd had to maintain
a copy into each representation dir!).
2001-04-30 13:01:07 +00:00
evomarc
a7042bffee Added bounds to the real operators in make_XXX (and hence in t-eoReal) 2001-04-28 05:47:18 +00:00
evomarc
4968d64b05 Doing libes.a in src/es and adding t-eoReal.cpp in test
I had to move eoRealBounds to utils dir because of global objects
Some domino consequences here and there ...
2001-04-26 15:24:53 +00:00
evomarc
511dc26623 Changed obscure comment into more detailed one 2001-04-24 09:42:01 +00:00
evomarc
56c9464306 The new libga
Apart from big changes in the src/ga dir, and the addition of the src/do dir
it also generated a few changes here and there, e.g. some include file still
missing. Also removed some warning from some test files.
2001-04-24 04:52:04 +00:00
evomarc
e71aea497f Few cosmetic modifs:
put the #define of some boolean in eoData.h
   added some include that were missing (unnoticed because of include<eo>)
   some checks in eoXXXTournamentSelect
2001-04-13 08:57:40 +00:00
evomarc
369ef17081 Modified the default behavior of eoCountedStateSaver to save the final population.
So if you don't want any population save, don't use any eoCountedStateSaver.
2001-04-12 05:35:05 +00:00
evomarc
64990a1ac4 Changed all variables named howmany into combien (French for how many)
because of a silly problem on Solaris (howmany seems to be some macro???)
2001-04-11 12:01:51 +00:00
evomarc
28c6b9a285 Modified printOn so that parameters that are not set explicitely by the user
are commented out - but still appear. Uses the (now public and pure virtual
in the base class eoParameterLoader) method isItThere.
2001-04-11 04:44:39 +00:00
evomarc
eafaa2d65e Added the pure virtual isItThere method in base class eoParameterLoader
Also made the corresponding isItThere method in eoParser public.
This allows one to test if the user did actually input a given parameter
and thus not to write it in the output if not - as we want the output
of printOn to be "as identical as possible" to the actual user input
2001-04-10 15:08:09 +00:00
jmerelo
d634d95838 In eoVector, changed printOn and readFrom to virtual 2001-04-03 10:08:08 +00:00
maartenkeijzer
195ad72838 eoParam, added specialization for eoValueParam<string>::getValue
FDCStat and FileSnapshot: better error messageing
Scalar fitness: is now a vector of doubles
exercise3.1 added gnuplot again

Don't know about eoCombinedContinue
2001-03-28 09:00:54 +00:00
evomarc
434010d221 Modified the names in eoPopStat!
Hoever, the way it's done now, the string gets TRUNCATED - and I dont' know why
2001-03-27 16:27:15 +00:00
evomarc
1726a06861 Adding Maarten's "snippet" to dump the whole pop to the screen: eoPopStat.h
Modified utils/checkpointing accordingly.
Tested in tutorial/Lesson3/exercise3.1
BTW, the eoFileSnapShot does not work any more - I've commented it out
and will look at that later...
2001-03-27 16:02:00 +00:00
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
jmerelo
8ff63ff776 Added a new xover to varlenxover 2001-03-21 13:35:10 +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
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
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
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
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
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
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
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