Expand description
Configuration system for SolverForge.
Load solver configuration from TOML files to control termination, phases, and acceptors without code changes.
§Examples
Load configuration from TOML string:
use solverforge_config::SolverConfig;
use std::time::Duration;
let config = SolverConfig::from_toml_str(r#"
[termination]
seconds_spent_limit = 30
unimproved_seconds_spent_limit = 5
[[phases]]
type = "construction_heuristic"
construction_heuristic_type = "first_fit"
[[phases]]
type = "local_search"
[phases.acceptor]
type = "late_acceptance"
late_acceptance_size = 400
"#).unwrap();
assert_eq!(config.time_limit(), Some(Duration::from_secs(30)));
assert_eq!(config.phases.len(), 2);Use default config when file is missing:
use solverforge_config::SolverConfig;
let config = SolverConfig::load("solver.toml").unwrap_or_default();
// Proceeds with defaults if file doesn't existStructs§
- Cartesian
Product Config - Cartesian product move selector configuration.
- Change
Move Config - Change move configuration.
- Construction
Heuristic Config - Construction heuristic configuration.
- Custom
Phase Config - Custom phase configuration.
- Exhaustive
Search Config - Exhaustive search configuration.
- Forager
Config - Forager configuration.
- Great
Deluge Config - Great deluge configuration.
- Late
Acceptance Config - Late acceptance configuration.
- Local
Search Config - Local search configuration.
- Partitioned
Search Config - Partitioned search configuration.
- Score
Director Config - Score director configuration.
- Simulated
Annealing Config - Simulated annealing configuration.
- Solver
Config - Main solver configuration.
- Solver
Config Override - Runtime configuration overrides.
- Swap
Move Config - Swap move configuration.
- Tabu
Search Config - Tabu search configuration.
- Termination
Config - Termination configuration.
- Union
Move Selector Config - Union move selector configuration.
Enums§
- Acceptor
Config - Acceptor configuration.
- Config
Error - Configuration error
- Construction
Heuristic Type - Construction heuristic types.
- Environment
Mode - Environment mode affecting solver behavior.
- Exhaustive
Search Type - Exhaustive search types.
- Move
Selector Config - Move selector configuration.
- Move
Thread Count - Move thread count configuration.
- Phase
Config - Phase configuration.
- Pick
Early Type - Pick early type.