metaheurustics/
lib.rs

1//! # Metaheuristics
2//! 
3//! A comprehensive collection of metaheuristic optimization algorithms implemented in Rust.
4//! This library provides implementations of various optimization algorithms for solving
5//! complex optimization problems.
6
7pub mod algorithm;
8pub mod test_function;
9pub mod utils;
10
11/// Common types and traits used throughout the library
12pub mod prelude {
13    pub use crate::algorithm::*;
14    pub use crate::test_function::*;
15    pub use crate::utils::*;
16}
17
18/// Error types for the metaheuristics library
19#[derive(thiserror::Error, Debug)]
20pub enum MetaheuristicError {
21    #[error("Invalid dimension: expected {expected}, got {got}")]
22    InvalidDimension {
23        expected: usize,
24        got: usize,
25    },
26    #[error("Invalid bounds: min values must be less than max values")]
27    InvalidBounds,
28    #[error("Optimization failed: {0}")]
29    OptimizationError(String),
30}
31
32/// Result type for metaheuristic operations
33pub type Result<T> = std::result::Result<T, MetaheuristicError>;