The main changes for this release include:
- Implemented gradient descents in all modes (serial, multi-threaded and
networked).
- Created a wrapper around all optimization algorithms in all modes
(serial, multithreaded, networked) that much lowers the entry threshold
to use Geneva. This wrapper class is called Go.
- Introduced the GOptimizationMonitorT class (and derivatives) to allow
easier access to information about the optimization process, plus
visualization of the optimization progress out of the box.
- Added a set of functions that allows to extract or set all parameters
of type double, boost::int32_t or boolean with a single call from an
individual, in the sequence in which they were registered. E.g., if
a GDoubleObject, GBooleanCollection and a GConstrainedDouble have been
registered in this order, it would be possible to just extract or set
all double values in one go, while leaving the GBooleanCollection
unchanged.
- Made it a property of the GParameterSet class, instead of the
optimization algorithm, whether GParameterSet's evaluation function
should be maximized or minimized.
- Added the GParserBuilder class that allows to easily create parsers
for configuration files "on the fly".
- Moved the GSerializableI class from the Geneva to the Common library.
- Worked around a problem in conjunction with g++ 4.1.2 (a compiler bug,
really).