查看更多>>摘要:最大可满足性问题(Maximum Satisfiability Problem,MaxSAT)是著名的可满足性问题(Satisfiability Problem,SAT)的优化形式,也是一个经典的NP难组合优化问题.加权偏MaxSAT(Weighted Partial MaxSAT,WPMS)是最一般的一类MaxSAT问题,其中包含了必须要满足的硬子句,对应了优化问题中的约束条件,以及带权重的软子句,对应了优化问题中的优化目标.WPMS旨在满足所有硬子句的同时最大化被满足软子句的权重之和.工业场景中和学术领域中的许多优化问题都能够转化成WPMS问题进行求解,因此WPMS具有广泛的应用领域和重要的研究意义.局部搜索方法是求解WPMS问题的一种著名且被广泛研究的非完备方法.子句加权技术是WPMS局部搜索算法中常用的一种有效且关键的技术,通过为子句赋予动态权重并在搜索过程中更新它们以引导搜索方向,帮助算法逃离局部最优.最先进的WPMS局部搜索算法都提出或采用了有效的子句加权技术,以帮助它们在不同的解空间中搜索.然而,现有的子句加权技术仅根据当前局部最优解更新子句动态权重,而未考虑任何历史信息,可能导致子句加权的视野局限,对搜索方向的引导不够准确.为了解决这一问题,提出了一种新的子句加权技术,称为Hist-Weighting(Clause Weighting with Historical Information),同时考虑了当前及历史信息来更新子句的动态权重,以改进子句加权机制和局部搜索算法的搜索精度和效率.具体而言,Hist-Weighting为那些同时被当前和历史局部最优解所不满足的子句赋予更大的动态权重增量,使算法更倾向于满足那些久未被满足且难以被满足的子句,提高子句加权的准确度.此外,在Hist-Weighting中,子句动态权重的增量能够根据子句中的变元得分自适应地调整,使子句加权更具有灵活性.Hist-Weighting还为子句动态权重的增量设置了上下限,保证了子句加权的稳定性.为了评估所提出的Hist-Weighting子句加权技术的性能,将其应用于三种最先进的WPMS局部搜索算法,即BandMaxSAT、SATLike3.0和CCEHC.在近五届 MaxSAT国际算法竞赛 MaxSAT Evaluation非完备组的所有WPMS算例上的实验结果表明,应用Hist-Weighting技术的改进算法相比于原算法在获胜算例数上能够提升约10%至60%,体现了所提出的Hist-Weighting子句加权技术在求解WPMS问题时的有效性.此外,通过将应用了 Hist-Weighting的改进局部搜索算法与其变体算法对比以进行消融实验,表明了 Hist-Weighting中限制动态权重增量上下限,以及使动态权重增量根据变元得分自适应调整的机制的有效性.