This module contains the implementation of the Multiobjective framework called
Sofomore, and its instantiation with cma-es to obtain COMO-CMA-ES, defined in 
the paper [Toure, Cheikh, et al. "Uncrowded Hypervolume Improvement: 
        COMO-CMA-ES and the Sofomore framework." 
        GECCO'19-Genetic and Evolutionary Computation Conference. 2019.].

Only the bi-objective framework is functional and has been thoroughly tested.
Class Sofomore No summary
Class IndicatorFront with hypervolume_improvement method based on a varying empirical front.
Function get_cmas Factory function that produces len(x_starts) instances of type cmaKernel.
Class CmaKernel inheriting from the cma.CMAEvolutionStrategy class, by adding the property incumbent, the attributes objective_values and _last_offspring_f_values.
Class FitFun Define a callable multiobjective function from single objective ones. Example: fitness = comocma.FitFun(cma.ff.sphere, lambda x: cma.ff.sphere(x-1)).
Function sort_random No summary
Function sort_increasing No summary
Function sort_decreasing No summary
Function sort_even_odds No summary
Function sort_odds_even No summary
def get_cmas(x_starts, sigma_starts, inopts=None, number_created_kernels=0):
Factory function that produces `len(x_starts)` instances of type `cmaKernel`.

Parameters
----------
x_starts : TYPE list or list of lists or list of or ndarrays or ndarray
    The initial means of the returned cmas.
sigma_starts : TYPE float or list of floats
    The initial step-sizes of the returned cmas.
inopts : TYPE dict or list of dicts, optional
    The cmas' options.
number_created_kernels : TYPE int, optional
    Used as the starting index for the returned cma's names.
    The values of the options' key 'verb_filenameprefix' rely upon this
    argument `number_created_kernels`.

Returns
-------
A list of `CmaKernel` instances.

Example::
    >>> import comocma
    >>> dimension = 10
    >>> sigma0 = 0.5
    >>> num_kernels = 11
    >>> cma_opts = {'tolx': 10**-4, 'popsize': 32}
    >>> list_of_solvers = comocma.get_cmas(num_kernels * [dimension * [0]], sigma0, cma_opts) 
    
    produce `num_kernels` cma instances.
def sort_random(i):
Used for the update order of a Sofomore instance.
Example::
    moes = Sofomore(list_of_instances, reference_point, {'update_order': sort_random})
randomly picks the kernels to update in the `tell` method of Sofomore.
def sort_increasing(i):
Example::
    moes = Sofomore(list_of_instances, reference_point, {'update_order': sort_increasing})
updates respectively `self[0]`, `self[1]`, ..., `self[-1]` 
in the `tell` method of Sofomore.
def sort_decreasing(i):
Example::
    moes = Sofomore(list_of_instances, reference_point, {'update_order': sort_decreasing})
updates respectively `self[-1]`, `self[-2]`, ..., `self[0]`
in the `tell` method of Sofomore.
def sort_even_odds(i):
Example::
    moes = Sofomore(list_of_instances, reference_point, {'update_order': sort_even_odds})
pick the kernels with even indices before the kernels with odd indices in
the `tell` method of Sofomore.
def sort_odds_even(i):
Example::
    moes = Sofomore(list_of_instances, reference_point, {'update_order': sort_odds_even})
pick the kernels with odd indices before the kernels with even indices 
in the `tell` method of Sofomore.
API Documentation for comocma, generated by pydoctor at 2020-04-18 16:47:06.