mixle.doe.multifidelity module¶
Cost-aware multi-fidelity Bayesian optimization.
Many expensive objectives have cheap approximations – a coarser mesh, fewer Monte-Carlo samples, a shorter training run. Multi-fidelity BO exploits them: it spends cheap low-fidelity evaluations to locate good regions and reserves the expensive high-fidelity ones for refinement, reaching the optimum of the true (target) objective for a fraction of the cost of optimizing it directly.
multi_fidelity_minimize() follows the BOCA idea (Kandasamy et al. 2017): a single GP over the
input augmented with a fidelity coordinate learns how fidelities correlate; each step picks the input by
Expected Improvement at the target fidelity, then picks the fidelity that buys the most target-variance
reduction per unit cost. It fits the torch GP surrogate.
- multi_fidelity_minimize(objective, bounds, *, fidelities=(0.5, 1.0), costs=None, target=None, n_init=None, max_cost=40.0, n_candidates=256, maximize=False, seed=None, fit_kwargs=None)[source]
Cost-aware multi-fidelity Bayesian optimization of
objective(x, s).objective(x, s)returns the response at inputxand fidelitys(one offidelities); the largest fidelity (ortarget) is the true objective.costsis the per-fidelity evaluation cost (default: the fidelity value itself). The loop fits a GP over[x, s], proposesxby Expected Improvement at the target fidelity, then evaluates at the fidelity maximizing target-variance reduction per unit cost, until the cumulative cost reachesmax_cost. Returns{'x', 'y', 'X', 'Y', 'cost'}– the best target-fidelity point and the full augmented history.