Evolutionary Computation : A Unified Approach
Evolutionary Computation : A Unified Approach
Evolutionary Computation : A Unified Approach
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
212 CHAPTER 7. ADVANCED EC TOPICS<br />
some of these terms, but the ideas behind them are quite clear. There are three general<br />
opportunities for adaptation: at EA design time, in between EA runs, and during an EA<br />
run. Each of these issues is briefly discussed in the following subsections.<br />
7.1.1 Adaptation at EA Design Time<br />
At the EA design level, we generally tinker with various design decisions (such as the<br />
selection mechanism, the reproductive operators, population size, etc.) in an attempt to<br />
adapt our design to a particular problem domain. Once those design decisions are made,<br />
the EA is run and, depending on the outcome of one or more runs, may result in redesign.<br />
Since EA design space is quite large, exploring it manually can be quite tedious and time<br />
consuming, providing a strong incentive to automate the design adaptation process. On the<br />
other hand, evaluating the effectiveness of a particular EA design typically involves multiple<br />
EA runs and can be computationally quite expensive. So, a natural reaction is to consider<br />
the use an EA to search EA design space, i.e., a meta-EA.<br />
That, of course, raises the question of the design of the meta-EA! To avoid an infinite<br />
regress, design space exploration at this level is generally a manual process. One of the<br />
earliest examples of this meta-EA approach was Grefenstette (1986) in which various GA<br />
design parameters were optimized for a test suite of optimization problems.<br />
One of the important observations that has come from these meta-EA studies is that<br />
most EAs are relatively insensitive to specific values of design parameters. Rather, there is<br />
a range of values within which acceptable performance is obtained. This robustness allows<br />
many applications to run in “turnkey” mode with a set of default values.<br />
7.1.2 Adaptation over Multiple EA Runs<br />
Since the complexity of the fitness landscape of many difficult application problems is not<br />
well-understood apriori, it is not unusual for an EC practitioner to make a series of EA runs<br />
in which the observations and feedback from initial runs is used to modify the EA design<br />
used in subsequent runs. This can be tedious and time consuming, and raises interesting<br />
questions involving the extent to which this process can be automated by embedding an EA<br />
in an outer loop controlling a sequence of multiple EA runs.<br />
A key issue is the determination of the kind of information that can be extracted from<br />
individual runs and used to improve performance on subsequent runs. One possibility is<br />
to use information acquired about the fitness landscape to bias the direction of search in<br />
subsequent runs. A good example of this approach is described in Beasley et al. (1993)<br />
in which difficult multimodal fitness landscapes are explored by sequentially deforming the<br />
landscape to remove peaks found on earlier runs.<br />
Alternatively, a strategy of having repeated EA restarts using initial populations that are<br />
a combination of individuals from previous runs and randomly generated ones has also been<br />
shown to be quite effective. Perhaps the most striking example of this approach is CHC,<br />
a turnkey optimization package that does not require the user to set any EA parameters<br />
(Eshelman, 1990).<br />
A third possibility is to use performance feedback from earlier EA runs to modify the<br />
parameter values of an EA on subsequent runs. A good example of this approach is the