Repository navigation
auto_math_trust_regions_and_optimization_2
github-actions[bot] edited this page Nov 14, 2025
·
1 revision
def tune_trust_region(f, grad_f, x0, param_grid):
"""
Find optimal trust region parameters via grid search.
Args:
f: Objective function.
grad_f: Gradient function.
x0: Initial point.
param_grid: Dict with 'eta' and 'gamma' lists.
Returns:
Best parameters (eta, gamma, Delta_0).
"""
best_iterations = float('inf')
best_params = None
for eta in param_grid['eta']:
for gamma in param_grid['gamma']:
for Delta_0 in param_grid['Delta_0']:
# Run optimization
x, history = trust_region_optimize(
f, grad_f, x0,
Delta_init=Delta_0,
eta=eta,
gamma=gamma,
max_iter=100
)
# Measure performance
iterations = len(history)
final_value = f(x)
# Track best
if iterations < best_iterations and final_value < 1e-6:
best_iterations = iterations
best_params = (eta, gamma, Delta_0)
return best_params
# Example usage
param_grid = {
'eta': [0.05, 0.1, 0.15, 0.2],
'gamma': [1.5, 2.0, 2.5],
'Delta_0': [0.5, 1.0, 1.5]
}
# best_eta, best_gamma, best_Delta = tune_trust_region(f, grad_f, x0, param_grid)