With the (intermittent) interest in the royal roads functions and the
importance of both random mutation hill climbing and simulated
annealing in search and optimization, it would seem useful to have
access to these algorithms in a standard way ECJ-compatible way.
Conceptually, a hill climber is a population of 1 who at each step is
compared to the performance of a clone of itself that has undergone a
random mutation. If the performance is better, then the individual is
replaced. Simulated annealing takes this one step further and says
that, according to some schedule, we will permit the individual to be
replaced by a candidate who performs less well.
I wondering if someone with a better knowledge of the internals of
the ECJ classes could give me an idea of how difficult it would be to
introduce an ECJ-compatible hill climbing package. I'm a cracker jack
Java programmer but I know absolutely nothing about how ECJ is
architected, esp. post V13 changes. I would rather do something that
is in the spirit of ECJ than a hack but I'm willing to do a hack. ;)