nlsq.stability.recovery.OptimizationRecovery

class nlsq.stability.recovery.OptimizationRecovery(max_retries=3, enable_diagnostics=True)[source]

Bases: object

Automatic recovery from optimization failures.

This class provides multiple recovery strategies for handling optimization failures including: - Parameter perturbation - Algorithm switching - Regularization adjustment - Problem reformulation - Multi-start optimization

max_retries

Maximum number of recovery attempts

Type:

int

strategies

List of recovery strategies to try

Type:

list

diagnostics

Diagnostics collector for monitoring

Type:

nlsq.diagnostics.OptimizationDiagnostics

stability_guard

Numerical stability checker

Type:

nlsq.stability.NumericalStabilityGuard

__init__(max_retries=3, enable_diagnostics=True)[source]

Initialize recovery system.

Parameters:
  • max_retries (int) – Maximum recovery attempts

  • enable_diagnostics (bool) – Enable diagnostic collection

recover_from_failure(failure_type, optimization_state, optimization_func, **kwargs)[source]

Attempt recovery from optimization failure.

Parameters:
  • failure_type (str) – Type of failure (‘convergence’, ‘numerical’, ‘memory’, etc.)

  • optimization_state (dict) – Current state of optimization

  • optimization_func (callable) – Function to retry optimization

  • **kwargs – Additional arguments for optimization function

Returns:

  • success (bool) – Whether recovery succeeded

  • result (dict) – Recovered optimization result or error info

Return type:

tuple[bool, dict]