0.1.33
Loading...
Searching...
No Matches
pyhelios.ParameterOptimization Namespace Reference

Classes

class  Adam
 AdamW gradient-based optimization. More...
 
class  BayesianOptimization
 Bayesian optimization with a Gaussian process surrogate. More...
 
class  BLXAlphaCrossover
 Component-wise blend crossover. More...
 
class  BLXPCACrossover
 Blend crossover in PCA-transformed space, for non-separable problems. More...
 
class  BOBYQA
 BOBYQA derivative-free local optimization. More...
 
class  CMAES
 Covariance Matrix Adaptation Evolution Strategy. More...
 
class  ConstrainedResult
 One evaluation of a constrained simulation. More...
 
class  GeneticAlgorithm
 Genetic algorithm settings. More...
 
class  HybridMutation
 Mixture of PCA-Gaussian, PCA-Cauchy, and random-direction mutation. More...
 
class  IsotropicMutation
 Isotropic Gaussian mutation applied to all genes together. More...
 
class  LBFGS
 L-BFGS gradient-based optimization. More...
 
class  OptimizationResult
 Outcome of an optimization run. More...
 
class  Parameter
 A single optimizable parameter. More...
 
class  ParameterOptimization
 Optimize named model parameters against an objective function. More...
 
class  ParameterOptimizationError
 Exception raised for ParameterOptimization-specific errors. More...
 
class  ParameterType
 Kind of an optimizable parameter. More...
 
class  PerGeneMutation
 Per-gene Gaussian mutation. More...
 
class  SLSQP
 SLSQP gradient-based optimization. More...
 

Functions

Callable[[Dict[str, float]], ConstrainedResultmake_constrained_simulation (Callable[[Dict[str, float]], float] objective, Callable[[Dict[str, float]], Dict[str, float]] objective_gradient, Sequence[tuple] constraints)
 Compose separate objective and constraint callables into one simulation.
 

Variables

 logger = logging.getLogger(__name__)
 
 CrossoverOperator = Union[BLXAlphaCrossover, BLXPCACrossover]
 
 MutationOperator = Union[PerGeneMutation, IsotropicMutation, HybridMutation]
 
 AlgorithmSettings
 
dict _ALGORITHM_INFO
 

Function Documentation

◆ make_constrained_simulation()

Callable[[Dict[str, float]], ConstrainedResult] pyhelios.ParameterOptimization.make_constrained_simulation ( Callable[[Dict[str, float]], float] objective,
Callable[[Dict[str, float]], Dict[str, float]] objective_gradient,
Sequence[tuple] constraints )

Compose separate objective and constraint callables into one simulation.

A convenience for problems whose constraints really are independent functions. Note that it calls every function at each parameter point, so it forfeits the single-pass advantage of writing one combined simulation: if computing the objective and the constraints shares expensive work – as it does when they come from one Helios simulation – write a :class:ConstrainedResult directly instead.

Parameters
objectiveCallable receiving {name: value} and returning a scalar cost
objective_gradientCallable returning {name: partial derivative}
constraintsSequence of (function, gradient) pairs, each satisfied when function(params) <= 0
Returns
A callable suitable for :meth:ParameterOptimization.runConstrained
Example
>>> simulation = make_constrained_simulation( ... lambda p: p["x"] ** 2, ... lambda p: {"x": 2 * p["x"]}, ... [(lambda p: 1.0 - p["x"], lambda p: {"x": -1.0})])

Definition at line 533 of file ParameterOptimization.py.

Variable Documentation

◆ _ALGORITHM_INFO

dict pyhelios.ParameterOptimization._ALGORITHM_INFO
protected

Definition at line 450 of file ParameterOptimization.py.

◆ AlgorithmSettings

pyhelios.ParameterOptimization.AlgorithmSettings
Initial value:
1= Union[GeneticAlgorithm, BayesianOptimization, CMAES,
2 Adam, LBFGS, BOBYQA, SLSQP]

Definition at line 437 of file ParameterOptimization.py.

◆ CrossoverOperator

pyhelios.ParameterOptimization.CrossoverOperator = Union[BLXAlphaCrossover, BLXPCACrossover]

Definition at line 128 of file ParameterOptimization.py.

◆ logger

pyhelios.ParameterOptimization.logger = logging.getLogger(__name__)

Definition at line 35 of file ParameterOptimization.py.

◆ MutationOperator

pyhelios.ParameterOptimization.MutationOperator = Union[PerGeneMutation, IsotropicMutation, HybridMutation]

Definition at line 129 of file ParameterOptimization.py.