BaseOptimizer#
- class lumopt2.optimizer.base_optimizer.BaseOptimizer(bounds: list | None = None, max_feval: int | None = None)#
Abstract base class for all optimizers.
All optimizer implementations must inherit from this class and implement the abstract methods defined here. This ensures a consistent interface between the
Optimizationcoordinator and any optimization algorithm.- Parameters:
- bounds
listoftuple,optional Bounds for each parameter as
(min, max)pairs. IfNone, optimization is unbounded (default: None).- max_feval
int,optional Hard upper bound on the number of objective-function evaluations the optimizer is allowed to perform. This is the universal budget knob that every optimizer must respect because it does not depend on the algorithm’s internal notion of an iteration. Concrete subclasses may additionally accept algorithm-specific options (e.g.
max_iterfor the SciPy methods). Set toNoneto impose no explicit cap (default: None).
- bounds
- Attributes:
Methods
Return the optimization history recorded during the last run.
BaseOptimizer.optimize(objective_func, ...)Run the optimization and return the best parameters and FOM.