This package, and various subpackages, contain tools for doing multiobjective
optimization.  In the primary package (ec.multiobjective) are just useful
top-level classes.  In the subsidiary packages (ec.multiobjective.nsga2,
ec.multiobjective.nsga3, and ec.multiobjective.spea2) are implementations 
of three popular multiobjective optimization algorithms, NSGA-II and SPEA2, 
which use these top-level classes.



The top-level classes:


ec.multiobjective.MultiObjectiveFitness

This is the superclass of fitness classes involving multiple objectives.  This
class holds not a single fitness value but some N objective values.  These 
objective values can be either maximized or minimized depending on the setting
of the fitness class.  The class can perform Pareto Dominance computation between
two MultiObjectiveFitness classes, and in fact uses this as the basis of its
default fitness comparison.  Additionally the class contains utility methods for
computing Pareto Fronts.


ec.multiobjective.MultiObjectiveStatistics

This simple subclass of ec.simple.SimpleStatistics aso outputs the Pareto Front
in various ways at the end of the run:

	- A summary printed on-screen in a helpful columnar format
	- The entire front written to the end of the statistics file
	- The multiple objective results of the front written to a special
	  auxillary file (nominally called 'front.stat').  This front can
	  be easily displayed by gnuplot, Excel, or other plotting packages.  
	  If you have a single subpopulation, for example, you can write:

		echo plot \"front.stat\" | gnuplot -persist

	  and the front will be displayed in gnuplot for you.


ec.multiobjective.HypervolumeStatistics

A subclass of ec.simple.SimpleStatistics that outputs the exact hypervolume of
the Pareto front at each generation, the end of the run, or both.  Note that this
computation can be expensive for large populations or numbers of objectives!