约束编程中的偏差约束与构造性区间析取技术
在约束编程领域,偏差约束和构造性区间析取是两个重要的概念,它们在解决各种实际问题中发挥着关键作用。下面将详细介绍偏差约束的计算、实验结果,以及构造性区间析取的原理和优势。
1. 偏差约束的计算
偏差约束旨在确保一组变量的赋值围绕给定均值保持平衡,它约束变量集呈现给定均值以及相对于该均值的偏差。
1.1 最小偏差的演变计算
对于每个变量,最小偏差的演变情况取决于特定赋值 $m_i$ 。当 $m_i[i]$ 增加 $n$ 时,偏差的演变有以下几种情况:
- 若 $m_i[i] < s↓$ ,偏差不再增加。
- 若 $m_i[i] = s↓$ ,$m[i]$ 首次增加 $n$ 时,偏差增加 $n - (s - s↓) + (s↑ - s)$ ;之后每次 $m_i[i]$ 增加 $n$ ,偏差增加 $2 · n$ 。
- 若 $m_i[i] ≥ s↑$ ,在 $o_i$ 步内,每增加 $n$ ,偏差增加 $2 · (s - s↓)$ ;之后每次 $m_i[i]$ 增加 $n$ ,偏差增加 $2 · n$ 。
预测偏差演变所需的唯一必要信息是 $m_i[i]$ 和计数器 $o_i$ 。为简化表示,用 $m[i]$ 表示 $m_i[i]$ ,用 $o[i]$ 表示 $o_i$ 。以下是计算 $m$ 和 $o$ 的算法:
Algorithm 1. Compute m and o
Data: X and s such that s ∈[∑n i=1 Xmin i, ∑n i=1 Xmax
超级会员免费看
订阅专栏 解锁全文
1370

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



