#求解器 #SAT求解器 #多目标 #MaxSAT

bin+lib scuttle

多目标MaxSAT求解器

4个版本 (2个破坏性更新)

0.3.1 2024年8月7日
0.3.0 2024年2月23日
0.2.0 2023年9月5日
0.1.0 2023年7月12日

#504 in 数学

Download history 122/week @ 2024-08-05

每月下载量 122次

MIT 许可证

1MB
6.5K SLoC

Scuttle - Rust中的多目标MaxSAT求解器

Scuttle是一个用Rust编写的多目标MaxSAT求解器,基于RustSAT库和CaDiCaL SAT求解器。

出版物

这个求解器被用于我们CP'23论文中的多目标优化预处理[5]和我们的CPAIOR'24论文中的核心增强[6]。CP'23论文的附加材料可以在这里找到,而CPAIOR'24论文的材料可以在本仓库的cpaior24/目录中找到。

算法

第一个参数 描述
p-minimal 如[1]和[2]中描述的P-Minimal模型枚举
lower-bounding 如[3]中描述的下界搜索(在那里称为"core-guiding")
bioptsat 如[4]中描述的BiOptSat算法的Sat-Unsat变体

构建

如果您只需要求解器的二进制文件,您可以通过运行cargo install scuttle --lockedcrates.io安装它。

要从源代码构建项目,您需要在本仓库相同的目录中克隆RustSATMaxPre-rs

workspace/
├── maxpre-rs/
├── rustsat/
└── scuttle/

然后您可以在workspace/scuttle/中运行cargo build来构建scuttle

名字的由来

据称 "scuttle" 是螃蟹群体的多个术语之一,这似乎很适合 Rust 中的 目标求解器。

参考文献

  • Soh Takehide 和 Banbara Mutsunori 和 Tamura Naoyuki 和 Le Berre Daniel:使用命题最小模型生成解决多目标离散优化问题,CP 2017。
  • Koshimura Miyuki 和 Nabeshima Hidetomo 和 Fujita Hiroshi 和 Hasegawa Ryuzo:关于原子集的最小模型生成,FTP 2009。
  • 若昂·科尔特斯和伊内斯·林塞以及瓦斯科·M·马库尼奥:多目标组合优化的新核心引导和打击集算法,TACAS 2023。
  • 克里斯托夫·雅布斯和耶雷米亚斯·博尔和安德烈亚斯·尼斯科南和马蒂·雅维斯洛:基于MaxSAT的双目标布尔优化,SAT 2022。
  • 克里斯托夫·雅布斯和耶雷米亚斯·博尔和汉内斯·伊哈拉伊宁和马蒂·雅维斯洛:基于SAT的多目标组合优化的预处理,CP 2023。
  • 克里斯托夫·雅布斯和耶雷米亚斯·博尔和马蒂·雅维斯洛:基于SAT的多目标优化的核心增强,CPAIOR 2024。

依赖关系

约5-15MB
约125K SLoC