序列约束编码与最大可满足性问题的研究与实验
在许多实际问题中,如排班、调度和汽车排序等,序列约束(SEQUENCE Constraint)有着广泛的应用。同时,最大可满足性问题(Max - SAT)也是一个重要的优化问题,在多个领域有实际意义。下面将详细介绍相关的研究内容和实验结果。
序列约束编码
对于多个序列约束的合取,提出了一种名为MR的编码方法来强制实现域一致性。假设第j个序列约束为SEQUENCE(lj, uj, kj, [X1, …, Xn], vj),且被计数的值是不相交的。通过引入新的变量序列Yi,若Xi ∈ vj 则Yi = j,否则Yi = 0。接着构建一个自动机,其状态记录最后k′ - 1个使用的值(k′是最大的kj),自动机的转换确保所有序列约束都得到满足。利用REGULAR约束,可在O(nmk′−1)时间内强制实现域一致性。
实验结果
为了比较不同编码的性能,进行了一系列实验,包括随机实例、护士排班问题、汽车排序问题以及多序列约束问题。
随机实例
针对不同的n(50、200、500)、k(7、15、25、50)和Δ(u - l,取值为1和5)组合,生成了随机实例。实例可分为两组:
- 第一组 :n > 50且Δ < 3。在这类实例中,一个变量的赋值会对其他变量产生强烈影响。例如,当Δ = 0时,一个变量的实例化平均会确定另外n/k个变量。从表1可以看出,域一致性(DC)传播器的性能优于非DC传播器。令人惊讶的是,CS在所有组合中时间表现最佳,且解决了所有实例。虽然与无需搜索就能解决问题的DC传播器相比,CS需要更多回溯,但速度要快
超级会员免费看
订阅专栏 解锁全文
2468

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



