Answers.Body: <p>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).</p>
  <p>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.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-04-14T12:29:56.613Z
Answers.Text: A random small rotation is a neat idea
Answers.UserDisplayName: Neil Slater
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-04-15T10:31:44.527Z
Answers.Text: I think there are some typos in this answer, if I understand correctly your suggestion. For example, what is $f(X)$?
Answers.UserDisplayName: nbro
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-04-14T06:56:19.960Z
Answers.LastActivityDate: 2021-04-15T17:36:16.110Z
Answers.LastEditDate: 2021-04-15T17:36:16.110Z
Answers.UserDisplayName: Mike NZ
Body: <p>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.</p>
  <p>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.</p>
  
Tags: <genetic-algorithms><evolutionary-algorithms><constraint-satisfaction-problems><mutation-operators>
Title: How to handle equality constraints in the mutation operation of evolutionary algorithms?
UserDisplayName: Rahim Brahimi
ThreadText: # How to handle equality constraints in the mutation operation of evolutionary algorithms?
  
  (Asked by: username_0 on 2021-04-13)
  
  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.
  
  **Tags:** genetic-algorithms, evolutionary-algorithms, constraint-satisfaction-problems, mutation-operators
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2021-04-14. Score: 1
  
  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.
  
  > **Comments:**
  > **username_2**: A random small rotation is a neat idea  
  > **username_3**: I think there are some typos in this answer, if I understand correctly your suggestion. For example, what is $f(X)$?  
  
  ---
  
  