class documentation
with hypervolume_improvement method based on a varying empirical front.
The front is either all non-dominated points from all but one kernels or
based on the list_attribute of moes (like archive) as given on
initialization.
Usage:
>>> import comocma, cma >>> list_of_solvers_instances = comocma.get_cmas(13 * [5 * [0.4]], 0.7, {'verbose':-9}) >>> fitness = comocma.FitFun(cma.ff.sphere, lambda x: cma.ff.sphere(x-1)) >>> moes = comocma.Sofomore(list_of_solvers_instances, [11, 11]) >>> moes.front_observed = IndicatorFront() >>> moes.optimize(fitness, iterations=47) # doctest:+ELLIPSIS Iterat #Fevals Hypervolume axis ratios sigmas min&max stds*** >>> moes = comocma.Sofomore(list_of_solvers_instances, [11, 11]) >>> moes.front_observed = IndicatorFront(list_attribute='archive') >>> moes.optimize(fitness, iterations=37) # doctest:+ELLIPSIS Iterat #Fevals Hypervolume axis ratios sigmas min&max stds*** >>> moes.front_observed.set_kernel(moes[3], moes) >>> f_points = [moes.front_observed.hypervolume_improvement(point) ... for point in moes[3]._last_offspring_f_values]
| Method | __init__ |
getattr(moes, list_attribute) contains the list to create the front. |
| Method | hypervolume |
Undocumented |
| Method | set |
Set empirical front for evolving the given kernel. |
| Instance Variable | front |
Undocumented |
| Instance Variable | kernel |
Undocumented |
| Instance Variable | list |
Undocumented |
| Instance Variable | NDA |
Undocumented |
getattr(moes, list_attribute) contains the list to create the front.
NDA is a non-dominated archive with a hypervolume_improvement method.
Set empirical front for evolving the given kernel.
By default, make changes only when kernel has changed.
Details: kernel may also be the index of the kernel in moes.
moes.reference_point and, in case, its attribute with name
self.list_attribute: str is used.