v2rmp 0.4.5

rmpca — Route Optimization TUI & Agent Engine
Documentation
pub mod registry;
pub mod solvers;
pub mod types;
pub mod utils;

#[cfg(test)]
pub(crate) mod test_utils {
    use super::types::*;
    pub use super::utils::build_haversine_matrix;

    pub fn make_stop(lat: f64, lon: f64, label: &str) -> VRPSolverStop {
        VRPSolverStop {
            lat,
            lon,
            label: label.into(),
            demand: None,
            arrival_time: None,
        }
    }

    pub fn make_input(locations: Vec<VRPSolverStop>, num_vehicles: usize) -> VRPSolverInput {
        let matrix = build_haversine_matrix(&locations, 40.0);
        VRPSolverInput {
            locations,
            num_vehicles,
            vehicle_capacity: 100.0,
            objective: VrpObjective::MinDistance,
            matrix: Some(matrix),
            service_time_secs: None,
            use_time_windows: false,
            window_open: None,
            window_close: None,
        }
    }
}