← Back to solver
Solver_PyNomadBBO¶
Source: Distributed_Design_Optimizer/subsystem/optimization/solver/Solver_PyNomadBBO.py
PyNomad BBO optimizer module.
This module provides optimization using PyNomad for black-box optimization.
Classes¶
Solver_PyNomadBBO¶
Inherits from: SolverInterface
NOMAD Blackbox Optimization solver via PyNomad.
Implements the MADS (Mesh Adaptive Direct Search) algorithm for derivative-free optimization. Supports both continuous and discrete (granular) design variables. Handles constraints using Progressive Barrier (PB) or Extreme Barrier (EB) methods.
Methods¶
init(self, maxevals: int | None, constraint_handling_method: str, seed: int, vns_mads_search: bool, quad_model_search: bool, eqcon_as_ineqcon_tol: float) → None
Initialize the PyNomad optimizer.
Args:
maxevals: Maximum number of blackbox evaluations. None for unlimited.
constraint_handling_method: Method for handling constraints.
'PB' for Progressive Barrier or 'EB' for Extreme Barrier.
seed: Random seed for reproducibility.
vns_mads_search: Whether to enable Variable Neighborhood Search.
Useful for escaping local minima but computationally expensive.
quad_model_search: Whether to enable quadratic model search in the
MADS search phase for proposing new candidate points.
eqcon_as_ineqcon_tol: Tolerance for converting equality constraints
to inequality constraints.
execute(self, subsystem: SubSystemInterface) → OptimDataBasis
Execute the NOMAD MADS optimization algorithm.
Args:
subsystem: The subsystem to optimize containing design variables,
bounds, objectives, and constraints.
Returns:
Optimization results containing optimal design variables and
objective/constraint values.