Skip to content

Releases: ntnu-ai-lab/EvoLP.jl

v1.4.0

11 Jan 21:38
1d18cd4
Compare
Choose a tag to compare

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 unallocated AbstractArray.

Enhancements

  • Improved documentation about the Result type. It now mentions the runtime 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 now RankBasedSelector
  • RouletteWheelSelectionSteady is now RouletteWheelSelector
  • TournamentSelectionSteady is now TournamentSelector
  • TruncationSelectionSteady is now TruncationSelector

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 now BitwiseMutator
  • GaussianMutation is now GaussianMutator
  • InsertMutation is now InsertionMutator (to be consistent with Inversion)
  • InversionMutation is now InversionMutator
  • ScrambleMutation is now ScrambleMutator
  • SwapMutation is now SwapMutator

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 now InterpolationRecombinator
  • OrderOneCrossover is now OX1Recombinator
  • SinglePointCrossover is now SinglePointRecombinator
  • TwoPointCrossover is now TwoPointRecombinator
  • UniformCrossover is now UniformRecombinator

Additional notes

Diff since v1.3.0

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

12 Sep 00:28
edf1fbb
Compare
Choose a tag to compare

EvoLP v1.3.0

Diff since v1.2.0

Closed issues:

  • Trivial performance tweaks (#71)

Merged pull requests:

v1.2.0

31 Jul 17:48
9b43e21
Compare
Choose a tag to compare

EvoLP v1.2.0

Diff since v1.1.0

Closed issues:

  • Statistics in Logger only use fitness in built-in algorithms (#10)
  • Create a BenchmarkTools report about opt-calls (#63)
  • Default stats logbook (#65)

Merged pull requests:

v1.1.0

19 Jun 21:17
a0630ce
Compare
Choose a tag to compare

EvoLP v1.1.0

Diff since v1.0.0

Closed issues:

  • Optimise function calls in built-in algorithms (#15)
  • Optimised function calls in built-in algs (#60)
  • Deprecation of Particle type and its generators (#61)
  • Lower Julia requirement down to 1.7 (#62)

Merged pull requests:

v1.0.0

23 Apr 02:41
438d3bb
Compare
Choose a tag to compare

EvoLP v1.0.0

Diff since v0.9.5

Closed issues:

  • Expand documentation (#18)
  • Package submission (#43)
  • Add NTNU and NAIL logos (#51)
  • Compliance with community standards (#54)
  • Add TagBot after package has been registered (#55)

Merged pull requests:

v0.9.5

06 Apr 20:02
12e4e2a
Compare
Choose a tag to compare

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

Full Changelog: v0.9.0...v0.9.5

Release with documentation action

06 Apr 17:42
5fe282a
Compare
Choose a tag to compare
Pre-release

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