~ruther/ctu-fee-eoa

db3fceb97939f1bcd768650d153ebcfa95231685 — Rutherther a month ago 96e4986
tests: use random initializer in a test
1 files changed, 6 insertions(+), 3 deletions(-)

M env/src/local_search/mod.rs
M env/src/local_search/mod.rs => env/src/local_search/mod.rs +6 -3
@@ 288,9 288,9 @@ pub fn plot_fitness_evolution(file: &str, stats: LocalSearchStats<SVector<f64, 2

#[cfg(test)]
pub mod tests {
    use nalgebra::{SVector, U10};
    use nalgebra::{OVector, SVector, U10, U2};

    use crate::{binary_string::BinaryString, comparison::MinimizingOperator, evolutionary_strategy::{IdentityStrategy, OneToFiveStrategy}, fitness::{one_max::OneMax, real::Linear, rosenbrock::Rosenbrock, sphere::Sphere, BinaryFitnessWrapper}, local_search::{local_search_first_improving, local_search_first_improving_evolving, plot_fitness_evolution}, perturbation::{BinaryStringBitPerturbation, BoundedPerturbation, BoundedPerturbationStrategy, PatternPerturbation, RandomDistributionPerturbation}, terminating::{AndTerminatingConditions, CloserThanTerminatingCondition, EqualTerminatingCondition, NoBetterForCyclesTerminatingCondition}};
    use crate::{binary_string::BinaryString, bounded::BoundedOVector, comparison::MinimizingOperator, evolutionary_strategy::{IdentityStrategy, OneToFiveStrategy}, fitness::{one_max::OneMax, real::Linear, rosenbrock::Rosenbrock, sphere::Sphere, BinaryFitnessWrapper}, initializer::{Initializer, RandomInitializer}, local_search::{local_search_first_improving, local_search_first_improving_evolving, plot_fitness_evolution}, perturbation::{BinaryStringBitPerturbation, BoundedPerturbation, BoundedPerturbationStrategy, PatternPerturbation, RandomDistributionPerturbation}, terminating::{AndTerminatingConditions, CloserThanTerminatingCondition, EqualTerminatingCondition, NoBetterForCyclesTerminatingCondition}};

    #[test]
    fn test_local_search_sphere_binary() {


@@ 472,6 472,9 @@ pub mod tests {
        let max = SVector::<f64, 2>::from_vec(vec![10.0, 10.0]);
        let min = -SVector::<f64, 2>::from_vec(vec![10.0, 10.0]);

        let mut initializer =
            RandomInitializer::<U2, OVector<f64, U2>>::new(Box::new(BoundedOVector::<U2>::new(min, max)));

        let linear = Linear::new(7.0, SVector::<f64, 2>::from_vec(vec![0.2, -0.5]));

        let result = local_search_first_improving(


@@ 489,7 492,7 @@ pub mod tests {
                max,
                BoundedPerturbationStrategy::Retry(10)),
            &MinimizingOperator::new(),
            &SVector::<f64, 2>::zeros(),
            &initializer.initialize_single(U2),
        ).unwrap();

        println!("{:?}", result);