Product / TensorLynx / MDAO

Optimise · Constraint-aware MDAO

Multidisciplinary design optimisation that keeps every constraint honest

Disciplines tuned one at a time, limits checked afterwards, and a “best” design that turns out to rest on an unconverged solve: that is how optimisation loses a design review. In the TensorLynx platform an MDAO study is declared data, and every candidate is judged on solver values, so the design it recommends is one your team can defend.

Roles assigned, never guessed from namesFeasibility judged on solver values, with declared tolerancesRecommended is not decided: an engineer decides

An optimiser path threading the feasible corridor of a design space Objective contours over two design variables. A stress limit and a deflection limit grey out two infeasible regions; the unconstrained minimum lies inside one of them. Evaluated designs step through the feasible corridor, one fails to converge, two violate a limit, and the recommended design sits on the stress limit, which is active. g₁ stress ≤ limit infeasible infeasible g₂ deflection ≤ limit unconstrained minimum recommended g₁ active · feasible best evaluated design variable x₁ design variable x₂ feasible violates a limit not converged
Schematic
The cost of the old way

The lowest number in the table is rarely the answer

Optimisation programmes seldom fail inside the optimiser; they fail in the gaps around it. Two teams converge on their own designs, and integration discovers that the two never met. A stress limit lives in someone’s head instead of in the study. A run that diverged half-way still reports a value, and it happens to be the smallest.

Multidisciplinary design optimisation exists because a system’s performance comes from its disciplines and from their interactions, a point the MDO literature puts at its foundation (Martins & Lambe, AIAA Journal, 2013). In industry the hard part is the bookkeeping: which constraint was active, which evaluation converged, which number came from a solver and which from a model.

  • Late surprises. Disciplines optimised in sequence meet each other’s limits when changes cost most.
  • Silent defaults. A tolerance nobody chose quietly decides which design looks feasible.
  • Ranked failures. Unconverged evaluations sit in the table as numbers and win the ranking.
A candidate table ranked by objective, re-judged Four candidates sorted by objective value. The top one did not converge, the second violates a deflection limit, the third has a constraint without a declared tolerance and cannot be judged. The fourth is feasible and converged and becomes the recommended design. rankcandidateobjective fjudged on solver values 1C-17 0.912 not converged 2C-09 0.931 g₂ violated 3C-22 0.948 no tolerance: not judged 4C-14 0.957 recommended
The ranking an optimiser prints, and the one an engineer can sign.Schematic · illustrative values
How TensorLynx does it

Six steps from a declared problem to a candidate you can defend

The diagram follows the MDO community’s XDSM convention: components on the diagonal, data on the grey lines between them. Scroll to follow one evaluation.

01 · Discover

Read what the model declares

TensorLynx reads a set-up model through its own declarations: variables, units, shapes, bounds and registered roles. Nothing is inferred from a name. Whatever the model does not state is recorded as MISSING, never as zero or a default, and the model’s fingerprint changes whenever the model, a mesh or a case file does.

02 · Formulate

Assign roles; refuse what is undefined

A person, a template or the model itself gives each variable its role: design variable, fixed condition, objective, constraint or monitor. Every constraint carries a relation, a bound and a tolerance. An undefined problem is refused before launch, each refusal with a one-click fix: a zero-width bound, an equality without a tolerance, a decimal comma typed into a number field.

03 · Plan

See the plan before you pay for it

The plan preview shows one evaluation count, and says whether it is exact, an upper bound, approximate or unknown. Duration estimates come from measured runs that match the plan exactly; without one the estimate stays missing, never extrapolated. Runs above your confirmation limit ask first.

04 · Analyse

Run the disciplines and judge convergence

Disciplines come from a registry that labels each one’s maturity. A coupled group declares which output feeds which input, in which unit, and every evaluation states whether its analysis converged. A failed evaluation is recorded FAILED with outputs MISSING; the run carries on, nothing imputed.

05 · Judge

Decide feasibility on solver values

One rule judges every constraint, wherever a result is shown: the value must sit inside its bound widened by the declared tolerance. Each constraint reads active, inactive or violated, with its margin. Surrogate-assisted search improves on the best feasible value so far and weighs each new point by its probability of being feasible.

06 · Recommend

Recommend, then let an engineer decide

The recommended design is the best evaluated design that converged and meets every constraint on solver values. It stays Exploratory until an independent re-run confirms it. The platform ranks; it never records a decision for you. A named engineer does, with a rationale, in an append-only record.

XDSM of one constraint-aware MDAO evaluation Six components on the diagonal: the declared study, the optimiser, the coupled analysis, discipline A, discipline B and the feasibility judge. Data flows from the study to the optimiser, from the optimiser to the coupled analysis, between the two disciplines in both directions until the residual is below its tolerance, and from the judge back to the optimiser. Study Optimiser Coupledanalysis Discipline A Discipline B Feasibilityjudge x₀, bounds, t x x, y₂ᵗ x, y₁ᵗ y₁ y₂ ‖R‖ ≤ tol? f, g, verdict margins, state Discovered from the modelunits · bounds · MISSING if absent Roles, assigneddesign var · objective · constraint Plan preview: one countexact · up to · about · unknown Coupling residual ‖R‖ One rule, every constraintlower − t ≤ value ≤ upper + t Recommended ≠ decidedVerify re-run · engineer’s decision g₁ active g₂ inactive g₃ violated Schematic · XDSM convention
Inside the engine

The problem exactly as the optimiser sees it

What is judged, by which rule, and what happens when something goes wrong.

minimise f(x, y) over x

subject to gj(x, y) ≤ gjmax + tj,  j = 1…m

hk(x, y) ∈ [hk* − tk, hk* + tk],  tk > 0

xL ≤ x ≤ xU

where R(x, y) = 0  coupling solved to its declared tolerance

Declared, not defaulted

Each tolerance t belongs to its constraint and has a recorded source. An equality needs t > 0; a bound must be one finite number; a vector output is judged per component and the binding component is named. A template tolerance on a scaled constraint is flagged, with a one-click rescale.

Coupled studies use the multidisciplinary-feasible form: the optimiser is handed an analysis after its coupling has been solved, so every design it judges is consistent in its coupling variables.

Method
Constraint activity on one inequality constraint A value axis for a stress constraint with a limit of 160 MPa and a declared tolerance of 4 MPa. Values below 156 MPa are inactive, values from 156 to 164 MPa are active, values above 164 MPa are violated. limit 160 MPa inactive active ±t violated 100130160190σ, MPa
σ = 158.0 MPa · margin = +2.0 MPa · active Schematic · illustrative limit and tolerance

The state rule is the platform’s: violated if the margin is below −t, active if its magnitude is within t, otherwise inactive. A constraint with no declared tolerance reads “not judged”, with a fix that opens Responses. Method

Gradient-based

Sequential quadratic programming and interior-point optimisers for smooth problems. A derivative that passes its check reads direction-checked, never “verified”.

Derivative-free

COBYLA and a genetic algorithm with declared settings; the genetic algorithm is refused when its evaluation arithmetic exceeds your cap.

Design of experiments

Full factorial, Latin hypercube and Sobol sequences with a recorded seed, optionally followed by a response surface.

Surrogate-based

Kriging with one model per constraint component and constrained expected improvement, EI × P(feasible). The surrogate mean never drives infill. No feasible point after the initial sample stops the run as “box infeasible”, naming the constraint.

How surrogates earn trust, and when they are silenced, is the subject of trust-aware surrogates. Method

  • A verdict per evaluation. Each answer states converged, not converged or failed, with a reason. For a coupled model the test is the whole-model residual against its declared tolerance. Not converged and not judged are never ranked and never assumed converged.
  • Failure is a record, not a number. Failed evaluations are stored FAILED with outputs MISSING and left out of every surrogate fit; nothing is imputed.
  • Durable runs. States run queued, running, stopping, stopped, failed, done, in an append-only log written to disk. A lost worker fails the run with its results kept; Resume starts a new linked run and re-runs no recorded evaluation.
  • Stale studies stop. A changed model needs review before launch; an edited study cannot resume an old run.
Method
Evidence you can check

Benchmarks with known answers, recorded run by run

Every figure here comes from a recorded run on the TensorLynx platform, on a case whose reference answer is known. That is deliberate: a workflow earns trust where you can check it.

What a lift constraint costs in drag Minimum drag coefficient found at three required lift levels on the NACA0012 benchmark: 0.0170174 at lift 0.45 or more, 0.0175322 at 0.50 or more, 0.0181015 at 0.55 or more, against a starting drag of 0.0209439. 0.0170.0190.0210.450.500.55 required lift, CL ≥ level drag, CD starting design 0.0209439 0.0170174 0.0175322 0.0181015
Three ε-constraint levels, one sequential optimisation each: the stricter the lift requirement, the higher the drag it costs. NACA0012 tutorial case, 4,032-cell mesh, 20 ranks.Measured

Airfoil drag at fixed lift: benchmark reproduction

A published open-source tutorial case, rebuilt and run by the platform: minimise drag of a NACA0012 section with lift held at CL = 0.5 and thickness, volume and leading-edge radius constrained. Drag fell from CD 0.0209439197 to 0.0175321783, 16.29 % lower, in 10 iterations and 25 evaluations, matching the tutorial’s own −16.3 % on its 4,032-cell mesh. An independent Verify re-run returned CD 0.0175321906, a relative difference of 7.0 × 10−7.

Measured · reproduction of the tutorial result

Structural sizing, a second physics, the same workflow

A steel cantilever plate, 0.5 m long, three thickness zones of 2–10 mm: minimum mass under a 160 MPa von Mises allowable per zone and a 10 mm tip-deflection limit. Against beam theory the baseline came within −1.06 % in deflection and +0.02 % / +0.08 % in stress, mass error 3.8 × 10−16, all inside bars fixed before the run. A surrogate-based study from the interface made 22 evaluations, 7 of them feasible; its recommended candidate was verified by re-solve with zero difference.

Measured · finite-element sizing case

Minimum mass ends on a limit, and the record shows it

Three seeds, two search engines, six recommended plates, all feasible on solver values. The three from the second engine sit within 2.26 µm of the 10 mm tip-deflection limit (closest 0.0208 µm) and were confirmed by independent re-solve: the deflection constraint is active, as sizing mechanics predicts.

Measured · same plate case

Coupled and unfamiliar models in the test suite

The classic two-discipline Sellar problem and a model with deliberately unfamiliar variable names run the full path from discovery to candidates in automated tests, with injected failures: unconverged answers, a killed worker, a changed model.

Synthetic · test fixtures

Sweep the constraint level and the points become a trade-off front. How a front is built, ranked and turned into a recorded choice is the next chapter: pareto selection.

What it changes for your programme

Candidates, ranking and convergence treated as engineering decisions

MDAO sits between learning and decision. Cheap predictions from multi-fidelity and surrogates can propose designs; this stage turns them into solver-evaluated, constraint-judged candidates; high-fidelity reassessment confirms the one you choose.

Engineering lead

A recommendation you can take into a design review: every number a solver value, every limit with its margin, the selection rule written on the candidate.

Simulation analyst

No silent defaults. Refusals name the field and offer the fix; an interrupted run resumes without re-running what is recorded.

Programme manager

The evaluation count before launch, a confirmation limit on large runs, and a decision record of who chose which design, and why.

Where OLTRION applies it

Aerospace

Drag at a lift target

Drag minimised at fixed lift, with thickness, volume and leading-edge limits judged on every evaluation and the price of each lift level explicit.

Automotive · structures

Mass against stress and stiffness

Brackets, plates and carriers sized for minimum mass under per-zone stress and deflection limits, with the active limit named on the result.

Energy · process equipment

Loss against wall stress

Ducts, manifolds and passages where pressure loss trades against stress or manufacturing limits, set up with your own allowables.

Typical optimisation workflow compared with the TensorLynx platform
TopicTypical workflowWith TensorLynx
ConstraintsChecked after the run, often by hand, against a spreadsheet.Declared with relation, bound and tolerance; judged on solver values by one rule.
Missing dataBlank cells become zeros or defaults.MISSING stays missing; launch is refused with a fix.
Failed runsMay sit in the table as numbers and win the ranking.Recorded as failed or not converged; never ranked.
CostDiscovered when the queue fills.Evaluation count and measured duration shown before launch.
Final designThe lowest objective in the table.Best evaluated feasible, converged design; verified on request; decided by a named engineer.

Every study, run and decision is versioned with its inputs; see provenance, or step back to the TensorLynx overview.

FAQ

Questions engineers ask about MDAO

What does constraint-aware MDAO mean in practice?

Every constraint is part of the study itself: a relation, a bound and a tolerance you declare. One rule judges it on solver values wherever a result is shown, every candidate carries its margin and its state (active, inactive or violated), and a constraint without a declared tolerance is refused before launch instead of being judged by a guess.

Can one study couple several disciplines?

Yes, when the disciplines form a registered coupled group. The group declares which outputs feed which inputs and in which units, the coupled analysis is solved in multidisciplinary-feasible form, and each evaluation states whether it converged. OLTRION engineers register and check the coupling for your case before it is allowed to steer an optimisation.

Which optimisation methods are available?

Gradient-based sequential quadratic programming and interior-point optimisers, derivative-free COBYLA and a genetic algorithm, design of experiments (full factorial, Latin hypercube, Sobol sequences) and surrogate-based search with constrained expected improvement. Every setting that changes a result starts empty and must be declared.

What happens when a simulation fails or does not converge?

It is recorded as what it is. A failed evaluation is stored as FAILED with its outputs MISSING, an unconverged one keeps its verdict, and neither is ever ranked or recommended. The run continues; if a worker is lost, the results so far are kept and Resume starts a linked run that re-runs no recorded evaluation.

Does the platform choose the final design?

No. It recommends the best evaluated design that converged and meets every constraint on solver values, and labels it Exploratory until an independent re-run confirms it. The decision is recorded by a named engineer, with a rationale, in an append-only record; a later decision supersedes an earlier one and never rewrites it.

Can we use our own simulation models?

The study engine is declaration-driven: a model connects through a discipline adapter that states its inputs, outputs, units and settings, and the same workflow runs it. OLTRION engineers build and check that adapter with your team, from your existing cases.

Does MDAO replace physical testing?

No. MDAO narrows a design space to candidates your team can defend and shows what each constraint costs. Tests, approvals and sign-off remain what your product requires.

One loop, not twelve tools

Where mdao sits in the TensorLynx loop

Every capability hands its result to the next on the same model, the same units and the same record: geometry feeds physics, physics feeds sensitivities and learning, optimisation proposes, verification confirms, and the history keeps every step reproducible.

The TensorLynx loop: Design exploration, Coupled multiphysics, Mesh verification, Adjoint optimisation, Gradient verification, Trust-aware surrogates, Full-field ROM, Multi-fidelity, MDAO, Pareto selection, High-fidelity reassessment, Provenance. TensorLynx one model · one record DefineSimulateImproveLearnOptimiseDecideVerifyRecord Design exploration Coupled multiphysics Mesh verification Adjoint optimisation Gradient verification Trust-aware surrogates Full-field ROM Multi-fidelity MDAO Pareto selection High-fidelity reassessment Provenance
Schematic of the platform workflowSchematic
Work with OLTRION

Bring us the design question. Leave with a verified answer and the record behind it.

TensorLynx is built and run by the engineers who use it on client work. You can start small, with one geometry and one question, and grow into a workflow your own team owns.

Feasibility review

Send a geometry, the objective and the constraints. We tell you which TensorLynx route answers it, what it needs from you, and what you will get back.

We run the study

Our engineers run the loop on your problem: physics, sensitivities, optimisation and full-model verification, handed over with every setting on record.

A workflow built for your product

A TensorLynx workflow, surrogate and verification gates set up around your product family, so the next design cycle starts where the last one ended.

Platform access and handover

Your team on TensorLynx, trained on your own cases, with OLTRION engineers behind it for the questions that need a specialist.