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, CompoundScalarEdit, CompoundScalarMove, CutPoint,
15    DynamicListChangeMove, DynamicScalarChangeMove, DynamicScalarSwapMove, KOptMove,
16    ListChangeMove, ListMoveUnion, ListMultiSwapMove, ListPermuteMove, ListReverseMove,
17    ListRuinMove, ListSwapMove, Move, MoveArena, PillarChangeMove, PillarSwapMove, RuinMove,
18    RuinRecreateMove, ScalarMoveUnion, ScalarRecreateValueSource, SublistChangeMove,
19    SublistSwapMove, SwapMove,
20};
21
22// Re-export selector types
23pub use selector::decorator::VecUnionSelector;
24pub use selector::{
25    AllEntitiesSelector, ChangeMoveSelector, CrossEntityDistanceMeter,
26    DefaultCrossEntityDistanceMeter, DefaultDistanceMeter, DefaultPillarSelector,
27    DynamicListChangeMoveSelector, DynamicScalarChangeMoveSelector,
28    DynamicScalarNearbyChangeMoveSelector, DynamicScalarNearbySwapMoveSelector, EntityReference,
29    EntitySelector, FromSolutionEntitySelector, FromSolutionValueSelector, KOptConfig,
30    KOptMoveSelector, ListChangeMoveSelector, ListPermuteMoveSelector, ListPositionDistanceMeter,
31    ListPrecedenceMoveSelector, ListReverseMoveSelector, ListRuinMoveSelector,
32    ListSwapMoveSelector, MimicRecorder, MimicRecordingEntitySelector,
33    MimicReplayingEntitySelector, MoveSelector, NearbyDistanceMeter, NearbyEntitySelector,
34    NearbyKOptMoveSelector, NearbyListChangeMoveSelector, NearbyListSwapMoveSelector,
35    NearbySelectionConfig, PerEntitySliceValueSelector, PerEntityValueSelector, Pillar,
36    PillarSelector, RuinMoveSelector, RuinVariableAccess, ScalarChangeMoveSelector,
37    ScalarNeighborhoodBindingError, ScalarSwapMoveSelector, SelectionOrder, StaticValueSelector,
38    SubPillarConfig, SublistChangeMoveSelector, SublistSwapMoveSelector, SwapMoveSelector,
39    ValueSelector,
40};