{"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/exploring-the-power-of-graph-neural-networks","title":"Exploring the Power of Graph Neural Networks in Solving Linear Optimization Problems","arxiv_id":"2310.10603","date":"2023-10-16","proceeding":null,"authors":["Chendi Qian","Didier Chételat","Christopher Morris"],"abstract":"Recently, machine learning, particularly message-passing graph neural networks (MPNNs), has gained traction in enhancing exact optimization algorithms. For example, MPNNs speed up solving mixed-integer optimization problems by imitating computational intensive heuristics like strong branching, which entails solving multiple linear optimization problems (LPs). Despite the empirical success, the reasons behind MPNNs' effectiveness in emulating linear optimization remain largely unclear. Here, we show that MPNNs can simulate standard interior-point methods for LPs, explaining their practical success. Furthermore, we highlight how MPNNs can serve as a lightweight proxy for solving LPs, adapting to a given problem instance distribution. Empirically, we show that MPNNs solve LP relaxations of standard combinatorial optimization problems close to optimality, often surpassing conventional solvers and competing approaches in solving time.","url_abs":"https://arxiv.org/abs/2310.10603v1","url_pdf":"https://arxiv.org/pdf/2310.10603v1.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":"exploring-the-power-of-graph-neural-networks","repo_url":"https://github.com/chendiqian/IPM_MPNN","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"combinatorial-optimization","task_name":"Combinatorial Optimization"}],"methods":[{"method_slug":"speed","method_name":"SPEED"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2310.10603","atlas_url":"https://app.syntology.ai/?focus=2310.10603","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2310.10603"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/chendiqian/IPM_MPNN","reach":{"status":"ok"}}],"summary":{"ran":8},"by_repo_kind":{"official":{"samples":8,"ran":8,"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":8,"samples":[{"code_sha256_prefix":"7955265e3c15e7cf","entry":"conjugate_gradient","repo":"chendiqian/IPM_MPNN","repo_kind":"official","path":"solver/customized_solver.py","file_url":"https://github.com/chendiqian/IPM_MPNN/blob/HEAD/solver/customized_solver.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7955265e3c15e7cf"}},{"code_sha256_prefix":"6c046af73ef8cd52","entry":"generate_cauctions","repo":"chendiqian/IPM_MPNN","repo_kind":"official","path":"generate_instances.py","file_url":"https://github.com/chendiqian/IPM_MPNN/blob/HEAD/generate_instances.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6c046af73ef8cd52"}},{"code_sha256_prefix":"7d5a765761e14c57","entry":"generate_indset","repo":"chendiqian/IPM_MPNN","repo_kind":"official","path":"generate_instances.py","file_url":"https://github.com/chendiqian/IPM_MPNN/blob/HEAD/generate_instances.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7d5a765761e14c57"}},{"code_sha256_prefix":"67c3ee9f8aaa3b8b","entry":"generate_setcover","repo":"chendiqian/IPM_MPNN","repo_kind":"official","path":"generate_instances.py","file_url":"https://github.com/chendiqian/IPM_MPNN/blob/HEAD/generate_instances.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"67c3ee9f8aaa3b8b"}},{"code_sha256_prefix":"9487a12f79643518","entry":"group","repo":"chendiqian/IPM_MPNN","repo_kind":"official","path":"models/hetero_conv.py","file_url":"https://github.com/chendiqian/IPM_MPNN/blob/HEAD/models/hetero_conv.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9487a12f79643518"}},{"code_sha256_prefix":"1bf4f353e2d721f2","entry":"ipm_overleaf","repo":"chendiqian/IPM_MPNN","repo_kind":"official","path":"solver/customized_solver.py","file_url":"https://github.com/chendiqian/IPM_MPNN/blob/HEAD/solver/customized_solver.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1bf4f353e2d721f2"}},{"code_sha256_prefix":"82b3f377465b4232","entry":"mu","repo":"chendiqian/IPM_MPNN","repo_kind":"official","path":"solver/customized_solver.py","file_url":"https://github.com/chendiqian/IPM_MPNN/blob/HEAD/solver/customized_solver.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"82b3f377465b4232"}},{"code_sha256_prefix":"2e76d1aa4e238af5","entry":"strseq2rank","repo":"chendiqian/IPM_MPNN","repo_kind":"official","path":"models/hetero_gnn.py","file_url":"https://github.com/chendiqian/IPM_MPNN/blob/HEAD/models/hetero_gnn.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2e76d1aa4e238af5"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}