Add layout bin.
This commit is contained in:
parent
e9377de01f
commit
b79d0dffb6
4 changed files with 331 additions and 58 deletions
|
|
@ -1,46 +0,0 @@
|
|||
use clap::Parser;
|
||||
use factorio_blueprint::{
|
||||
common::visualize::Visualize,
|
||||
layout::{genetic_algorithm2, GeneticAlgorithm, 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("layout3.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, 2, 0, &mut rng);
|
||||
|
||||
// for i in 0..100 {
|
||||
// println!("Generatrion {i}");
|
||||
// g.generation(&mut rng);
|
||||
// }
|
||||
|
||||
// g.output_population();
|
||||
|
||||
let mut m: Option<PathLayout> = None;
|
||||
for _ in 0..1 {
|
||||
let g = genetic_algorithm2(&p, 10, 320, &mut rng);
|
||||
|
||||
g.print_visualization();
|
||||
g.png_visualization("test.png");
|
||||
if m.as_ref().is_none_or(|m| g.score() < m.score()) {
|
||||
m = Some(g);
|
||||
}
|
||||
}
|
||||
|
||||
m.unwrap().print_visualization();
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue