Since v3.1 (Bluebell), µGP can tackle multi-objective problems. The population of type multiObjective provides support to multi-objective optimization. Set the appropriate type in the parameters element.
<parameters type="multiObjective">
...
</parameters>
In multi-objective population there is no primary fitness. All parameters are weighted equally, and the concepts of Pareto dominance, (see Pareto efficiency on Wikipedia) and leveling are used.
If all the fitness parameters for an individual FOO are less than or equal to those for an individual BAR, with at least one strict inequality, then the individual BAR dominates individual FOO. If at least one parameter for individual FOO is less than the corresponding parameter for individual BAR, and another parameter is greater, then the two individuals are neither better nor worse than the other. The ordering relationship in multi-objective populations is partial.
Since v3.3, µGP uses crowding comparison to spread results more evenly on the Pareto front, using the procedure made popular by the multi-objective evolutionary algorithm NSGA-II.