Package org.moeaframework.problem.misc
Class Fonseca2
java.lang.Object
org.moeaframework.problem.AbstractProblem
org.moeaframework.problem.misc.Fonseca2
- All Implemented Interfaces:
AutoCloseable
,Problem
,AnalyticalProblem
The Fonseca (2) problem.
Properties:
- Connected Pareto set
- Concave Pareto front
References:
- Fonseca C. M. and Fleming, P. J. (1995). "Multiobjective Genetic Algorithms Made Easy: Selection, Sharing and Mating Restriction." Genetic Algorithms and Engineering Systems: Innovations and Applications, 12-14 Sept. 1995, pp. 45-52.
- Van Veldhuizen, D. A. (1999). "Multiobjective Evolutionary Algorithms: Classifications, Analyses, and New Innovations." Air Force Institute of Technology, Ph.D. Thesis, Appendix B.
-
Field Summary
Fields inherited from class org.moeaframework.problem.AbstractProblem
numberOfConstraints, numberOfObjectives, numberOfVariables
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Evaluates the solution, updating the solution's objectives in place.generate()
Returns a randomly-generated solution using the analytical solution to this problem.Returns a new solution for this problem.Methods inherited from class org.moeaframework.problem.AbstractProblem
close, getName, getNumberOfConstraints, getNumberOfObjectives, getNumberOfVariables
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.moeaframework.core.Problem
close, getName, getNumberOfConstraints, getNumberOfObjectives, getNumberOfVariables, isType
-
Constructor Details
-
Fonseca2
public Fonseca2()Constructs the Fonseca (2) problem with3
decision variables. -
Fonseca2
public Fonseca2(int numberOfVariables) Constructs the Fonseca (2) problem with the specified number of decision variables.- Parameters:
numberOfVariables
- the number of decision variables
-
-
Method Details
-
evaluate
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. -
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 interfaceProblem
- Returns:
- a new solution for this problem
-
generate
Description copied from interface:AnalyticalProblem
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.- Specified by:
generate
in interfaceAnalyticalProblem
- Returns:
- a randomly-generated Pareto optimal solution to this problem
-