From 8ac232c0d2daecb1c39475e86b0f3c007bbf8fae Mon Sep 17 00:00:00 2001 From: Rutherther Date: Sat, 8 Nov 2025 17:32:22 +0100 Subject: [PATCH] chore: fix warnings --- codes/eoa_lib/src/crossover.rs | 1 - codes/eoa_lib/src/evolutionary_strategy.rs | 2 +- codes/eoa_lib/src/pairing.rs | 2 +- codes/eoa_lib/src/perturbation/mod.rs | 2 +- codes/eoa_lib/src/replacement.rs | 6 ++---- codes/eoa_lib/src/selection.rs | 4 ++-- codes/tsp_hw01/src/crossovers.rs | 2 +- codes/tsp_hw01/src/initializers.rs | 12 +++++------- codes/tsp_hw01/src/main.rs | 6 +++--- codes/tsp_hw01/src/tsp.rs | 2 +- 10 files changed, 17 insertions(+), 22 deletions(-) diff --git a/codes/eoa_lib/src/crossover.rs b/codes/eoa_lib/src/crossover.rs index da398d4a1a8d7ebdebc90967ed2de0d6e6031392..2452137d60a8d0cce24eadda5913baa5545d3d41 100644 --- a/codes/eoa_lib/src/crossover.rs +++ b/codes/eoa_lib/src/crossover.rs @@ -2,7 +2,6 @@ use std::marker::PhantomData; use nalgebra::{allocator::Allocator, DefaultAllocator, Dim, OVector, Scalar, U1}; use rand::{seq::IteratorRandom, Rng, RngCore}; -use rand_distr::Uniform; use crate::{binary_string::BinaryString, pairing::ParentPairing, population::{EvaluatedPopulation, Population}}; diff --git a/codes/eoa_lib/src/evolutionary_strategy.rs b/codes/eoa_lib/src/evolutionary_strategy.rs index fc44d87ff637cb1ec4db392a6d7157ca7e47417c..d0fb914eb550eae5f98a453444642a06edcf02e2 100644 --- a/codes/eoa_lib/src/evolutionary_strategy.rs +++ b/codes/eoa_lib/src/evolutionary_strategy.rs @@ -3,7 +3,7 @@ use std::{convert::Infallible, error::Error}; use nalgebra::SVector; use rand_distr::{Normal, NormalError}; -use crate::{local_search::LocalSearchStats, perturbation::{apply_to_perturbations, BoundedPerturbation, PerturbationOperator, RandomDistributionPerturbation}}; +use crate::{local_search::LocalSearchStats, perturbation::{apply_to_perturbations, PerturbationOperator, RandomDistributionPerturbation}}; pub trait EvolutionaryStrategy { type Err: Error + 'static; diff --git a/codes/eoa_lib/src/pairing.rs b/codes/eoa_lib/src/pairing.rs index 40b920628eb33d5bd19df3c1d02fba23d519799b..2ef3c56d92addb54c356f2752f16d6265cd11354 100644 --- a/codes/eoa_lib/src/pairing.rs +++ b/codes/eoa_lib/src/pairing.rs @@ -1,6 +1,6 @@ use std::marker::PhantomData; -use nalgebra::{Const, OVector, SVector}; +use nalgebra::{Const, OVector}; use crate::population::EvaluatedPopulation; diff --git a/codes/eoa_lib/src/perturbation/mod.rs b/codes/eoa_lib/src/perturbation/mod.rs index 89b88637867ef409aeb7758150458219eea31f03..d145a3372ce3353d5c093baf003c2c2119447eb8 100644 --- a/codes/eoa_lib/src/perturbation/mod.rs +++ b/codes/eoa_lib/src/perturbation/mod.rs @@ -1,4 +1,4 @@ -use std::{any::Any, borrow::{Borrow, BorrowMut}, marker::PhantomData}; +use std::{any::Any, marker::PhantomData}; use nalgebra::{allocator::Allocator, DefaultAllocator, Dim, SVector}; use rand::{distr::Distribution, Rng, RngCore, prelude::IteratorRandom}; diff --git a/codes/eoa_lib/src/replacement.rs b/codes/eoa_lib/src/replacement.rs index bc4358b4e3288c4014ae40b94e89b1e8f8fae87b..2cf1058cbd76e9ef21398e56d7679e62ed448fda 100644 --- a/codes/eoa_lib/src/replacement.rs +++ b/codes/eoa_lib/src/replacement.rs @@ -1,7 +1,7 @@ use rand::{seq::IteratorRandom, RngCore}; use std::fmt::Debug; -use crate::{comparison::BetterThanOperator, fitness::FitnessFunction, population::{EvaluatedPopulation, EvaluatedChromosome}, selection::{Selection, TournamentSelection}}; +use crate::{comparison::BetterThanOperator, population::EvaluatedPopulation, selection::{Selection, TournamentSelection}}; fn extract_by_indices(mut x: Vec, mut idxs: Vec) -> Vec { idxs.sort_unstable_by(|a, b| b.cmp(a)); @@ -113,14 +113,12 @@ impl Replacement for RandomReplacement { } pub struct TournamentReplacement { - selection: TournamentSelection, - evaluation_pool: Vec + selection: TournamentSelection } impl TournamentReplacement { pub fn new(k: usize, p: f64) -> Self { TournamentReplacement { - evaluation_pool: vec![], selection: TournamentSelection::new( k, p, diff --git a/codes/eoa_lib/src/selection.rs b/codes/eoa_lib/src/selection.rs index 6c67ba3c9f1cb73078e5ce71cde408d9c14f7d9c..a401afc0917b36e1d55e06d2a6aa2b826b6faa62 100644 --- a/codes/eoa_lib/src/selection.rs +++ b/codes/eoa_lib/src/selection.rs @@ -1,6 +1,6 @@ -use nalgebra::{Dyn, OVector, Scalar, U1}; +use nalgebra::Scalar; use rand::{seq::IteratorRandom, Rng, RngCore}; -use rand_distr::uniform::{SampleRange, SampleUniform}; +use rand_distr::uniform::SampleUniform; use std::{cmp::Ordering, fmt::Debug, ops::{AddAssign, Sub}}; use crate::{comparison::BetterThanOperator, population::EvaluatedPopulation}; diff --git a/codes/tsp_hw01/src/crossovers.rs b/codes/tsp_hw01/src/crossovers.rs index 59085eb89fb5bcece9ef81ab9f72c21df08c6a47..f924e17c5e78631320f91aeb8bfec8797d7014a5 100644 --- a/codes/tsp_hw01/src/crossovers.rs +++ b/codes/tsp_hw01/src/crossovers.rs @@ -227,7 +227,7 @@ where &self, parents: &eoa_lib::population::EvaluatedPopulation, pairs: impl Iterator>, - rng: &mut dyn RngCore + _: &mut dyn RngCore ) -> Population { let mut offsprings = vec![]; diff --git a/codes/tsp_hw01/src/initializers.rs b/codes/tsp_hw01/src/initializers.rs index b180133574cced13dadd6c70ba39f00f58c34a2b..2b632694288f7528327172c0381bb7f0fc6a2de4 100644 --- a/codes/tsp_hw01/src/initializers.rs +++ b/codes/tsp_hw01/src/initializers.rs @@ -1,5 +1,5 @@ use std::{cmp::Ordering, marker::PhantomData}; -use nalgebra::{allocator::Allocator, Const, DefaultAllocator, Dim, OVector, U1, U2}; +use nalgebra::{allocator::Allocator, DefaultAllocator, Dim, OVector, U1, U2}; use rand::{prelude::SliceRandom, seq::IteratorRandom, Rng, RngCore}; use eoa_lib::initializer::Initializer; use crate::{graph::{Graph, minimal_spanning_tree_kruskal, GenericGraph}, tsp::{NodePermutation, TSPCity, TSPEdge, TSPInstance}}; @@ -37,22 +37,21 @@ where } } -pub struct NearestNeighborInitializer<'a, D: Dim> +pub struct NearestNeighborInitializer where DefaultAllocator: nalgebra::allocator::Allocator, DefaultAllocator: nalgebra::allocator::Allocator { - instance: &'a TSPInstance, neighbors_order: Vec>, _phantom: PhantomData, } -impl<'a, D: Dim> NearestNeighborInitializer<'a, D> +impl NearestNeighborInitializer where DefaultAllocator: nalgebra::allocator::Allocator, DefaultAllocator: nalgebra::allocator::Allocator { - pub fn new(instance: &'a TSPInstance) -> Self { + pub fn new(instance: &TSPInstance) -> Self { let mut neighbors_order = vec![ (0..instance.cities.len()).collect::>(); instance.cities.len() @@ -69,7 +68,6 @@ where Self { neighbors_order, - instance, _phantom: PhantomData } } @@ -118,7 +116,7 @@ where } } -impl<'a, D: Dim> Initializer> for NearestNeighborInitializer<'a, D> +impl Initializer> for NearestNeighborInitializer where DefaultAllocator: nalgebra::allocator::Allocator, DefaultAllocator: nalgebra::allocator::Allocator diff --git a/codes/tsp_hw01/src/main.rs b/codes/tsp_hw01/src/main.rs index df99b70bb703bccbfa2e20c3023274709a1fe79d..5f5fddc5cf8e306bfc2b844b97de2b6110929bc4 100644 --- a/codes/tsp_hw01/src/main.rs +++ b/codes/tsp_hw01/src/main.rs @@ -8,12 +8,12 @@ pub mod graph; use tsp::{NodePermutation, TSPInstance}; use initializers::{MinimumSpanningTreeInitializer, NearestNeighborInitializer, TSPRandomInitializer}; -use crossovers::{CycleCrossover, EdgeRecombinationCrossover, NoCrossover, PartiallyMappedCrossover}; -use perturbations::{MovePerturbation, Random2OptPerturbation, ReverseSubsequencePerturbation, SwapPerturbation}; +use crossovers::{CycleCrossover, EdgeRecombinationCrossover, PartiallyMappedCrossover}; +use perturbations::{MovePerturbation, ReverseSubsequencePerturbation, SwapPerturbation}; use binary_string_representation::TSPBinaryStringWrapper; use nalgebra::{Dim, Dyn}; use eoa_lib::{ - binary_string::BinaryString, comparison::MinimizingOperator, crossover::BinaryNPointCrossover, evolution::{evolution_algorithm, EvolutionStats}, evolutionary_strategy::IdentityStrategy, initializer::{Initializer, RandomInitializer}, local_search::{local_search_first_improving, LocalSearchStats}, pairing::AdjacentPairing, perturbation::{apply_to_perturbations, BinaryStringBitPerturbation, BinaryStringFlipNPerturbation, BinaryStringSingleBitPerturbation, CombinedPerturbation, IdentityPerturbation, MutationPerturbation, OneOfPerturbation, PerturbationOperator}, random_search::random_search, replacement::{BestReplacement, TournamentReplacement}, selection::{BestSelection, RouletteWheelSelection, TournamentSelection}, terminating::MaximumCyclesTerminatingCondition + binary_string::BinaryString, comparison::MinimizingOperator, crossover::BinaryNPointCrossover, evolution::{evolution_algorithm, EvolutionStats}, evolutionary_strategy::IdentityStrategy, initializer::{Initializer, RandomInitializer}, local_search::{local_search_first_improving, LocalSearchStats}, pairing::AdjacentPairing, perturbation::{apply_to_perturbations, BinaryStringBitPerturbation, BinaryStringFlipNPerturbation, BinaryStringSingleBitPerturbation, CombinedPerturbation, IdentityPerturbation, MutationPerturbation, OneOfPerturbation}, random_search::random_search, replacement::{BestReplacement, TournamentReplacement}, selection::{BestSelection, RouletteWheelSelection}, terminating::MaximumCyclesTerminatingCondition }; use rand::rng; use std::env; diff --git a/codes/tsp_hw01/src/tsp.rs b/codes/tsp_hw01/src/tsp.rs index 2b8ab4de90e210a773ded59fa05a92bee02e0cd9..6795acf7c3b3fdee83183d7208e01649de848b38 100644 --- a/codes/tsp_hw01/src/tsp.rs +++ b/codes/tsp_hw01/src/tsp.rs @@ -5,7 +5,7 @@ use itertools::Itertools; use nalgebra::{allocator::Allocator, distance, Const, DefaultAllocator, Dim, Dyn, OMatrix, OVector, Point}; use plotters::prelude::*; -use crate::graph::{minimal_spanning_tree_kruskal, Edge, GenericGraph, Graph, WeightedEdge}; +use crate::graph::{Edge, GenericGraph, WeightedEdge}; #[derive(PartialEq, Clone, Debug)] pub struct TSPCity {