遇见数据集

CP-Bench

收藏
arXiv2025-06-06 更新2025-11-28 收录
官方服务:

资源简介:

CP-Bench是一个包含101个不同组合问题描述及其可运行CP模型的新颖基准数据集,专门为评估基于LLM的CP建模而设计。数据集涵盖了来自CP社区的不同组合问题类别,包括自包含的问题描述,并针对自动化评估LLM生成的模型进行了结构化。CP-Bench旨在帮助研究人员评估LLM在转换组合问题描述为可执行约束模型方面的建模能力,并解决现有评估数据集在多样性和复杂性方面的不足。

CP-Bench is a novel benchmark dataset comprising 101 distinct combinatorial problem descriptions and their runnable Constraint Programming (CP) models, specifically designed for evaluating LLM-based CP modeling. The dataset encompasses diverse combinatorial problem categories from the CP community, includes self-contained problem descriptions, and is structured to facilitate automated evaluation of models generated by large language models (LLMs). CP-Bench aims to assist researchers in assessing the capability of LLMs to translate combinatorial problem descriptions into executable constraint models, and addresses the shortcomings of existing evaluation datasets in terms of diversity and complexity.

创建时间:
2025-06-06
搜集汇总
数据集介绍
CP-Bench 数据集图片
构建方式
CP-Bench数据集由来自CSPLib、CPMpy示例库、Håkan Kjellerstrand的个人仓库以及建模课程习题集等四个公认的约束编程社区资源中精选101个组合优化与约束满足问题实例构成。每个实例被封装为自包含的Python文件,内含元数据、原始问题描述、输入数据、完整的CPMpy参考模型及格式化输出打印代码,专为自动化评估大语言模型生成的约束模型而设计。
特点
该数据集兼具显著的多样性与复杂性,涵盖241种不同的约束类型,问题的变量数量从3到962不等、约束数量从1到2017不等,远超NL4Opt和逻辑网格谜题等既有基准。同时,CP-Bench支持基于求解结果准确性的评估指标,可兼容MiniZinc、CPMpy及OR-Tools三种不同抽象层次与接口类型的约束建模框架。
使用方法
使用者可将原始问题描述与可选的输入数据馈送给大语言模型,要求其生成对应框架下的可执行模型代码。随后通过运行生成的模型获取求解结果,并与真实参考模型的最优或可行解进行比对,依据约束满足度与目标函数等价性计算求解准确性。该流程尤其适合评测少样本提示、重采样投票与自我校验等推理时增强技术。
背景与挑战
背景概述
组合优化问题广泛存在于物流、调度与网络设计等众多工业领域,其高效求解离不开约束规划这一成熟的声明式求解范式。然而,约束建模——将自然语言描述的问题转化为形式化的约束模型——始终是制约该技术大规模普及的关键瓶颈。为突破这一困境,2025年,比利时鲁汶大学DTAI实验室的Kostis Michailidis、Dimos Tsouros与Tias Guns共同推出了CP-Bench基准数据集。该数据集汇集了源自CSPLib、CPMpy示例库及Håkan Kjellerstrand公开仓库等权威来源的101个多样化的组合优化问题实例,精心设计了涵盖问题描述、输入数据、求解模型及评估指标的结构化格式,旨在系统评测大语言模型在约束建模任务中的能力,为相关研究提供了标准化、高难度的评估平台。
当前挑战
CP-Bench所应对的挑战体现在两个层面。在领域问题层面,约束建模本身具有独特的复杂性:不同于指令式代码的逐步执行,声明式建模要求模型中的变量、约束与目标函数同时成立;建模过程需从众多可能的视角中选取恰当的变量表示与约束结构;模型正确性难以通过单元测试等传统方式验证。在构建过程层面,现有基准如NL4Opt与Logic Grid Puzzles局限于小规模、同质化或特定领域的问题,无法反映真实世界中问题的多样性;同时,不同建模框架(如高级语言MiniZinc、基于Python的CPMpy与低级别OR-Tools)在抽象层次与接口类型上的差异,要求数据集必须支持跨框架的系统评估。CP-Bench通过纳入涵盖优化与满足类问题的复杂实例,有效填补了这一评估空白。
常用场景
经典使用场景
在约束编程(Constraint Programming, CP)领域,将自然语言描述的组合优化问题自动转化为可执行的约束模型,一直是学术界与工业界共同追求的目标。CP-Bench数据集的设计初衷,正是为了系统性地评测大语言模型(LLMs)在这一转化任务上的表现。其最为经典的使用场景,是将用户以自然语言表述的、涵盖物流调度、资源分配、网络设计等领域的组合问题文本,交由LLM处理后生成符合特定框架语法的CP模型,进而送入求解器获得可行或最优解。该数据集包含101个来源多元、复杂度各异的问题实例,覆盖了从简单的约束满足到带目标函数的优化问题,为衡量LLM在声明式建模任务中的理解力与编码能力提供了标准化的测试平台。
解决学术问题
CP-Bench的提出填补了现有自然语言到约束模型(NL-to-CP)评估基准在多样性与复杂度上的显著空白。此前,广泛使用的NL4Opt与逻辑网格谜题等数据集多局限于小规模、同质化或特定领域的问题,难以真实反映实际组合优化场景的挑战。该数据集通过收录来自CSPLib、CPMpy示例库、Håkan Kjellerstrand个人仓库以及建模课程讲义中的问题,首次构建了一个包含241种不同约束类型、变量数从3到962不等、约束数从1到2017跨度的评估基准。这一设计使得研究者能够可靠地评测LLM在不同抽象层次建模框架(如高层的MiniZinc与CPMpy、低层的OR-Tools CP-SAT)下的建模准确性,并深入分析模型生成过程中常见的运行时错误与逻辑建模错误,从而推动LLM驱动的自动建模技术向更实用、更稳健的方向发展。
衍生相关工作
自CP-Bench发布以来,它已成为评估LLM在约束建模领域能力的重要标准,并催生了多项后续研究工作。研究者基于该数据集系统比较了多种提示工程策略,例如从基础的零样本提示到包含框架API文档的详细系统提示,发现提供丰富的框架文档能显著提升模型输出质量。此外,推理时计算技术的探索也应运而生,包括重复采样与多数投票机制、基于自验证的迭代修正方法,这些方法被证明能够在CP-Bench上将建模准确率从基线水平提升约10个百分点,最高达到70%。值得关注的是,检索增强的上下文学习(RAICL)在该任务中效果不佳,这一发现推动了后续研究更关注如何在系统提示中高效嵌入结构化文档而非示例。这些衍生工作共同揭示了LLM在声明式建模任务中的潜力与局限,为未来构建更强大、更可靠的自动建模系统奠定了实验基础。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务