SYM-PART

The SYM-PART [51] problem suite is a multi-modal multi-objective optimization problem (MMOP). In MMOPs, a solution :math:`y` in the objective space may have several inverse images in the decision space. For this reason, an MMOP could have more than one Pareto subsets.

The SYM-PART has two variants: SYM-PART simple and SYM-PART rotated. Both of them have the same Pareto front. But their Pareto sets are different.

1. SYM-PART Simple

Pareto subsets

[1]:
from pymoo.problems.multi.sympart import SYMPART, SYMPARTRotated
from pymoo.visualization.scatter import Scatter

problem = SYMPART()
ps = problem.pareto_set()
Scatter(title="Pareto set", xlabel="$x_1$", ylabel="$x_2$").add(ps).show()
[1]:
<pymoo.visualization.scatter.Scatter at 0x7feb321c4cd0>
../../_images/problems_multi_sym_part_3_1.png

Pareto front

[2]:
pf = problem.pareto_front()
Scatter(title="Pareto front").add(pf).show()
[2]:
<pymoo.visualization.scatter.Scatter at 0x7feb32641910>
../../_images/problems_multi_sym_part_5_1.png

2. SYM-PART Rotated

Pareto subsets

The pareto subsets can be rotated.

[3]:
from numpy import pi

# rotate pi/3 counter-clockwisely
problem = SYMPARTRotated(angle=pi/3)
ps = problem.pareto_set()
Scatter(title="Pareto set", xlabel="$x_1$", ylabel="$x_2$").add(ps).show()
[3]:
<pymoo.visualization.scatter.Scatter at 0x7feb30d93a00>
../../_images/problems_multi_sym_part_7_1.png

Pareto front

[4]:
pf = problem.pareto_front()
Scatter(title="Pareto front").add(pf).show()
[4]:
<pymoo.visualization.scatter.Scatter at 0x7feb3328fac0>
../../_images/problems_multi_sym_part_9_1.png