NUBO, short for Newcastle University Bayesian Optimization, is a Bayesian optimization framework for optimizing expensive-to-evaluate black-box functions, such as physical experiments and computer simulators. Bayesian optimization is a cost-efficient optimization strategy that uses surrogate modeling via Gaussian processes to represent an objective function and acquisition functions to guide the selection of candidate points to approximate the global optimum of the objective function. NUBO focuses on transparency and user experience to make Bayesian optimization accessible to researchers from all disciplines. Clean and understandable code, precise references, and thorough documentation ensure transparency, while a modular and flexible design, easy-to-write syntax, and careful selection of Bayesian optimization algorithms ensure a good user experience. NUBO allows users to tailor Bayesian optimization to their problem by writing a custom optimization loop using the provided building blocks. It supports sequential single-point, parallel multi-point, and asynchronous optimization of bounded, constrained, and mixed (discrete and continuous) parameter input spaces. Only algorithms and methods extensively tested and validated to perform well are included in NUBO. This ensures that the package remains compact and does not overwhelm the user with an unnecessarily large number of options. The package is written in Python but does not require expert knowledge of Python to optimize simulators and experiments. NUBO is distributed as open-source software under the BSD 3-Clause license.
翻译:NUBO(纽卡斯尔大学贝叶斯优化)是一个用于优化高成本黑箱函数(如物理实验和计算机模拟器)的贝叶斯优化框架。贝叶斯优化是一种高效的优化策略,它通过高斯过程进行代理建模来表示目标函数,并利用采集函数指导候选点的选择,以逼近目标函数的全局最优解。NUBO注重透明度和用户体验,旨在让跨学科研究人员都能便捷地使用贝叶斯优化。其清晰易懂的代码、精准的参考文献和完整的文档确保了透明度,而模块化灵活的设计、易于编写的语法以及精心筛选的贝叶斯优化算法则保障了良好的用户体验。用户可通过调用提供的构建模块编写定制化的优化循环,使贝叶斯优化适配其特定问题。该框架支持有界、约束及混合(离散与连续)参数输入空间的顺序单点、并行多点及异步优化。NUBO仅收录经过充分测试和验证的高效算法与方法,确保软件包保持紧凑性,避免因选项过多而增加用户负担。该软件包采用Python编写,但优化模拟器和实验时无需具备专业的Python知识。NUBO以BSD 3-Clause许可证作为开源软件发布。