GA/optimizer frameworks with automatic adjustment of mut/cross extent ?

robert no-spam at no-spam-no-spam.invalid
Sun Dec 10 16:15:24 EST 2006


I'm looking for an efficient optimizer on a noisy high-dimensional and costly function. 

My own GA hack seems to be somewhat stiff and I find me trying too much around with different cooling speeds and other non-systematic screwing ...

There are some GA frameworks and recipes around for Python (that one of scipy (scipy.ga?) disapeared?). Which can be recommended?

The searching in my use cases is mainly on fixed length parameter vectors (float and integer ranges). 
Just a few use cases on chromosome-bits and complex variable length structure building.

My main concern is about a smart, general and robust population alteration - an automatic selection of mutation/crossover-random-step-ranges and mutation/crossover-ratio. And possibly a dynamic population/selection scheme also.
The mutation function accepts a vector with step-width's 0..inf (default 1.0) for each parameter/gene. And the crossover function accepts a scalar 0 .. 1.0 controlling the extent of crossover. 

Thus:

def mutate(obj, astepstd=[1.0,1.0,1.0,...]):
    ...
def crossover(obj, other, extent=0.5):
    ...

The good optimizer alg which I think of should be smart enough to dynamically auto-adjust based the optimization history (independently of the task):
* astepstd's 
* extent 
* crossover/mutate rate
(* dynamic population size and selection-scheme)


Any recommendations or hints?


Robert



More information about the Python-list mailing list