MiniSat 2.2.0发行说明===============================自2.0版以来的更改:*开始使用更标准的版本编号。*包括一些现在著名的启发式:相位节省和路比重新启动。旧的启发式仍然存在,可以激活如果需要。*内存不足和矢量容量的检测/处理溢出。这是一个相当新的、相对未经测试的问题。*简单的资源控制:CPU时间、内存、数量冲突/决策。*CPU时间限制由一个更通用但简单的,异步中断功能。这意味着解决过程可以从另一个线程或在信号中中断处理程序。*改进了在Solaris和上构建时的可移植性Visual Studio。这不是定期测试,很可能这已经被打破了,但如果所以。*将C++文件扩展名更改为问题较少的“.cc”。*源代码现在受命名空间保护*引入一个新的子句内存分配器,减少了64位体系结构的内存消耗及其改进性能(在某种程度上)。分配器使用基于区域的方法是所有对子句的引用都表示为32位索引到包含所有子句的全局内存区域。收件人释放和压缩内存它使用简单的复制垃圾收藏家。*通过阻塞文字改进单位传播。对于中的每个条目观察程序列出,将指向子句的指针与一些(任意)从句的字面意思。想法是,如果文字当前为true(即满足子句)条款的观察者无需更改。这样可以在完全不接触子句的内存的情况下被检测到。经常可以廉价地完成文本“p”的观察者列表被设置为另一个被观察的文本在相应的条款中。*基本命令行/选项处理系统。便于指定它们影响的类中的选项,以及该类在可执行文件中使用,选项和帮助消息的解析是自动引入。*一般清理和各种小错误修复。*可变限制/模型扩展的变更实施:-界面已更改,因此不再进行任意记忆可能。如果您以后需要再次提及某些变量,必须冻结此变量。-删除变量时,仅包含该变量的子句有一个标志是必要的。从而做出另一个标志扩展模型时的“默认”值。-消除子句的内存消耗进一步提高通过将所有删除的子句存储在单个连续向量中。*一些常见的实用程序代码(I/O、解析、CPU时间等)被删除输出并放置在单独的“utils”目录中。*DIMACS解析被重构,以便可以在其他应用程序(不是很优雅,但至少是可能的)。*对预处理可伸缩性的一些简单改进,使用从数据结构中删除更懒惰的子句,以及特殊限制(变量中可以产生的最长子句消除,以及反向包含中使用的最长子句)。