There is a set of specific aspects of engineering models that must be taken into account by any optimization algorithm during the optimization process:
- Large dimensionality of the model. This challenge is characterized by a large number of design variables and generic (linear/nonlinear) constraints (over 100).
- Several conflicting objective functions to be optimized simultaneously. Turbine disk mass minimization and lifetime maximization (in Pareto’s sense) is an example of such a case.
- Nonlinear and multimodal objective functions and constraints.
- Noisy objective functions and constraints. It is well knows that numerical methods produce numerical noise. This phenomenon is associated to the finite precision of numbers used in computers and special features of numerical methods, in particular meshing and convergence rules of finite element methods.
- Various types of objectives: smooth, non-differentiable, stochastic, multimodal, with the uncomputability regions, with mixed variables. The presence of uncomputability regions means that the computational model is unable to obtain results for certain values of model parameters. For example, this is the case when the solution of a non-linear strength problem loses its numerical stability, or, for instance, if an intense turbulent flow motion makes the process of solving the Navier-Stokes equations numerically unstable. In such cases, NaN (Not a Number = an undefined value) is returned to the optimizer.
- Huge computational time. Calculation of a single configuration could take a significant time. For example, a typical fluid dynamics calculation takes up to several hours. That is why it is extremely important for an optimization algorithm to use the computational model as rarely as possible.
All these aspects should be taken into account by an optimization algorithm for it to be able to solve engineering optimization problems efficiently.