Interface AnalyticalProblem

All Superinterfaces:
AutoCloseable, Problem
All Known Implementing Classes:
Binh, Binh4, C1_DTLZ1, C1_DTLZ3, C2_DTLZ2, C3_DTLZ1, C3_DTLZ4, ConvexC2_DTLZ2, ConvexDTLZ2, DTLZ1, DTLZ2, DTLZ3, DTLZ4, DTLZ5, DTLZ6, DTLZ7, Fonseca, Fonseca2, InvertedDTLZ1, Jimenez, Laumanns, MaF1, MaF10, MaF11, MaF12, MaF13, MaF14, MaF15, MaF3, MaF4, MaF5, MaF6, MaF7, MaF8, MaF9, Murata, Obayashi, Rendon2, Schaffer, Schaffer2, UF13, WFG, WFG1, WFG2, WFG3, WFG4, WFG5, WFG6, WFG7, WFG8, WFG9, ZCAT, ZCAT1, ZCAT10, ZCAT11, ZCAT12, ZCAT13, ZCAT14, ZCAT15, ZCAT16, ZCAT17, ZCAT18, ZCAT19, ZCAT2, ZCAT20, ZCAT3, ZCAT4, ZCAT5, ZCAT6, ZCAT7, ZCAT8, ZCAT9

public interface AnalyticalProblem extends Problem
Interface for problems whose Pareto optimal set is known analytically, providing the generate() method for producing randomly-generated reference sets.
  • Method Details

    • generate

      Solution generate()
      Returns 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 0 decision variables.

      Returns:
      a randomly-generated Pareto optimal solution to this problem