factorio_blueprint/examples/layout.rs
2024-08-27 13:53:31 +02:00

34 lines
754 B
Rust

use clap::Parser;
use factorio_blueprint::{
belt_finding::{conflict_avoidance::ConflictAvoidance, Problem},
common::visualize::Visualize,
layout::{GeneticAlgorithm, Layout, PathLayout},
};
use rand::{rngs::SmallRng, SeedableRng};
#[derive(Debug, Parser)]
struct Args {
#[clap(default_value_t = 0)]
seed: u64,
}
fn main() {
let args = Args::parse();
let file = std::fs::File::open("layout2.yml").unwrap();
let p = serde_yaml::from_reader(file).unwrap();
let mut rng = SmallRng::seed_from_u64(args.seed);
dbg!(&p);
let mut g = GeneticAlgorithm::new(&p, 20, 4, 2, &mut rng);
for i in 0..100 {
println!("Generatrion {i}");
g.generation(&mut rng);
}
// g.output_population();
}