~ruther/ctu-fee-eoa

ref: fce9bfb2f2bbaa22f1fe518372b9d9d713f564c6 ctu-fee-eoa/codes/eoa_lib/src d---------
fce9bfb2 — Rutherther a year ago
chore: remove Copy from requirement of TournamentSelection
0420a0cc — Rutherther 1 year, 6 days 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 1 year, 6 days ago
feat(lib): constraints along with evolutionary strategies
8ac232c0 — Rutherther 1 year, 6 days ago
chore: fix warnings
f39d2461 — Rutherther 1 year, 6 days ago
feat(lib): allow modifying fitness function in evolution_algorithm
62595f5e — Rutherther 1 year, 6 days ago
chore: move population structs to separate module
914ee761 — Rutherther 1 year, 6 days 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 1 year, 12 days ago
feat: add a lot of algorithm showcases
8eb3e894 — Rutherther 1 year, 12 days ago
feat(lib): add evaluation count to EA stats
ce632f10 — Rutherther 1 year, 13 days ago
fix(lib): do not take mut self in population.iter()
ec2647b8 — Rutherther 1 year, 13 days ago
feat(lib): add roulette wheel selection
9063396d — Rutherther 1 year, 13 days ago
feat(lib): add random search
ec7345a5 — Rutherther 1 year, 13 days ago
feat(lib): add n consecutive bit flip perturbation for binary string
38c9f268 — Rutherther 1 year, 13 days ago
feat(lib): add two point and n point crossovers
f304d071 — Rutherther 1 year, 14 days 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 1 year, 14 days ago
feat: add possibility to evolve strategy during evolution_algorithm
b999449b — Rutherther 1 year, 14 days ago
refactor: generalize apply_to_mutations
99f05825 — Rutherther 1 year, 14 days ago
refactor(lib): allow modifying mutation perturbation
f63848aa — Rutherther 1 year, 14 days 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.
7de4f4b4 — Rutherther 1 year, 14 days ago
chore: do not clone for no reason in local search
Next