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 0x111485d30>

Pareto front¶
[2]:
pf = problem.pareto_front()
Scatter(title="Pareto front").add(pf).show()
[2]:
<pymoo.visualization.scatter.Scatter at 0x127a95190>

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 0x127c23e90>

Pareto front¶
[4]:
pf = problem.pareto_front()
Scatter(title="Pareto front").add(pf).show()
[4]:
<pymoo.visualization.scatter.Scatter at 0x127c7bbf0>
