~ruther/ctu-fee-eoa

4c13c036e3d95ead87aca6e231b7d91eacddb32a — Rutherther a month ago 663bea9
feat(tsp): final tweaks
1 files changed, 9 insertions(+), 9 deletions(-)

M codes/tsp_hw01/src/main.rs
M codes/tsp_hw01/src/main.rs => codes/tsp_hw01/src/main.rs +9 -9
@@ 440,9 440,9 @@ fn run_evolution_algorithm_cx(instance: &TSPInstance<Dyn>) -> Result<PlotData, B
    let dimension = instance.dimension();

    // Create combined perturbation with lower probabilities and no adaptive changes
    let move_mutation = MutationPerturbation::new(Box::new(MovePerturbation::new()), 0.000);
    let swap_mutation = MutationPerturbation::new(Box::new(SwapPerturbation::new()), 0.000);
    let reverse_mutation = MutationPerturbation::new(Box::new(ReverseSubsequencePerturbation::new()), 0.000);
    let move_mutation = MutationPerturbation::new(Box::new(MovePerturbation::new()), 0.001);
    let swap_mutation = MutationPerturbation::new(Box::new(SwapPerturbation::new()), 0.001);
    let reverse_mutation = MutationPerturbation::new(Box::new(ReverseSubsequencePerturbation::new()), 0.001);
    let mut combined_perturbation = CombinedPerturbation::new(vec![
        Box::new(move_mutation),
        Box::new(swap_mutation),


@@ 498,9 498,9 @@ fn run_evolution_algorithm_pmx(instance: &TSPInstance<Dyn>) -> Result<PlotData, 
    let dimension = instance.dimension();

    // Create combined perturbation with lower probabilities and no adaptive changes
    let move_mutation = MutationPerturbation::new(Box::new(MovePerturbation::new()), 0.000);
    let swap_mutation = MutationPerturbation::new(Box::new(SwapPerturbation::new()), 0.000);
    let reverse_mutation = MutationPerturbation::new(Box::new(ReverseSubsequencePerturbation::new()), 0.000);
    let move_mutation = MutationPerturbation::new(Box::new(MovePerturbation::new()), 0.001);
    let swap_mutation = MutationPerturbation::new(Box::new(SwapPerturbation::new()), 0.001);
    let reverse_mutation = MutationPerturbation::new(Box::new(ReverseSubsequencePerturbation::new()), 0.001);
    let mut combined_perturbation = CombinedPerturbation::new(vec![
        Box::new(move_mutation),
        Box::new(swap_mutation),


@@ 556,9 556,9 @@ fn run_evolution_algorithm_erx(instance: &TSPInstance<Dyn>) -> Result<PlotData, 
    let dimension = instance.dimension();

    // Create combined perturbation with lower probabilities and no adaptive changes
    let move_mutation = MutationPerturbation::new(Box::new(MovePerturbation::new()), 0.000);
    let swap_mutation = MutationPerturbation::new(Box::new(SwapPerturbation::new()), 0.000);
    let reverse_mutation = MutationPerturbation::new(Box::new(ReverseSubsequencePerturbation::new()), 0.000);
    let move_mutation = MutationPerturbation::new(Box::new(MovePerturbation::new()), 0.001);
    let swap_mutation = MutationPerturbation::new(Box::new(SwapPerturbation::new()), 0.001);
    let reverse_mutation = MutationPerturbation::new(Box::new(ReverseSubsequencePerturbation::new()), 0.001);
    let mut combined_perturbation = CombinedPerturbation::new(vec![
        Box::new(move_mutation),
        Box::new(swap_mutation),