Back to Project

Optimization

Genetic algorithm optimization of composite layup configurations

Optimization Process

Optimization was automated with a Python script whose goal is to run the .inp file through Abaqus/Standard, extrapolate the needed results, feed them into a genetic algorithm, and then edit the .inp file with the evolved variables – the process is repeated until the algorithm converges.

Optimization Algorithm Flowchart

Optimization Algorithm Flowchart

Optimization Constraints

Only the wingbox skin and spar caps were subjected to the optimization. Control variables used were: maximum Tsai-Wu failure index (TSAIWU) and y-direction displacement of the wing tip (U2). TSAIWU was set to have the upper limit of <1, while the upper limit of U2 was set to be 10% of the half-wingspan, which equals 380 mm. The algorithm also follows a rule of minimizing the mass of the wing (variable MASS). It was expected for the total mass of the wing to be less than 30 kg. If the solution violates any of these constraints, algorithm is instructed to penalize it and diverge from it.

Variable Constraint
TSAIW < 1
U2 < 380 mm
Mass < 32 kg

Optimization Bounds

Groups G1, G2, and G3 and layups C1 and C2 had upper and lower bounds set with a constant increment of 0.125, which represents the thickness of a single ply in millimeters. Since the variable bounds need to be as narrow as possible to ease and speed up the optimization process, a few iterative runs were made with the goal of testing different upper-bound layups.

Important notice: The composite design followed the previously established guidelines for spar cap layups. Skin layups were configured as quasi-isotropic with an additional 0-degree reinforcement ply. This design shifted the maximum failure location to the front spar web. However, this result was partly influenced by the idealized geometry model, which is stiffer than realistic conditions—specifically, the model lacks adhesive layers that would typically soften transitions between regions of high stiffness mismatch.

Layup thickness bounds

Layup/Group Ply orientation Lower Bound Upper Bound Increment
G1/G1S Every ply orientation .250 .500 .125
G2/G2S Every ply orientation .125 .250 .125
G3/G3S Every ply orientation .125 .125 .125
C1/C2 +45°/-45° .250 .500 .125
1.25 2.5 .125
90° .250 .500 .125