Experiments in engineering are typically conducted in controlled environments where parameters can be set to any desired value. This assumes that the same applies in a real-world setting -- an assumption that is often incorrect as many experiments are influenced by uncontrollable environmental conditions such as temperature, humidity and wind speed. When optimising such experiments, the focus should lie on finding optimal values conditionally on these uncontrollable variables. This article extends Bayesian optimisation to the optimisation of systems in changing environments that include controllable and uncontrollable parameters. The extension fits a global surrogate model over all controllable and environmental variables but optimises only the controllable parameters conditional on measurements of the uncontrollable variables. The method is validated on two synthetic test functions and the effects of the noise level, the number of the environmental parameters, the parameter fluctuation, the variability of the uncontrollable parameters, and the effective domain size are investigated. ENVBO, the proposed algorithm resulting from this investigation, is applied to a wind farm simulator with eight controllable and one environmental parameter. ENVBO finds solutions for the full domain of the environmental variable that outperforms results from optimisation algorithms that only focus on a fixed environmental value in all but one case while using a fraction of their evaluation budget. This makes the proposed approach very sample-efficient and cost-effective. An off-the-shelf open-source version of ENVBO is available via the NUBO Python package.
翻译:工程实验通常在受控环境中进行,此时参数可设定为任意期望值。这假设现实场景同样适用——但该假设常不成立,因为许多实验受温度、湿度、风速等不可控环境条件影响。优化此类实验时,应聚焦于在这些不可控变量条件下寻找最优值。本文将贝叶斯优化扩展至包含可控与不可控参数的变环境系统优化。该扩展通过拟合涵盖所有可控变量与环境变量的全局代理模型,但仅针对不可控变量测量值条件优化可控参数。该方法在两种合成测试函数上验证,并研究了噪声水平、环境参数数量、参数波动、不可控参数变异性及有效域大小的影响。由此提出的ENVBO算法被应用于含8个可控参数与1个环境参数的风电场模拟器。ENVBO为环境变量的全域求解方案,除一种情况外均优于仅聚焦固定环境值的优化算法结果,且仅消耗其部分评估预算。这使得所提方法具有极高的样本效率与成本效益。ENVBO的开源即用版可通过NUBO Python包获取。