How does GA create crossover/mutation with constraints ?

2 visualizaciones (últimos 30 días)
Boris Huljak
Boris Huljak el 23 de Mayo de 2018
Editada: Boris Huljak el 24 de Mayo de 2018
Hello. I am currently doing an optimization where polynomial (4 parameters) have to fulfil a constraint of the type (max(poly)-Value) < 0.
To do so, I use the genetic algorithm from matlab.
I have a question though, how is it possible that the ga command uses crossover/mutation functions, but still fulfil that condition ? What will the code exactly do if this condition is not fulfilled ? Skip the fitness evaluation ?
Thank you for your help

Respuestas (2)

Alan Weiss
Alan Weiss el 23 de Mayo de 2018
The nonlinear constraint algorithms are described here. In brief, the algorithm allows nonlinear constraints to be violated, and in subsequent iterations attempts to obtain feasible points.
Alan Weiss
MATLAB mathematical toolbox documentation

Boris Huljak
Boris Huljak el 23 de Mayo de 2018
Editada: Boris Huljak el 24 de Mayo de 2018
Thanks, I read your link and it is kind of still blur. When you say they trie to obtain feasible, is there a simplified explaination on how they do so ? I did noticied my solution are similar to each other, but not exactly the same, so I suspect there is some kind of variation of each of the value to be optimized ?
Anyway, thank you for the infos !
EDIT : I would like to ask something practical. So far, my optimization does converge, but all my population are pretty close to each other (most likely a local minimum), is it possible to change an option so that my population is a bit more scattered ? Something like : "If a member does not fulfill the constraint, it is deleted and a new member (generated by my initial population function) is created and replace him" ?
Thank you !

Categorías

Más información sobre Genetic Algorithm en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by