Skip to content

Releases: KRM7/gapp

v1.0.0

27 Jul 18:48

Choose a tag to compare

What's Changed

General:

  • Added cmake option to disable asserts in the library independent from the vlaue of NDEBUG c8b3d5e
  • Added initialize method to the interface of each of the genetic operators which did not previously have it.
    These are called at the start of a GA run. 290b396
  • Improved multithreaded performance 6c09e28
  • Added the AnyObjective algorithm wrapper to simplify the definition of algorithms which work with arbitrary
    numbers of objectives 9946e47

Support for mixed encodings:

  • The generateCandidate function must now be defined as part of the specialization of GaTraits<T> instead of
    the derived GA class when defining new encodings 389bf2c
  • Parts of the Algorithm, Selection, and Replacement interfaces now work with vectors of candidate indices
    instead of pointers to candidate solutions 905e2ff
  • The context parameter in every genetic operator interface was changed to GaInfo uniformly instead of using the
    typed GA<T> classes in some places 3705d3c
  • The attributes field was removed from the candidate solutions f57bcfe
  • Added support for mixed-encodings e17351d

Reproducibility related improvements:

  • Fixed some bugs related to the reproducibility of the results of GAs when using DLLs on Windows 38623d7, 23b0d21
  • Fixed some general bugs regarding the reproducibility of the results of GA runs 3d8bfd7, 75dad5c, 0bcd740
  • Improved the testing used to check for the reproducibility of the results of the GAs 77f7ae8
  • Guarantee that the results of GA runs are reproducible across platforms a1c5836, ae3c2e2
  • Added the cmake option GAPP_DETERMINISM for better control over the handling of compiler flags required for
    reproducible runtime results across debug and release builds 44067f5

Full Changelog: v0.3.0...v1.0.0

v0.3.0

11 Dec 22:30

Choose a tag to compare

What's Changed

  • Implemented support for better constraint handling 38ad061
  • Changes to ensure the reproducibility of results 79b44dd, b615ebd
  • Added attributes field to the candidates for better customizability 00f627e
  • Added the ability to cache the fitness values of candidates in order to reduce the number fitness function calls 1ccd823
  • Added the ability to change the number of threads used by the algorithms 024230f
  • Added new non-dominated sorting algorithm to improve the performance of the multi-objective algorithms 71267e2
  • Improved performance of some binary and permutation crossover operators 327b04d, 32b0353
  • Improved performance of the pseudo-random number generators 97af863
  • Other various small performance improvements (selection operators and other general improvements)
  • Improved documentation and code examples
  • Added macOS to the list of tested platforms c3467a2
  • Added gcc14, clang16,17,18 to the list of tested compilers d8089ab
  • Added arm64 to the list of tested targets d8089ab
  • Added x86 (32 bit) to the list of tested targets cdaeeb0
  • Fixed some issues on ARM d8089ab
  • Added a conanfile for the project db5f69d
  • Replaced CMakeSettings.json with CMakePresets.json 4ff4f9e

Full Changelog: v0.2.0...v0.3.0