Pareto front

Also known as Pareto frontier · non-dominated front · efficient frontier

The Pareto front of a multi-objective optimisation problem is the set of designs for which no objective can be improved without making at least one other objective worse. It is the natural output of co-design — an engineer should pick a point on the front rather than commit to a single hard threshold on each objective separately. We use it whenever geometry trades against balance, ride trades against handling, or mechanical advantage trades against coupler-curve fit.

Definition

For a design problem with two or more objectives f1(x), f2(x), … over a design-variable vector x, a candidate x* is Pareto-optimal if there is no other feasible candidate x that beats x* on every objective simultaneously. The set of all Pareto-optimal candidates is the Pareto front (or Pareto frontier).

Geometrically, the Pareto front is a curve (two objectives), surface (three), or manifold (more) in objective space. Designs inside the front are dominated — strictly worse than something on the front. Designs on the front represent genuine trade-offs.

Why it beats single-threshold design

Classical engineering design picks a hard threshold on each objective and accepts whatever falls inside. “Sprung-mass acceleration must be under 0.4 g RMS.” “Tyre normal-force variance must be under X.” “The shaking force must be under Y.”

That works when the thresholds are independently informative. It fails when the thresholds interact — a common situation in mechanism design:

  • Tightening the transmission angle floor reduces mechanical-advantage risk but pushes the coupler curve away from its target.
  • Adding counterweight mass cuts shaking force but raises rotational inertia and packaging volume.
  • A heavier crankshaft balances better but costs fuel economy.

A single-threshold design hides the trade-off behind a default. A Pareto-front design surfaces the trade-off as a curve the engineer walks.

In our pipeline

Three places use Pareto fronts directly:

  1. Geometry × balance co-design for four-bar linkages — link lengths swept against counterweight mass-radius products. Two objectives: coupler-curve precision-point error and shaking-force amplitude. Result: a 2D Pareto front over a 6-variable design space.
  2. Engine NVH harmonic trade-offs — 1× shaking-force residual against 2× residual under joint counterweight + balance-shaft co-design. The Pareto front shows the cost of reducing 1× to zero (more 2× left over) and vice-versa.
  3. Quarter-car ride vs handling — sprung-mass acceleration RMS against tyre normal-force variance under spring- rate × damper-coefficient sweep. The classical “softer-or-stiffer” trade-off becomes a sharp curve.

How we compute it

For convex problems, scalarisation (weighted sum, ε-constraint) is sufficient. Our problems are typically non-convex, so we use:

  • NSGA-II — non-dominated sorting genetic algorithm, the classical multi-objective evolutionary algorithm. Produces a population of Pareto-optimal candidates per generation.
  • Differential evolution with a non-domination ranking — when the underlying single-objective DE workflow is already in place for one of the objectives.

Population sizes are kept small (~50–100) because each candidate requires a full dynamics simulation — the dynamics is the cost bottleneck, not the search.

What the engineer does with it

Pick a point on the front. The picking is the design decision. The optimiser cannot pick — picking encodes the engineer’s understanding of context, market, packaging envelope, regulatory floor, weight budget. The Pareto front gives the engineer a list of candidates that are genuinely on the trade-off and removes the candidates that are not.

See also

FROM CONCEPT TO HARDWARE

Need this applied to your mechanism?

We turn these ideas into validated models, synthesis studies and Python tools your team can keep.