{"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/difusco-graph-based-diffusion-solvers-for-1","title":"DIFUSCO: Graph-based Diffusion Solvers for Combinatorial Optimization","arxiv_id":"2302.08224","date":"2023-02-16","proceeding":"NeurIPS 2023 11","authors":["Zhiqing Sun","Yiming Yang"],"abstract":"Neural network-based Combinatorial Optimization (CO) methods have shown promising results in solving various NP-complete (NPC) problems without relying on hand-crafted domain knowledge. This paper broadens the current scope of neural solvers for NPC problems by introducing a new graph-based diffusion framework, namely DIFUSCO. Our framework casts NPC problems as discrete {0, 1}-vector optimization problems and leverages graph-based denoising diffusion models to generate high-quality solutions. We investigate two types of diffusion models with Gaussian and Bernoulli noise, respectively, and devise an effective inference schedule to enhance the solution quality. We evaluate our methods on two well-studied NPC combinatorial optimization problems: Traveling Salesman Problem (TSP) and Maximal Independent Set (MIS). Experimental results show that DIFUSCO strongly outperforms the previous state-of-the-art neural solvers, improving the performance gap between ground-truth and neural solvers from 1.76% to 0.46% on TSP-500, from 2.46% to 1.17% on TSP-1000, and from 3.19% to 2.58% on TSP10000. For the MIS problem, DIFUSCO outperforms the previous state-of-the-art neural solver on the challenging SATLIB benchmark.","url_abs":"https://arxiv.org/abs/2302.08224v2","url_pdf":"https://arxiv.org/pdf/2302.08224v2.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":"difusco-graph-based-diffusion-solvers-for-1","repo_url":"https://github.com/edward-sun/difusco","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"combinatorial-optimization","task_name":"Combinatorial Optimization"},{"task_slug":"denoising","task_name":"Denoising"},{"task_slug":"traveling-salesman-problem","task_name":"Traveling Salesman Problem"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2302.08224","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2302.08224"}},"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/edward-sun/difusco","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":1,"unverified":8},"by_repo_kind":{"official":{"samples":9,"ran":1,"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":"129b804760b3115f","entry":"zero_module","repo":"edward-sun/difusco","repo_kind":"official","path":"difusco/models/nn.py","file_url":"https://github.com/edward-sun/difusco/blob/HEAD/difusco/models/nn.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"129b804760b3115f"}},{"code_sha256_prefix":"ecd0fc28815b65ae","entry":"avg_pool_nd","repo":"edward-sun/difusco","repo_kind":"official","path":"difusco/models/nn.py","file_url":"https://github.com/edward-sun/difusco/blob/HEAD/difusco/models/nn.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":"ecd0fc28815b65ae"}},{"code_sha256_prefix":"9587e3297756f4d3","entry":"batched_two_opt_torch","repo":"edward-sun/difusco","repo_kind":"official","path":"difusco/utils/tsp_utils.py","file_url":"https://github.com/edward-sun/difusco/blob/HEAD/difusco/utils/tsp_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":"9587e3297756f4d3"}},{"code_sha256_prefix":"fe4eb545bbb728e0","entry":"conv_nd","repo":"edward-sun/difusco","repo_kind":"official","path":"difusco/models/nn.py","file_url":"https://github.com/edward-sun/difusco/blob/HEAD/difusco/models/nn.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":"fe4eb545bbb728e0"}},{"code_sha256_prefix":"0c44d4af4c356ee5","entry":"get_one_cycle","repo":"edward-sun/difusco","repo_kind":"official","path":"difusco/utils/lr_schedulers.py","file_url":"https://github.com/edward-sun/difusco/blob/HEAD/difusco/utils/lr_schedulers.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":"0c44d4af4c356ee5"}},{"code_sha256_prefix":"b04bf96acaa8e607","entry":"get_schedule_fn","repo":"edward-sun/difusco","repo_kind":"official","path":"difusco/utils/lr_schedulers.py","file_url":"https://github.com/edward-sun/difusco/blob/HEAD/difusco/utils/lr_schedulers.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":"b04bf96acaa8e607"}},{"code_sha256_prefix":"0b45baf887c9bce6","entry":"mis_decode_np","repo":"edward-sun/difusco","repo_kind":"official","path":"difusco/utils/mis_utils.py","file_url":"https://github.com/edward-sun/difusco/blob/HEAD/difusco/utils/mis_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":"0b45baf887c9bce6"}},{"code_sha256_prefix":"3f4c5b6a015b2fa5","entry":"numpy_merge","repo":"edward-sun/difusco","repo_kind":"official","path":"difusco/utils/tsp_utils.py","file_url":"https://github.com/edward-sun/difusco/blob/HEAD/difusco/utils/tsp_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":"3f4c5b6a015b2fa5"}},{"code_sha256_prefix":"bee320771d4e98eb","entry":"run_sparse_layer","repo":"edward-sun/difusco","repo_kind":"official","path":"difusco/models/gnn_encoder.py","file_url":"https://github.com/edward-sun/difusco/blob/HEAD/difusco/models/gnn_encoder.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":"bee320771d4e98eb"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}