~ruther/ctu-fee-eoa

ref: f6ad831f9ffa6d5ab503dd1e6c28f28487110783 ctu-fee-eoa/codes/eoa_lib d---------
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.
7de4f4b4 — Rutherther a month ago
chore: do not clone for no reason in local search
92bd0617 — Rutherther a month ago
feat: add into_iter for population
1d889574 — Rutherther a month ago
feat: add utilities to perturbation to iterate through wrappers easily

Make PerturbationOperator implement Any, allowing it to be downcasted.
Make WrapperPerturbation for perturbations that wrap other
perturbations, such as the mutation perturbation and bounded perturbation.
Make ListWrapperPerturbation for pertrubations that wrap multiple
pertrubations, such as the combined perturbation.

This should allow for easily looking through perturbations, finding
all perturbations of a specific type and modifying them. One use
case can be for changing the probability of a mutation perturbation
during evolution.
c6e0be8a — Rutherther a month ago
chore: do not pass pairing as mut
de36016c — Rutherther a month ago
tests: tweak one_max parameters
c47387eb — Rutherther a month ago
refactor: abstract pairing to n-ary
372dc756 — Rutherther a month ago
tests: adjust evolution one_max algorithm to always find optimum
b39687d4 — Rutherther a month ago
feat(binary_string): add single bit perturbation, flip perturbation
7adc5812 — Rutherther a month ago
refactor: pass rng as argument

Instead of having the Rng stored
inside the structs, pass it through
the functions. This means it's no longer
necessary to pass perturbations etc. as mutable.
4ef3d988 — Rutherther a month ago
tests: add simple test for evolution on one_max
26456170 — Rutherther a month ago
refactor: do perturbation in place instead of cloning
b08d8cfe — Rutherther a month ago
fix: tournament selection in case last wins returned wrong index
738df684 — Rutherther a month ago
fix: tournament replacement strategy could be using wrong indices
a880c1b3 — Rutherther a month ago
feat: add best replacement
b0db23c7 — Rutherther a month ago
feat: add best selection
0047990b — Rutherther a month ago
fix: return proper indices from tournament
600d9ae9 — Rutherther a month ago
feat: add mutation and combined perturbations
e366ce2e — Rutherther a month ago
chore: make library out of eoa_lib
Next