SimcenterKnowledge

Laminate Composites > Laminate optimization

Genetic algorithm for laminate optimization

The genetic algorithm for optimization simulates the mechanics of genetics based on natural selection. Darwin's theory of evolution states that the fittest individuals of a population have the highest probability of survival. These individuals get more chance to breed. When breeding, two individuals exchange their characteristics represented by genes to create children. Thus, the genes that are useful for survival tend to be passed to future generations. In this manner the population evolves over generations and is optimized.

Genetic laminate algorithm

Initial population Initial population Fitness evaluation and ranking Fitness evaluation and ranking Parent selection Parent selection Creation of children by reproduction Creation of children by reproduction
Initial population
Fitness evaluation and ranking
Parent selection
Creation of children by reproduction
If stopping criteria reached end the optimization process If stopping criteria reached end the optimization process ↑Building the next generation Building the next generation Fitness evaluation and ranking of new individuals Fitness evaluation and ranking of new individuals ↓Mutation Mutation
If stopping criteria reached end the optimization process
Building the next generation
Fitness evaluation and ranking of new individuals
Mutation

Definition of an individual in a laminate optimization

The population is made up of individuals, each one representing a complete laminate design. Each individual is divided into chromosomes, and each chromosome is divided into genes. Each individual has as many chromosomes as there are design variables in the optimization process.

There are three types of chromosomes:

  • An angle type chromosome is related to the Ply Angle design variable.

  • A thickness type chromosome is related to the Ply Thickness design variable.

  • A material type chromosome is related to the Ply Material design variable.

The number of genes in each chromosome is related to the total number of plies of the laminate.

The value of a gene is an integer number if it is related to a discrete design variable and a real number if it is related to a continuous design variable.

Each chromosome has a ply index to identify each gene with a ply of the stacking sequence.

Initial population

The Population Size field under the Basic Info group on the Basic Params page of the Laminate Optimizer Configuration dialog box defines the size of the population of each generation.

The optimization process randomly creates the individuals in the initial population. For each individual, the software randomly selects the order of the plies. Each gene gets a value randomly assigned within its respective domain.

Fitness evaluation and ranking

The fitness function measures the degree of adaptation of an individual to its environment. For each individual, the software calculates the fitness function based on the objectives and constraints.

This fitness value is then used to compare and rank individuals. The better an individual performs in an optimization problem, the higher its fitness value is. The software ranks individuals of a certain population in descending order of their fitness value. The individual with the highest fitness value is in the first position, and the individual with the smallest fitness value is in the last position.

Reproduction

To increase the chance of fittest individuals being selected for reproduction, the software attributes a probability of selection to each individual with a bias related to its rank in the population. It creates a pair of parents by selecting two different individuals. It completes the mating pool by drawing a predetermined number of couples.

The breeding process exchanges the characteristics of the parents and transmits them to their offspring. The breeding process uses two operators:

  • The two point crossover operator divides each parent gene sequence into three regions. The child gets the genes preceding the first crossing point, the genes following the second crossing point from the fittest parent, and the genes between the two crossing points from the other parent.

  • The arithmetic operator assigns to each child's gene a value that is the combination of the values for the corresponding gene of the parents.

Mutation

After the creation of children, the software completes the mutation pool by adding Nk best individuals from the current population. The Multi-Elitism (Nk) field under the Basic Info group on the Basic Params page of the Laminate Optimizer Configuration dialog box defines Nk.

The mutation process uses the following operators:

  • The multiple mutation operator mutates a gene by randomly changing its value to another allowable value. Each gene of a given chromosome has a certain probability to mutate.

  • The ply swap operator swaps the position of two genes in the mutated chromosome. This operator swaps the value of one design variable from one ply to another.

  • The boundary mutation operator randomly selects a gene in the chromosome and changes its value to either the upper bound or the lower bound of the domain. This operator only applies to chromosomes representing continuous design variables.

  • The non uniform mutation operator changes a value of a given gene to another value within its domain in a non uniform way that is function of individual's generation.

Building the next generation

After applying the mutation operators to the mutation pool, the software calculates the fitness value for each new individual and ranks it.

The software creates the next generation using the multi-elitism selection method. The new population is made with the best Nk individuals of the current population (before reproduction) and with the best N - Nk new individuals (children group). All individuals in the population are different. If there are not enough distinct individuals in the children group, then the software adds the best individuals of the current population not already in the new population to complete it.

Stopping criteria

The optimization process stops in two ways:

  • It stops after having completed a certain amount of generations defined in Maximum Generation field under the Stopping Criteria group on the Basic Params page of the Laminate Optimizer Configuration dialog box.

  • It stops after having completed a certain amount of generations without improvement to the best individuals in the population. This number is defined in the Generation without Improvement field under the Stopping Criteria group on the Basic Params page of the Laminate Optimizer Configuration dialog box.

The software then provides you with the five best individuals, each individual being one of the optimized designs.

For more information, see Laminate Optimization .

How do I

Optimize a laminate

Define a design variable

Export a design variable as a modeling object

Export all design variables as modeling objects

Learn more

Laminate optimization

Ply materials

Look up more details

Laminate plate geometric properties

Shell stress resultants

Quick links

Command reference

Pre/Post video examples

Bulk Entry Descriptions

Simcenter 3D tutorials

Browse Simcenter 3D help by product area

Related Topics

Laminates failure analysis

Genetic algorithm for laminate optimization, Simcenter 3D 2021.1 Series

© 2020 Siemens

window.mainLanguage="en_US"

window.delivId=""

window.projectId=""

MathJax.Hub.Config({ TeX: { extensions: ["autoload-all.js"] }, tex2jax: { displayMath: [ ] }, "SVG": { scale: 125 } });

Source: https://docs.sw.siemens.com/en-US/doc/289054037/PL20200601120302950.advanced/id626266 · retrieved 2026-07-17