~ruther/ctu-fee-eoa

ref: e326216f5d90907cef897216b573751e08967817 ctu-fee-eoa/codes d---------
e326216f — Rutherther 11 months ago
feat(tsp): add ea binary algorithm
25d83780 — Rutherther 11 months ago
tests(tsp): adapt to new binarystring -> node permutation implementation
d2cfd7e0 — Rutherther 11 months ago
tests(tsp): add test for verify_solution
dd037eb9 — Rutherther 11 months ago
feat(tsp): add move node perturbation
8eaf8145 — Rutherther 11 months ago
fix(tsp): properly implement binary string -> node permutation fitness
ec7345a5 — Rutherther 11 months ago
feat(lib): add n consecutive bit flip perturbation for binary string
38c9f268 — Rutherther 11 months ago
feat(lib): add two point and n point crossovers
f304d071 — Rutherther 11 months 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.
e3d7f213 — Rutherther 11 months ago
feat(tsp): allow crossing bounds in reverse subsequence perturbation

Currently subsequence perturbation was capable only of changes
inside of bounds (left, right), but allow it going through
the right bound, ie. from element 8 to element 1 - swapping
8 with 1, 9 with 0, 10 with 10... this generalizes the perturbation.
Also, change the behavior to generate an index and a length instead
of two indices. This allows for constraining the length of
subsequences.
4d86e224 — Rutherther 11 months ago
feat: add possibility to evolve strategy during evolution_algorithm
b999449b — Rutherther 11 months ago
refactor: generalize apply_to_mutations
99f05825 — Rutherther 11 months ago
refactor(lib): allow modifying mutation perturbation
f63848aa — Rutherther 11 months 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.
0fe8b60c — Rutherther 11 months ago
feat(tsp): Output csv statistics
7de4f4b4 — Rutherther 11 months ago
chore: do not clone for no reason in local search
7c39c3cb — Rutherther 11 months ago
chore: remove city ids from chart
3dccde3f — Rutherther 11 months ago
feat(tsp): add BinaryString representation of TSP
48d61c1a — Rutherther 11 months ago
chore: add thiserror
5bd86ac2 — Rutherther 11 months ago
tests(tsp): add tests for reverse subsequence
98eb8ce7 — Rutherther 11 months ago
fix(tsp): reverse properly in reverse subsequence perturbatio
Next