3. Design variables, objective functions, and constraint formulation for nonlinear structural optimization problems.
In linear optimization, the design space is usually well-behaved: stiffness matrices are constant, responses scale predictably with design variables, and gradients are cheap to obtain. Nonlinear structural optimization breaks all three assumptions. When the structure undergoes large deformation, material yielding, contact, or buckling, the response becomes a nonlinear function of both the design variables and the equilibrium state itself. This chapter addresses the three pillars that define any such optimization problem: what you are allowed to change (design variables), what you are trying to achieve (objective function), and what you must not violate (constraints). Getting these three right is more consequential than the choice of optimizer, because a poorly posed problem will converge to a useless answer no matter how sophisticated the algorithm.
Design Variables: Parameterization Choices Under Nonlinearity
Design variables are the quantities the optimizer may adjust. In nonlinear structural problems, the most common categories are:
- Sizing variables — cross-sectional areas, thicknesses, or section dimensions of beams, shells, and solids. These enter the residual force vector through the internal force computation and are typically bounded by manufacturing minima and maxima.
- Shape variables — parameters controlling geometry, such as fillet radii, taper angles, or control-point coordinates of a spline. Shape changes alter the mesh and therefore the nonlinear equilibrium path.
- Topology variables — density or level-set fields that determine material distribution. Under nonlinearity, low-density regions can still carry significant load through geometric stiffening, so the usual SIMP penalization must be applied with care.
- Material or process variables — yield stress targets, hardening parameters, or prestress levels, relevant when the design task includes material selection or forming-induced residual stress.
A critical practical point: under large deformation, the sensitivity of a response to a design variable is not simply the linear sensitivity. The adjoint equation must account for the tangent stiffness at the converged equilibrium state. If you use a linear sensitivity approximation while the forward analysis is nonlinear, the optimizer will receive inconsistent gradients and typically stall or oscillate. The design variable parameterization should therefore be chosen so that sensitivities can be computed consistently — either analytically through the nonlinear adjoint or through a verified semi-analytical scheme.
Objective Functions: What "Better" Means in a Nonlinear World
The objective function quantifies the design goal. In nonlinear structural optimization, typical objectives include:
| Objective | Typical Expression | Nonlinear Consideration |
|---|---|---|
| Compliance (stiffness) | f = ∫ F·u dV or F^T u | u is the nonlinear equilibrium displacement; compliance is not quadratic in u |
| Peak load capacity | f = −λ_crit (maximize) | λ_crit from arc-length or eigenvalue buckling analysis |
| Mass | f = Σ ρ_i V_i | Linear in density variables, but interacts with nonlinear constraints |
| Plastic dissipation | f = ∫ σ:ε_p dV | Requires path-dependent integration through load history |
| Maximum stress | f = max σ_vm | Non-smooth; often replaced by p-norm or Kreisselmeier–Steinhauser aggregation |
For nonlinear problems, the objective must be evaluated at the converged equilibrium state. This means every objective evaluation requires a full Newton–Raphson (or arc-length) solution. If the objective depends on the load path — as with plastic dissipation or damage — the entire history must be replayed for each design iteration. This is the dominant computational cost and should shape your choice of objective: prefer objectives that can be evaluated from the final state when possible, and reserve path-dependent objectives for problems where they are genuinely necessary.
Another subtlety: objectives such as peak load or buckling capacity are often non-smooth or even discontinuous with respect to design variables when the critical mode switches. A small change in thickness can cause the governing buckling mode to jump from local to global, producing a kink in the objective. Gradient-based optimizers struggle with this. Remedies include smoothing the objective over a window of modes, using a differentiable eigenvalue aggregation, or switching to a gradient-free method for the global search phase.
Constraint Formulation: Where Nonlinearity Bites Hardest
Constraints define the feasible region. In nonlinear structural optimization, they fall into three broad classes:
- Equilibrium constraints — the residual equation R(u, x) = 0 must hold. This is not a constraint you impose on the optimizer directly; it is satisfied by the forward solver at each design iterate. However, it is the reason sensitivities are expensive: the adjoint or direct differentiation must linearize about the converged state.
- Response constraints — limits on displacement, stress, strain, or plastic zone size. Under nonlinearity, these are evaluated at the converged state and may be active only along part of the load history. A stress constraint that is satisfied at 60% load may be violated at 100% load, so the constraint must be enforced at every load step or at the critical step identified by the solver.
- Stability constraints — limits on eigenvalues of the tangent stiffness, ensuring the structure remains stable. These are inequality constraints of the form λ_min(K_T) ≥ λ_allowable. They are non-smooth when eigenvalues cross and require either eigenvalue aggregation or a margin-based formulation.
A common mistake is to formulate constraints in terms of linearized responses. For example, limiting the linear elastic stress to 200 MPa in a structure that yields at 180 MPa is meaningless. The constraint must be expressed in terms of the actual nonlinear response: equivalent plastic strain, von Mises stress at the converged state, or a damage variable. Similarly, a displacement constraint under large deformation should be applied to the total displacement, not the linearized increment.
Putting It Together: A Worked Formulation
Consider a thin-walled bracket subject to a prescribed displacement at its tip, with the goal of maximizing the load carried before the onset of plastic collapse. The design variables are the wall thicknesses of five shell patches, bounded between 1.0 mm and 4.0 mm. The objective is to maximize the reaction force at the prescribed displacement. Constraints are: (a) equivalent plastic strain must not exceed 2% anywhere, (b) the tangent stiffness must remain positive definite throughout the load history, and (c) total mass must not exceed 0.8 kg.
In this formulation, the forward analysis is a displacement-controlled nonlinear static solve with arc-length continuation. The objective is the sum of reaction forces at the final converged step. The plastic strain constraint is evaluated at every converged step, and the stability constraint is checked by monitoring the smallest eigenvalue of the tangent stiffness. Sensitivities are computed via the adjoint method, with the adjoint load vector derived from the objective and the constraint functions. The optimizer then updates the five thickness variables.
The SVG below illustrates the relationship between design variables, the nonlinear forward solve, and the constraint evaluation points along the load path.
The diagram shows the closed loop: design variables feed the nonlinear forward solve, which produces a converged equilibrium path. Constraints are evaluated at each load step, with the critical step often being the final one or the one where a stability limit is approached. Sensitivities are computed consistently with the nonlinear state and passed to the optimizer, which updates the design variables. The load path inset highlights that constraint evaluation is not a single-point operation — it is a sweep along the equilibrium path, and the active constraint may change from step to step.
Practical Guidelines for Formulation
- Start with a linearized model to explore the design space, then switch to nonlinear. Use the linear solution to identify which constraints are likely to be active, then refine the formulation with nonlinear response measures.
- Scale your variables and constraints. Thickness in millimeters and mass in kilograms can differ by orders of magnitude. Normalize both design variables and constraints to O(1) to improve optimizer conditioning.
- Check constraint activity at every load step. A constraint that is inactive at the final step may have been violated earlier. Use a max-over-steps aggregation or enforce the constraint at all converged steps.
- Verify sensitivities with finite differences. Even if you use an adjoint method, a one-time finite-difference check on a few variables will catch sign errors, missing terms, or inconsistent linearization.
- Monitor the tangent stiffness condition number. As the design approaches a stability limit, K_T becomes ill-conditioned. This is a physical signal, not just a numerical nuisance — it often indicates that the optimizer is pushing the design toward a buckling or limit point.
The formulation stage is where engineering judgment matters most. A well-posed nonlinear optimization problem has design variables that are meaningful and bounded, an objective that is smooth enough for the chosen optimizer, and constraints that reflect the actual failure modes of the structure. The next chapter will build on this foundation by examining how to solve the resulting nonlinear programming problem efficiently, including the treatment of path-dependent constraints and the management of computational cost.