Expand description
Minimal one-dimensional local search helpers.
The initial implementation performs hill-climbing style search by checking a left and right neighbor around the current value and moving only when a strictly better score is found.
§Examples
use use_local_search::{local_search_1d, LocalSearchConfig};
use use_objective::ObjectiveDirection;
let result = local_search_1d(
LocalSearchConfig {
initial_value: 0.0,
step_size: 1.0,
max_iterations: 8,
direction: ObjectiveDirection::Maximize,
},
|value| -(value - 3.0) * (value - 3.0),
)
.unwrap();
assert_eq!(result.best_value, 3.0);
assert_eq!(result.best_score, 0.0);