1.3. Mutation

1.3.1. mutGaussian

class surrogate.mutation.mutGaussian[source]

This function applies a gaussian mutation of mean mu and standard deviation sigma on the input individual. This mutation expects a sequence individual composed of real valued attributes. The prob argument is the probability of each attribute to be mutated.

Parameters:
  • variable – Decision Variable to be mutated.
  • mu – Mean or python:sequence of means for the gaussian addition mutation.
  • sigma – Standard deviation or python:sequence of standard deviations for the gaussian addition mutation.
  • prob – Independent probability for each attribute to be mutated.
Returns:

A tuple of one variable.

This function uses the random() and gauss() functions from the python base random module.

1.3.2. mutPolynomialBounded

class surrogate.mutation.mutPolynomialBounded[source]

Polynomial mutation as implemented in original NSGA-II algorithm in C by Deb.

Parameters:
  • variableSequence Decision Variable to be mutated.
  • eta – Crowding degree of the mutation. A high eta will produce a mutant resembling its parent, while a small eta will produce a solution much more different.
  • low – A value or a python:sequence of values that is the lower bound of the search space.
  • up – A value or a python:sequence of values that is the upper bound of the search space.
Returns:

A tuple of one variable.

1.3.3. mutShuffleIndexes

class surrogate.mutation.mutShuffleIndexes[source]

Shuffle the attributes of the input individual and return the mutant. The individual is expected to be a sequence. The prob argument is the probability of each attribute to be moved. Usually this mutation is applied on vector of indices.

Parameters:
  • variable – Decision Variable to be mutated.
  • prob – Independent probability for each attribute to be exchanged to another position.
Returns:

A tuple of one variable.

This function uses the random() and randint() functions from the python base random module.

1.3.4. mutFlipBit

class surrogate.mutation.mutFlipBit[source]

Flip the value of the attributes of the input individual and return the mutant. The individual is expected to be a sequence and the values of the attributes shall stay valid after the not operator is called on them. The prob argument is the probability of each attribute to be flipped. This mutation is usually applied on boolean individuals.

Parameters:
  • variable – Decision Variable to be mutated.
  • prob – Independent probability for each attribute to be flipped.
Returns:

A tuple of one variable.

This function uses the random() function from the python base random module.

1.3.5. mutUniformInt

class surrogate.mutation.mutUniformInt[source]

Mutate an individual by replacing attributes, with probability prob, by a integer uniformly drawn between low and up inclusively.

Parameters:
  • variableSequence Decision Variable to be mutated.
  • low – The lower bound or a python:sequence of of lower bounds of the range from wich to draw the new integer.
  • up – The upper bound or a python:sequence of of upper bounds of the range from wich to draw the new integer.
  • prob – Independent probability for each attribute to be mutated.
Returns:

A tuple of one variable.