The main changes for this release include:
****************************** BREAKING CHANGES ********************************
- Geneva now explicitely requires the Boost::unit_test_framework and the
Boost::random components of Boost, as these are required at link time.
You will need to install these additional components if your Boost
installation is not a complete one, for instance in the case of a
system-provided Boost in some Linux distributions.
- The FindBoost.cmake module is not shipped with Geneva anymore, as it may
interfere with using the system-provided version which often contains
some system-specific fixes. Furthermore, it was actually not needed
anymore, as we currently require at least CMake 2.8 which comes with
a good enough version of that module.
- When optimization algorithms are instantiated directly rather than
through the Go2-class, it is now necessary to explicity initialize Geneva
using the GenevaInitializer class. See 06_GDirectEA for an example of how
this is done. With this change, static Geneva libraries may now be built
where needed.
- If you register a signal handler, please use now G_SIGHUP instead of
SIGHUP to get portable code.
- Removed the (currently unused) GCanvas32 class, as it results in a
(justified) overflow warning under MS Windows.
********************************************************************************
- Added native, experimental support for MS Windows using the
Visual C++ compiler, allowing both static and dynamic libraries.
- Step sizes in Geneva's gradient descent implementation are now given in
permille of the allowed or expected value range of the parameters. Steps
in each direction used to calculate the gradient are now scaled according
to this value range.
- Calculations in Geneva's gradient descent implementation are now carried
out as long double to preserve accuracy, where possible.
- Moved all filesystem I/O to the Boost::filesystem library.
- Fixed Launchpad bug #1427577 --> "best past" of EA not transfered to SA.