{"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/an-efficient-diffusion-based-non","title":"An Efficient Diffusion-based Non-Autoregressive Solver for Traveling Salesman Problem","arxiv_id":"2501.13767","date":"2025-01-23","proceeding":null,"authors":["Mingzhao Wang","You Zhou","Zhiguang Cao","Yubin Xiao","Xuan Wu","Wei Pang","Yuan Jiang","Hui Yang","Peng Zhao","Yuanshu Li"],"abstract":"Recent advances in neural models have shown considerable promise in solving Traveling Salesman Problems (TSPs) without relying on much hand-crafted engineering. However, while non-autoregressive (NAR) approaches benefit from faster inference through parallelism, they typically deliver solutions of inferior quality compared to autoregressive ones. To enhance the solution quality while maintaining fast inference, we propose DEITSP, a diffusion model with efficient iterations tailored for TSP that operates in a NAR manner. Firstly, we introduce a one-step diffusion model that integrates the controlled discrete noise addition process with self-consistency enhancement, enabling optimal solution prediction through simultaneous denoising of multiple solutions. Secondly, we design a dual-modality graph transformer to bolster the extraction and fusion of features from node and edge modalities, while further accelerating the inference with fewer layers. Thirdly, we develop an efficient iterative strategy that alternates between adding and removing noise to improve exploration compared to previous diffusion methods. Additionally, we devise a scheduling framework to progressively refine the solution space by adjusting noise levels, facilitating a smooth search for optimal solutions. Extensive experiments on real-world and large-scale TSP instances demonstrate that DEITSP performs favorably against existing neural approaches in terms of solution quality, inference latency, and generalization ability. Our code is available at $\\href{https://github.com/DEITSP/DEITSP}{https://github.com/DEITSP/DEITSP}$.","url_abs":"https://arxiv.org/abs/2501.13767v1","url_pdf":"https://arxiv.org/pdf/2501.13767v1.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":"an-efficient-diffusion-based-non","repo_url":"https://github.com/deitsp/deitsp","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"denoising","task_name":"Denoising"},{"task_slug":"scheduling","task_name":"Scheduling"},{"task_slug":"traveling-salesman-problem","task_name":"Traveling Salesman Problem"}],"methods":[{"method_slug":"absolute-position-encodings","method_name":"Absolute Position Encodings"},{"method_slug":"adam","method_name":"Adam"},{"method_slug":"attention","method_name":"Attention"},{"method_slug":"bpe","method_name":"BPE"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"diffusion","method_name":"Diffusion"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"graph-transformer","method_name":"Graph Transformer"},{"method_slug":"label-smoothing","method_name":"Label Smoothing"},{"method_slug":"lapeigen","method_name":"LapEigen"},{"method_slug":"laplacian-pe","method_name":"Laplacian PE"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"position-wise-feed-forward-layer","method_name":"Position-Wise Feed-Forward Layer"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"transformer","method_name":"Transformer"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2501.13767","atlas_url":"https://app.syntology.ai/?focus=2501.13767","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2501.13767"}},"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/deitsp/deitsp","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":6},"by_repo_kind":{"official":{"samples":6,"ran":6,"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":"9587e3297756f4d3","entry":"batched_two_opt_torch","repo":"deitsp/deitsp","repo_kind":"official","path":"utils/tsp_utils.py","file_url":"https://github.com/deitsp/deitsp/blob/HEAD/utils/tsp_utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9587e3297756f4d3"}},{"code_sha256_prefix":"9e8ce602af8c4640","entry":"batched_two_opt_torch_cuda","repo":"deitsp/deitsp","repo_kind":"official","path":"utils/tsp_utils.py","file_url":"https://github.com/deitsp/deitsp/blob/HEAD/utils/tsp_utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9e8ce602af8c4640"}},{"code_sha256_prefix":"0c44d4af4c356ee5","entry":"get_one_cycle","repo":"deitsp/deitsp","repo_kind":"official","path":"utils/lr_schedulers.py","file_url":"https://github.com/deitsp/deitsp/blob/HEAD/utils/lr_schedulers.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"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":"deitsp/deitsp","repo_kind":"official","path":"utils/lr_schedulers.py","file_url":"https://github.com/deitsp/deitsp/blob/HEAD/utils/lr_schedulers.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b04bf96acaa8e607"}},{"code_sha256_prefix":"3f4c5b6a015b2fa5","entry":"numpy_merge","repo":"deitsp/deitsp","repo_kind":"official","path":"utils/tsp_utils.py","file_url":"https://github.com/deitsp/deitsp/blob/HEAD/utils/tsp_utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3f4c5b6a015b2fa5"}},{"code_sha256_prefix":"6c617b25817f8107","entry":"timestep_embedding","repo":"deitsp/deitsp","repo_kind":"official","path":"tsp_net.py","file_url":"https://github.com/deitsp/deitsp/blob/HEAD/tsp_net.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6c617b25817f8107"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}