Source code for gefest.tools.optimizers.optimizer
from abc import ABCMeta, abstractmethod
from gefest.core.geometry import Structure
[docs]
class Optimizer(metaclass=ABCMeta):
"""Interface for optimizers."""
def __init__(
self,
log_dispatcher=None,
**kwargs,
) -> None:
self.log_dispatcher = log_dispatcher
[docs]
@abstractmethod
def optimize(
self,
n_steps: int,
**kwargs,
) -> list[Structure]:
"""Must implement optimization logic.
Args:
n_steps (int): Number of optimization steps.
Returns:
list[Structure]: Optimized population.
"""
...