{"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/towards-generalizable-neural-solvers-for","title":"Towards Generalizable Neural Solvers for Vehicle Routing Problems via Ensemble with Transferrable Local Policy","arxiv_id":"2308.14104","date":"2023-08-27","proceeding":null,"authors":["Chengrui Gao","Haopu Shang","Ke Xue","Dong Li","Chao Qian"],"abstract":"Machine learning has been adapted to help solve NP-hard combinatorial optimization problems. One prevalent way is learning to construct solutions by deep neural networks, which has been receiving more and more attention due to the high efficiency and less requirement for expert knowledge. However, many neural construction methods for Vehicle Routing Problems~(VRPs) focus on synthetic problem instances with specified node distributions and limited scales, leading to poor performance on real-world problems which usually involve complex and unknown node distributions together with large scales. To make neural VRP solvers more practical, we design an auxiliary policy that learns from the local transferable topological features, named local policy, and integrate it with a typical construction policy (which learns from the global information of VRP instances) to form an ensemble policy. With joint training, the aggregated policies perform cooperatively and complementarily to boost generalization. The experimental results on two well-known benchmarks, TSPLIB and CVRPLIB, of travelling salesman problem and capacitated VRP show that the ensemble policy significantly improves both cross-distribution and cross-scale generalization performance, and even performs well on real-world problems with several thousand nodes.","url_abs":"https://arxiv.org/abs/2308.14104v3","url_pdf":"https://arxiv.org/pdf/2308.14104v3.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":"towards-generalizable-neural-solvers-for","repo_url":"https://github.com/gaocrr/elg","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"}],"methods":[{"method_slug":"focus","method_name":"Focus"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2308.14104","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2308.14104"}},"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/gaocrr/elg","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_fixture":1,"ran":8,"ran_draft_wrong":1,"unverified":1},"by_repo_kind":{"official":{"samples":11,"ran":10,"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":"ae7acd105c3e55ab","entry":"augment_xy_data_by_8_fold","repo":"gaocrr/elg","repo_kind":"official","path":"CVRP/utils.py","file_url":"https://github.com/gaocrr/elg/blob/HEAD/CVRP/utils.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ae7acd105c3e55ab"}},{"code_sha256_prefix":"002c5e505b318800","entry":"batched_two_opt_torch","repo":"gaocrr/elg","repo_kind":"official","path":"CVRP/utils.py","file_url":"https://github.com/gaocrr/elg/blob/HEAD/CVRP/utils.py","link_basis":"first_harvest_node","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":"002c5e505b318800"}},{"code_sha256_prefix":"01df1926cf07ac89","entry":"check_extension","repo":"gaocrr/elg","repo_kind":"official","path":"CVRP/generate_data.py","file_url":"https://github.com/gaocrr/elg/blob/HEAD/CVRP/generate_data.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"01df1926cf07ac89"}},{"code_sha256_prefix":"078aa2e031be0a7a","entry":"check_feasible","repo":"gaocrr/elg","repo_kind":"official","path":"TSP/utils.py","file_url":"https://github.com/gaocrr/elg/blob/HEAD/TSP/utils.py","link_basis":"first_harvest_node","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":"078aa2e031be0a7a"}},{"code_sha256_prefix":"94826998d751b3ea","entry":"generate_tsp_data","repo":"gaocrr/elg","repo_kind":"official","path":"TSP/generate_data.py","file_url":"https://github.com/gaocrr/elg/blob/HEAD/TSP/generate_data.py","link_basis":"first_harvest_node","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":"94826998d751b3ea"}},{"code_sha256_prefix":"9f49ce53d65ce91b","entry":"generate_vrp_data","repo":"gaocrr/elg","repo_kind":"official","path":"CVRP/generate_data.py","file_url":"https://github.com/gaocrr/elg/blob/HEAD/CVRP/generate_data.py","link_basis":"first_harvest_node","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":"9f49ce53d65ce91b"}},{"code_sha256_prefix":"c7def9861cf1ab24","entry":"make_instance","repo":"gaocrr/elg","repo_kind":"official","path":"CVRP/generate_data.py","file_url":"https://github.com/gaocrr/elg/blob/HEAD/CVRP/generate_data.py","link_basis":"first_harvest_node","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":"c7def9861cf1ab24"}},{"code_sha256_prefix":"c64b244e2120dadc","entry":"multi_head_attention","repo":"gaocrr/elg","repo_kind":"official","path":"CVRP/models.py","file_url":"https://github.com/gaocrr/elg/blob/HEAD/CVRP/models.py","link_basis":"first_harvest_node","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":"c64b244e2120dadc"}},{"code_sha256_prefix":"20d42bc12bb9a14d","entry":"reshape_by_heads","repo":"gaocrr/elg","repo_kind":"official","path":"CVRP/models.py","file_url":"https://github.com/gaocrr/elg/blob/HEAD/CVRP/models.py","link_basis":"first_harvest_node","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":"20d42bc12bb9a14d"}},{"code_sha256_prefix":"b8a2463790245a04","entry":"rollout","repo":"gaocrr/elg","repo_kind":"official","path":"CVRP/utils.py","file_url":"https://github.com/gaocrr/elg/blob/HEAD/CVRP/utils.py","link_basis":"first_harvest_node","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":"b8a2463790245a04"}},{"code_sha256_prefix":"38a9f6e145336e55","entry":"rollout","repo":"gaocrr/elg","repo_kind":"official","path":"TSP/utils.py","file_url":"https://github.com/gaocrr/elg/blob/HEAD/TSP/utils.py","link_basis":"first_harvest_node","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":"38a9f6e145336e55"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}