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