Learning to Solve and Optimize by Evolving Code
Proceedings of the Thirty-Fifth International Joint Conference on Artificial Intelligence. Main Track. Pages 4054-4062.
https://doi.org/10.24963/ijcai.2026/451
Keywords
- Knowledge Representation and Reasoning: Logic programming
- Knowledge Representation and Reasoning: Applications
- Search: Search and machine learning
- Knowledge Representation and Reasoning: Learning and reasoning
Abstract
Combinatorial and optimization problems are fundamental to many industrial AI applications. Solving large-scale real-world instances of such problems typically requires careful problem formalization, specialized solvers, and expert-designed heuristics.
Thus, experts need to specify not only *what* solutions are, but also *how* they are derived.
By introducing the tool CheckMate, we show that algorithm generation via code evolution represents a paradigm shift by eliminating the need to formulate the *how*. CheckMate solely relies on the *what*. Specifically, a formal specification ensures solutions' correctness and enables systematic performance evaluation of the generated programs, while a natural language description guides the evolutionary process.
The effectiveness of our method is demonstrated on selected problems from two industrial domains: configuration and scheduling. In all cases, the evolved algorithms consistently outperform state-of-the-art solvers. This underscores the potential of formal methods in guiding code evolution for automatically solving complex real-world problems.
@inproceedings{ijcai2026p451,
title = {Learning to Solve and Optimize by Evolving Code},
author = {Semmelrock, Veronika and Strizzolo, Benedetta and Zuccato, Francesco and Friedrich, Gerhard and Rodler, Patrick and Schekotihin, Konstantin},
booktitle = {Proceedings of the Thirty-Fifth International Joint Conference on
Artificial Intelligence, {IJCAI-26}},
publisher = {International Joint Conferences on Artificial Intelligence Organization},
editor = {Diego Calvanese},
pages = {4054--4062},
year = {2026},
month = {8},
note = {Main Track},
doi = {10.24963/ijcai.2026/451},
url = {https://doi.org/10.24963/ijcai.2026/451},
}
TY - CPAPER TI - Learning to Solve and Optimize by Evolving Code AU - Semmelrock, Veronika AU - Strizzolo, Benedetta AU - Zuccato, Francesco AU - Friedrich, Gerhard AU - Rodler, Patrick AU - Schekotihin, Konstantin T2 - Proceedings of the Thirty-Fifth International Joint Conference on Artificial Intelligence, IJCAI-26 PB - International Joint Conferences on Artificial Intelligence Organization PY - 2026 SP - 4054 EP - 4062 DO - 10.24963/ijcai.2026/451 UR - https://doi.org/10.24963/ijcai.2026/451 ER -Copied
Machine-readable versions of this paper, for tools and AI agents: