The object contains two items: an array of floating point values representing the various multiple fitnesses, and a flag (maximize) indicating whether higher is considered better. By default, isIdealFitness() always returns false; you might want to override that, though it'd be unusual -- what is the ideal fitness from the perspective of a pareto front?
The object also contains maximum and minimum fitness values suggested for the problem, on a per-objective basis. By default the maximum values are all 1.0 and the minimum values are all 0.0, but you can change these. Note that maximum does not mean "best" unless maximize is true.
The class also contains utility methods or computing pareto dominance, Pareto Fronts and Pareto Front Ranks, and distance in multiobjective space. The default comparison operators use Pareto Dominance, though this is often overridden by subclasses.
The fitness() method returns the maximum of the fitness values, which is clearly nonsensical: you should not be using this method.
Subclasses of this class may add certain auxiliary fitness measures which are printed out by MultiObjectiveStatistics along with the multiple objectives. To have these values printed out, override the getAuxiliaryFitnessNames() and getAuxiliaryFitnessValues() methods.
Parameters
base.num-objectives (else)multi.num-objectives int >= 1 | (the number of fitnesses in the objectives array) |
base.maximize bool = true (default) or false | (are higher values considered "better"?) |
Default Base
multi.fitness
@author Sean Luke
@version 1.1
|
|