The standard workflow for bioprocessing separates two problems. First, design the organism — knock out genes, introduce pathways, optimize the metabolic network for production. Second, design the reactor — set agitation, aeration, pH, dilution rate. Each step assumes the other is fixed. The organism is designed for some generic reactor conditions. The reactor is tuned for whatever organism the metabolic engineers delivered.
SimulKnockReactor optimizes both simultaneously (arXiv:2507.10128). The bilevel framework puts reactor design at the upper level and genetic knockout selection at the lower level, connected through flux balance analysis. The organism and the vessel are designed as a single system.
The simultaneous approach finds solutions that sequential design misses. In some cases, the standard method (OptKnock — design the organism first, then fit the reactor) cannot achieve the required production capacity at all. The organisms it designs are optimal for idealized conditions that the reactor cannot provide. SimulKnockReactor avoids this failure mode because it never separates organism from environment.
When both approaches find feasible solutions, the simultaneous method achieves equal or lower annual cost. The savings come from trade-offs invisible to sequential design: a slightly suboptimal organism in a cheaper reactor can beat an “optimal” organism in an expensive reactor.
The cost analysis reveals that substrate dominates — the raw material fed to the organism is the largest expense, not the electricity for agitation or the base for pH control. The reactor's job is not to maximize the organism's productivity but to minimize the substrate waste.
The structural insight: the boundary between tool and material is a design choice, not a fact. When you separate “what the organism does” from “what the vessel does,” you create an interface that constrains the solution space. Joint optimization eliminates the interface. The organism and the reactor are one system, and treating them as two systems introduces a suboptimality that no amount of sequential refinement can recover. The boundary is the cost.