Download project files

How do I verify a download?


110 of 26 releases

1.8 (Torino) release from the trunk series released

Release information
Release notes:

Geneva Optimization Library

* Version 1.8, "Torino" - August 13, 2016

See the Changelog for the individual changes.

Changelog:

The main changes for this release include:

******************************* PLEASE NOTE ************************************

Support for C++ standards prior to C++14 was dropped. This allowed the
following changes. NOTE THAT SOME OF THESE MAY REQUIRE CHANGES ON YOUR
OWN CODE.

 - std::sort is now based on lambda expressions rather than on function
   objects.
 - boost::bind was replaced with std::bind or C++11 lambda expressions.
 - boost::shared_ptr was replaced with std::shared_ptr. As a consequence
   the Go2 interface had to be changed. If you want to define your own
   command line options, you may now transfer a
   boost::program_options::options_description object. This simplifies
   the specification of user-defined command line options, but you will
   have to change your main() function, if you have used the old
   Go2-interface before.
 - Pluggable optimization monitors may now be registered solely through
   their std::shared_ptr, making the interface more logical.
 - std::thread, std::chrono, C++14 atomics and std::array were used
   instead of their Boost counterparts.

********************************************************************************

 - Gem::Common::GSerializableI was renamed GCommonInterfaceT and now
   holds a lot of functionality formerly located in GObject. This was
   done so that other classes (including those found in the "Common"
   library) may profit from the serialization and testing infrastructure.
 - Moved from boost::tuple to std::tuple and associated functions
   (make_tuple, std::get, etc.).
 - Moved all boost::*int*_t to their C++11 counterparts.
 - Added a G_DEPRECATED macro so sole old functions may remain,
   but are marked as deprecated. Such functions may go away without
   further notice in future versions of Geneva.
 - Rework of the Hap random library. Unless you use Hap directly, this
   should not affect you. GRandomT now has the normal engine-interface
   of C++11/14 random number engines. Generation of most random
   distributions is done using standard functions. A seperate,
   standard-compliant distribution was added for bi_normal_distribution.
 - Support for CMake 2.8 was dropped, for building Geneva at least
   CMake version 3.1 is now required.
 - Ported to Boost 1.59.

Recommended version of Boost: 1.59; Minimum Boost version: 1.57.
NOTE: Boost 1.58 ist NOT recommended, due to a severe bug affecting Geneva.

File Description Downloads
download icon geneva-v1.8.0-ReleaseNotes.txt (md5, sig) Geneva v1.8 Release Notes 87
last downloaded 6 weeks ago
download icon geneva-v1.8.0.tgz (md5, sig) Geneva v1.8 (Torino) 153
last downloaded 41 weeks ago
Total downloads: 240

1.6.1 (Ivrea - Via Arduino) release from the trunk series released

Release information
Release notes:

Geneva Optimization Library

* Version 1.6.1, "Ivrea - Via Arduino" - April 20, 2015

See the Changelog for the individual changes.

Changelog:

The main changes for this release include:

******************************* PLEASE NOTE ************************************

 - Geneva now requires the Boost::atomic component of Boost. You will
   need to install this additional component if your Boost installation
   is not a complete one, for instance in the case of a system-provided
   Boost in some Linux distributions.
 - The minimal BOOST version required for compiling Geneva is now v1.53.

********************************************************************************

 - Rework of the GThreadPool class: threads are now started upon the
   first task submission, so default-constructed (unused) pools do not
   start a plethora of idle threads. The pool may now be resized while
   threads are already running.
 - Rework of the GRandomFactory / GRandomT-combo. In particular, "unused"
   random numbers are now recycled and given back to the random factory.
   The overhead of the creation of random packages should be reduced, as
   the corresponding objects do not usually need to be re-allocated anymore.
 - Random numbers are now distributed to parameter objects and adaptors
   via thread local storage.
 - The checkRelationshipWith-hierarchy was removed, in favour of a new
   'compare()' API. This is used for unit tests, in particular of
   indivuduals. GObject still contains a 'checkRelationshipWith()' function
   which in turn calls compare, so that the change should not affect users.
 - Ported to Boost 1.58. Please note that Boost 1.58 seems to have a
   serialization-related bug, so that we currently do NOT recommend to
   use this Boost version.

Recommended version of Boost: 1.57; Minimum Boost version: 1.53.

File Description Downloads
download icon geneva-v1.6.1.tgz (md5, sig) Geneva v1.6.1 (Ivrea - Via Arduino) 131
last downloaded 41 weeks ago
download icon geneva-v1.6.1-ReleaseNotes.txt (md5, sig) Geneva v1.6.1 Release Notes 63
last downloaded 7 weeks ago
Total downloads: 194

1.6 (Ivrea) release from the trunk series released

Release information
Release notes:

Geneva Optimization Library

* Version 1.6, "Ivrea" - March 10, 2015

See the Changelog for the individual changes.

Changelog:

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.

File Description Downloads
download icon geneva-v1.6.0.tgz (md5, sig) Geneva v1.6.0 (Ivrea) 43
last downloaded 40 weeks ago
download icon geneva-v1.6.0-ReleaseNotes.txt (md5, sig) Geneva v1.6.0 Release Notes 36
last downloaded 7 weeks ago
Total downloads: 79

1.4.1 (Fénis) release from the trunk series released

Release information
Release notes:

Geneva Optimization Library

* Version 1.4.1, "Fénis" - January 23, 2015

See the Changelog for the individual changes.

Changelog:

The main changes for this release include:

****************************** BREAKING CHANGES ********************************

 - The method addConfigurationOptions() has lost the (unnecessary)
   "showOrigin" parameter.
 - The handling of the BOOST location variables in the Geneva configuration
   file "scripts/genevaConfig.gcfg" was changed. The changes are minor, but
   you will need to adapt your current configuration. Read the configuration
   file comments for more details. Thanks to these changes, if a binary OS
   Boost installation is available, the "prepareBuild.sh" script will now be
   able to configure a default Geneva build without requiring any
   configuration file.

********************************************************************************

 - Removed GExternalSetterIndividual in favour of a more versatile
   enforceFitnessUpdate().
 - Fixed Bug #1399716 in Launchpad --> Calling go & "ea" & "sa" crashed.
 - Introduced a more versatile syntax for configuration options in
   GParserBuilder. You can now say things like:
     gpb.registerFileParameter<boost::uint32_t>(...) << "my comment";
 - Added an option to override default values of configuration options
   that were set by a parent class (needed for GParserBuilder).
 - Added support for MS Windows using the Cygwin environment.
 - Restructured the build system, creating a new shared CMake module
   "CommonGenevaBuild" which may be used to build independent Geneva
   applications as well as any of the Geneva examples or tests out of
   the main tree. This module is also used for the normal Geneva build.
   The "IndependentBuild" CMake module was removed.
 - The build-system now allows for libraries, headers and other files
   to be installed in independent locations: to that aim, you may define
   the variables INSTALL_PREFIX_LIBS, INSTALL_PREFIX_INCLUDES,
   INSTALL_PREFIX_DOCS, and INSTALL_PREFIX_DATA when running cmake.

File Description Downloads
download icon geneva-v1.4.1.tgz (md5, sig) Geneva v1.4.1 (Fénis) 50
last downloaded 24 hours ago
download icon geneva-v1.4.1-ReleaseNotes.txt (md5, sig) Geneva v1.4.1 Release Notes 36
last downloaded 7 weeks ago
Total downloads: 86

1.4 (Aosta) release from the trunk series released

Release information
Release notes:

Geneva Optimization Library

* Version 1.4, "Aosta" - August 8, 2014

See the Changelog for the individual changes.

Changelog:

The main changes for this release include:

****************************** BREAKING CHANGES ********************************

 - Constraint objects now use a new nomenclature to flag valid and invalid
   checks. Values > 1 are considered to be "invalid" as before. Values < 0
   are now flagged as invalid (with an automatic calculation of an
   "invalidity"), unless the "allowNegative" parameter of the constraint
   objects has been set. In this case negative values are still considered
   to be valid in constraint objects.
 - Removed single precision floating point classes, as these were
   practically never used and are realistically unneded in the presence
   of double precision types. This might later be replaced by a
   compile-time #define of the base floating point type.
 - The CMakeLists.txt file of the 10_GStarter example can no longer be
   used for builds independent of the Geneva main source tree. Instead,
   if you want to build Example #10 independently (for example in order
   to build your own code on top), rename CMakeLists.txt-independent to
   CMakeLists.txt . This allows independent builds. All other Geneva
   examples can only be built inside of the Geneva source tree.
   CMakeLists.txt-independent should however give you a good starting
   point to make other examples independent from the main Geneva source
   tree.
 - As we do not have any testing facilities for older MacOS versions, and
   most users will upgrade to the newest version anyway, support for MacOS
   is now constrained to the latest version including all updates (i.e.,
   10.9 Mavericks, at the time of this release). Note that support for
   this OS is still experimental.
 - The CMAKE version required for compiling Geneva is now v2.8.

********************************************************************************

- The formula parser will now throw custom exceptions when invalid
  calculations (such as a division by 0) were requested. This allows
  you to deal with invalid parameters to your formulas more easily.
- MUCOMMANU-modes (single-eval and pareto) will now be the same as
  MUPLUSNU in the first iteration. All individuals will be evaluated
  in MUCOMMANU-mode in the first iteration.
- The adapt() call of individuals (used particularly in evolutionary
  algorithms) will now optionally take into account the validity of a
  given parameter set. I.e., if the parameter set does not satisfy the
  predefined constraints, adapt() will try a configurable number of times
  to find a parameter set that does satisfy the constraints. Alternatively,
  users may rely on the replacement-fitness calculated by Geneva for
  invalid solutions.
- The script "prepareBuild.sh" can now be called multiple times: it will
  do a "make clean-all" if a Makefile is found in the build-directory.
- The build-system was restructured and improved to simplify adding new
  platforms and to make it more modular.
- Added a target "make doc" to create reference documentation for the
  entire Geneva source tree.

The main bug fixes for this release include:
- Under certain circumstances, work items could be added more than once
  to the priority queue defining the best solutions found.

Recommended version of Boost: 1.55; Minimum Boost version: 1.48.

File Description Downloads
download icon geneva-v1.4.0-ReleaseNotes.txt (md5, sig) Geneva v1.4 Release Notes 47
last downloaded 7 weeks ago
download icon geneva-v1.4.0.tgz (md5, sig) Geneva v1.4 (Aosta) 136
last downloaded 41 weeks ago
Total downloads: 183

1.2 (Mont Blanc) release from the trunk series released

Release information
Release notes:

Geneva Optimization Library

* Version 1.2, "Mont Blanc" - March 22, 2014

See the Changelog for the individual changes.

Changelog:

The main changes for this release include:

****************************** BREAKING CHANGES ********************************

 - Sigma values of gauss adaption are now relative to the allowed or
   preferred value range of a parameter type. Values are given as a
   percentage of this value range. E.g., a sigma value of 0.1 and an
   allowed parameter range of [-50, 50] will result in the gaussian
   distribution using a "real" sigma value of 10.
 - The minimal BOOST version required for compiling Geneva is now v1.48.

********************************************************************************

 - Added a simple parser that allows to evaluate mathematical formulas
   like "sin({{var1}})*pow(2.,3.)".
 - Introduced a method to deal with dependent boundary conditions
   a.k.a. "constraints" (double parameters only at the moment).
 - Added three possibilities to treat invalid parameter sets (i.e.,
   parameter sets that violate a number of predefined constraints).
 - In this context, introduced a "transformed" and a "raw" fitness.
   The latter comes from the user's evaluation function, the former
   makes sure that individuals which violate one or more constraints
   still get a useful evaluation, without having to call the
   evaluation function.
 - Added a new "per-item" cross-over method to evolutionary algorithms.
 - Added a new mechanism to update adaptors in EA when optimization
   has stalled.
 - Based collection of best individuals on a priority queue and
   centralized the code for most cases (multi-populations and
   multi-criterion optimization need separate treatment).
 - Added a parser for parameter descriptions of the kind
   "d(MY_DPAR_01,-10.3,12.8,100)" to facilitate parameter scans from
   the command line (or in batch mode).
 - Added a new option to GParameterScan to randomly initialize a predefined
   number of work items. This "brute force" approach may help to find a
   good starting point. E.g., for the example 01_GSimpleOptimizer one
   may now run './GSimpleOptimizer -a "ps,ea" --parameterSpec="s(1000)"'.
   This would result in a random scan of 1000 work items. The best
   individuals found will then form the start values of an evolutionary
   algorithm.
 - Added further command line options (when using Go2), such as the
   maximum number of iterations or the maximum time for each algorithm
   type. Some options are now hidden and are only shown upon explicit
   request.
 - Added the ability to catch a SIGHUP signal and let
   GOptimizationAlgorithmT<> exit gracefully, without discarding results.
   This requires that GObject::sigHupHandler is registered as a signal
   handler, which needs to be done by the user, e.g. in main().
 - In networked execution, the server now tells the client how long it
   should sleep before reconnecting. Repeated idle calls are so avoided,
   reducing the network load.
 - Added two functions for calculating a line best describing a set
   of data points.
 - Updated the GParallelisationOverhead test so that it automatically
   calculates the speed-up.
 - Added the possibility to specify the path to configuration files in
   an environment variable (GENEVA_CONFIG_BASENAME). Set this variable
   to the "/"-terminated path of a directory containg the "./config"
   sub-directory where the configuration files are to be found.
 - Added an option to enforce a specific C++ standard for the
   compilation procedure.
 - Starting with this version, stable release versions get an even
   minor version number.
 - Experimental port to MacOS 10.9.
 - Ported to Boost 1.55.

Recommended version of Boost: 1.55; Minimum Boost version is 1.48

File Description Downloads
download icon geneva-v1.2.0-ReleaseNotes.txt (md5, sig) Geneva v1.2 Release Notes 46
last downloaded 7 weeks ago
download icon geneva-v1.2.0.tgz (md5, sig) Geneva v1.2 (Mont Blanc) 38
last downloaded 9 days ago
Total downloads: 84

1.0 (Chamonix) release from the trunk series released

Release information
Release notes:

Geneva Optimization Library

* Version 1.0, "Chamonix" - August 31, 2013

See the Changelog for the individual changes.

Changelog:

The main changes for this release include:
 - Gave Go2 the ability to accept custom command line options from the user.
 - Updated all examples and tests.

Recommended version of Boost: 1.54

File Description Downloads
download icon geneva-v1.0.0.tgz (md5, sig) Geneva v1.0 (Chamonix) 64
last downloaded 41 weeks ago
download icon geneva-v1.0.0-ReleaseNotes.txt (md5, sig) Geneva v1.0 Release Notes 44
last downloaded 7 weeks ago
Total downloads: 108

0.9.11 (Route de Chamonix) release from the trunk series released

Release information
Release notes:

Geneva Optimization Library

* Version 0.9.11, "Route de Chamonix" - August 14, 2013

See the Changelog for the individual changes.

Changelog:

The main changes for this release include:
 - Added a parameter scan algorithm.
 - Separated Simulated Annealing from Evolutionary Algorithms, making
   it a first-class citizen.
 - Separated multi-populations from Evolutionary Algorithms, making
   them a first class citizen.
 - Evolutionary Algorithms are now based on GParameterSet (just like all
   other "basic" optimization algorithms, except for multi-populations).
 - Reworked the entire broker architecture (GBrokerConnectorT was replaced
   by GBrokerConnector2T, and the GBrokerT class as well as the
   GAsioTCPConsumerT classes have been refactored).
 - The broker, as implemented, now acts solely on GParameterSet-derivatives.
   This simplifies the architecture.
 - Renamed GIndividual to the more fitting "GOptimizableEntity".
 - Removed the deprecated GIndividualFactoryT class in favor of the more
   general GFactoryT.
 - Gave optimization algorithm factories a common base class so generic
   access becomes easier.
 - Added global stores for GParameterSet-based consumers, optimization
   algorithms and corresponding monitor classes.
 - GParameterSet and GOptimizableEntity no longer depend on any specific
   optimization algorithms. As a consequence, all major concepts are now
   separated from each other, allowing for a far more independent development
   style. Adding new algorithms and also consumers has become far easier.
 - Gave GParameterBase objects a name to facilitate work with the
   GExternalEvaluatorIndividual. A name to a parameter makes it much easier
   to work with XML files and to identify the important variables.
 - Simplified the optimization monitor infrastructure.
 - Added pluggable optimization monitors that allow to easily monitor
   common properties of all optimization algorithms. In this context,
   added a monitor that allows to plot one or two variables together with
   their fitness for all individuals touched during the optimization.
 - Centralized conversion of smart pointers using a Gem::Common function.
 - Removed non-portable "long double" functions from
   GMathHelperFunctions.hpp/cpp.
 - Moved GConstrainedValueLimitT<T> from "max()" to "lowest()/highest()".
 - Added a simple logging framework, including exception handling, that
   allows to stream information to be logged.
 - Gave gemfony_error_condition the ability to be streamed.
 - Removed the deprecated utilities directory and application.
 - Removed most manual creation of ROOT output files in favor
   of GPlotDesigner.
 - Gave GPlotDesigner the ability to create 3D output through a new
   class GGraph3D.
 - Gave GPlotDesigner the ability to add more than one plot to the
   same sub-canvas.
 - Removed the deprecated Go class in favor of Go2 and updated all examples.
 - Made Go2 independent from specific optimization algorithms and consumers,
   thus broadening its scope. Note that during this rework, also most
   command line parameters have been changed, and that command line
   parameters specific to consumers are extracted at run-time from each
   consumer. If you are running Geneva through a script, this might mean
   that you need to adapt this script.
 - Added a new example "GStarter" meant as a starting point for the
   users' own projects.
 - Added an example that illustrates meta-optimization (i.e. usage of
   an evolutionary algorithm to optimize the configuration parameters
   of an optimization algorithm.
 - Added pluggable objects that allow to check parameter sets for validity,
   to be used in an infrastructure for dealing with multi-parameter constraints.
 - Instrumented most Geneva optimization classes with C++11 override
   statements, wrapped into defines so the code can be used with
   C++98-compilers. This allows to rule out a further class of errors,
   hence making the code more robust.
 - Ported to MacOS X (still highly experimental).
 - Ported to Boost 1.54.

Recommended version of Boost: 1.54

File Description Downloads
download icon geneva-v0.9.11-ReleaseNotes.txt (md5, sig) Geneva v0.9.11 Release Notes 28
last downloaded 6 days ago
download icon geneva-v0.9.11.tgz (md5, sig) Geneva v0.9.11 (Route de Chamonix) 25
last downloaded 9 days ago
Total downloads: 53

0.9.10 (Route Blanche) release from the trunk series released

Release information
Release notes:

Geneva Optimization Library

* Version 0.9.10, "Route Blanche" - September 30, 2012

See the Changelog for the individual changes.

Changelog:

The main changes for this release include:
 - Streamlined the use of the workOn function family in GBrokerConnectorT.
 - Added an easier means to create ROOT plots from within Geneva
   ("GPlotDesigner").
 - Made constructors of simple collections more consistent with std::vector.
 - Added a custom threadpool library, as a temporary replacement until
   an official Boost threadpool library becomes available. Removed usage
   of external threadpool library from the code.
 - Added a test-suite capable of comparing the minimization capabilities
   of all implemented algorithms in all parallelization modes, thus
   providing a means to further improve our algorithms.
 - Support for automatic testing with CTest.
 - Support for compiling with Clang.
 - Ported to Boost 1.51.

File Description Downloads
download icon geneva-v0.9.10.tgz (md5, sig) Geneva v0.9.10 (Route Blanche) 108
last downloaded 41 weeks ago
download icon geneva-v0.9.10-ReleaseNotes.txt (md5, sig) Geneva v0.9.9 Release Notes 55
last downloaded 7 weeks ago
Total downloads: 163

0.9.9 (Route d'Annemasse) release from the trunk series released

Release information
Release notes:

Geneva Optimization Library

* Version 0.9.9, "Route d'Annemasse" - December 17, 2011

See the Changelog for the individual changes.

Changelog:

The main changes for this release include:
 - Full documentation available at http://www.gemfony.com/index.php?id=manuals

File Description Downloads
download icon geneva-v0.9.9-ReleaseNotes.txt (md5, sig) Geneva v0.9.9 Release Notes 42
last downloaded 7 weeks ago
download icon geneva-v0.9.9.tgz (md5, sig) Geneva v0.9.9 (Route d'Annemasse) 93
last downloaded 41 weeks ago
Total downloads: 135

110 of 26 releases