Crate solverforge_solver

Crate solverforge_solver 

Source
Expand description

SolverForge Solver Engine

This crate provides the main solver implementation including:

  • Solver and SolverFactory
  • Phases (construction heuristic, local search, exhaustive search)
  • Move system
  • Termination conditions
  • Tracing-based structured logging
  • Configuration wiring (builder module)

Re-exports§

pub use builder::AcceptorBuilder;
pub use heuristic::k_opt_reconnection;
pub use heuristic::AllEntitiesSelector;
pub use heuristic::ChangeMove;
pub use heuristic::ChangeMoveSelector;
pub use heuristic::CompositeMove;
pub use heuristic::CutPoint;
pub use heuristic::DefaultDistanceMeter;
pub use heuristic::DefaultPillarSelector;
pub use heuristic::EntityReference;
pub use heuristic::EntitySelector;
pub use heuristic::FromSolutionEntitySelector;
pub use heuristic::FromSolutionTypedValueSelector;
pub use heuristic::KOptConfig;
pub use heuristic::KOptMove;
pub use heuristic::KOptMoveSelector;
pub use heuristic::ListPositionDistanceMeter;
pub use heuristic::ListRuinMove;
pub use heuristic::ListRuinMoveSelector;
pub use heuristic::MimicRecorder;
pub use heuristic::MimicRecordingEntitySelector;
pub use heuristic::MimicReplayingEntitySelector;
pub use heuristic::Move;
pub use heuristic::MoveArena;
pub use heuristic::MoveSelector;
pub use heuristic::NearbyDistanceMeter;
pub use heuristic::NearbyEntitySelector;
pub use heuristic::NearbyKOptMoveSelector;
pub use heuristic::NearbySelectionConfig;
pub use heuristic::Pillar;
pub use heuristic::PillarChangeMove;
pub use heuristic::PillarSelector;
pub use heuristic::PillarSwapMove;
pub use heuristic::RuinMove;
pub use heuristic::RuinMoveSelector;
pub use heuristic::SelectionOrder;
pub use heuristic::StaticTypedValueSelector;
pub use heuristic::SubPillarConfig;
pub use heuristic::SwapMove;
pub use heuristic::SwapMoveSelector;
pub use heuristic::TypedValueSelector;
pub use manager::Analyzable;
pub use manager::ConstraintAnalysis;
pub use manager::ConstructionPhaseFactory;
pub use manager::ConstructionType;
pub use manager::KOptPhase;
pub use manager::KOptPhaseBuilder;
pub use manager::ListConstructionPhase;
pub use manager::ListConstructionPhaseBuilder;
pub use manager::LocalSearchPhaseFactory;
pub use manager::LocalSearchType;
pub use manager::PhaseFactory;
pub use manager::ScoreAnalysis;
pub use manager::SolutionManager;
pub use manager::Solvable;
pub use manager::SolverFactory;
pub use manager::SolverFactoryBuilder;
pub use manager::SolverManager;
pub use manager::SolverStatus;
pub use phase::basic::BasicConstructionPhase;
pub use phase::basic::BasicLocalSearchPhase;
pub use phase::construction::BestFitForager;
pub use phase::construction::ConstructionForager;
pub use phase::construction::ConstructionHeuristicConfig;
pub use phase::construction::ConstructionHeuristicPhase;
pub use phase::construction::EntityPlacer;
pub use phase::construction::FirstFeasibleForager;
pub use phase::construction::FirstFitForager;
pub use phase::construction::ForagerType;
pub use phase::construction::Placement;
pub use phase::construction::QueuedEntityPlacer;
pub use phase::exhaustive::BounderType;
pub use phase::exhaustive::ExhaustiveSearchConfig;
pub use phase::exhaustive::ExhaustiveSearchDecider;
pub use phase::exhaustive::ExhaustiveSearchNode;
pub use phase::exhaustive::ExhaustiveSearchPhase;
pub use phase::exhaustive::ExplorationType;
pub use phase::exhaustive::FixedOffsetBounder;
pub use phase::exhaustive::MoveSequence;
pub use phase::exhaustive::ScoreBounder;
pub use phase::exhaustive::SimpleDecider;
pub use phase::exhaustive::SimpleScoreBounder;
pub use phase::localsearch::AcceptedCountForager;
pub use phase::localsearch::Acceptor;
pub use phase::localsearch::AcceptorType;
pub use phase::localsearch::DiversifiedLateAcceptanceAcceptor;
pub use phase::localsearch::EntityTabuAcceptor;
pub use phase::localsearch::FirstAcceptedForager;
pub use phase::localsearch::GreatDelugeAcceptor;
pub use phase::localsearch::HillClimbingAcceptor;
pub use phase::localsearch::LateAcceptanceAcceptor;
pub use phase::localsearch::LocalSearchConfig;
pub use phase::localsearch::LocalSearchForager;
pub use phase::localsearch::LocalSearchPhase;
pub use phase::localsearch::MoveTabuAcceptor;
pub use phase::localsearch::SimulatedAnnealingAcceptor;
pub use phase::localsearch::StepCountingHillClimbingAcceptor;
pub use phase::localsearch::TabuSearchAcceptor;
pub use phase::localsearch::ValueTabuAcceptor;
pub use phase::partitioned::ChildPhases;
pub use phase::partitioned::FunctionalPartitioner;
pub use phase::partitioned::PartitionedSearchConfig;
pub use phase::partitioned::PartitionedSearchPhase;
pub use phase::partitioned::SolutionPartitioner;
pub use phase::partitioned::ThreadCount;
pub use phase::vnd::VndPhase;
pub use phase::Phase;
pub use scope::PhaseScope;
pub use scope::SolverScope;
pub use scope::StepScope;
pub use solver::MaybeTermination;
pub use solver::NoTermination;
pub use solver::Solver;
pub use stats::PhaseStats;
pub use stats::SolverStats;
pub use termination::AndTermination;
pub use termination::BestScoreFeasibleTermination;
pub use termination::BestScoreTermination;
pub use termination::DiminishedReturnsTermination;
pub use termination::MoveCountTermination;
pub use termination::OrTermination;
pub use termination::ScoreCalculationCountTermination;
pub use termination::StepCountTermination;
pub use termination::Termination;
pub use termination::TimeTermination;
pub use termination::UnimprovedStepCountTermination;
pub use termination::UnimprovedTimeTermination;
pub use basic::run_solver;
pub use basic::run_solver_with_channel;

Modules§

basic
Basic variable solver for simple assignment problems.
builder
Builder module for constructing solver components from configuration
heuristic
Heuristic components for solving
manager
High-level solver management with zero-erasure API.
phase
Solver phases for different solving strategies
realtime
Real-time planning support.
scope
Scope hierarchy for solver execution.
solver
Solver implementation.
stats
Solver statistics (zero-erasure).
termination
Termination conditions for solver phases.