~ruther/ctu-fee-eoa

ctu-fee-eoa/codes/eoa_lib d---------
c0b18ff7 — Rutherther 25 days ago
feat: add possibility to map EvolutionResult evaluations
fce9bfb2 — Rutherther 25 days ago
chore: remove Copy from requirement of TournamentSelection
0420a0cc — Rutherther a month ago
refactor(lib): Allow fitting whole population at once

The fitness function gets fit_population function. The default
implementation is going over fit() one by one, but it can be
reimplemented by specific types.
5119e5e3 — Rutherther a month ago
feat(lib): constraints along with evolutionary strategies
8ac232c0 — Rutherther a month ago
chore: fix warnings
f39d2461 — Rutherther a month ago
feat(lib): allow modifying fitness function in evolution_algorithm
62595f5e — Rutherther a month ago
chore: move population structs to separate module
914ee761 — Rutherther a month ago
feat: split params out of PerturbationOperator to allow for non-'static PerturbationOperator

This means PerturbationOperators can now hold non-'static references.
Right away, utilize this in the Random2OptPerturbation for the TSPInstance.
0f5f2903 — Rutherther a month ago
feat: add a lot of algorithm showcases
8eb3e894 — Rutherther a month ago
feat(lib): add evaluation count to EA stats
ce632f10 — Rutherther a month ago
fix(lib): do not take mut self in population.iter()
ec2647b8 — Rutherther a month ago
feat(lib): add roulette wheel selection
9063396d — Rutherther a month ago
feat(lib): add random search
ec7345a5 — Rutherther a month ago
feat(lib): add n consecutive bit flip perturbation for binary string
38c9f268 — Rutherther a month ago
feat(lib): add two point and n point crossovers
f304d071 — Rutherther a month ago
refactor(lib): implement generic evolutionary strategy using .wrapped_mut

Thanks to wrapped_mut now the one_to_five strategy can be implemented
without relying on BoundedPerturbation etc.
4d86e224 — Rutherther a month ago
feat: add possibility to evolve strategy during evolution_algorithm
b999449b — Rutherther a month ago
refactor: generalize apply_to_mutations
99f05825 — Rutherther a month ago
refactor(lib): allow modifying mutation perturbation
f63848aa — Rutherther a month ago
refactor(lib): add methods to get wrapped perturbations instead of traits.

Remove WrapperPerturbation and ListWrapperPerturbation in favor of
wrapped and wrapped_mut functions on PerturbationOperator. This
allows for easier handling as it's not easy to downcast Any into
WrapperPerturbation or ListWrapperPerturbation. So instead
always return dyn PerturbationOperator instead of dyn Any.
Use dyn Any only for downstasting to concrete types.

This finally allows for apply_to_mutations to be implemented
under MutationPerturbation, allowing to modify the arguments.
Next