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.ProblemProviderwith a line identifying the fully-qualified class name of the custom provider. - Compile and bundle the
.classfile(s) along with theMETA-INFfolder 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
Constructors -
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, ornullif this provider does not support the problem or no defaults are provided.abstract ProblemgetProblem(String name) Returns the problem with the specified name, ornullif this provider does not support the problem.abstract NondominatedPopulationgetReferenceSet(String name) Returns the reference set for the specified problem, ornullif 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, ornullif 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, ornullif 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, ornullif 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
-