线性整数不等式求解与并发程序原子性违规元分析
1. 线性整数不等式求解方法
在求解线性整数不等式时,有多种方法可供选择,每种方法都有其优缺点。
- Gomory切割平面法 :该方法通过在最终的单纯形表中添加不等式来寻找整数解。然而,它通常会添加大量的切割,而其中只有少数对获得整数解有帮助。
- 分支切割法 :结合了分支限界法和切割平面法的变体,已被证明更为成功,许多先进的SMT求解器都采用了这种方法。不过,有一种名为“Cuts - from - Proofs”的新算法在性能上显著优于分支切割法的主流实现。
- Omega测试法 :是对Fourier - Motzkin变量消除法的整数扩展。但该方法即使在中等规模的输入下也可能消耗大量内存,在实际应用中的性能不如基于单纯形的技术。
- 基于有限自动机理论的方法 :虽然该方法是完备的,但性能明显不如上述其他技术,目前也没有基于此方法且正在积极开发的工具。
- Hermite标准型 :在数论中是一个研究充分的主题,存在高效的多项式时间算法来计算Hermite标准型。它在求解线性丢番图方程组以及计算线性丢番图等式和不等式系统的插值方面有应用。
以下是这些方法的对比表格:
| 方法 | 优点 | 缺点 |
| ---- | ---- | ---- |
| Gomory切割平面法 | - | 添加切割数量多,有用切割少 |
| 分支切割法 | 较为成功,被许多SMT求解器采用 | - |
超级会员免费看
订阅专栏 解锁全文
814

被折叠的 条评论
为什么被折叠?



