Skip to main content

solverforge_solver/heuristic/selector/
mod.rs

1//! Selectors for entities, values, and moves.
2//!
3//! Selectors enumerate the elements that the solver considers when
4//! exploring the solution space.
5
6pub mod decorator;
7pub mod entity;
8pub mod k_opt;
9pub mod list_change;
10pub mod list_reverse;
11pub mod list_ruin;
12pub mod list_swap;
13pub mod mimic;
14pub mod nearby;
15pub mod nearby_list_change;
16pub mod nearby_list_swap;
17pub mod pillar;
18pub mod ruin;
19mod selection_order;
20pub mod sublist_change;
21pub mod sublist_swap;
22pub mod typed_move_selector;
23pub mod typed_value;
24
25#[cfg(test)]
26mod tests;
27
28pub use entity::{
29    AllEntitiesSelector, EntityReference, EntitySelector, FromSolutionEntitySelector,
30};
31pub use k_opt::{
32    DefaultDistanceMeter, KOptConfig, KOptMoveSelector, ListPositionDistanceMeter,
33    NearbyKOptMoveSelector,
34};
35pub use list_change::ListChangeMoveSelector;
36pub use list_reverse::{ListMoveListReverseSelector, ListReverseMoveSelector};
37pub use list_ruin::ListRuinMoveSelector;
38pub use list_swap::{ListMoveListSwapSelector, ListSwapMoveSelector};
39pub use mimic::{MimicRecorder, MimicRecordingEntitySelector, MimicReplayingEntitySelector};
40pub use nearby::{NearbyDistanceMeter, NearbyEntitySelector, NearbySelectionConfig};
41pub use nearby_list_change::{
42    CrossEntityDistanceMeter, DefaultCrossEntityDistanceMeter, ListMoveNearbyListChangeSelector,
43    NearbyListChangeMoveSelector,
44};
45pub use nearby_list_swap::{ListMoveNearbyListSwapSelector, NearbyListSwapMoveSelector};
46pub use pillar::{DefaultPillarSelector, Pillar, PillarSelector, SubPillarConfig};
47pub use ruin::RuinMoveSelector;
48pub use selection_order::SelectionOrder;
49pub use sublist_change::{ListMoveSubListChangeSelector, SubListChangeMoveSelector};
50pub use sublist_swap::{ListMoveSubListSwapSelector, SubListSwapMoveSelector};
51pub use typed_move_selector::{
52    ChangeMoveSelector, EitherChangeMoveSelector, EitherSwapMoveSelector, ListMoveKOptSelector,
53    ListMoveListChangeSelector, ListMoveListRuinSelector, MoveSelector, SwapMoveSelector,
54};
55pub use typed_value::{
56    FromSolutionTypedValueSelector, StaticTypedValueSelector, TypedValueSelector,
57};