Package org.moeaframework.problem
Class RotatedProblems
java.lang.Object
org.moeaframework.core.spi.ProblemProvider
org.moeaframework.problem.RotatedProblems
Problem provider for rotated problems. Supports any problem available through
ProblemFactory#getProblem(String)
. See RotatedProblem
for details on how rotation is supported.
Rotated problems are instantiated by providing the problem name prefixed with one of the following prefix patterns.
Prefix Pattern | Result |
---|---|
UNROT_ |
Unrotated problem |
ROT_ |
Fully rotated instance, with each plane rotated by 45° |
ROT(ANGLE)_ |
Fully rotated instance, with each plane rotated by ANGLE
degrees. Use RAND for randomized rotations |
ROT(K,ANGLE)_ |
K random rotation planes, each rotated by ANGLE
degrees. Use ALL to rotate all planes |
As an example, rotated 2D DTLZ2 instances can be created with "UNROT_DTLZ2_2"
, "ROT_DTLZ2_2"
,
"ROT(30)_DTLZ2_2"
and "ROT(10,RAND)_DTLZ2_2"
. Note that multiple calls to
getProblem(String)
may return instances with different rotations.
When comparing rotated problems against their unrotated versions, it is important to use the UNROT_
prefix
for the unrotated problem. The act of rotating a problem expands the decision variable ranges slightly (imagine a
1 x 1 square that is rotated 45 degrees; the bounding box of the rotated square is approximately 1.4 x 1.4). The
UNROT_
prefix ensures the unrotated version uses the same expanded decision variable ranges as the rotated
variant.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiongetProblem
(String name) Returns the problem with the specified name, ornull
if this provider does not support the problem.getReferenceSet
(String name) Returns the reference set for the specified problem, ornull
if this provider does not support the problem or no reference set is available.Methods inherited from class org.moeaframework.core.spi.ProblemProvider
getDiagnosticToolProblems, getEpsilons
-
Constructor Details
-
RotatedProblems
public RotatedProblems()Constructs a problem provider for rotated problems.
-
-
Method Details
-
getProblem
Description copied from class:ProblemProvider
Returns the problem with the specified name, ornull
if this provider does not support the problem.- Specified by:
getProblem
in classProblemProvider
- Parameters:
name
- the problem name- Returns:
- the problem with the specified name, or
null
if this provider does not support the problem
-
getReferenceSet
Description copied from class:ProblemProvider
Returns the reference set for the specified problem, ornull
if this provider does not support the problem or no reference set is available.- Specified by:
getReferenceSet
in classProblemProvider
- Parameters:
name
- the problem name- Returns:
- the reference set for the specified problem, or
null
if this provider does not support the problem or no reference set is available
-