Imagine a complicated blackbox-esque system that has 20 inputs and 5 outputs. I have a set of criteria I am able to use to construct a fitness function. I run a genetic algorithm to deduce values which maximize my fitness function, and I keep iterating until a solution emerges which passes a threshold. Once this threshold is met, the genetic algorithm starts afresh except the fitness function now includes a positive term proportional to the euclidan distance between the candidate solutions and the previously determined solution (the one that exceeded the threshold earliar.)
Once a second set of inputs is found which matches exceeds the threshold, the fitness function is updated to also include a term proportional to the euclidian disance from the second solution. Both terms are divided by two to prevent this euclidan distance derived terms in my fitness function from overpowering the others.
Would a process like this, iterated sufficiently, be an efficient way of generating a diverse set of inputs, each of which represents a set of inputs which achieve a high fitness score?
(Please assume that a diverse of solutions exists for the problem at hand; the goal of the algorithm is to find them)