{"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/partition-based-formulations-for-mixed","title":"Partition-based formulations for mixed-integer optimization of trained ReLU neural networks","arxiv_id":"2102.04373","date":"2021-02-08","proceeding":"NeurIPS 2021 12","authors":["Calvin Tsay","Jan Kronqvist","Alexander Thebelt","Ruth Misener"],"abstract":"This paper introduces a class of mixed-integer formulations for trained ReLU neural networks. The approach balances model size and tightness by partitioning node inputs into a number of groups and forming the convex hull over the partitions via disjunctive programming. At one extreme, one partition per input recovers the convex hull of a node, i.e., the tightest possible formulation for each node. For fewer partitions, we develop smaller relaxations that approximate the convex hull, and show that they outperform existing formulations. Specifically, we propose strategies for partitioning variables based on theoretical motivations and validate these strategies using extensive computational experiments. Furthermore, the proposed scheme complements known algorithmic approaches, e.g., optimization-based bound tightening captures dependencies within a partition.","url_abs":"https://arxiv.org/abs/2102.04373v2","url_pdf":"https://arxiv.org/pdf/2102.04373v2.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":"partition-based-formulations-for-mixed","repo_url":"https://github.com/cog-imperial/partitionedformulations_nn","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":null}],"tasks":[],"methods":[{"method_slug":"relu","method_name":"ReLU"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2102.04373","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2102.04373"}},"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/partitionedformulations_nn","reach":null}],"summary":{"unverified":3},"by_repo_kind":{"official":{"samples":3,"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":"3fb1e7b2b0cbc4c5","entry":"getEqualRange","repo":"cog-imperial/partitionedformulations_nn","repo_kind":"official","path":"src/partitioningStrategies.py","file_url":"https://github.com/cog-imperial/partitionedformulations_nn/blob/HEAD/src/partitioningStrategies.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":"VIOLATES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3fb1e7b2b0cbc4c5"}},{"code_sha256_prefix":"635392cbe69447eb","entry":"getEqualSize","repo":"cog-imperial/partitionedformulations_nn","repo_kind":"official","path":"src/partitioningStrategies.py","file_url":"https://github.com/cog-imperial/partitionedformulations_nn/blob/HEAD/src/partitioningStrategies.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":"VIOLATES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"635392cbe69447eb"}},{"code_sha256_prefix":"63e548177a126add","entry":"getRandom","repo":"cog-imperial/partitionedformulations_nn","repo_kind":"official","path":"src/partitioningStrategies.py","file_url":"https://github.com/cog-imperial/partitionedformulations_nn/blob/HEAD/src/partitioningStrategies.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":"VIOLATES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"63e548177a126add"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}