Skip to main content

solverforge_solver/phase/exhaustive/
config.rs

1//! Exhaustive search phase configuration.
2
3use super::exploration_type::ExplorationType;
4
5/// Configuration for exhaustive search phase.
6#[derive(Debug, Clone)]
7pub struct ExhaustiveSearchConfig {
8    /// The exploration type to use.
9    pub exploration_type: ExplorationType,
10    /// Maximum number of nodes to explore (None = unlimited).
11    pub node_limit: Option<u64>,
12    /// Maximum depth to explore (None = unlimited).
13    pub depth_limit: Option<usize>,
14    /// Whether to enable pruning based on bounds.
15    pub enable_pruning: bool,
16}
17
18impl Default for ExhaustiveSearchConfig {
19    fn default() -> Self {
20        Self {
21            exploration_type: ExplorationType::DepthFirst,
22            node_limit: Some(10_000),
23            depth_limit: None,
24            enable_pruning: true,
25        }
26    }
27}