1pub mod basic;
12pub mod builder;
13pub mod heuristic;
14pub mod manager;
15pub mod phase;
16pub mod realtime;
17pub mod scope;
18pub mod solver;
19pub mod stats;
20pub mod termination;
21
22pub use builder::AcceptorBuilder;
23pub use heuristic::{
24 k_opt_reconnection,
26 AllEntitiesSelector,
28 ChangeMove,
30 ChangeMoveSelector,
31 CompositeMove,
32 CutPoint,
33 DefaultDistanceMeter,
34 DefaultPillarSelector,
35 EntityReference,
36 EntitySelector,
37 FromSolutionEntitySelector,
38 FromSolutionTypedValueSelector,
39 KOptConfig,
40 KOptMove,
41 KOptMoveSelector,
42 ListPositionDistanceMeter,
43 ListRuinMove,
44 ListRuinMoveSelector,
45 MimicRecorder,
46 MimicRecordingEntitySelector,
47 MimicReplayingEntitySelector,
48 Move,
49 MoveArena,
50 MoveSelector,
51 NearbyDistanceMeter,
52 NearbyEntitySelector,
53 NearbyKOptMoveSelector,
54 NearbySelectionConfig,
55 Pillar,
56 PillarChangeMove,
57 PillarSelector,
58 PillarSwapMove,
59 RuinMove,
60 RuinMoveSelector,
61 SelectionOrder,
62 StaticTypedValueSelector,
63 SubPillarConfig,
64 SwapMove,
65 SwapMoveSelector,
66 TypedValueSelector,
67};
68pub use manager::{
69 Analyzable, ConstraintAnalysis, ConstructionPhaseFactory, ConstructionType, KOptPhase,
70 KOptPhaseBuilder, ListConstructionPhase, ListConstructionPhaseBuilder, LocalSearchPhaseFactory,
71 LocalSearchType, PhaseFactory, ScoreAnalysis, SolutionManager, Solvable, SolverFactory,
72 SolverFactoryBuilder, SolverManager, SolverStatus,
73};
74pub use phase::basic::{BasicConstructionPhase, BasicLocalSearchPhase};
75pub use phase::{
76 construction::{
77 BestFitForager, ConstructionForager, ConstructionHeuristicConfig,
78 ConstructionHeuristicPhase, EntityPlacer, FirstFeasibleForager, FirstFitForager,
79 ForagerType, Placement, QueuedEntityPlacer,
80 },
81 exhaustive::{
82 BounderType, ExhaustiveSearchConfig, ExhaustiveSearchDecider, ExhaustiveSearchNode,
83 ExhaustiveSearchPhase, ExplorationType, FixedOffsetBounder, MoveSequence, ScoreBounder,
84 SimpleDecider, SimpleScoreBounder,
85 },
86 localsearch::{
87 AcceptedCountForager, Acceptor, AcceptorType, DiversifiedLateAcceptanceAcceptor,
88 EntityTabuAcceptor, FirstAcceptedForager, GreatDelugeAcceptor, HillClimbingAcceptor,
89 LateAcceptanceAcceptor, LocalSearchConfig, LocalSearchForager, LocalSearchPhase,
90 MoveTabuAcceptor, SimulatedAnnealingAcceptor, StepCountingHillClimbingAcceptor,
91 TabuSearchAcceptor, ValueTabuAcceptor,
92 },
93 partitioned::{
94 ChildPhases, FunctionalPartitioner, PartitionedSearchConfig, PartitionedSearchPhase,
95 SolutionPartitioner, ThreadCount,
96 },
97 vnd::VndPhase,
98 Phase,
99};
100pub use scope::{PhaseScope, SolverScope, StepScope};
101pub use solver::{MaybeTermination, NoTermination, Solver};
102pub use stats::{PhaseStats, SolverStats};
103pub use termination::{
104 AndTermination, BestScoreFeasibleTermination, BestScoreTermination,
105 DiminishedReturnsTermination, MoveCountTermination, OrTermination,
106 ScoreCalculationCountTermination, StepCountTermination, Termination, TimeTermination,
107 UnimprovedStepCountTermination, UnimprovedTimeTermination,
108};
109
110pub use basic::{run_solver, run_solver_with_channel};