Updating x in fitness function

2 views (last 30 days)
Hari
Hari on 8 Mar 2017
Answered: Walter Roberson on 8 Mar 2017
For a custom vectorised fitness function like this,
FitnessFunction = @(x) my_fitness(x,a,b);
I need to modify the values of x (i.e 'This population')based on some parameters computed in the fitness function. I have tried including the code for this in the fitness function but I guess this is not the right way. In the subsequent steps, while generating the next generation, ga is using the same x values as before and not the modified ones. Can these values be modified within the fitness function?

Accepted Answer

Walter Roberson
Walter Roberson on 8 Mar 2017
ga is the wrong approach for that. In ga, you never modify the population in the objective function. Instead, you generate a fitness value for the population as-is. Then the population along with all of the fitness values are passed to the crossover or mutation functions, which can generate whatever modified values desired.
To phrase this a different way, take that detection and modification code out of the fitness function and put it in the crossover or mutation function.

More Answers (0)

Categories

Find more on Curve Fitting Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!