Цвета в табличках, остановка по лучшему решению

This commit is contained in:
2025-10-09 13:15:09 +03:00
parent 745cfea282
commit ee79d6ad41
3 changed files with 157 additions and 27 deletions

View File

@@ -42,6 +42,9 @@ class GARunConfig:
fitness_avg_threshold: float | None = (
None # порог среднего значения фитнес функции для остановки
)
best_value_threshold: float | None = (
None # остановка при достижении значения фитнеса лучше заданного
)
log_every_generation: bool = False # логировать каждое поколение
@@ -396,6 +399,15 @@ def genetic_algorithm(config: GARunConfig) -> GARunResult:
# if fitness_variance < config.variance_threshold:
# stop_algorithm = True
if config.best_value_threshold is not None:
if (
config.minimize and current.best_fitness < config.best_value_threshold
) or (
not config.minimize
and current.best_fitness > config.best_value_threshold
):
stop_algorithm = True
if config.fitness_avg_threshold is not None:
mean_fitness = np.mean(fitnesses)
if (config.minimize and mean_fitness < config.fitness_avg_threshold) or (