Self-adaptive genetic algorithms for numeric functions