Class IndicatorFront
source code
with `hypervolume_improvement` method based on a varying empirical
front.
The front is either all kernels but one 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]
|
|
__init__(self,
list_attribute=None,
NDA=None)
``getattr(moes, list_attribute)`` contains the list to create the
front. |
source code
|
|
|
|
|
|
|
|
__init__(self,
list_attribute=None,
NDA=None)
(Constructor)
| source code
|
``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: ``moes.reference_point`` and, in case, its attribute with
name `self.list_attribute: str` is used.
|