12.01.2015 Views

Evolutionary Computation : A Unified Approach

Evolutionary Computation : A Unified Approach

Evolutionary Computation : A Unified Approach

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!