five

DCP-Bench-Open

收藏
github2025-12-08 更新2025-12-26 收录
下载链接:
https://github.com/DCP-Bench/DCP-Bench-Open
下载链接
链接失效反馈
官方服务:
资源简介:
DCP-Bench-Open是一个离散组合问题的协作基准,仅涉及整数和布尔决策变量。许多问题表述来自约束编程(CP)社区,以及整数编程社区(无连续变量)、伪布尔和可满足性社区。该基准有两个主要目标:1. 提供一个离散组合优化和满足问题的集中存储库,包括清晰的自然语言描述、相应的数据实例和真实约束模型;2. 作为一个评估框架,用于评估生成AI系统(如LLMs)从自然语言描述生成可执行约束模型的能力。

DCP-Bench-Open is a collaborative benchmark for discrete combinatorial problems, involving solely integer and boolean decision variables. A large number of its problem formulations are sourced from the Constraint Programming (CP) community, as well as the integer programming community (excluding continuous variables), pseudo-boolean, and satisfiability communities. This benchmark has two primary objectives: 1. To provide a centralized repository of discrete combinatorial optimization and satisfiability problems, including clear natural language descriptions, corresponding data instances, and ground-truth constraint models; 2. To serve as an evaluation framework for assessing the capability of generative AI systems (e.g., Large Language Models/LLMs) to generate executable constraint models from natural language descriptions.
创建时间:
2025-12-08
原始信息汇总

DCP-Bench-Open 数据集概述

数据集简介

DCP-Bench-Open 是一个离散组合问题的协作基准测试集,仅涉及整数和布尔决策变量。许多问题表述来自约束规划(CP)社区,以及整数规划社区(无连续变量)、伪布尔和可满足性社区。

主要目标

  1. 提供一个离散组合优化和满足问题的集中存储库,包括清晰的自然语言描述、相应的数据实例和真实约束模型。
  2. 作为一个评估框架,用于评估生成式人工智能系统(例如大语言模型)从自然语言描述生成可执行约束模型的能力。

数据集内容与结构

  • 真实模型目前使用 CPMpy 库。
  • 评估框架目前可以评估 CPMpy、MiniZinc 或 Or-Tools CP-SAT 中生成的模型,并且可以轻松添加更多框架。
  • 该基准测试是一个开源项目,欢迎感兴趣的开发者添加新问题、数据实例和评估工具。
  • 为了可重复性,研究中请始终使用特定的“发布”版本。
  • 该项目最初是 ECAI 2025 上发布的原始 CP-Bench 的扩展。

获取方式

1. 推荐:从发布版本下载

这是获取稳定、版本化数据集副本及所有相应评估脚本的最佳方式。

  1. 访问项目的 GitHub Releases 页面:https://github.com/kostis-init/CP-Bench-Colab/releases。
  2. 从最新版本中,下载 dcp-bench-open.jsonl 文件(如果需要更多文件,例如评估脚本等,则同时下载 Source code 存档)。

2. 从源代码生成

如果想使用问题的最新(未发布)版本,可以自行生成数据集文件。

  1. 克隆代码库。
  2. 运行 python jsonl_convert.py 以创建 dcp-bench-open.jsonl

存储库结构

dataset/ 目录包含基准测试的源问题。每个问题由两个文件组成:

  • <problem_name>/<problem_name>.cpmpy.py:一个 Python 脚本,包含自然语言问题描述、一个示例实例和一个真实的 CPMpy 模型。
  • <problem_name>/<problem_name>.json:一个 JSON 文件,包含该问题的一个或多个实例,与 Python 脚本兼容。

评估框架

使用评估框架需要 Python 3.12 和 requirements.txt 中列出的库。

验证问题一致性

self_consistency.py 脚本确保每个问题的 .py 文件中提供的示例解决方案是有效的且能正确执行。其工作原理是将生成的解决方案添加为约束并重新求解模型。 要检查所有问题,请运行: bash python self_consistency.py

生成包含所有问题的 JSONL 文件

要生成包含 dataset/ 目录中所有问题的新 JSONL 文件,可以使用 jsonl_convert.py 脚本: bash python jsonl_convert.py

解决方案准确性的自动评估

该数据集主要用于评估从自然语言生成约束模型的系统。如果生成的模型为给定实例产生有效解决方案,则被视为正确。这可以通过检查解决方案是否满足数据集中提供的真实模型的约束来验证。对于优化问题,目标值也必须匹配。 eval.py 脚本可用于自动化此评估过程,前提是存在一个包含生成模型的文件。例如,如果有包含生成模型的文件 sample_test.jsonl,可以运行: bash python eval.py --dataset_file dcp-bench-open.jsonl --test_file sample_test.jsonl --modelling_framework CPMpy

其中,--dataset_file 指定基准测试 jsonl 版本的路径,--test_file 指定包含生成模型的文件的路径,--modelling_framework 指示生成模型中使用的建模框架。

创建待评估模型的测试文件

关于测试文件,每一行应是一个包含两个键的 JSON 对象:idmodel

  • id:问题的 ID,与数据集中出现的完全一致(例如 csplib_001_car_sequencing)。
  • model:为该问题生成的模型(作为表示可运行代码的字符串)。确保最终将解决方案输出为 json,其键如 decision_variables 条目中所述,值为问题中预期的值。这也是评估的一部分:意外的键或值类型被视为不正确。这是因为我们的自动评估基于提交模型打印的解决方案。 本代码库中提供了一个仅包含 5 个生成模型的示例测试文件以供参考:https://github.com/DCP-Bench/DCP-Bench-Open/blob/main/sample_test.jsonl。 目前,评估假设使用每个(多实例)问题的第一个实例。

基准设计

  • 可满足问题: 所有问题都设计为至少有一个可行解。对于多实例问题,至少第一个实例保证是可满足的,其余实例不保证能在短时间内求解,有关运行时间的信息目前不是数据集的一部分。
  • 人类可读的描述: 问题描述力求清晰且最好是非技术性的。
  • 清晰的输出格式: 明确指定每个问题所需的输出格式,以方便自动评估解决方案的准确性。

引用方式

请按如下方式引用我们的工作: bibtex @dataset{dcpbenchopen, author = {Michailidis, K. and Tsouros, D. and Guns, T.}, title = {DCP-Bench-Open}, year = {2025}, publisher = {Zenodo}, doi = {10.5281/zenodo.17800138}, url = {https://doi.org/10.5281/zenodo.17800138} }

或(APA 格式):

Michailidis, K., Tsouros, D., & Guns, T. (2025). DCP-Bench-Open [Data set]. Zenodo. https://doi.org/10.5281/zenodo.17800138

搜集汇总
数据集介绍
main_image_url
构建方式
在离散组合优化领域,数据集的构建往往需要严谨的数学形式化与实例生成。DCP-Bench-Open的构建过程依托于约束编程与整数规划社区积累的经典问题,每个问题均以自然语言描述、样本实例及基于CPMpy库的基准约束模型为核心要素。数据集通过结构化的目录组织,每个问题独立存放包含描述与模型的Python脚本及存储多个实例的JSON文件,确保了问题定义的清晰性与实例数据的可扩展性。这种模块化设计不仅便于贡献者新增问题与实例,也为生成模型的自动化评估奠定了坚实基础。
特点
该数据集聚焦于仅含整数与布尔决策变量的离散组合问题,其显著特点在于集成了来自约束编程、整数规划、伪布尔及可满足性等多个社区的经典问题表述。所有问题均被设计为至少存在一个可行解,且首实例保证可满足,从而为评估生成式AI系统从自然语言描述生成可执行约束模型的能力提供了稳定基准。问题描述力求清晰与非技术性,同时明确定义了解决方案的输出格式,支持以CPMpy、MiniZinc或Or-Tools CP-SAT等多种建模框架进行自动化评估,体现了其在跨社区协作与可复现性方面的突出优势。
使用方法
使用该数据集时,研究者可通过下载特定版本发布的JSONL文件获取稳定基准,或克隆仓库并运行转换脚本以生成最新数据。数据集的核心应用在于评估生成模型:用户需准备包含问题ID与生成模型代码的测试文件,并利用配套的评估脚本验证模型在给定实例上的求解正确性。评估过程自动检查生成模型输出的解决方案是否满足基准模型的约束条件,对于优化问题还需比对目标值。通过指定建模框架参数,评估框架可灵活适配不同工具链,为系统性测评生成式AI在形式化建模任务上的性能提供了标准化流程。
背景与挑战
背景概述
离散组合优化问题作为运筹学与人工智能交叉领域的核心议题,长期面临着模型构建与求解效率的双重考验。DCP-Bench-Open数据集由K. Michailidis、D. Tsouros与T. Guns等研究人员于2025年共同创建,其前身可追溯至ECAI 2025会议上发布的CP-Bench基准。该数据集旨在构建一个集中化的离散组合优化与满足性问题仓库,涵盖约束规划、整数规划、伪布尔及可满足性等多个社区的问题形式化表达。通过提供清晰的自然语言描述、对应数据实例及真实约束模型,该数据集致力于推动生成式人工智能系统在从自然语言生成可执行约束模型方面的能力评估,为自动化建模研究提供了标准化测试平台。
当前挑战
在离散组合优化领域,传统方法往往受限于问题建模的专业门槛与求解器的泛化能力,如何将非结构化自然语言描述准确转化为形式化约束模型成为关键挑战。DCP-Bench-Open针对这一核心问题,要求生成模型不仅需理解复杂逻辑关系,还需保证输出模型在多种求解框架下的可执行性与解的正确性。数据集构建过程中,研究者需确保每个问题至少存在一个可行解,并维持多实例问题中首实例的可满足性,同时平衡问题描述的通俗性与技术严谨性。此外,跨社区问题格式的统一、自动化评估流程的设计以及模型输出结构的标准化,均构成了数据集构建中的实质性难点。
常用场景
经典使用场景
在离散组合优化领域,DCP-Bench-Open数据集为评估生成式人工智能系统提供了标准化基准。其经典使用场景聚焦于测试大型语言模型从自然语言描述中自动生成可执行约束模型的能力,通过提供清晰的问题描述、数据实例及真实约束模型,研究者能够系统性地衡量模型在形式化建模任务上的准确性与泛化性能。
实际应用
在实际应用层面,DCP-Bench-Open能够支持工业调度、资源分配与逻辑推理等场景的自动化建模工具开发。例如在生产线排序、课程安排或电路设计等离散优化问题中,该数据集可帮助构建能够理解自然语言需求并自动生成优化模型的智能系统,从而降低领域专家直接编写约束模型的技术门槛。
衍生相关工作
该数据集衍生的经典工作包括对CP-Bench基准的扩展与重构,推动了基于CPMpy、MiniZinc及Or-Tools等多框架的评估工具链发展。相关研究进一步探索了语言模型在组合问题建模中的语义理解能力,并催生了针对特定问题类别(如车辆路径、排班问题)的专用评估子集,为约束编程与AI的交叉领域注入了新的方法论活力。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作