1. A method comprising: tracking forward progress of a first sub-population across generations thereof, wherein the first sub-population is one of a plurality of sub-populations that form a population of candidate solutions to an optimization problem for which a solution is being searched by a parallel evolutionary computing process; at a current generation of the first sub-population, determining that forward progress of the first sub-population fails a set of one or more forward progress criteria; in response to determining that the forward progress of the first sub-population fails the set of one or more forward progress criteria at the current generation, invoking a local catastrophe on the current generation of the first sub-population; re-populating the first sub-population after the local catastrophe is invoked; and re-establishing the first sub-population after re-populating while constraining migration to the first sub-population.