Skip to main content

solverforge_solver/manager/
mod.rs

1/* High-level solver management with zero-erasure API.
2
3# Zero-Erasure Design
4
5All types flow through generics - no Box, Arc, or dyn anywhere.
6Runtime configuration from TOML/YAML is handled by the macro layer
7which generates concrete types at compile time.
8*/
9
10mod builder;
11mod config;
12mod phase_factory;
13mod phase_factory_trait;
14mod solution_manager;
15mod solver_factory;
16mod solver_manager;
17
18#[cfg(test)]
19mod builder_tests;
20#[cfg(test)]
21mod mod_tests;
22#[cfg(test)]
23mod mod_tests_integration;
24
25pub use builder::{SolverBuildError, SolverFactoryBuilder};
26pub use config::{ConstructionType, LocalSearchType, PhaseConfig};
27pub(crate) use phase_factory::solve_specialized_list_construction;
28pub use phase_factory::{
29    ConstructionPhaseFactory, KOptPhase, KOptPhaseBuilder, ListCheapestInsertionPhase,
30    ListClarkeWrightPhase, ListConstructionPhase, ListConstructionPhaseBuilder, ListKOptPhase,
31    ListRegretInsertionPhase, LocalSearchPhaseFactory,
32};
33pub use phase_factory_trait::PhaseFactory;
34pub use solution_manager::{analyze, Analyzable, ConstraintAnalysis, ScoreAnalysis};
35pub use solver_factory::{solver_factory_builder, SolverFactory};
36pub use solver_manager::{
37    Solvable, SolverEvent, SolverEventMetadata, SolverLifecycleState, SolverManager,
38    SolverManagerError, SolverRuntime, SolverSnapshot, SolverSnapshotAnalysis, SolverStatus,
39    SolverTerminalReason,
40};