用代码演化自动求解复杂问题,无需人工设计求解步骤
Learning to Solve and Optimize by Evolving Code

- 通过形式化描述答案要求,让程序自行演化出求解算法
- 在配置与调度问题上,生成算法性能超越现有顶尖求解器
- 适合希望自动化求解复杂优化问题的研究者与工程师
组合优化问题是众多工业人工智能应用的基础。求解大规模真实场景中的此类问题通常需要精细的问题建模、专用求解器和专家设计的启发式方法,因此专家不仅需定义解是什么,还需说明如何获得。我们提出工具CHECKMATE,证明通过代码演化实现算法生成是一种范式转变——不再需要显式定义求解过程(how)。CHECKMATE仅依赖于对解的正确性要求(what):通过形式化规范保证解的正确性,并支持对生成程序进行系统评估;同时,自然语言描述引导演化过程。该方法在来自配置与调度两个工业领域的典型问题上得到验证,所有情况下生成的算法均持续优于当前最优求解器。这凸显了形式化方法在引导代码演化以自动求解复杂现实问题方面的巨大潜力。
原文摘要 · Abstract (English)
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.
Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。