2.13. Unigene Evolutionary Algorithm (UEA) Node

This node is located in the Systems > Algorithms > Optimization folder in the Modules pane.

The Unigene Evolutionary Algorithm (UEA) follows the general Evolutionary Algorithms principles described in Methods for Multi-Disciplinary Optimization and Robustness Analysis. UEA is a population-based optimization algorithm specialized for solving highly-constraint single-objective optimization applications. It comes with a tuned internal gene representation and combines multiple crossover and mutation operators for design variation. The objective and constraint definitions are formulated through a single scalar-valued objective (fitness) function to be minimized. This fitness function is a weighted sum of fitness terms, where each fitness term represents the rating for an objective or a constraint, respectively. The way objectives and constraints are mapped to fitness terms is unique to the UEA.

Node Settings

To access the options shown in the following tables, double-click the Unigene Evolutionary Algorithm (UEA) system on the Scenery pane and switch to the Settings tab.

The following General settings are available.

Initialization

OptionDescription
Population sizeThe number of individuals of the first population.
TypeThe sampling method used to generate the first population, either uniform or Gaussian.

Algorithm

OptionDescription
Number of generationsThe maximum number of generations after which the optimization stops.
Crossover ProbabilityThe probability of mating two individuals.
Mutation ProbabilityThe probability of mutating an individual.
Tournament sizeThe number of individuals participating in each tournament. (Refers to the selection operator.)

The objective and constraint definitions are formulated through a single scalar-valued objective (fitness) function to minimize. This fitness function is a weighted sum of fitness terms, where each fitness term represents the rating for an objective or a constraint.

For a given individual x, the fitness function is a weighted sum of fitness terms:

where each fitness term Di represents the rating for an objective or a constraint and ωi the corresponding weight. The following tables describe the additional parameters used to compute such ratings.

Objectives

OptionDescription
Initial ValueInitial value of the objective. Serves as a reference value.
Target ValueEstimated best-possible objective.
Weighting FactorRelative weight of the corresponding fitness term.

Constraints

OptionDescription
Feasible ToleranceTolerance for constraint values (beyond the limit value) still considered feasible for the problem at hand.
Weighting FactorRelative weight of the corresponding fitness term

The following Advanced options are available.

Crossover Operators

Crossover TypeOptionDescription
UniformNumber of GenesNumber of genes to be swapped.
UniformWeightRelative weight for the random selection of the crossover operator.
IntermediateSwap probabilityIndependent probability for each gene to be swapped.
IntermediateWeightRelative weight for the random selection of crossover operator.
SegmentOptional parameterOptional parameter to be added/subtracted from parent values before executing the operator.
SegmentWeightRelative weight for the random selection of crossover operator.
HypercubeOptional parameterIndependent probability for each gene to be swapped.
HypercubeWeightRelative weight for the random selection of crossover operator.

Each time crossover between two individuals is applied, a crossover operator is randomly selected among the available ones according to the specified relative weights.

Mutation Operators

Mutation TypeOptionDescription
UniformMutation probabilityThe probability that a gene mutates.
UniformWeightRelative weight for the random selection of the mutation operator.
Deterministic uniformNumber of GenesNumber of genes to mutate in the individual.
Deterministic uniformWeightRelative weight for the random selection of mutation operator.
GaussianMutation probabilityThe probability that a gene mutates.
GaussianWeightRelative weight for the random selection of mutation operator.
Deterministic GaussianNumber of GenesNumber of genes to mutate in the individual.
Deterministic GaussianWeightRelative weight for the random selection of mutation operator.
Gaussian and Deterministic GaussianSigmaReference standard deviation for Gaussian-type mutation operators. For each gene, the actual standard deviation is obtained by multiplying the reference one to the corresponding variable’s range.

Each time mutation is applied, a mutation operator is randomly selected among the available ones according to the specified relative weights.