Skip to main content

solverforge_solver/builder/
mod.rs

1/* Builder module for constructing solver components from configuration.
2
3Provides wiring between `SolverConfig` and the actual solver types.
4All builders return concrete monomorphized enums — no `Box<dyn Trait>`.
5*/
6
7pub mod acceptor;
8pub mod context;
9pub mod forager;
10mod list_selector;
11mod scalar_selector;
12pub mod search;
13pub mod selector;
14
15pub use acceptor::{AcceptorBuilder, AnyAcceptor};
16pub use context::{
17    bind_scalar_groups, ConflictRepair, IntraDistanceAdapter, ListVariableSlot, RepairCandidate,
18    RepairLimits, RuntimeModel, ScalarAssignmentBinding, ScalarCandidate, ScalarEdit,
19    ScalarGroupBinding, ScalarGroupBindingKind, ScalarGroupLimits, ScalarGroupMemberBinding,
20    ScalarVariableSlot, ValueSource, VariableSlot,
21};
22pub use forager::{AnyForager, ForagerBuilder};
23pub use search::{build_search, local_search, CustomSearchPhase, Search, SearchContext};
24pub use selector::{
25    build_local_search, build_move_selector, LocalSearch, LocalSearchStrategy, Neighborhood,
26    NeighborhoodLeaf, NeighborhoodMove, Selector,
27};