Class C3_DTLZ4

All Implemented Interfaces:
AutoCloseable, Problem, AnalyticalProblem

public class C3_DTLZ4 extends DTLZ4
The C3-DTLZ4 test problem.
  • Constructor Details

    • C3_DTLZ4

      public C3_DTLZ4(int numberOfVariables, int numberOfObjectives)
      Constructs a C3-DTLZ4 test problem 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
    • C3_DTLZ4

      public C3_DTLZ4(int numberOfObjectives)
      Constructs a C3-DTLZ4 test problem with the specified number of objectives. This is equivalent to calling new DTLZ4(numberOfObjectives+9, numberOfObjectives).
      Parameters:
      numberOfObjectives - the number of objectives for this problem
  • Method Details

    • getNumberOfConstraints

      public int getNumberOfConstraints()
      Description copied from interface: Problem
      Returns the number of constraints defined by this problem.
      Specified by:
      getNumberOfConstraints in interface Problem
      Overrides:
      getNumberOfConstraints in class AbstractProblem
      Returns:
      the number of constraints defined by this problem
    • evaluate

      public void evaluate(Solution solution)
      Description copied from interface: Problem
      Evaluates 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.
      Specified by:
      evaluate in interface Problem
      Overrides:
      evaluate in class DTLZ4
      Parameters:
      solution - the solution to be evaluated
    • 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.
      Specified by:
      newSolution in interface Problem
      Overrides:
      newSolution in class DTLZ
      Returns:
      a new solution for this problem
    • generate

      public Solution generate()
      Description copied from interface: AnalyticalProblem
      Returns a randomly-generated solution using the analytical solution to this problem. Note however that discontinuous Pareto surfaces may result in some solutions generated by this method being dominated by other generated solutions. It is therefore recommended using a NondominatedPopulation to remove dominated solutions prior to using the generated reference set.

      The generated solutions should be spread uniformly across the entire Pareto frontier; however, this is a suggestion and is not a requirement of this interface.

      Specified by:
      generate in interface AnalyticalProblem
      Overrides:
      generate in class DTLZ4
      Returns:
      a randomly-generated Pareto optimal solution to this problem