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