Releases: KRM7/gapp
Releases · KRM7/gapp
v1.0.0
What's Changed
General:
- Added cmake option to disable asserts in the library independent from the vlaue of
NDEBUGc8b3d5e - Added
initializemethod to the interface of each of the genetic operators which did not previously have it.
These are called at the start of aGArun. 290b396 - Improved multithreaded performance 6c09e28
- Added the
AnyObjectivealgorithm wrapper to simplify the definition of algorithms which work with arbitrary
numbers of objectives 9946e47
Support for mixed encodings:
- The
generateCandidatefunction must now be defined as part of the specialization ofGaTraits<T>instead of
the derivedGAclass when defining new encodings 389bf2c - Parts of the
Algorithm,Selection, andReplacementinterfaces 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
GaInfouniformly instead of using the
typedGA<T>classes in some places 3705d3c - The
attributesfield 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_DETERMINISMfor 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
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