{"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-objective-constrained-optimization-for","title":"Multi-Objective Constrained Optimization for Energy Applications via Tree Ensembles","arxiv_id":"2111.03140","date":"2021-11-04","proceeding":null,"authors":["Alexander Thebelt","Calvin Tsay","Robert M. Lee","Nathan Sudermann-Merx","David Walz","Tom Tranter","Ruth Misener"],"abstract":"Energy systems optimization problems are complex due to strongly non-linear system behavior and multiple competing objectives, e.g. economic gain vs. environmental impact. Moreover, a large number of input variables and different variable types, e.g. continuous and categorical, are challenges commonly present in real-world applications. In some cases, proposed optimal solutions need to obey explicit input constraints related to physical properties or safety-critical operating conditions. This paper proposes a novel data-driven strategy using tree ensembles for constrained multi-objective optimization of black-box problems with heterogeneous variable spaces for which underlying system dynamics are either too complex to model or unknown. In an extensive case study comprised of synthetic benchmarks and relevant energy applications we demonstrate the competitive performance and sampling efficiency of the proposed algorithm compared to other state-of-the-art tools, making it a useful all-in-one solution for real-world applications with limited evaluation budgets.","url_abs":"https://arxiv.org/abs/2111.03140v1","url_pdf":"https://arxiv.org/pdf/2111.03140v1.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-objective-constrained-optimization-for","repo_url":"https://github.com/cog-imperial/moo_trees","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2111.03140","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2111.03140"}},"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/cog-imperial/moo_trees","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"summary":{"unverified":12},"by_repo_kind":{"official":{"samples":12,"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":"597def4ef8fdbbde","entry":"calc_volume_and_area","repo":"cog-imperial/moo_trees","repo_kind":"official","path":"benchmarks/moo_battery.py","file_url":"https://github.com/cog-imperial/moo_trees/blob/HEAD/benchmarks/moo_battery.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"597def4ef8fdbbde"}},{"code_sha256_prefix":"ec8a330611e52464","entry":"get_deficit","repo":"cog-imperial/moo_trees","repo_kind":"official","path":"benchmarks/moo_windfarm.py","file_url":"https://github.com/cog-imperial/moo_trees/blob/HEAD/benchmarks/moo_windfarm.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"ec8a330611e52464"}},{"code_sha256_prefix":"ae4ae1f5ae6b74cd","entry":"get_discharged_capacity","repo":"cog-imperial/moo_trees","repo_kind":"official","path":"benchmarks/moo_battery.py","file_url":"https://github.com/cog-imperial/moo_trees/blob/HEAD/benchmarks/moo_battery.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"ae4ae1f5ae6b74cd"}},{"code_sha256_prefix":"5f36d11d71d1ef68","entry":"get_discharged_energy","repo":"cog-imperial/moo_trees","repo_kind":"official","path":"benchmarks/moo_battery.py","file_url":"https://github.com/cog-imperial/moo_trees/blob/HEAD/benchmarks/moo_battery.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"5f36d11d71d1ef68"}},{"code_sha256_prefix":"8092833d16be5f5e","entry":"get_gbm_model_multi_obj_mu_val","repo":"cog-imperial/moo_trees","repo_kind":"official","path":"entmoot_moo/models/opt_model_utils.py","file_url":"https://github.com/cog-imperial/moo_trees/blob/HEAD/entmoot_moo/models/opt_model_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"8092833d16be5f5e"}},{"code_sha256_prefix":"3da5072c0cbe3d5e","entry":"get_opt_core_copy","repo":"cog-imperial/moo_trees","repo_kind":"official","path":"entmoot_moo/models/opt_model_utils.py","file_url":"https://github.com/cog-imperial/moo_trees/blob/HEAD/entmoot_moo/models/opt_model_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"3da5072c0cbe3d5e"}},{"code_sha256_prefix":"f9384fe2098c4290","entry":"get_total_deficit","repo":"cog-imperial/moo_trees","repo_kind":"official","path":"benchmarks/moo_windfarm.py","file_url":"https://github.com/cog-imperial/moo_trees/blob/HEAD/benchmarks/moo_windfarm.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"f9384fe2098c4290"}},{"code_sha256_prefix":"a5fa97b8a74315f8","entry":"order_node_list","repo":"cog-imperial/moo_trees","repo_kind":"official","path":"entmoot_moo/models/lgbm_processing.py","file_url":"https://github.com/cog-imperial/moo_trees/blob/HEAD/entmoot_moo/models/lgbm_processing.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"a5fa97b8a74315f8"}},{"code_sha256_prefix":"95686afc55f2e548","entry":"order_tree_list","repo":"cog-imperial/moo_trees","repo_kind":"official","path":"entmoot_moo/models/lgbm_processing.py","file_url":"https://github.com/cog-imperial/moo_trees/blob/HEAD/entmoot_moo/models/lgbm_processing.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"95686afc55f2e548"}},{"code_sha256_prefix":"40a45da95d7a56bd","entry":"order_tree_model_dict","repo":"cog-imperial/moo_trees","repo_kind":"official","path":"entmoot_moo/models/lgbm_processing.py","file_url":"https://github.com/cog-imperial/moo_trees/blob/HEAD/entmoot_moo/models/lgbm_processing.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"40a45da95d7a56bd"}},{"code_sha256_prefix":"54abdcc64d38b452","entry":"train_gbrt","repo":"cog-imperial/moo_trees","repo_kind":"official","path":"entmoot_moo/models/model_utils.py","file_url":"https://github.com/cog-imperial/moo_trees/blob/HEAD/entmoot_moo/models/model_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"54abdcc64d38b452"}},{"code_sha256_prefix":"3a41f9e587e8c916","entry":"windfarm","repo":"cog-imperial/moo_trees","repo_kind":"official","path":"benchmarks/moo_windfarm.py","file_url":"https://github.com/cog-imperial/moo_trees/blob/HEAD/benchmarks/moo_windfarm.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"3a41f9e587e8c916"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}