All writing

Personal

MDF and IDF in Multidisciplinary Design Optimization

Using a sizing assignment for a two-passenger electric multicopter to explain how the MDF and IDF optimization architectures differ, what the weight spiral is, and where a simple model goes wrong.

September 12, 2026

Aircraft design needs several disciplines calculating together. Aerodynamics works out lift and power, propulsion picks motors and batteries, structures estimates airframe weight, and each discipline’s inputs come from another’s outputs. Multidisciplinary design optimization (MDO) is about getting these interdependent calculations to converge on the best design. This post uses an assignment from my MDO course at the University of Michigan to explain two basic architectures, MDF and IDF.

The weight spiral

The assignment sized a two-passenger electric multicopter, aiming for the lowest takeoff weight that still met the power and energy requirements.

The difficulty is that weight feeds on itself. Hover power scales roughly with total mass to the power of 1.5, so power needs grow faster than weight. More power means heavier motors and batteries, and with structural mass estimated at 30% of takeoff weight, the structure gets heavier as well. Worked through, each extra kilogram of battery adds about 1.43 kg to the aircraft. Mass sets power and power sets mass, so the two numbers have to agree.

MDF: agree first, then report

Think of the optimizer as a boss and the disciplines as departments. In MDF (multidisciplinary feasible), whenever the boss proposes a design, the departments iterate among themselves until the mass and power numbers match, and only then report back.

Every design the boss sees is physically valid, so stopping partway still leaves a usable design, and there are fewer variables to manage. The cost is a round of internal iteration behind every proposal. The slower the analysis, the slower each step, and if the internal iteration fails to converge, the optimization stalls. In the assignment, MDF used a Newton solver for the internal iteration and brought the mismatch between mass and power below 10⁻⁹ at every step.

IDF: work separately, reconcile at the end

IDF (individual discipline feasible) works differently. The boss hands everyone an assumed total mass, the departments compute from that number independently and in parallel, and one constraint is added: the assumed mass must end up equal to the computed mass.

With no internal iteration the disciplines are independent, which makes dividing the work and plugging in modules easier. In exchange there are more optimization variables and constraints, it usually takes more iterations, and the designs along the way are not physically consistent.

To see how robust IDF was, I started it from an absurd point on purpose: an assumed total mass of 3,000 kg when the computed mass was only about 500 kg. During the optimization the gap between the two fell from around 10³ to 10⁻¹⁰.

The optimizer finds loopholes

If the reconciliation constraint is not strict enough, an IDF optimizer finds a shortcut. It assumes a very light mass, ignores how heavy the computed mass is (say 500 kg assumed and 1,000 kg computed), and reports a very light design. An optimizer only follows the objective and constraints it is given, and it will exploit whatever the constraints leave out. The same applies when setting goals for AI.

Results

Both architectures converged to the same optimum, 538.44 kg. The choice between MDF and IDF does not change the answer. It changes the computational cost and how flexible the implementation is: MDF needs fewer optimization iterations, and IDF makes it easier to plug disciplines together.

The two optimization algorithms differ in a similar way. The gradient-based SLSQP knows which direction goes downhill fastest at every step and converged in 14 iterations. The gradient-free COBYLA has to probe around to find a direction and took 19.

Where the simple model goes wrong

The assignment also compared a hover-only model with a mission-profile model that includes climb and descent. Total aircraft mass differed by only about 0.5% (538.44 versus 541.35 kg), but motor mass differed by about 30% (16.35 versus 21.32 kg). The simple model sizes the motor for hover, while a real mission needs more peak power in vertical climb.

Judged on total mass, the simple model looks good enough. Size the motor from it and the aircraft may run short of power in the climb. That is what stuck with me most from the assignment: a model can get the total right and still get a component wrong.

Orders of magnitude

Mass is in the hundreds of kilograms and energy in the tens of millions of joules. Hand those numbers directly to an optimizer and the energy gradient drowns out everything else. The fix is to scale each variable by a reference value so they all sit around 1. When an optimization refuses to converge, the cause is sometimes just variables that differ by too many orders of magnitude.

The full report is on the project page.

All writing