1
$\begingroup$

I am new in evolutionary algorithms field. I have a chromosome of 6 variables (real variable), where the sum of these variables is equal to 1.

I am looking for mutation formulas that can generate a new chromosome respecting the equality constraint: in my case, the sum of new chromosome should always equal to 1.

$\endgroup$

1 Answer 1

1
$\begingroup$

If X is your 6D vector and m(X) is the mutated version of X, then you can renormalise the mutant back to unity by dividing by the sum of X, i.e. X' = m(X)/sum(X).

However, I encourage you figure out how to mutate a vector while keeping the length of the vector at 1. One way to do this would be to randomly rotate your vector in 6D space. The length should stay the same, and you don't need to renormalise it afterwards.

$\endgroup$
2
  • $\begingroup$ A random small rotation is a neat idea $\endgroup$ Apr 14, 2021 at 12:29
  • $\begingroup$ I think there are some typos in this answer, if I understand correctly your suggestion. For example, what is $f(X)$? $\endgroup$
    – nbro
    Apr 15, 2021 at 10:31

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .