optimization

class ema_workbench.em_framework.optimization.Problem(searchover, parameters, outcome_names, constraints, reference=None)

small extension to Platypus problem object, includes information on the names of the decision variables, the names of the outcomes, and the type of search

class ema_workbench.em_framework.optimization.RobustProblem(parameters, outcome_names, scenarios, robustness_functions, constraints)

small extension to Problem object for robust optimization, adds the scenarios and the robustness functions

class ema_workbench.em_framework.optimization.EpsilonProgress

epsilon progress convergence metric class

class ema_workbench.em_framework.optimization.HyperVolume(minimum, maximum)

Hypervolume convergence metric class

This metric is derived from a hyper-volume measure, which describes the multi-dimensional volume of space contained within the pareto front. When computed with minimum and maximums, it describes the ratio of dominated outcomes to all possible outcomes in the extent of the space. Getting this number to be high or low is not necessarily important, as not all outcomes within the min-max range will be feasible. But, having the hypervolume remain fairly stable over multiple generations of the evolutionary algorithm provides an indicator of convergence.

Parameters:
  • minimum (numpy array) –
  • maximum (numpy array) –
class ema_workbench.em_framework.optimization.Convergence(metrics, max_nfe, convergence_freq=1000, logging_freq=5)

helper class for tracking convergence of optimization

class ema_workbench.em_framework.optimization.ArchiveLogger(directory, decision_varnames, outcome_varnames, base_filename='archive')

Helper class to write the archive to disk at each iteration

Parameters:
  • directory (str) –
  • decision_varnames (list of str) –
  • outcome_varnames (list of str) –
  • base_filename (str, optional) –

TODO:: put it in a tarbal instead of dedicated directory