optimization
Wrapper around platypus-opt.
- class ema_workbench.em_framework.optimization.GenerationalBorg(problem: ~ema_workbench.em_framework.optimization.Problem, epsilons: list[float], population_size: int = 100, generator: ~platypus.core.Generator = <platypus.operators.RandomGenerator object>, selector: ~platypus.core.Selector = <platypus.operators.TournamentSelector object>, **kwargs)
A generational implementation of the BORG Framework.
This algorithm adopts Epsilon Progress Continuation, and Auto Adaptive Operator Selection, but embeds them within the NSGAII generational algorithm, rather than the steady state implementation used by the BORG algorithm.
The parametrization of all operators is based on the default values as used in Borg 1.9.
Note:: limited to RealParameters only.
- class ema_workbench.em_framework.optimization.Problem(searchover: Literal['levers', 'uncertainties', 'robust'], decision_variables: ParameterMap | list[Parameter], objectives: list[ScalarOutcome], constraints: list[Constraint] | None = None, reference: Sample | Iterable[Sample] | int | None = None)
Small extension to Platypus problem object.
Includes the decision variables, outcomes, and constraints, any reference Sample(s), and the type of search.
- property constraint_names: list[str]
Getter for constraint names.
- property outcome_names: list[str]
Getter for outcome names.
- property parameter_names: list[str]
Getter for parameter names.
- ema_workbench.em_framework.optimization.epsilon_nondominated(results: list[DataFrame], epsilons: list[float], problem: Problem) DataFrame
Merge the list of results into a single set of non dominated results using the provided epsilon values.
- Parameters:
results (list of DataFrames)
epsilons (epsilon values for each objective)
problem (PlatypusProblem instance)
- Return type:
DataFrame
Notes
this is a platypus based alternative to pareto.py (https://github.com/matthewjwoodruff/pareto.py)
- ema_workbench.em_framework.optimization.load_archives(path_to_file: str) list[tuple[int, DataFrame]]
Returns a list of stored archives.
Each entry in the list is a tuple. The first element is the number of nfe, the second is the archive at that number of nfe.
- Parameters:
path_to_file (the path to the archive)