An analysis of evolutionary algorithms