MOO Algorithms

Base Class

class algorithm.moo.moo.MOO(problem, algo_cfg)[source]

Bases: object

Base class of MOO algorithm framework.

__init__(problem, algo_cfg)[source]

Initialize a MOO algorithm.

Parameters
  • problem (problem.Problem) – The original / real optimization problem.

  • algo_cfg (dict) – Algorithm configurations.

_solve(pop)[source]

Solve for the offsprings given the parent population.

Parameters

pop (pymoo.model.population.Population) – The parent population.

Returns

The offspring population.

Return type

pymoo.model.population.Population

solve(X_init, Y_init)[source]

Solve the real multi-objective problem from initial data.

Parameters
  • X_init (np.array) – Initial design variables.

  • Y_init (np.array) – Initial performance values.

Returns

  • X_next (np.array) – Proposed design samples to evaluate next.

  • Y_prediction (tuple) – (None, None) because there is no prediction in MOO algorithms.

NSGA-II

class algorithm.moo.algorithms.NSGA2(problem, algo_cfg)[source]

Bases: algorithm.moo.moo.MOO

NSGA-II.

__init__(problem, algo_cfg)[source]

Initialize a MOO algorithm.

Parameters
  • problem (problem.Problem) – The original / real optimization problem.

  • algo_cfg (dict) – Algorithm configurations.

_solve(pop)[source]

Solve for the offsprings given the parent population.

Parameters

pop (pymoo.model.population.Population) – The parent population.

Returns

The offspring population.

Return type

pymoo.model.population.Population

MOEA/D

class algorithm.moo.algorithms.MOEAD(problem, algo_cfg)[source]

Bases: algorithm.moo.moo.MOO

MOEA/D.

_solve(pop)[source]

Solve for the offsprings given the parent population.

Parameters

pop (pymoo.model.population.Population) – The parent population.

Returns

The offspring population.

Return type

pymoo.model.population.Population