Optimization (Optimization) — CAE Glossary

Category: Glossary | 2026-03-28
CAE visualization for optimization - technical simulation diagram

What is Optimization

🧑‍🎓

How is "optimization" in CAE different from ordinary mathematical optimization?


🎓

The basic idea is the same: finding design variables that minimize (or maximize) an objective function. However, in CAE, one function evaluation requires FEM or CFD analysis, so computation costs are orders of magnitude higher. For example, if one structural body analysis takes several hours, you can't afford to do 1,000 trial-and-error iterations.


🧑‍🎓

I see, that's why efficient algorithms are critical. What specific techniques are used?


🎓

Broadly, there are two approaches. One is gradient-based methods, which use sensitivity (derivative information) to efficiently explore descent directions. The other is metaheuristics, which use probabilistic search without derivatives, like genetic algorithms or particle swarm optimization. The former is faster but prone to local minima; the latter can explore globally but requires more evaluations.


Topology, Shape, and Size Optimization

🧑‍🎓

What's the difference between topology optimization, shape optimization, and size optimization? I've heard of all three.


🎓

The three differ in "how much freedom you have in redesign."

The degrees of freedom are ordered: topology > shape > size. In practice, a three-stage approach is common: first use topology optimization to determine the overall form, then shape optimization to refine details, and finally size optimization to adjust plate thickness.


🧑‍🎓

I've heard that topology optimization works well with 3D printers. Is that true?


🎓

Exactly right. Topology optimization results often have organic shapes similar to biological bone, which is difficult to manufacture with traditional machining or casting. However, additive manufacturing (3D printers) can directly produce such complex shapes. GE Aviation's jet engine fuel nozzle is a famous success story—they consolidated 20 parts into one, reducing weight by 25%.


Gradient-Based Methods vs Metaheuristics

🧑‍🎓

How do gradient-based methods "know which direction to change the design to improve it"?


🎓

By calculating sensitivity (the derivative). Roughly speaking, "if I increase this plate thickness by 0.1 mm, how much will the stress decrease?" There are three approaches:

  1. Finite Difference Method: Perturb a variable slightly, solve twice, and take the difference. Simple but requires as many analyses as there are variables.
  2. Direct Differentiation: Differentiate the governing equations directly to create sensitivity equations. Advantageous when there are few variables but many outputs.
  3. Adjoint Method: Overwhelmingly superior when there are many variables and few outputs. (Detailed explanation coming up.)

🧑‍🎓

So metaheuristics don't use derivatives. When are they used?


🎓

Metaheuristics excel in three scenarios. First, when the objective function is discontinuous or discrete. For example, integer variables like the number of bolts (2, 4, or 6) cannot be differentiated. Second, when there are many local minima (multimodal problems). Gradient methods fall into the nearest valley, but genetic algorithms can explore broadly across the entire population. Third, when the analysis code is a black box with no access to sensitivity. This happens often with commercial software.


🧑‍🎓

Besides genetic algorithms, what other metaheuristics are commonly used?


🎓

Particle Swarm Optimization (PSO), Simulated Annealing, and Differential Evolution are standard. Recently, Bayesian optimization is gaining popularity. It uses a surrogate model (approximation model) to approximate before searching, so even costly CFD or crash analyses can find good solutions with just dozens of samples.


Adjoint Method (Adjoint Method)

🧑‍🎓

You said the adjoint method is "overwhelmingly superior." What makes it so powerful?


🎓

The key insight is: even with millions of design variables, only a single additional linear system is needed for sensitivity calculation. With ordinary finite difference, if you have $n$ variables, you need $n$ analyses. But with the adjoint method, a single adjoint analysis gives you sensitivities for all variables at once.


🧑‍🎓

Wait, even with a million design variables, you only need one extra analysis? How is that possible?


🎓

The key is Lagrange multipliers. Consider the augmented Lagrangian combining the objective function $J$ and the constraint residual $R(\mathbf{u}, \mathbf{x}) = 0$:

$$\mathcal{L} = J(\mathbf{u}, \mathbf{x}) + \boldsymbol{\lambda}^T R(\mathbf{u}, \mathbf{x})$$

where $\boldsymbol{\lambda}$ are the adjoint variables. Setting the derivative with respect to $\mathbf{u}$ to zero yields the adjoint equation:

$$\left(\frac{\partial R}{\partial \mathbf{u}}\right)^T \boldsymbol{\lambda} = -\left(\frac{\partial J}{\partial \mathbf{u}}\right)^T$$

Once you solve this adjoint equation, the sensitivities for each design variable $\mathbf{x}$ are:

$$\frac{dJ}{dx_i} = \frac{\partial J}{\partial x_i} + \boldsymbol{\lambda}^T \frac{\partial R}{\partial x_i}$$

The right-hand side is just matrix-vector products, which are cheap. In CFD shape optimization, all mesh node coordinates become design variables, so without the adjoint method, it's practically infeasible.


🧑‍🎓

OpenFOAM has an adjoint solver too, right? Any cautions when using it?


🎓

Good question. OpenFOAM's adjointOptimisationFoam supports steady RANS adjoints and is production-ready. Key points: First, the original primal flow field must be well-converged. Large residuals lead to noisy adjoints. Second, adjoint equation convergence is often harder than the primal—use smaller relaxation factors. Finally, you decide whether to freeze turbulence model adjoints or solve them rigorously. With adequate computational resources, rigorous adjoints give better accuracy.


Multi-Objective Optimization

🧑‍🎓

In real design, you often have multiple conflicting goals like "make it lighter" and "increase strength." How do you achieve both?


🎓

That's multi-objective optimization. For example, in automotive body design, "minimize mass" and "maximize energy absorption in crash" conflict. Making it lighter reduces absorption; increasing absorption makes it heavier. The boundary of this trade-off is called the Pareto front, where all solutions on the curve are "optimal in a sense."


🧑‍🎓

If all solutions on the Pareto front are optimal, how do you pick one in practice?


🎓

Mathematically they're equivalent, so the final choice is made by engineer judgment. Three common methods:

  1. Weighting Method: $\min\ w_1 f_1 + w_2 f_2$ reflects priorities via weights.
  2. Knee Point Selection: Pick the "corner" where trade-off efficiency is best—where a small mass increase yields large strength gains.
  3. Manufacturing Constraint Filter: From Pareto solutions, narrow down using manufacturing cost, process, tolerance, and other practical constraints not in the optimization.

In practice, platforms like NSGA-II generate the entire Pareto front at once, then teams discuss and choose together.


🧑‍🎓

NSGA-II is frequently mentioned. What computational cost is typical?


🎓

You need evaluations = population size × generations. For example, 100 individuals × 50 generations = 5,000 evaluations. If one analysis takes 1 hour, that's 5,000 hours by simple math. In practice, you either use a surrogate model to reduce evaluations to 100–200, or run in parallel on HPC clusters. Platforms like modeFRONTIER and HyperStudy automate this.


Mathematical Formulation

Optimization problems in CAE are generally formulated as:

$$\begin{aligned} \min_{\mathbf{x}} \quad & J(\mathbf{u}(\mathbf{x}), \mathbf{x}) \\ \text{subject to} \quad & g_j(\mathbf{u}(\mathbf{x}), \mathbf{x}) \leq 0, \quad j = 1, \dots, m \\ & h_k(\mathbf{u}(\mathbf{x}), \mathbf{x}) = 0, \quad k = 1, \dots, p \\ & x_i^L \leq x_i \leq x_i^U, \quad i = 1, \dots, n \end{aligned}$$

where $\mathbf{x}$ is the design variable vector, $\mathbf{u}(\mathbf{x})$ are state variables from FEM/CFD (displacement field, velocity field, etc.), $J$ is the objective function (mass, compliance, drag, etc.), $g_j$ are inequality constraints (stress limits, volume fraction, etc.), $h_k$ are equality constraints, and $x_i^L, x_i^U$ are variable bounds.

In topology optimization, the SIMP method (Solid Isotropic Material with Penalization) is standard, treating element pseudo-density $\rho_e \in [0, 1]$ as a design variable with Young's modulus penalized as:

$$E_e = \rho_e^p \, E_0$$

where $p$ is typically 3. This penalizes intermediate densities (grayscale) and promotes clear 0/1 material distributions.

Precise understanding of CAE terminology is the foundation of team communication. — Project NovaSolver supports learning for practitioners.

Share your challenges in practical optimization

Project NovaSolver addresses challenges CAE engineers face daily—setup complexity, computational cost, result interpretation. Your practical experience drives better tool development.

Contact (Coming Soon)
Article Rating
Thank you for your feedback!
Helpful
More
Detail
Report
Error
Helpful
0
More Detail
0
Report Error
0
Written by NovaSolver Contributors
Anonymous Engineers & AI — Sitemap
View Profile