{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/multi-step-budgeted-bayesian-optimization","title":"Multi-Step Budgeted Bayesian Optimization with Unknown Evaluation Costs","arxiv_id":"2111.06537","date":"2021-11-12","proceeding":"NeurIPS 2021 12","authors":["Raul Astudillo","Daniel R. Jiang","Maximilian Balandat","Eytan Bakshy","Peter I. Frazier"],"abstract":"Bayesian optimization (BO) is a sample-efficient approach to optimizing costly-to-evaluate black-box functions. Most BO methods ignore how evaluation costs may vary over the optimization domain. However, these costs can be highly heterogeneous and are often unknown in advance. This occurs in many practical settings, such as hyperparameter tuning of machine learning algorithms or physics-based simulation optimization. Moreover, those few existing methods that acknowledge cost heterogeneity do not naturally accommodate a budget constraint on the total evaluation cost. This combination of unknown costs and a budget constraint introduces a new dimension to the exploration-exploitation trade-off, where learning about the cost incurs the cost itself. Existing methods do not reason about the various trade-offs of this problem in a principled way, leading often to poor performance. We formalize this claim by proving that the expected improvement and the expected improvement per unit of cost, arguably the two most widely used acquisition functions in practice, can be arbitrarily inferior with respect to the optimal non-myopic policy. To overcome the shortcomings of existing approaches, we propose the budgeted multi-step expected improvement, a non-myopic acquisition function that generalizes classical expected improvement to the setting of heterogeneous and unknown evaluation costs. Finally, we show that our acquisition function outperforms existing methods in a variety of synthetic and real problems.","url_abs":"https://arxiv.org/abs/2111.06537v1","url_pdf":"https://arxiv.org/pdf/2111.06537v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"multi-step-budgeted-bayesian-optimization","repo_url":"https://github.com/raulastudillo06/budgetedbo","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"bayesian-optimization","task_name":"Bayesian Optimization"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2111.06537","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2111.06537"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/raulastudillo06/budgetedbo","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":4},"by_repo_kind":{"official":{"samples":4,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"a89a27f39e0c9429","entry":"evaluate_obj_and_cost_at_X","repo":"raulastudillo06/budgetedbo","repo_kind":"official","path":"budgeted_bo/utils.py","file_url":"https://github.com/raulastudillo06/budgetedbo/blob/HEAD/budgeted_bo/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a89a27f39e0c9429"}},{"code_sha256_prefix":"34d0a243c3b8f99d","entry":"get_objective_cost_function","repo":"raulastudillo06/budgetedbo","repo_kind":"official","path":"experiments/cnn_runner.py","file_url":"https://github.com/raulastudillo06/budgetedbo/blob/HEAD/experiments/cnn_runner.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"34d0a243c3b8f99d"}},{"code_sha256_prefix":"dbcf1d52ee9084a3","entry":"random_search","repo":"raulastudillo06/budgetedbo","repo_kind":"official","path":"experiments/make_rfboston_surrogate.py","file_url":"https://github.com/raulastudillo06/budgetedbo/blob/HEAD/experiments/make_rfboston_surrogate.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"dbcf1d52ee9084a3"}},{"code_sha256_prefix":"5a776e9377fb04dc","entry":"train","repo":"raulastudillo06/budgetedbo","repo_kind":"official","path":"experiments/make_rfboston_surrogate.py","file_url":"https://github.com/raulastudillo06/budgetedbo/blob/HEAD/experiments/make_rfboston_surrogate.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5a776e9377fb04dc"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}