Skip to main content

solverforge_solver/heuristic/
mod.rs

1/* Heuristic components for solving
2
3This module contains:
4- Moves: Operations that modify planning variables
5- Selectors: Components that enumerate entities, values, and moves
6*/
7
8pub mod r#move;
9pub mod selector;
10
11// Re-export move types
12pub use r#move::k_opt_reconnection;
13pub use r#move::{
14    ChangeMove, CompositeMove, CutPoint, EitherMove, KOptMove, ListChangeMove, ListMoveImpl,
15    ListReverseMove, ListRuinMove, ListSwapMove, Move, MoveArena, PillarChangeMove, PillarSwapMove,
16    RuinMove, SubListChangeMove, SubListSwapMove, SwapMove,
17};
18
19// Re-export selector types
20pub use selector::decorator::VecUnionSelector;
21pub use selector::{
22    AllEntitiesSelector, ChangeMoveSelector, CrossEntityDistanceMeter,
23    DefaultCrossEntityDistanceMeter, DefaultDistanceMeter, DefaultPillarSelector,
24    EitherChangeMoveSelector, EitherSwapMoveSelector, EntityReference, EntitySelector,
25    FromSolutionEntitySelector, FromSolutionTypedValueSelector, KOptConfig, KOptMoveSelector,
26    ListChangeMoveSelector, ListMoveKOptSelector, ListMoveListChangeSelector,
27    ListMoveListReverseSelector, ListMoveListRuinSelector, ListMoveListSwapSelector,
28    ListMoveNearbyListChangeSelector, ListMoveNearbyListSwapSelector,
29    ListMoveSubListChangeSelector, ListMoveSubListSwapSelector, ListPositionDistanceMeter,
30    ListReverseMoveSelector, ListRuinMoveSelector, ListSwapMoveSelector, MimicRecorder,
31    MimicRecordingEntitySelector, MimicReplayingEntitySelector, MoveSelector, NearbyDistanceMeter,
32    NearbyEntitySelector, NearbyKOptMoveSelector, NearbyListChangeMoveSelector,
33    NearbyListSwapMoveSelector, NearbySelectionConfig, Pillar, PillarSelector, RuinMoveSelector,
34    SelectionOrder, StaticTypedValueSelector, SubListChangeMoveSelector, SubListSwapMoveSelector,
35    SubPillarConfig, SwapMoveSelector, TypedValueSelector,
36};