gittech. site

for different kinds of informations and explorations.

Galapagos: Simple Evolutionary Solver in Rust

Published at
Dec 31, 2024

Galapagos

Crates.io Docs.rs License: Unlicensed

Simple evolutionary solver written in Rust.

Graph of fitness over time

Usage

use matrix_rs::galapagos::{self, Goal};

fn main() {
    let solution = galapagos::solve(
        |xs| {
            // Rosenbrock: (a - x)^2 + b(y - x^2)^2
            let x = xs[0];
            let y = xs[1];
            (1.0 - x).powi(2) + 100.0 * (y - x.powi(2)).powi(2)
        },
        &[(-5.0, 5.0), (-5.0, 5.0)],
        Goal::Minimize,
        Default::default(),
    );
    println!("{solution:?}");
}