Package org.moeaframework.core.spi
Class RegisteredProblemProvider
java.lang.Object
org.moeaframework.core.spi.ProblemProvider
org.moeaframework.core.spi.RegisteredProblemProvider
- Direct Known Subclasses:
CEC2009ProblemProvider
,DTLZProblemProvider
,LSMOPProblemProvider
,LZProblemProvider
,MaFProblemProvider
,MiscProblemProvider
,SingleObjectiveProblemProvider
,WFGProblemProvider
,ZCATProblemProvider
,ZDTProblemProvider
Problem provider that lets callers register problems by name. For example:
RegisteredProblemProvider myProvider = new RegisteredProblemProvider(); myProvider.register("MyProblem", () -> new MyProblem(), "pf/myProbem.pf"); ProblemFactory.getInstance().addProvider(myProvider);
-
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.getProblem
(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.Returns all problems that have been registered with this provider.protected final void
Registers a new problem with this provider.protected final void
Registers the given problem with the diagnostic tool.protected final void
Registers all of the given problems with the diagnostic tool.protected final void
registerEpsilons
(String name, Epsilons epsilons) Registers the ε values for the given problem, used as the defaults when constructing an algorithm, archive, or other object that uses ε-based dominance.
-
Constructor Details
-
RegisteredProblemProvider
public RegisteredProblemProvider()Creates a new, empty problem provider.
-
-
Method Details
-
register
Registers a new problem with this provider.- Parameters:
name
- the problem nameconstructor
- the function that creates a new instance of the problemreferenceSet
- the path of the file containing the reference set
-
registerEpsilons
Registers the ε values for the given problem, used as the defaults when constructing an algorithm, archive, or other object that uses ε-based dominance.- Parameters:
name
- the problem nameepsilons
- the ε values
-
registerDiagnosticToolProblem
Registers the given problem with the diagnostic tool.- Parameters:
name
- the problem name
-
registerDiagnosticToolProblems
Registers all of the given problems with the diagnostic tool.- Parameters:
names
- the problem names
-
getRegisteredProblems
Returns all problems that have been registered with this provider. Note that this does not necessarily include all problems that can be instantiated by the provider, only those that have been explicitly registered.- Returns:
- the problem names
-
getDiagnosticToolProblems
Description copied from class:ProblemProvider
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.- Overrides:
getDiagnosticToolProblems
in classProblemProvider
- Returns:
- the problem names to appear in the diagnostic tool
-
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
-
getEpsilons
Description copied from class:ProblemProvider
Returns the recommended or default ε values for the specified problem, ornull
if this provider does not support the problem or no defaults are provided.- Overrides:
getEpsilons
in classProblemProvider
- Parameters:
name
- the problem name- Returns:
- the ε values for the specified problem, or
null
if this provider does not support the problem or no reference set is available
-