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