Geneva Optimization Library * Version 0.7.0, "Route Arago" - March 1, 2010 The main changes in this release include: - Removed all direct dependencies of GIndividual objects from the optimization algorithm in order to allow the implementation of additional algorithms, based on the same data structures and parallelization framework - Gave the GAsioTCPConsumer the ability to automatically determine the number of listener threads. Should improve scalability of the server on systems with many cores. - Added GDelayIndividual in order to allow measurement of the overhead incurred through the parallelization - Reworked GExternalEvaluator example to be more usable in a production environment (e.g. added a configuration file instead of command line options) - Refactored GIndividualSet (now named GOptimizationAlgorithm) to become the base class of a hierarchy of iteration-based optimization algorithms. The class now encapsulates functionality common to all of these algorithms, such as the main loop and different halt criteria. - Gave GIndividual knowledge about the currently best known fitness of all individuals - Gave GIndividual knowledge about the number of optimization cycles without improvement - Renamed GBasePopulation to GEvolutionaryAlgorithm, GBrokerPopulation to GBrokerEA and GBoostThreadPopulation to GMultiThreadedEA - Implemented a new way to select views of vectors of boost::shared_ptr, including automatic conversion ("attachViewTo<>() ) - Allowed adaptors to choose from "always mutate", "never mutate" and "mutate with a certain likelihood" - Added compilation warnings when using Boost 1.39 or Boost 1.41, which seem to have issues wrt. Geneva, possibly in the serialization library. - Reworked the test framework, including renovation of conversion_cast<> - Reworked the clone framework to use boost::shared_ptr instead of "raw" GObject * pointers - Reworked the load framework so that public accessible load functions is shared pointers - Removed GChar and related classes, as these can be implemented better through integer classes - Cleaned up and renovated the example's hierarchy - Added a build script to facilitate building the Geneva library