Skip to main content

solverforge_solver/heuristic/
mod.rs

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