""" Optimization Engine Core ======================== Main optimization runners and algorithm selection. Modules: - runner: Main OptimizationRunner class - base_runner: BaseRunner abstract class - intelligent_optimizer: IMSO adaptive optimizer - method_selector: Algorithm selection logic - strategy_selector: Strategy portfolio management """ # Lazy imports to avoid circular dependencies def __getattr__(name): if name == 'OptimizationRunner': from .runner import OptimizationRunner return OptimizationRunner elif name == 'BaseRunner': from .base_runner import BaseRunner return BaseRunner elif name == 'NeuralOptimizationRunner': from .runner_with_neural import NeuralOptimizationRunner return NeuralOptimizationRunner elif name == 'IntelligentOptimizer': from .intelligent_optimizer import IntelligentOptimizer return IntelligentOptimizer elif name == 'IMSO': from .intelligent_optimizer import IMSO return IMSO elif name == 'MethodSelector': from .method_selector import MethodSelector return MethodSelector elif name == 'select_method': from .method_selector import select_method return select_method elif name == 'StrategySelector': from .strategy_selector import StrategySelector return StrategySelector elif name == 'StrategyPortfolio': from .strategy_portfolio import StrategyPortfolio return StrategyPortfolio elif name == 'GradientOptimizer': from .gradient_optimizer import GradientOptimizer return GradientOptimizer elif name == 'LBFGSPolisher': from .gradient_optimizer import LBFGSPolisher return LBFGSPolisher raise AttributeError(f"module 'optimization_engine.core' has no attribute '{name}'") __all__ = [ 'OptimizationRunner', 'BaseRunner', 'NeuralOptimizationRunner', 'IntelligentOptimizer', 'IMSO', 'MethodSelector', 'select_method', 'StrategySelector', 'StrategyPortfolio', 'GradientOptimizer', 'LBFGSPolisher', ]