From 3510ac1f638a288e1d41d11c3860bb74d19fd500 Mon Sep 17 00:00:00 2001 From: Peter Vacho Date: Sun, 16 Mar 2025 21:10:19 +0100 Subject: [PATCH] Always return minimum point, not current center --- src/search.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/search.py b/src/search.py index 2a7a681..3f34b09 100644 --- a/src/search.py +++ b/src/search.py @@ -44,6 +44,9 @@ def min_search( x_center = x0 y_min = function(x_center) if include_center else float("inf") + best_x = x_center + best_y = y_min + for _ in range(iterations): for point in generate_bounded_points(x_center, neighbors_count, std_dev, function.definition_interval, rng): y_point = function(point) @@ -51,9 +54,13 @@ def min_search( y_min = y_point x_center = point + if y_min < best_y: + best_y = y_min + best_x = x_center + # If we're using Stochastic Hill Climber, reset the minimum value, to only # pick it from the newly generated points, not the current center if not include_center: y_min = float("inf") - yield x_center + yield best_x