Skip to main content
QUICK REVIEW

[论文解读] ACE, a generic constraint solver

Christophe Lecoutre|arXiv (Cornell University)|Jan 6, 2023
Constraint Satisfaction and Optimization被引用 4
一句话总结

ACE 是一个基于 Java 的开源约束求解器,专为整数和布尔变量设计,支持最先进的表格约束、全局约束以及通过 XCSP 3 格式实现的单目标优化。它采用高效的过滤算法(如 VA、STR 和 CT)处理表格约束,集成先进的搜索启发式方法(例如 Wdeg、WdegOnDom),并通过分支定界和二分策略支持优化,适用于调度、生物信息学和数据挖掘等复杂组合问题的求解。

ABSTRACT

Constraint Programming (CP) is a useful technology for modeling and solving combinatorial constrained problems. On the one hand, on can use a library like PyCSP3 for easily modeling problems arising in various application fields (e.g., scheduling, planning, data-mining, cryptography, bio-informatics, organic chemistry, etc.). Problem instances can then be directly generated from specific models and data. On the other hand, for solving instances (notably, represented in XCSP3 format), one can use a constraint solver like ACE, which is presented in this paper. ACE is an open-source constraint solver, developed in Java, which focuses on integer variables (including 0/1-Boolean variables), state-of-the-art table constraints, popular global constraints, search heuristics and (mono-criterion) optimization.

研究动机与目标

  • 开发一个轻量级、可维护且高效的约束求解器,专为整数和布尔变量量身定制。
  • 在标准化接口中支持最先进的表格约束和全局约束的过滤技术。
  • 为约束满足与优化问题中的搜索启发式和优化策略提供可扩展、模块化的支持。
  • 确保与 XCSP 3 标准的兼容性,以实现与 PyCSP 3 等建模工具的互操作性。
  • 有效求解调度、数据挖掘和生物信息学等领域的实际组合问题。

提出的方法

  • ACE 采用模块化架构,包含 13 个核心包,将变量、约束、搜索和优化等职责分离。
  • 整数和符号变量使用基于数组和位向量的有序双向链表表示,以保持域的有序性。
  • 表格约束通过专用传播器进行过滤:有效允许(VA)、简单表格归约(STR)和紧凑表格(CT),包括星号和混合变体。
  • 通过基于原语的过滤和通用过滤方案(G)AC3 rm 处理内插约束,适用于较少见的形式。
  • 通过高效的传播算法原生支持全局约束,如 AllDifferent、Cumulative 和 Count。
  • 搜索由可扩展的启发式方法引导:变量选择(如 Dom、WdegOnDom)和值选择(如 Rand、Bivs),可通过选项如 -wt 配置变体。
ACE, a generic constraint solver

实验结果

研究问题

  • RQ1如何设计一个既轻量又高效的约束求解器,同时支持现代约束特性?
  • RQ2在通用求解器中,哪些过滤算法对表格约束的性能最佳?
  • RQ3不同的搜索启发式方法如何影响组合优化问题求解的效率?
  • RQ4模块化、开源的约束求解器能否有效支持单目标优化并集成 XCSP 3?
  • RQ5无解记录(nogood)和不一致部分状态(IPS)推理在提升搜索性能中起到什么作用?

主要发现

  • ACE 支持 XCSP 3 -core 中定义的所有核心约束,包括 AllDifferent、Cumulative 和 Count,并具备高效的传播机制。
  • 求解器实现了先进的搜索启发式方法,如 Wdeg 和 WdegOnDom,包含多种变体(VAR、UNIT、CACD、CHS),默认选择 CACD。
  • 表格约束通过 VA、STR 和 CT 传播器高效过滤,支持星号和混合表格表示形式。
  • 通过三种策略支持优化:递减边界更新(分支定界)、递增边界更新(渐进提升)和二分搜索。
  • 通过 NogoodReasoner 和 IpsReasoner 实现无解记录和不一致部分状态推理,支持从重启中学习以提升搜索效率。
  • ACE 兼容 PyCSP 3 和 XCSP 3,支持端到端的建模与求解流程,适用于实际应用场景。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。