Package org.moeaframework.problem.CDTLZ
Class C2_DTLZ2
java.lang.Object
org.moeaframework.problem.AbstractProblem
org.moeaframework.problem.DTLZ.DTLZ
org.moeaframework.problem.DTLZ.DTLZ2
org.moeaframework.problem.CDTLZ.C2_DTLZ2
- All Implemented Interfaces:
AutoCloseable,Named,AnalyticalProblem,Problem
The C2-DTLZ2 test problem.
-
Field Summary
Fields inherited from class org.moeaframework.problem.AbstractProblem
numberOfConstraints, numberOfObjectives, numberOfVariables -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidEvaluates the solution, updating the solution's objectives in place.generate()Returns a randomly-generated solution using the analytical solution to this problem.intReturns the number of constraints defined by this problem.Returns a new solution for this problem.Methods inherited from class org.moeaframework.problem.DTLZ.DTLZ
g1, g2, generateAt, getNameMethods inherited from class org.moeaframework.problem.AbstractProblem
close, getNumberOfObjectives, getNumberOfVariablesMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.moeaframework.problem.Problem
close, getName, getNumberOfObjectives, getNumberOfVariables, isType
-
Constructor Details
-
C2_DTLZ2
public C2_DTLZ2(int numberOfVariables, int numberOfObjectives) Constructs a C2-DTLZ2 test problem with the specified number of variables and objectives.- Parameters:
numberOfVariables- the number of variables for this problemnumberOfObjectives- the number of objectives for this problem
-
C2_DTLZ2
public C2_DTLZ2(int numberOfObjectives) Constructs a X2-DTLZ2 test problem with the specified number of objectives. This is equivalent to callingnew DTLZ2(numberOfObjectives+9, numberOfObjectives).- Parameters:
numberOfObjectives- the number of objectives for this problem
-
-
Method Details
-
getNumberOfConstraints
public int getNumberOfConstraints()Description copied from interface:ProblemReturns the number of constraints defined by this problem.- Specified by:
getNumberOfConstraintsin interfaceProblem- Overrides:
getNumberOfConstraintsin classAbstractProblem- Returns:
- the number of constraints defined by this problem
-
evaluate
Description copied from interface:ProblemEvaluates the solution, updating the solution's objectives in place. Algorithms must explicitly call this method when appropriate to evaluate new solutions or reevaluate modified solutions. -
newSolution
Description copied from interface:ProblemReturns a new solution for this problem. Implementations must initialize the variables so that the valid range of values is defined, but typically leave the actual value at a default or undefined state.- Specified by:
newSolutionin interfaceProblem- Overrides:
newSolutionin classDTLZ- Returns:
- a new solution for this problem
-
generate
Description copied from interface:AnalyticalProblemReturns a randomly-generated solution using the analytical solution to this problem. The exact behavior of this method depends on the implementation, but in general (1) the solutions should be non-dominated and (2) spread uniformly across the Pareto front.It is not always possible to guarantee these conditions. For example, a discontinuous / disconnected Pareto surface could generate dominated solutions, and a biased problem could result in non-uniform distributions. Therefore, we recommend callers filter solutions through a
NondominatedPopulation, in particular one that maintains a spread of solutions.Furthermore, some implementations may not provide the corresponding decision variables for the solution. These implementations should indicate this by returning a solution with
0decision variables.- Specified by:
generatein interfaceAnalyticalProblem- Overrides:
generatein classDTLZ2- Returns:
- a randomly-generated Pareto optimal solution to this problem
-