[论文解读] A Multicore Tool for Constraint Solving
sunny-cp2 是首个针对约束满足问题(CSP)和约束优化问题(COP)的动态、并行且协作的多核组合求解器,通过广义的 SUNNY 算法实现运行时动态调度求解器。它通过实时动态分配核心并共享边界信息,在求解器之间实现协同,显著优于单个求解器以及理论上的最优解 oracle(VBS),尤其在 COP 问题上表现突出。
*** To appear in IJCAI 2015 proceedings *** In Constraint Programming (CP), a portfolio solver uses a variety of different solvers for solving a given Constraint Satisfaction / Optimization Problem. In this paper we introduce sunny-cp2: the first parallel CP portfolio solver that enables a dynamic, cooperative, and simultaneous execution of its solvers in a multicore setting. It incorporates state-of-the-art solvers, providing also a usable and configurable framework. Empirical results are very promising. sunny-cp2 can even outperform the performance of the oracle solver which always selects the best solver of the portfolio for a given problem.
研究动机与目标
- 为了解决约束编程(CP)领域中缺乏针对优化问题的动态、并行且协作的组合求解器的问题。
- 通过自适应调度,在多核架构上实现高效、实时的求解器选择与执行。
- 提供一个可用且可配置的框架,集成最先进的 CP 求解器,以支持 CSP 和 COP 实例。
- 在 COP 问题上超越静态组合求解方法的性能,甚至超越理论上的 VBS(虚拟最优求解器)性能。
提出的方法
- 将 SUNNY 算法推广至多核执行环境,使用 k-最近邻(k-NN)算法识别与问题 p 相似的训练实例。
- 应用三种启发式策略:h_sel(求解器选择)、h_all(运行时间分配与求解器有效性成比例)和 h_sch(按预期速度排序)以实现动态调度。
- 采用动态、在线调度策略,根据问题特征和可用核心数自适应调整,与静态组合方法形成对比。
- 通过可配置的重启机制,使求解器在 COP 问题上能够共享当前已知的最佳边界,实现协作执行。
- 将最先进的求解器(如 Chuffed、G12/Gurobi、HaifaCSP)集成到统一、可扩展的 MiniZinc 框架中。
- 采用可配置的模块化架构,支持参数调优,并可扩展支持新求解器与并行化策略。
实验结果
研究问题
- RQ1动态多核组合求解器是否能在 CSP 和 COP 实例上均超越静态组合求解器以及 VBS 优化器?
- RQ2在并行求解器之间协作共享边界信息,在提升优化性能方面效果如何?
- RQ3统一框架能否高效管理多样化、最先进的 CP 求解器,实现并行、协作且在线调度?
- RQ4基于问题相似性的动态求解器选择策略,相较于固定或顺序策略,在多大程度上提升了性能?
- RQ5在大规模异构基准测试集上,sunny-cp2 在不同核心数(c=1,2,4,8)下的可扩展性如何?
主要发现
- sunny-cp2 的性能非常接近甚至在某些情况下优于虚拟最优求解器(VBS),后者可在事后为每个问题选择最优求解器。
- 在 COP 问题上,sunny-cp2 在 c=1,2,4,8 个核心下,持续优于静态并行组合求解器 VPS_c(即前 c 个最优求解器的静态并行组合)。
- 在约 5,000 个 COP 实例的基准测试中,sunny-cp2 显著优于所有独立的组件求解器及其前代版本 sunny-cp。
- 动态在线调度策略实现了比静态或顺序方法更优的负载均衡与更快的收敛速度。
- COP 问题中的协作重启机制提升了边界传播效率,显著减少了整体求解时间。
- sunny-cp2 在多种问题类型上展现出强大的可扩展性与鲁棒性,验证了其框架作为手工调优求解器的可行替代方案。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。