Skip to content

auto_math_trust_regions_and_optimization_2

github-actions[bot] edited this page Nov 14, 2025 · 1 revision

Snippet from Math-Trust-Regions-and-Optimization.md

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)

Clone this wiki locally