9.3.1 Ego

The optimizer EGO (extensible genetic optimizer) is a state of the art evolutionary computation optimizer. The theory of evolutionary computation and genetic algorithms is described in Chapter 8. This optimizer is based on a genetic algorithm developed for the demands of TCAD applications, i.e., computationally expensive function evaluations. It is the recommended global optimizer.

For experiments the following setup was mainly used, because it provides good results in an acceptable amount of computation time. Since all parameters are reals chosen from intervals, they are represented as floating point numbers. A steady state algorithm is used. The mutation operator is a Gaussian mutation operator, i.e., $ x\in[a,b]$ is changed to $ \min( \max( N(x,\sigma), a), b)$, where $ \sigma$ depends on the length of the interval. The crossover operators used are the linear randomized crossover operator as well as the two point and uniform crossover operators. Most populations consist of about forty to fifty individuals. Constraints are handled using the popular penalty method, i.e., the scores of states which do not fulfill given constraints, which are defined as an arbitrary function, are increased by prescribed amounts. Finally a flexible scoring mechanism is used and lots of the aspects of the algorithm can be configured and tuned.

Typical optimization tasks allow to evaluate about twenty generations per hour, which amounts to roughly 500 generations per day. Optimization runs usually last for two or three days.

Clemens Heitzinger 2003-05-08