Class DTLZ

java.lang.Object
org.moeaframework.problem.AbstractProblem
org.moeaframework.problem.DTLZ.DTLZ
All Implemented Interfaces:
AutoCloseable, Problem
Direct Known Subclasses:
DTLZ1, DTLZ2, DTLZ3, DTLZ4, DTLZ5, DTLZ6, DTLZ7, MaF1, MaF2, MaF3, MaF4, MaF5, MaF6

public abstract class DTLZ extends AbstractProblem
Implements methods shared by all problems in the DTLZ test suite. The DTLZ problems define a g(X_M) function, which controls the convergence or distance to the Pareto front, and the f_1(x), ..., f_M(x) functions controlling the shape or position of solutions on the Pareto front.
  • Constructor Details

    • DTLZ

      public DTLZ(int numberOfVariables, int numberOfObjectives)
      Constructs a new DTLZ problem instance with the specified number of variables and objectives.
      Parameters:
      numberOfVariables - the number of variables for this problem
      numberOfObjectives - the number of objectives for this problem
  • Method Details

    • getName

      public String getName()
      Description copied from interface: Problem
      Returns the user-friendly name for this problem.
      Specified by:
      getName in interface Problem
      Overrides:
      getName in class AbstractProblem
      Returns:
      the user-friendly name for this problem
    • newSolution

      public Solution newSolution()
      Description copied from interface: Problem
      Returns 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.
      Returns:
      a new solution for this problem
    • g1

      protected double g1(double[] x)
      Computes the g(X_M) function used by DTLZ1 and DTLZ3. Note that while the entire array of decision variables is provided to this method, only the last k = D - M + 1 variables are used in this calculation.
      Parameters:
      x - the array of decision variable values
      Returns:
      the computed value of the g(X_M) function
    • g2

      protected double g2(double[] x)
      Computes the g(X_M) function used by DTLZ2, DTLZ4, and DTLZ5. Note that while the entire array of decision variables is provided to this method, only the last k = D - M + 1 variables are used in this calculation.
      Parameters:
      x - the array of decision variable values
      Returns:
      the computed value of the g(X_M) function
    • generateAt

      protected Solution generateAt(double optimalValue)
      Generates a random Pareto optimal solution given the optimal value for the K decision variables used in the calculation of g(X_M).
      Parameters:
      optimalValue - the decision variable value that produces an optimal value for g(X_M)
      Returns:
      the solution