pub fn firefly_algorithm( objective: fn(&[f64]) -> f64, bounds: &[(f64, f64)], pop_size: usize, max_iter: usize, alpha: f64, beta0: f64, gamma: f64, seed: u64, ) -> Vec<f64>