pyRVEA.EAs

pyRVEA.EAs.NSGAIII module

class pyRVEA.EAs.NSGAIII.NSGAIII(population: Population, EA_parameters: dict = None)

Bases: pyRVEA.EAs.baseEA.BaseDecompositionEA

Python Implementation of NSGA-III. Based on the pymoo package.

[description]

select(population: Population)

Describe a selection mechanism. Return indices of selected individuals.

Parameters

population (Population) – Contains the current population and problem information.

Returns

List of indices of individuals to be selected.

Return type

list

set_params(population: Population = None, population_size: int = None, lattice_resolution: int = None, interact: bool = True, a_priori_preference: bool = False, generations_per_iteration: int = 100, iterations: int = 10, plotting: bool = True)

Set up the parameters. Save in self.params

pyRVEA.EAs.RVEA module

class pyRVEA.EAs.RVEA.RVEA(population: Population, EA_parameters: dict = None)

Bases: pyRVEA.EAs.baseEA.BaseDecompositionEA

The python version reference vector guided evolutionary algorithm.

See the details of RVEA in the following paper

R. Cheng, Y. Jin, M. Olhofer and B. Sendhoff, A Reference Vector Guided Evolutionary Algorithm for Many-objective Optimization, IEEE Transactions on Evolutionary Computation, 2016

The source code of pyRVEA is implemented by Bhupinder Saini

If you have any questions about the code, please contact:

Bhupinder Saini: bhupinder.s.saini@jyu.fi

Project researcher at University of Jyväskylä.

select(population: Population)

Describe a selection mechanism. Return indices of selected individuals.

# APD Based selection. # This is different from the paper. # params.genetations != total number of generations. This is a compromise. Also this APD uses an archived ideal point, rather than current, potentially worse ideal point.

Parameters

population (Population) – Population information

Returns

list: Indices of selected individuals.

Return type

list

set_params(population: Population = None, population_size: int = None, lattice_resolution: int = None, interact: bool = False, a_priori_preference: bool = False, generations_per_iteration: int = 100, iterations: int = 10, Alpha: float = 2, plotting: bool = True)

Set up the parameters. Save in RVEA.params. Note, this should be changed to align with the current structure.

Parameters
  • population (Population) – Population object

  • population_size (int) – Population Size

  • lattice_resolution (int) – Lattice resolution

  • interact (bool) – bool to enable or disable interaction. Enabled if True

  • a_priori_preference (bool) – similar to interact

  • generations_per_iteration (int) – Number of generations per iteration.

  • iterations (int) – Total Number of iterations.

  • Alpha (float) – The alpha parameter of APD selection.

  • plotting (bool) – Useless really.

pyRVEA.EAs.baseEA module

class pyRVEA.EAs.baseEA.BaseDecompositionEA(population: Population, EA_parameters: dict = None)

Bases: pyRVEA.EAs.baseEA.BaseEA

This class provides the basic structure for decomposition based Evolutionary algorithms, such as RVEA or NSGA-III.

continue_evolution() → bool

Checks whether the current iteration should be continued or not.

continue_iteration()

Checks whether the current iteration should be continued or not.

select(population) → list

Describe a selection mechanism. Return indices of selected individuals.

Parameters

population (Population) – Contains the current population and problem information.

Returns

List of indices of individuals to be selected.

Return type

list

class pyRVEA.EAs.baseEA.BaseEA

Bases: object

This class provides the basic structure for Evolutionary algorithms.

set_params()

Set up the parameters. Save in self.params