{"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/learning-to-insert-for-constructive-neural","title":"Learning to Insert for Constructive Neural Vehicle Routing Solver","arxiv_id":"2505.13904","date":"2025-05-20","proceeding":null,"authors":["Fu Luo","Xi Lin","Mengyuan Zhong","Fei Liu","Zhenkun Wang","Jianyong Sun","Qingfu Zhang"],"abstract":"Neural Combinatorial Optimisation (NCO) is a promising learning-based approach for solving Vehicle Routing Problems (VRPs) without extensive manual design. While existing constructive NCO methods typically follow an appending-based paradigm that sequentially adds unvisited nodes to partial solutions, this rigid approach often leads to suboptimal results. To overcome this limitation, we explore the idea of insertion-based paradigm and propose Learning to Construct with Insertion-based Paradigm (L2C-Insert), a novel learning-based method for constructive NCO. Unlike traditional approaches, L2C-Insert builds solutions by strategically inserting unvisited nodes at any valid position in the current partial solution, which can significantly enhance the flexibility and solution quality. The proposed framework introduces three key components: a novel model architecture for precise insertion position prediction, an efficient training scheme for model optimization, and an advanced inference technique that fully exploits the insertion paradigm's flexibility. Extensive experiments on both synthetic and real-world instances of the Travelling Salesman Problem (TSP) and Capacitated Vehicle Routing Problem (CVRP) demonstrate that L2C-Insert consistently achieves superior performance across various problem sizes.","url_abs":"https://arxiv.org/abs/2505.13904v2","url_pdf":"https://arxiv.org/pdf/2505.13904v2.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":[],"tasks":[{"task_slug":"model-optimization","task_name":"Model Optimization"},{"task_slug":null,"task_name":"Position"},{"task_slug":null,"task_name":"valid"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2505.13904","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2505.13904"}},"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":"deterministic:regex_extraction","url":"https://github.com/CIAM-Group/L2C_Insert","reach":null}],"summary":{"unverified":5},"by_repo_kind":{"found_in_text":{"samples":5,"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":"83d53d14d54d9b9c","entry":"CVRP_Decoder","repo":"CIAM-Group/L2C_Insert","repo_kind":"found_in_text","path":"L2C_Insert/CVRP/Train/VRPModel.py","file_url":"https://github.com/CIAM-Group/L2C_Insert/blob/HEAD/L2C_Insert/CVRP/Train/VRPModel.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":"83d53d14d54d9b9c"}},{"code_sha256_prefix":"3967545bb43e8bbc","entry":"CVRP_Encoder","repo":"CIAM-Group/L2C_Insert","repo_kind":"found_in_text","path":"L2C_Insert/CVRP/Train/VRPModel.py","file_url":"https://github.com/CIAM-Group/L2C_Insert/blob/HEAD/L2C_Insert/CVRP/Train/VRPModel.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":"3967545bb43e8bbc"}},{"code_sha256_prefix":"f1ad915f943c2b5d","entry":"DecoderLayer","repo":"CIAM-Group/L2C_Insert","repo_kind":"found_in_text","path":"L2C_Insert/CVRP/Train/VRPModel.py","file_url":"https://github.com/CIAM-Group/L2C_Insert/blob/HEAD/L2C_Insert/CVRP/Train/VRPModel.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":"f1ad915f943c2b5d"}},{"code_sha256_prefix":"9f396fce7f6b4b6f","entry":"VRPModel","repo":"CIAM-Group/L2C_Insert","repo_kind":"found_in_text","path":"L2C_Insert/CVRP/Train/VRPModel.py","file_url":"https://github.com/CIAM-Group/L2C_Insert/blob/HEAD/L2C_Insert/CVRP/Train/VRPModel.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":"9f396fce7f6b4b6f"}},{"code_sha256_prefix":"036b0dc86d34e889","entry":"multi_head_attention","repo":"CIAM-Group/L2C_Insert","repo_kind":"found_in_text","path":"L2C_Insert/CVRP/Train/VRPModel.py","file_url":"https://github.com/CIAM-Group/L2C_Insert/blob/HEAD/L2C_Insert/CVRP/Train/VRPModel.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":"036b0dc86d34e889"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}