evolve_population

Function evolve_population 

Source
pub fn evolve_population(
    initial_population: Routes,
    n_generations: usize,
    size_generation: usize,
    distance_matrix: &DistanceMat,
    n_jobs: usize,
) -> Routes
Expand description

Given an initial population evolve it for n_generations while keeping size_generation individuals. The final population will be returned.

§Arguments

  • initial_population - Your initial population that should be evolved.
  • n_generations - How many times should your population be evolved?
  • size_generation - How many individuals should be kept after evolving it.
  • distance_matrix - The distance matrix on which the fitness will be computed on.

§Examples

use genetic_algorithm_tsp::routes::{Routes, evolve_population};
use genetic_algorithm_tsp::route::Route;
use genetic_algorithm_tsp::distance_mat::DistanceMat;

let evolved_population = evolve_population(
    Routes::from(vec![Route::new(vec![0,1,2]), Route::new(vec![1,0,2])]),
    10,
    10,
    &DistanceMat::new(vec![vec![0.0,1.0,2.0], vec![1.0,0.0,3.0], vec![2.0,3.0,0.0]]),
    0
);