Bayesian optimization bioprocess workflows replace a fixed experimental matrix with a loop: a statistical model of your process proposes the next experiment, you run it, and the model learns from the result. For process development teams short on bioreactor time, media components or analytical capacity, that adaptivity can find a better operating point in a fraction of the runs a grid or response surface design would consume. This guide explains how the method works, how many experiments it needs, where it beats classical DOE, and where it does not. If you need a conventional design first, the free DOE experiment generator builds screening and response surface matrices in seconds.
What Is Bayesian Optimization and How Does It Work?
Bayesian optimization (BO) is a sequential strategy for finding the maximum (or minimum) of an expensive black-box function. In bioprocess terms, the function is your process: factor settings such as glutamine concentration, feed rate, pH or temperature go in, and a response such as titer in g/L comes out. You cannot write that function down, each evaluation costs a bioreactor run or a deep-well plate, and the response is noisy. Those three properties are exactly what BO was designed for. Reviews of Bayesian optimization in bioprocess engineering by Gisperg et al. (2025) and Siska et al. (2026) describe it as a data-driven alternative for cases where mechanistic models are unavailable or too slow to build.
The method has two components. A surrogate model, almost always a Gaussian process (GP), predicts the response at any untested condition together with an uncertainty estimate. An acquisition function, such as Expected Improvement (EI), converts those predictions into a single score of how valuable it would be to test each candidate condition. The loop runs in four steps:
- Prior model. Fit the GP to the data you have: 5–10 space-filling initial experiments, historical batches, or screening results.
- Acquisition. Maximize EI over the factor space to pick the next experiment (or a batch of them).
- Experiment. Run the proposed condition and measure titer, viability or another response.
- Update. Add the result to the dataset, refit the GP, and check convergence. If the expected gain is negligible, stop; otherwise return to step 2.
The contrast with DOE is structural. A DOE matrix is fixed before the first run, which is what makes effects estimable and the analysis clean. In BO the design is built one batch at a time, so later experiments concentrate in promising regions and early poor regions are abandoned quickly. Figure 1 shows the loop and the difference in how runs are placed.
Bayesian Optimization vs Traditional DOE: When Each Approach Wins
Framing this as a contest is misleading, because the two methods answer different questions. DOE asks which factors matter, by how much, and do they interact? It produces a regression model with confidence intervals on every coefficient. Bayesian optimization asks where is the best condition, and where should I look next? It produces a recommendation, plus a surrogate model that is accurate near the optimum and rough elsewhere. The comparison below covers the practical differences for a process development team.
| Dimension | Traditional DOE (RSM, DSD, factorial) | Bayesian optimization |
|---|---|---|
| Experiment planning | All runs fixed upfront | Sequential or small batches, adaptive |
| Typical run count (3–5 factors) | 13–27 (DSD to full factorial) | 15–30 total, similar at low factor counts |
| Scaling with factor count | Grows quickly; screening needed above ~6 factors | Near-linear; practical to ~15–20 continuous factors |
| Model form | Polynomial (quadratic) regression | Gaussian process, no assumed functional form |
| Interactions and curvature | Explicitly estimated with p-values | Captured implicitly through the kernel |
| Noise handling | Replicates, pure-error estimate | Fitted noise term; heteroscedastic models available |
| Regulatory and QbD fit | Established (ICH Q8, Q9, Q11) | Needs confirmatory DOE for design space |
| Best use | Screening, effect quantification, design space | Optimization of expensive, nonlinear, multi-factor systems |
Use DOE when you are screening a long factor list, when you must quantify main effects and interactions for a control strategy, when the factor space is small (2–3 factors), or when the output goes into a regulatory filing under ICH Q8. Use Bayesian optimization in bioprocess work when you have already narrowed to a handful of influential factors (or a large continuous space), each run costs days of bioreactor time, and the goal is the best titer rather than a complete map. The workable combination is sequential: a screening design or definitive screening design to identify the critical factors, BO to refine them, and a small confirmatory DOE around the optimum. The DOE generator handles the first and last stages.
How Many Experiments Does Bayesian Optimization Need?
The honest answer for Bayesian optimization in a realistic multi-factor bioprocess problem is 15–30 experiments: 5–10 space-filling initial experiments (Latin hypercube or Sobol sequence) to seed the surrogate, then 10–20 sequential evaluations. The headline advantage is relative to DoE and one-factor-at-a-time (OFAT) campaigns. Narayanan et al. (2025) applied iterative Bayesian experimental design to cell culture media for peripheral blood mononuclear cells and to recombinant protein production in Komagataella phaffii, and reported that it reached comparable or better outcomes with 3–30× fewer experiments than standard DoE, depending on the system and the comparison.
Figure 2 makes the pattern concrete for a three-factor media problem. The curves are an illustrative simulation (not measured data) of the best yield found versus experiments spent. OFAT climbs slowly and plateaus near 6.5 g/L after 40 runs. A 33 full factorial (27 runs) and a 13-run DSD only deliver their answer once the full matrix is run and analyzed. Bayesian optimization reaches 90% of its final value (6.75 g/L) by run 7 and finishes at 7.5 g/L by run 8, because every run after the initial 5 is placed where improvement is most likely.
Three practical rules set the budget for any Bayesian optimization bioprocess campaign. First, allow roughly 2–3 initial points per continuous factor with a floor of 5; existing screening or historical batch data count. Second, plan batch sizes to match your hardware: 4–8 parallel vessels per round on a micro-bioreactor platform is a typical fit for batch acquisition. Third, define a stopping rule in advance, for example EI below 1–2% of the current best for two consecutive rounds, or three rounds without a titer gain larger than the replicate standard deviation. Without a rule, Bayesian optimization campaigns drift into the diminishing-returns tail.
The Gaussian Process Surrogate: How the Model Learns from Your Data
A Gaussian process is a distribution over functions. Rather than fitting one polynomial, it keeps every smooth curve consistent with your data and summarizes them with two outputs at each untested condition x: a mean prediction μ(x) and a standard deviation σ(x). Near an observed experiment, σ is small because the data constrain the curve. Far from any experiment, σ grows back toward the prior. That built-in uncertainty is what lets the acquisition function reason about what you do not yet know.
The GP is defined by a mean function (often a constant equal to the average observed titer) and a covariance function, or kernel, that encodes how similar the response is at two conditions. The common choice is the squared-exponential (RBF) kernel:
Here σf² is the signal variance (how far the response can wander from its mean, in (g/L)²) and ℓ is the length scale (how far you must move in a factor before the titer is effectively unrelated). With separate length scales per factor, the fitted values double as sensitivity measures: a short ℓ for pH and a long one for temperature says titer reacts sharply to pH. In practice the Matérn 5/2 kernel is often preferred for biological responses because it assumes slightly less smoothness than RBF. Hyperparameters are fitted by maximizing the marginal likelihood.
Bioprocess data are noisy, so a Bayesian optimization surrogate adds an observation-noise term (the nugget or jitter) to the kernel diagonal. This stops the surrogate from threading through every noisy titer and lets it estimate replicate variability itself. Figure 3 shows a one-dimensional example: glutamine concentration versus titer with five observed experiments, computed live in your browser with an RBF kernel. The blue band is the 95% credible interval, which pinches at each observation and widens between them. The amber curve is Expected Improvement, and its peak marks where the next experiment should go.
Acquisition Functions: How BO Chooses the Next Experiment
The acquisition function turns the surrogate into a decision. It must resolve the central trade-off in sequential experimentation: exploitation (test where the model predicts a high titer) against exploration (test where the model is uncertain and a surprise may be hiding). Three functions cover most use:
- Expected Improvement (EI) is the default. For a maximization problem, EI(x) = (μ(x) − fbest)Φ(Z) + σ(x)φ(Z), where Z = (μ(x) − fbest)/σ(x), and Φ and φ are the standard normal CDF and PDF. The first term rewards a high predicted mean, the second rewards uncertainty. It weighs both the probability and the size of an improvement.
- Upper Confidence Bound (UCB) scores μ(x) + βσ(x). The parameter β (often 1.5–3) sets the exploration appetite explicitly, which is easy to explain to a project team and to tune.
- Probability of Improvement (PI) scores the chance of beating fbest, ignoring by how much. It tends to over-exploit, so it needs an improvement margin to keep exploring.
Real Bayesian optimization campaigns in bioprocess development run vessels in parallel, so one point per round wastes capacity. Batch acquisition such as q-EI (qLogEI in current BoTorch) proposes q points jointly, accounting for the information the other points will provide so the batch does not collapse onto one location. For multiple objectives, for example titer versus a charge-variant or aggregate limit, qNEHVI (noisy expected hypervolume improvement) maximizes the volume of the Pareto front. Hard limits, such as a maximum osmolality, can be passed as constraints rather than folded into a score. The BoTorch framework (Balandat et al., 2020) implements all of these using Monte-Carlo acquisition estimates.
Bioprocess Applications: Media Optimization, Feed Design and Process Parameters
Media and feed optimization is the strongest fit for Bayesian optimization in bioprocess development, because the factor count is high (10–30 components), the response surface is nonlinear, and a screening DOE would be impractically large. In the Narayanan et al. study, the iterative Bayesian design tuned multi-component media for primary cell culture and for K. phaffii protein production while using a fraction of the experiments of a DoE baseline. For CHO mAb processes, reported media and feed gains from algorithmic optimization are typically 20–40% in titer, for example 4.0 g/L moving to roughly 5.0–5.6 g/L, with gains often larger on a poor starting formulation. See our guide to media optimization with DOE for the classical baseline.
Fed-batch feed design suits BO because the factors are continuous and coupled: feed start time, exponential rate constant (μset, in h−1), glucose setpoint and induction OD. Sketch a profile with the fed-batch calculator, then let Bayesian optimization tune its four or five parameters against measured titer. For process parameters (pH, temperature shift timing, dissolved oxygen setpoint, agitation), the factor count is small, so the edge of Bayesian optimization is mostly sequential efficiency; combine it with other machine learning methods when historical data exist.
| Source | Scope | Key finding or contribution |
|---|---|---|
| Narayanan et al., Nat. Commun. 2025 | Cell culture media (PBMC) and K. phaffii protein production | Iterative Bayesian design reached target performance with 3–30× fewer experiments than DoE |
| Gisperg et al., Biotechnol. Bioeng. 2025 | Review of BO across bioprocess engineering | Maps current applications, common surrogate and acquisition choices, and open gaps |
| Siska et al., Biotechnol. Bioeng. 2026 | Practitioner guide, 26 pages | Step-by-step guidance on kernels, noise, constraints, batches and software |
| Balandat et al., NeurIPS 2020 | BoTorch framework | Monte-Carlo acquisition functions with batch, noisy and multi-objective support |
Everything covered so far can be done in code, but not every team has a data scientist. DOE Generator Pro extends the free generator with Bayesian optimization, a QbD report, D-optimal designs and split-plot designs for hard-to-change factors such as temperature, so one tool carries a campaign from screening through refinement to documentation.
Python Tools for Bayesian Optimization in Bioprocess Development
The ecosystem for Bayesian optimization in bioprocess development has consolidated around BoTorch and Ax, both maintained by Meta. BoTorch is the research-grade library built on PyTorch and GPyTorch; Ax is the higher-level wrapper that manages experiments, mixed parameter types and trial storage. Table 3 compares the realistic options. GPyOpt is no longer maintained and should not be adopted for new work.
| Tool | Strengths | Limitations | Best for |
|---|---|---|---|
| BoTorch | qEI/qNEHVI, noisy and constrained BO, GPU-capable, fully customizable | Needs PyTorch fluency | Custom campaigns, multi-objective work |
| Ax | Wraps BoTorch; categorical and ordinal factors, experiment tracking, UI | Heavier install, more abstraction | Practitioner teams, media with categorical choices |
| scikit-optimize | Simple scikit-learn style API | Weak batch and noise support; check maintenance status | Quick single-objective trials |
| Optuna | Easy API, pruning, good for hyperparameters | Default sampler is not a GP; less sample-efficient for 15–30 run budgets | Larger, cheaper evaluation budgets |
Worked Example: 5-Step BO Workflow for CHO Media Optimization
- Define the space. Choose 5 continuous factors with bounds, e.g. glucose feed 2–8 g/L/day, glutamine 2–10 mM, Fe-citrate 0.05–0.5 mM, cysteine 0.5–3 mM, and osmolality cap 380 mOsm/kg as a constraint.
- Seed the model. Generate 10 Sobol points, run them in a 24-vessel micro-bioreactor platform with 2 center-point replicates, and record day-14 titer (baseline 4.0 g/L, replicate SD 0.15 g/L).
- Fit and propose. Fit a GP with a Matérn 5/2 kernel and fitted noise, then maximize qLogEI for a batch of 6 conditions.
- Run and update. Execute the 6 vessels, append the titers, refit, and repeat. Three rounds (18 runs) brings the total to 28 experiments.
- Confirm. Stop when EI falls below 2% of the best titer (here 5.4 g/L, a 35% gain), then run a 3-factor CCD around the optimum to quantify robustness.
Limitations and When Not to Use Bayesian Optimization
- Very few factors (2–3). A face-centered CCD or Box-Behnken design needs 13–20 runs, gives a readable response surface, and is easy to defend. Bayesian optimization’s adaptivity adds little and the extra tooling is not justified. Start with the response surface methodology guide.
- Design-space characterization for filing. Design space claims need quantified effects, interaction terms and proven acceptable ranges, including the edges. Bayesian optimization clusters runs near the optimum and leaves boundaries sparse, so use Bayesian optimization to find the target and a DOE to document the space.
- Very high dimensions (above ~20 factors). Standard GPs degrade because covering the space needs exponentially more data and kernel fitting becomes ill-conditioned. Screen first, or use sparse GPs, trust-region methods (TuRBO) or random embeddings.
- Strong batch effects and drift. Cell bank age, media lot or operator shifts between rounds look like a change in the function. Block by round, or add round as a covariate.
- Long, serial responses. If a run takes 6 weeks and only one vessel exists, sequential BO is slow; a parallel DOE may finish sooner.
- Interpretability. Bayesian optimization gives you a recommendation, not an effect table. Pair it with partial dependence plots and fitted length scales when stakeholders ask why.
Frequently Asked Questions
Is Bayesian optimization better than DOE for bioprocess development?
Neither is better in general. DOE is stronger for screening many factors, quantifying effects and interactions, and regulatory documentation. Bayesian optimization is stronger when you want the best operating point and each experiment is expensive, because it concentrates runs where the model expects improvement. Narayanan et al. (2025) reported that Bayesian optimization reached target performance with 3–30× fewer experiments than DoE in media development. Most mature programs use DOE to screen, then Bayesian optimization to refine.
How many initial experiments does Bayesian optimization need?
Plan 5–10 space-filling initial experiments, for example a Latin hypercube or Sobol design, followed by 10–20 sequential experiments, for 15–30 runs in total. A common rule of thumb is at least 2–3 initial points per continuous factor, with a floor of 5. Existing historical or screening data can replace part of the initial design. Stop when the expected improvement falls below about 1–2% of the current best value for two consecutive iterations.
Can Bayesian optimization handle noisy bioprocess data?
Yes. The Gaussian process includes an observation-noise (nugget or jitter) term that is fitted from the data, so the surrogate does not interpolate through noisy titers. When replicate variance changes across the design space, for example at high feed rates or extreme pH, use a heteroscedastic noise model. Noisy variants of the acquisition functions, such as noisy expected improvement, account for uncertainty in the current best value. Include 2–3 replicated center points so the noise level is identifiable.
What Python library should I use for Bayesian optimization in bioprocess?
Ax with BoTorch is the recommended choice for most bioprocess teams. BoTorch, maintained by Meta and built on PyTorch and GPyTorch, supports batch acquisition, noisy observations, constraints and multi-objective optimization. Ax wraps BoTorch with a practitioner-friendly interface for mixed continuous and categorical factors. Scikit-optimize and Optuna are simpler but less capable for batches and noise. GPyOpt is no longer maintained and should be avoided for new work.
Can I use Bayesian optimization for regulatory QbD submissions?
Use it to find the operating region, not to define the design space on its own. ICH Q8(R2) expects a design space supported by scientific understanding of how parameters and attributes relate, and Bayesian optimization concentrates data near the optimum, leaving the edges sparsely sampled. Run a confirmatory DOE, such as a response surface or edge-of-failure study, around the Bayesian optimum to quantify effects, interactions and robustness. Document the model, priors, acquisition function and stopping rule in the development report.
DOE Experiment Generator
Build screening, DSD, CCD and Box-Behnken matrices for the DOE stages around your Bayesian optimization campaign, then export the run sheet to CSV.
Fed-Batch Feed Strategy Calculator
Generate exponential, linear and constant feed profiles to use as the starting point and parameter bounds for feed optimization.
Related Tools
- DOE Experiment Generator: Build Plackett-Burman, fractional factorial, CCD, Box-Behnken and definitive screening designs.
- Fed-Batch Feed Strategy Calculator: Generate exponential, linear and constant feed profiles.
- Media Formulation & Cost Estimator: Compare basal media and estimate cost for batch, fed-batch and perfusion modes.
References
- Narayanan H, Hinckley JA, Barry R, Dang B, Wolffe LA, Atari A, Tseng YY, Love JC. (2025). Accelerating cell culture media development using Bayesian optimization-based iterative experimental design. Nature Communications, 16, 6055. DOI: 10.1038/s41467-025-61113-5
- Gisperg F, Klausser R, Elshazly M, Kopp J, Přáda Brichtová E, Spadiut O. (2025). Bayesian Optimization in Bioprocess Engineering: Where Do We Stand Today? Biotechnology and Bioengineering, 122(6), 1313–1325. DOI: 10.1002/bit.28960
- Siska M, Pajak E, Rosenthal K, del Rio Chanona A, von Lieres E, Helleckes LM. (2026). A Guide to Bayesian Optimization in Bioprocess Engineering. Biotechnology and Bioengineering, 123(4), 805–830. DOI: 10.1002/bit.70129
- Balandat M, Karrer B, Jiang DR, Daulton S, Letham B, Wilson AG, Bakshy E. (2020). BoTorch: A Framework for Efficient Monte-Carlo Bayesian Optimization. Advances in Neural Information Processing Systems, 33. arXiv:1910.06403
- ICH (2009). Q8(R2) Pharmaceutical Development. International Council for Harmonisation of Technical Requirements for Pharmaceuticals for Human Use.