Nature Inspired Optimization

Nature inspired optimization algorithms (NOA) are stochastic search methods that simulate how nature solves its own problems. optiSLang provides Evolutionary Algorithms, Particle Swarm Optimization, Stochastic Design Improvement and Covariance Matrix Adaptation. For each of these algorithms a start population is generated randomly using Latin Hypercube Sampling or several designs can be selected from previous analyses. In the ideal case, optimal designs are taken from a preceding sensitivity analysis. If you provide more start designs than in Start population size specified, optiSLang will take them all. Out of this start population as much best designs as needed are chosen to create the next generation.

Evolutionary Algorithms (EA) are stochastic search methods that mimic processes of natural biological evolution like adaption, selection and variation. optiSLang uses a flexible implementation of genetic algorithm (GA) and evolutionary strategy (ES) which allows you to scale between pure GA, which performs a global search, and pure ES, which searches locally. Evolutionary algorithms can be used for discrete and continuous design variables, for single and multi-objective optimization tasks, problems with a large ratio of failed designs. EA are significant more efficient than gradient-based and response surface based methods if the number of design variables and constraint conditions is large.

Particle Swarm Optimization (PSO) is a population based global optimization algorithm, where each population consists of a given number of particles which move through the design space. Based on an initial position, which is chosen out of the start population, the position of each particle is updated in each iteration step with respect to the best global position and its own best position found in previous steps. The PSO works similarly to the Evolutionary Algorithms for single and multi-objective optimization problems and problems with a large amount of failed designs. It is less efficient compared to Evolutionary Algorithms if discrete design variables and many constraint conditions are investigated. For optimization tasks with continuous design variables the PSO converges generally very close to the global optimum.

Stochastic Design Improvement (SDI) is a local, single-objective optimization procedure using a simple stochastic approach. Based on an initial design, which is the best one out of the start population, new samples are generated by Latin Hypercube Sampling within a given range. In each iteration step, the best design is taken as new center point for the sampling of the next iteration. The ranges of the sampling scheme are adapted in each iteration step. Due to its pure stochastic design improvement the SDI is very robust and works for a high amount of failed designs, discrete and continuous parameter, and a high number of design variables and constraint conditions. Nevertheless, its efficiency is significantly lower compared to Evolutionary Algorithms and Particle Swarm Optimization.

Covariance Matrix Adaptation (CMA) is a stochastic, or randomized, evolution strategy for real-parameter (continuous domain) optimization of non-linear, non-convex functions. Randomized search algorithms are regarded to be robust in a rugged search landscape, which can comprise discontinuities, (sharp) ridges, or local optima. The CMA in particular is designed to tackle, additionally, ill-conditioned and non-separable problems. It is a method to update the covariance matrix of the distribution new candidate solutions are sampled according to. In contrast to most classical methods, fewer assumptions on the nature of the underlying objective function are made. Only the ranking between candidate solutions is exploited for learning the sample distribution and neither derivatives nor even the function values themselves are required by the method.

Further information about methods of multidisciplinary optimization used in optiSLang can be found here.

Relevant Parameters

Only parameters with deterministic properties (Optimization or Opt.+Stoch. parameter) are relevant for optimization.

Algorithm Settings

Algorithm Settings

To access the options shown in the following table, double-click the Nature Inspired Optimization system on the Scenery pane and switch to the NOA tab.

Common Settings

OptionDescription
Algorithm typeSelects the algorithm to run.
Maximum number of samplesSpecifies the maximum number of samples to be computed.
Search strategy

Sets the search strategy of the algorithm. This selection and some further conditions, like number of inputs and objectives, adjusts the settings of the chosen algorithm.

The global setting is recommended for a first exploration of the search space, local is recommended for improvements of a pre-optimized design.

Population

This section contains parameters required for initialization and convergence.

OptionDescription
Population sizeSpecifies the number of individuals of all populations except the first.
Maximum number of generationsSpecifies the number of generations after the optimization stops at the latest.
Number of stagnation generationsStops the optimization no improvement of the best individual is seen after this number of generations. The value must be between 2 and the value in Maximum Number of Generations.
Start population sizeSpecifies the number of individuals of the first population.

Fitness

This section provides parameters which influence the selection mechanism and for constraint handling methods.

OptionDescription
Constraint handlingDefines the treatment of violated constraints or failed designs when calculating the fitness values.
Fitness methodSpecifies how to evaluate fitness values out of objective values in order to find the best individuals. Weighted sum is recommended for single-objective and Pareto dominance for multi-objective problems.

Special settings for Evolutionary Algorithm

These settings are available only when you have selected Evolutionary Algorithm as the algorithm type.

Selection

This section provides parameters which influence the parent selection mechanism, and the archive.

OptionDescription
Archive sizeSpecifies the number of archive individuals. Archive size best individuals from the old population are marked as archive individuals. Together with the offspring they form the set, the parents for the next generation are selected from.
Number of parentsSpecifies the number of best individuals which are selected from the current population and the archive. They form the pool for reproduction.
Ranking methodPerforms the ranking method of fitness values before parent selection to overcome the scaling problem. You can choose between linear and exponential ranking. For multi-objective problems the pareto method is also available.
Selection methodSets the selection method for reproduction. Population size individuals are selected by the chosen method out of the parents. These individuals are then used to form new offspring by recombination and mutation.
Tournament sizeRefers to the tournament selection operator only. It specifies how many individuals are selected for each tournament. This value is in a range of one to number of parents.

Recombination

The crossover operator is a method of recombination where two parent individuals produce two offspring by sharing information between chromosomes. This section provides various parameters for choosing and adjusting the crossover mechanism.

OptionDescription
Crossover methodSets the method for recombining genes of pairwise parent individuals.
Crossover probabilityAvailable when Uniform or Simulated binary is selected from the Crossover method drop-down list. It sets the probability that two genes are crossed.
Number crossover pointsAvailable when Multipoint is selected from the Crossover method drop-down list. It specifies the number of crossover points for the multipoint crossover operator. Its value is dependant on the number of optimization variables.
Distribution parameterAvailable when Simulated binary is selected from the Crossover method drop-down list. A small value allows solutions far from the parents to be generated, while a large value restricts the operator to generate offspring individuals in a close neighbourhood of the parents.
secondIf this check box is selected, you can choose a second crossover operator to combine different characteristics of both operators for the offspring creation mechanism. The recombination method is chosen randomly between the two specified methods for every recombination procedure.

Mutation

Mutation introduces random variation to the genes of the offspring chromosome.

OptionDescription
Mutation methodSelects a mutation operator. To deactivate mutation, select None.
Mutation rateSets the probability that a gene mutates.
Standard deviation beginDefines the standard deviation for the normal distributed mutation or minimum value for the initial standard deviation for the self adaptive mutation. The standard deviation is not expressed as an absolute value, but as a factor of the corresponding variable range.
Standard deviation endDefines the standard deviation for the normal distributed mutation at the end of the optimization or the maximum value for the initial standard deviation for the self adaptive mutation. For the normal distributed mutation, start and end values are linear interpolated over the maximum number of generations.

Special Settings for Particle Swarm Optimization

These settings are available only when you have selected Particle Swarm Optimization as the algorithm type.

Swarm Behavior

This section contains various parameters for the swarm movement.

OptionDescription
Inertia weightSets the scaling factor for the velocity of each individual in the previous generation.
Personal accelerationSpecifies the influence of the personal best for searching. The personal acceleration coefficient is a scaling factor for the cognitive component of the movement equation.
Global accelerationSpecifies the influence of the global best for searching. The global acceleration coefficient is a scaling factor for the social component of the movement equation.
Passive congregationSpecifies the influence of a randomly chosen individual of the swarm. Passive congregation is an important biological force preserving swarm integrity. By introducing passive congregation, information can be transferred among individuals.

Special Settings for Stochastic Design Improvement

These settings are available only when you have selected Stochastic Design Improvement as the algorithm type.

OptionDescription
Mutation
Sampling bounds widthSpecifies the size of the sampling area. It is used as a factor for the global search space.

Special Settings for Covariance Matrix Adaptation

These settings are available only when you have selected Covariance Matrix Adaptation as the algorithm type.

OptionDescription
Selection
Number of parentsSpecifies the number of best individuals which are selected from the current population. They define the mean value and the adaptation of the covariance matrix which are used to sample the next generation.
Mutation
Initial standard deviationSpecifies the standard deviation of the initial sampling. It is used as a factor for the global search space.

Additional Options

To access the options shown in the following table, in any tab, click Show additional options.

OptionDescription
Limit maximum in parallel

Controls the resource usage of nodes in the system.

When the check box is cleared (default), a value is chosen to ensure the best possible utilization of the child nodes. When the check box is selected, set the value manually to specify how many designs are sent to child nodes, limiting the maximum degree of parallelism for all children. Ansys recommends keeping the check box clear.

Auto-save behavior

Select one of the following options:

  • No auto-save

  • Actor execution finished

  • Every n-th finished design (then select the number of designs from the text field)

  • Iteration finished (for optimization, reliability)

The project, including the database, is auto-saved (depending on defined interval) after calculating this node/system (either when the calculation succeeds or fails).

By default, all parametric and algorithm systems have Every nth finished design 1 design(s) selected, all other nodes have No auto-save selected.