Latest Version: pymoo==


The Omni-test problem is a multi-modal multi-objective optimization problem proposed by Deb in [33]. It has two objective functions. Suppose that the dimension of the decision space is \(D\), then it has \(3^D\) Pareto subsets in the decision space corresponding to the same Pareto front.

2-dimensional case

Pareto front

from pymoo.problems.multi.omnitest import OmniTest
from pymoo.visualization.scatter import Scatter

problem = OmniTest(n_var=2)
pf = problem.pareto_front(1000)
Scatter(title="Pareto front").add(pf).show()

Pareto set

ps = problem.pareto_set(1000)
Scatter(title="Pareto set", labels=["$x_1$", "$x_2$"]).add(ps).show()

3-dimensional case

Pareto front

problem = OmniTest(n_var=3)
pf = problem.pareto_front(3000)
Scatter(title="Pareto front").add(pf).show()

Pareto set

import matplotlib.pyplot as plt

ps = problem.pareto_set(1000)
sc = Scatter(title="Pareto set", labels=["$x_1$", "$x_2$", "$x_3$"])
sc.add(ps), azim=5)