When are genetic algorithms a good choice for optimization?