Package org.moeaframework.core.spi
Class ProblemProvider
java.lang.Object
org.moeaframework.core.spi.ProblemProvider
- Direct Known Subclasses:
BBOB2016Problems
,CDTLZProblemProvider
,RegisteredProblemProvider
Defines a SPI for creating named optimization problems.
To create a custom ProblemProvider
:
- Extend this class and implement the abstract methods.
- Create the file
META-INF/services/org.moeaframework.core.spi.ProblemProvider
with a line identifying the fully-qualified class name of the custom provider. - Compile and bundle the
.class
file(s) along with theMETA-INF
folder into a JAR. - Include this JAR on the classpath.
ProblemFactory
.
As problems names are often used in file names, it is best to avoid characters which are not compatible with the
file system. It is suggested that names match the following regular expression: ^[a-zA-Z0-9()\-,]+$
.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionReturns the problem names to appear in the diagnostic tool.getEpsilons
(String name) Returns the recommended or default ε values for the specified problem, ornull
if this provider does not support the problem or no defaults are provided.abstract Problem
getProblem
(String name) Returns the problem with the specified name, ornull
if this provider does not support the problem.abstract NondominatedPopulation
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.
-
Constructor Details
-
ProblemProvider
public ProblemProvider()Constructs a problem provider.
-
-
Method Details
-
getDiagnosticToolProblems
Returns the problem names to appear in the diagnostic tool. For best results, only include problems with two objectives and have a defined reference set.- Returns:
- the problem names to appear in the diagnostic tool
-
getProblem
Returns the problem with the specified name, ornull
if this provider does not support the problem.- Parameters:
name
- the problem name- Returns:
- the problem instance or
null
- Throws:
ProviderException
- if the creation of the problem failed for any reason
-
getReferenceSet
Returns the reference set for the specified problem, ornull
if this provider does not support the problem or no reference set is available.- Parameters:
name
- the problem name- Returns:
- the reference set or
null
-
getEpsilons
Returns the recommended or default ε values for the specified problem, ornull
if this provider does not support the problem or no defaults are provided.- Parameters:
name
- the problem name- Returns:
- the ε values for the specified problem or
null
-