ICLR2026
CALM: Co-evolution of Algorithms and Language Model for Automatic Heuristic Design
Ziyao Huang, Weiwei Wu, Kui Wu, Wei-Bin Lee, Jianping Wang
24 citations
Abstract
Tackling complex optimization problems often relies on expert-designed heuristics, typically crafted through extensive trial and error. Recent advances demonstrate that large language models (LLMs), when integrated into well-designed evolutionary search frameworks, can autonomously discover high-performing heuristics at a fraction of the traditional cost. However, existing approaches predominantly rely on verbal guidance, i.e., manipulating the prompt generation process, to steer the evolution of heuristics, without adapting the underlying LLM. We propose a hybrid framework that combines verbal and numerical guidance, the latter achieved by fine-tuning the LLM via reinforcement learning based on the quality of generated heuristics. This joint optimization allows the LLM to co-evolve with the search process. Our method outperforms state-of-the-art (SOTA) baselines across various optimization tasks, running locally on a single 24GB GPU using a 7B model with INT4 quantization. It surpasses methods that rely solely on verbal guidance, even when those use significantly more powerful API-based models. Searching superior heuristics on the problem.name problem in an evolutionary manner through conversation between User and Assistant. In this problem, problem.description The User provides existing algorithms and requests a new one. ## Your Task You should first present a concise conceptual description, followed by a complete code implementation. * The description must: * Be enclosed with a double brace and starts with "The idea of the algorithm is to". * Ensure it is self-contained, insightful, and creatively original. * Not reference or rely on any prior ideas or existing code. * The code must: * Strictly follow the input-output variable names and types used in the provided implementation. * Be a single Python function formatted within Python code blocks. * Exclude any usage examples. * Ensure the algorithm is deterministic.