(1) Generate a number of datasets from the spec and random generator.
(2) Read each dataset and generate a test service (and solution) from it.
(3) Evaluate the fitness, or value, of each solution.
(4) Place the solution evaluations in the grid, in a random order, and try to match.
 (a) A match is determined by a pre-defined allowed amount of difference.
 (b) Only a specified number of final matches are kept.
 (c) Also, keep the matches with the larger values.
 (d) Matched solutions are stored as pairs to be evolved.
(5) Evolve the matched solutions to produce a new test set of original plus matched solutions.
(6) The evolved solution can be an intersection or mutation of the original two solutions.
(7) Measure the total average variable value of existing original solutions in the
 final set and the total average variable value of evolved solutions in the final set.
(8) The evolved solutions should have an average value closer to the mean.
Algorithm 2: Algorithm for evaluating the test data.