{"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/monte-carlo-tree-search-for-comprehensive","title":"Monte Carlo Tree Search for Comprehensive Exploration in LLM-Based Automatic Heuristic Design","arxiv_id":"2501.08603","date":"2025-01-15","proceeding":null,"authors":["Zhi Zheng","Zhuoliang Xie","Zhenkun Wang","Bryan Hooi"],"abstract":"Handcrafting heuristics for solving complex optimization tasks (e.g., route planning and task allocation) is a common practice but requires extensive domain knowledge. Recently, Large Language Model (LLM)-based automatic heuristic design (AHD) methods have shown promise in generating high-quality heuristics without manual interventions. Existing LLM-based AHD methods employ a population to maintain a fixed number of top-performing LLM-generated heuristics and introduce evolutionary computation (EC) to iteratively enhance the population. However, these population-based procedures cannot fully develop the potential of each heuristic and are prone to converge into local optima. To more comprehensively explore the space of heuristics, this paper proposes to use Monte Carlo Tree Search (MCTS) for LLM-based heuristic evolution. The proposed MCTS-AHD method organizes all LLM-generated heuristics in a tree structure and can better develop the potential of temporarily underperforming heuristics. In experiments, MCTS-AHD delivers significantly higher-quality heuristics on various complex tasks. Our code is available.","url_abs":"https://arxiv.org/abs/2501.08603v3","url_pdf":"https://arxiv.org/pdf/2501.08603v3.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":"monte-carlo-tree-search-for-comprehensive","repo_url":"https://github.com/zz1358m/mcts-ahd-master","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"combinatorial-optimization","task_name":"Combinatorial Optimization"},{"task_slug":"language-modeling","task_name":"Language Modeling"},{"task_slug":"language-modelling","task_name":"Language Modelling"},{"task_slug":"large-language-model","task_name":"Large Language Model"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2501.08603","atlas_url":"https://app.syntology.ai/?focus=2501.08603","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2501.08603"}},"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/zz1358m/mcts-ahd-master","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":8,"unverified":2},"by_repo_kind":{"official":{"samples":10,"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":0,"samples":[{"code_sha256_prefix":"8e027db39937cf79","entry":"expand_admissible_set","repo":"zz1358m/mcts-ahd-master","repo_kind":"official","path":"problems/asp_constructive/eval-test.py","file_url":"https://github.com/zz1358m/mcts-ahd-master/blob/HEAD/problems/asp_constructive/eval-test.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":"8e027db39937cf79"}},{"code_sha256_prefix":"ab6795497be8743a","entry":"file_to_string","repo":"zz1358m/mcts-ahd-master","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/zz1358m/mcts-ahd-master/blob/HEAD/utils/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":"ab6795497be8743a"}},{"code_sha256_prefix":"16b43ab11204e083","entry":"filter_traceback","repo":"zz1358m/mcts-ahd-master","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/zz1358m/mcts-ahd-master/blob/HEAD/utils/utils.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":"16b43ab11204e083"}},{"code_sha256_prefix":"fad57e630b13938d","entry":"get_surviving_children","repo":"zz1358m/mcts-ahd-master","repo_kind":"official","path":"problems/asp_constructive/eval-test.py","file_url":"https://github.com/zz1358m/mcts-ahd-master/blob/HEAD/problems/asp_constructive/eval-test.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":"fad57e630b13938d"}},{"code_sha256_prefix":"2dc633da234e16af","entry":"parent_selection","repo":"zz1358m/mcts-ahd-master","repo_kind":"official","path":"source/prob_rank.py","file_url":"https://github.com/zz1358m/mcts-ahd-master/blob/HEAD/source/prob_rank.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":"2dc633da234e16af"}},{"code_sha256_prefix":"897c0ee9458993a7","entry":"parent_selection_e1","repo":"zz1358m/mcts-ahd-master","repo_kind":"official","path":"source/prob_rank.py","file_url":"https://github.com/zz1358m/mcts-ahd-master/blob/HEAD/source/prob_rank.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":"897c0ee9458993a7"}},{"code_sha256_prefix":"76c08218582ac748","entry":"population_management","repo":"zz1358m/mcts-ahd-master","repo_kind":"official","path":"source/pop_greedy.py","file_url":"https://github.com/zz1358m/mcts-ahd-master/blob/HEAD/source/pop_greedy.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":"76c08218582ac748"}},{"code_sha256_prefix":"1dab74234c91e5ae","entry":"population_management_s1","repo":"zz1358m/mcts-ahd-master","repo_kind":"official","path":"source/pop_greedy.py","file_url":"https://github.com/zz1358m/mcts-ahd-master/blob/HEAD/source/pop_greedy.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":"1dab74234c91e5ae"}},{"code_sha256_prefix":"ae4884aacf541db0","entry":"init_client","repo":"zz1358m/mcts-ahd-master","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/zz1358m/mcts-ahd-master/blob/HEAD/utils/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":"ae4884aacf541db0"}},{"code_sha256_prefix":"940f893bc7c2c6d2","entry":"solve","repo":"zz1358m/mcts-ahd-master","repo_kind":"official","path":"problems/asp_constructive/eval-test.py","file_url":"https://github.com/zz1358m/mcts-ahd-master/blob/HEAD/problems/asp_constructive/eval-test.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":"940f893bc7c2c6d2"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}