<p>A computer-implemented method of solving a system optimization problem having a plurality of parameters of unknown value is comprised of randomly generating sets of values for unknown parameters w ithin an the optimization problem. A population of original candidate solutions is generated by applying an algorithm for deterministic optimization to each of the sets of values. The population of solutions is ranked. Additional candidate solutions are iteratively generated from at least certain of the solutions in the population. The validity of the additional candidate solutions is checked, and the valid additional candidate solutions are added to the population of solutions. The population of solutions is re-ranked and at least one solution from the population of solutions is output when a predetermined criterion is met whereby the values for the parameters in the output solution may be used for controlling a system.</p>