solverforge_solver/phase/localsearch/
mod.rs1mod acceptor;
7mod forager;
8mod phase;
9
10pub use acceptor::{
11 Acceptor, DiversifiedLateAcceptanceAcceptor, EntityTabuAcceptor, GreatDelugeAcceptor,
12 HillClimbingAcceptor, LateAcceptanceAcceptor, MoveTabuAcceptor, SimulatedAnnealingAcceptor,
13 StepCountingHillClimbingAcceptor, TabuSearchAcceptor, ValueTabuAcceptor,
14};
15pub use forager::{AcceptedCountForager, FirstAcceptedForager, LocalSearchForager};
16pub use phase::LocalSearchPhase;
17
18#[derive(Debug, Clone)]
20pub struct LocalSearchConfig {
21 pub acceptor_type: AcceptorType,
23 pub step_limit: Option<u64>,
25 pub accepted_count_limit: Option<usize>,
27}
28
29impl Default for LocalSearchConfig {
30 fn default() -> Self {
31 Self {
32 acceptor_type: AcceptorType::HillClimbing,
33 step_limit: Some(1000),
34 accepted_count_limit: Some(1),
35 }
36 }
37}
38
39#[derive(Debug, Clone, Copy, PartialEq, Eq)]
41pub enum AcceptorType {
42 HillClimbing,
44 SimulatedAnnealing,
46}