next up previous contents
Next: A Multi-Modal Example with Up: Customizing the Optimization Previous: Accessing Parameters   Contents


Setting Evolutionary Operators


58#1

In Listing 8, a (1+5) CMA-ES is configured and run on a simple bimodal target function with the global optimum near (1.7/0) and a local one near (-1.44/0). The (1+5)-CMA-ES is powerful and will find the global optimum most of the time. Sometimes, however, due to its relatively high selection pressure and elitistic strategy, it will converge in the local optimum, depending on the random initialization.

Lines 23-26 of Listing 8 show how to access evolutionary operators directly. What happens here is that the template individual delivered with the problem class (because the problem defines the representation) is modified to use the given mutation and crossover operator and probabilities. Typical for ES, the mutation probability $ p_{m}$ is relatively high, while the crossover probability $ p_{C}$ is rather low. One could also use fm0.getIndividualTemplate().setMutationOperator(...) etc. to set the operators and probabilities one by one just as through the GUI. Notice that not all implemented heuristics make use of individual evolutionary operators. Several come with their own operator definitions, such as DE and PSO, for example. The Hill Climbers, on the other hand, do use individual mutation but override individual probabilities to 61#2 and 62#3 by definition.


next up previous contents
Next: A Multi-Modal Example with Up: Customizing the Optimization Previous: Accessing Parameters   Contents
Marcel Kronfeld 2011-05-05