{"type":"ScholarlyArticle","title":"Learning to Solve and Optimize by Evolving Code","authors":[{"name":"Veronika Semmelrock","slug":"veronika-semmelrock","given":"Veronika","family":"Semmelrock","affiliation":""},{"name":"Benedetta Strizzolo","slug":"benedetta-strizzolo","given":"Benedetta","family":"Strizzolo","affiliation":""},{"name":"Francesco Zuccato","slug":"francesco-zuccato","given":"Francesco","family":"Zuccato","affiliation":""},{"name":"Gerhard Friedrich","slug":"gerhard-friedrich","given":"Gerhard","family":"Friedrich","affiliation":""},{"name":"Patrick Rodler","slug":"patrick-rodler","given":"Patrick","family":"Rodler","affiliation":""},{"name":"Konstantin Schekotihin","slug":"konstantin-schekotihin","given":"Konstantin","family":"Schekotihin","affiliation":""}],"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.\r\nThus, experts need to specify not only *what* solutions are, but also *how* they are derived.\r\n\r\nBy 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.\r\n\r\nThe 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.","doi":"10.24963/ijcai.2026/451","url":"https://ijcai.org/proceedings/2026/451","pdf":"https://ijcai.org/proceedings/2026/0451.pdf","markdown":"https://ijcai.org/proceedings/2026/451.md","bibtex":"https://ijcai.org/proceedings/2026/bibtex/451","volume":{"slug":"2026","title":"Proceedings of the Thirty-Fifth International Joint Conference on Artificial Intelligence","short_title":"IJCAI 2026","url":"https://ijcai.org/proceedings/2026/","year":2026,"location":"Bremen, Germany","dates":"15-21 August 2026","editors":"Diego Calvanese","isbn":"978-1-956792-09-6","publisher":"International Joint Conferences on Artificial Intelligence Organization","doi_prefix":"10.24963/ijcai.2026"},"section":"Knowledge Representation and Reasoning","track":"Main Track","number":451,"pages":{"first":4054,"last":4062},"keywords":["Knowledge Representation and Reasoning: Logic programming","Knowledge Representation and Reasoning: Applications","Search: Search and machine learning","Knowledge Representation and Reasoning: Learning and reasoning"],"videos":[],"references":[],"license_note":"Copyright International Joint Conferences on Artificial Intelligence."}