Releases: ntnu-ai-lab/EvoLP.jl
v1.4.0
EvoLP v1.4.0
In preparation for EvoLP 2.0, we are changing the names of many operators and updating the type hierarchy. This is to ensure that operators are used on the appropriate individuals, and to allow for other types of selectors/mutators/recombinators. We also added 2 new continuous (multimodal) functions and fixed a bug with the generational GA.
New test functions
eggholder
rana
Bugfixes
- Fixed a bug in which the simple version of
GA
failed to start as it was iterating through an unallocatedAbstractArray
.
Enhancements
- Improved documentation about the
Result
type. It now mentions theruntime
method and showcases a list of the returned information. - Improved the documentation page about extending EvoLP
- The
BenchmarkTools
package is no longer a requirement of EvoLP - Added a test suite for selectors and updated the rest of the test suites
Deprecations
All types and functions mentioned here still exist with the old names, but will be removed in a future release. Consider updating your code to use the new names.
Logbook-ready algorithms
Built-in algorithms now have an in-place version. For example, GA
is the simple version of the Genetic Algorithm, where only the result is returned. On the other hand, GA!
modifies and updates the Logbook
argument. For more information, see issue #77.
Selection methods
SelectionMethod
was renamed to Selector
. It now features a new subtype, ParentSelector
. In the future, it will contain other type of selectors (for example for survival, crowding or migration in islands).
Steady-state Selection Methods
All selectors are now steady-state by default. The following selectors have been renamed:
RankBasedSelectionSteady
is nowRankBasedSelector
RouletteWheelSelectionSteady
is nowRouletteWheelSelector
TournamentSelectionSteady
is nowTournamentSelector
TruncationSelectionSteady
is nowTruncationSelector
Generational selection methods
Generational versions of selection methods will disappear in a future version. We recommend you update your algorithms and perform the selection for every individual in the population directly. The affected selectors are:
RankBasedSelectionGenerational
RouletteWheelSelectionGenerational
TournamentSelectionGenerational
TruncationSelectionGenerational
Mutation methods
MutationMethod
was renamed to Mutator
. It now features three new subtypes, ContinuousMutator
, BinaryMutator
and PermutationMutator
.
Renamed mutators
BitwiseMutation
is nowBitwiseMutator
GaussianMutation
is nowGaussianMutator
InsertMutation
is nowInsertionMutator
(to be consistent with Inversion)InversionMutation
is nowInversionMutator
ScrambleMutation
is nowScrambleMutator
SwapMutation
is nowSwapMutator
Crossover methods
CrossoverMethod
was renamed to Recombinator
(to keep it consistent with the rest of the operators). It now features 2 subtypes: NumericRecombinator
and PermutationRecombinator
.
Renamed recombinators
InterpolationCrossover
is nowInterpolationRecombinator
OrderOneCrossover
is nowOX1Recombinator
SinglePointCrossover
is nowSinglePointRecombinator
TwoPointCrossover
is nowTwoPointRecombinator
UniformCrossover
is nowUniformRecombinator
Additional notes
Merged pull requests:
Closed issues:
- Performance discussion (#70)
- Update Result documentation (#76)
- Logger-enabled algorithms should use the exclamation mark in their name (#77)
- Add idun-islands test functions to EvoLP (#78)
- Update test suite for benchmark functions (#79)
- Deprecation of operators (#80)
- Add type ontology to documentation (#81)
- Test suite for selectors (#82)
- Add types to signature in real-valued test functions (#83)
v1.3.0
v1.2.0
v1.1.0
v1.0.0
v0.9.5
EvoLP v0.9.5 - Julia Package in the Registry
A few updates that include proper documentation links in the README, and a source button linking to the repo in index of the documentation.
This was now approved as a Julia package in the registry, and can now be considered finish.
Release 1.0.0 will be when we have the logo, the community guidelines, a doi and the tag bot up and running.
What's Changed
- Fixing errors with documentation building in Github Pages. by @saxarona in #48
- Release on GitHub by @saxarona in #49
Full Changelog: v0.9.0...v0.9.5
Release with documentation action
Initial release, aiming for publishing the documentation in the GH-pages from the site.
What's Changed
- Updated with major changes to documentation. by @saxarona in #3
- Updated with a new pseudoboolean function, jumpk by @saxarona in #4
- Benchmarks1 by @saxarona in #5
- Completely redesigned the statistics logbook by @saxarona in #6
- Updated the logbook to use the namedtuples constructor of NamedTupleT… by @saxarona in #8
- State return values in documentation by @saxarona in #11
- Refactor of return in built-in algorithms by @saxarona in #13
- Implement new result type in built-in algorithms: oneplusone and PSO by @saxarona in #19
- Saxarona/issue20 by @saxarona in #22
- Added vscode config file to gitignore by @saxarona in #26
- Ammendments to the documentation and result.jl by @saxarona in #27
- Permute-support by @saxarona in #32
- Updated with support for steady-state operators by @saxarona in #33
- Saxarona/issue31 by @saxarona in #34
- Added Branin function to benchmarks by @saxarona in #35
- Reworked permutation generator. It now handles sampling with replacem… by @saxarona in #37
- Saxarona/issue18 by @saxarona in #39
- Massive update to documentation and testing. by @saxarona in #44
- Last update (hopefully) before pushing first version of the package. by @saxarona in #45
- fix in runtests by @saxarona in #46
- Working on documentation readiness by @saxarona in #47
New Contributors
Full Changelog: https://github.com/ntnu-ai-lab/EvoLP.jl/commits/v0.9.0