{"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/efficient-evolutionary-search-over-chemical","title":"Efficient Evolutionary Search Over Chemical Space with Large Language Models","arxiv_id":"2406.16976","date":"2024-06-23","proceeding":null,"authors":["Haorui Wang","Marta Skreta","Cher-Tian Ser","Wenhao Gao","Lingkai Kong","Felix Strieth-Kalthoff","Chenru Duan","Yuchen Zhuang","Yue Yu","Yanqiao Zhu","Yuanqi Du","Alán Aspuru-Guzik","Kirill Neklyudov","Chao Zhang"],"abstract":"Molecular discovery, when formulated as an optimization problem, presents significant computational challenges because optimization objectives can be non-differentiable. Evolutionary Algorithms (EAs), often used to optimize black-box objectives in molecular discovery, traverse chemical space by performing random mutations and crossovers, leading to a large number of expensive objective evaluations. In this work, we ameliorate this shortcoming by incorporating chemistry-aware Large Language Models (LLMs) into EAs. Namely, we redesign crossover and mutation operations in EAs using LLMs trained on large corpora of chemical information. We perform extensive empirical studies on both commercial and open-source models on multiple tasks involving property optimization, molecular rediscovery, and structure-based drug design, demonstrating that the joint usage of LLMs with EAs yields superior performance over all baseline models across single- and multi-objective settings. We demonstrate that our algorithm improves both the quality of the final solution and convergence speed, thereby reducing the number of required objective evaluations. Our code is available at http://github.com/zoom-wang112358/MOLLEO","url_abs":"https://arxiv.org/abs/2406.16976v3","url_pdf":"https://arxiv.org/pdf/2406.16976v3.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":"efficient-evolutionary-search-over-chemical","repo_url":"https://github.com/zoom-wang112358/molleo","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"drug-design","task_name":"Drug Design"},{"task_slug":"evolutionary-algorithms","task_name":"Evolutionary Algorithms"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2406.16976","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2406.16976"}},"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/zoom-wang112358/MOLLEO","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/zoom-wang112358/molleo","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":4,"ran_honours":1,"unverified":1},"by_repo_kind":{"official":{"samples":6,"ran":5,"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":"3e00ba37467a39b3","entry":"get_device","repo":"zoom-wang112358/MOLLEO","repo_kind":"official","path":"multi_objective/main/molleo_multi/network.py","file_url":"https://github.com/zoom-wang112358/MOLLEO/blob/HEAD/multi_objective/main/molleo_multi/network.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":"3e00ba37467a39b3"}},{"code_sha256_prefix":"ea6c82ed6a138df9","entry":"get_lr","repo":"zoom-wang112358/MOLLEO","repo_kind":"official","path":"multi_objective/main/molleo_multi/mol_lm.py","file_url":"https://github.com/zoom-wang112358/MOLLEO/blob/HEAD/multi_objective/main/molleo_multi/mol_lm.py","link_basis":"plan_row","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ea6c82ed6a138df9"}},{"code_sha256_prefix":"3ca541ab8bce64d7","entry":"mean_pooling","repo":"zoom-wang112358/MOLLEO","repo_kind":"official","path":"multi_objective/main/molleo_multi/mol_lm.py","file_url":"https://github.com/zoom-wang112358/MOLLEO/blob/HEAD/multi_objective/main/molleo_multi/mol_lm.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":"3ca541ab8bce64d7"}},{"code_sha256_prefix":"edaa7e0058da6c0a","entry":"padarray","repo":"zoom-wang112358/MOLLEO","repo_kind":"official","path":"multi_objective/main/molleo_multi/mol_lm_utils.py","file_url":"https://github.com/zoom-wang112358/MOLLEO/blob/HEAD/multi_objective/main/molleo_multi/mol_lm_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":"edaa7e0058da6c0a"}},{"code_sha256_prefix":"dbb8233cd18cc6c4","entry":"preprocess_each_sentence","repo":"zoom-wang112358/MOLLEO","repo_kind":"official","path":"multi_objective/main/molleo_multi/mol_lm_utils.py","file_url":"https://github.com/zoom-wang112358/MOLLEO/blob/HEAD/multi_objective/main/molleo_multi/mol_lm_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":"dbb8233cd18cc6c4"}},{"code_sha256_prefix":"1257979c9fb38df8","entry":"get_bond_indeces","repo":"zoom-wang112358/MOLLEO","repo_kind":"official","path":"multi_objective/main/molleo_multi/features.py","file_url":"https://github.com/zoom-wang112358/MOLLEO/blob/HEAD/multi_objective/main/molleo_multi/features.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":"1257979c9fb38df8"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}