边界一致偏差约束与建设性区间析取算法解析
边界一致偏差约束
在约束编程中,边界一致偏差约束是一个重要的概念,它用于确保一组变量的赋值围绕给定的均值保持平衡。下面我们将详细介绍其相关内容。
1. 基本概念与示例
首先来看一个具体的示例,给定如下数据:
| i | 1 | 2 | 3 | 4 |
| — | — | — | — | — |
| Xmax i | 10 | 5 | 6 | 2 |
| Xmin i | 3 | 4 | 3 | 0 |
| n · Xmax i | 40 | 20 | 24 | 8 |
| n · Xmin i | 12 | 16 | 12 | 0 |
这里的和约束为 s = 17,由此可得 s↓ = 16 和 s↑ = 20。赋值 m1 = (20, 20, 20, 8) 的偏差为 18,且 o1 = 2(由于第二和第三个条目)。
2. 最小偏差演变计算
当 mi[i] 增加 n 时,偏差的演变有以下几种情况:
- mi[i] < s↓:偏差不再增加。
- mi[i] = s↓:第一次 m[i] 增加 n 时,偏差先增加 n - (s - s↓) + (s↑ - s),之后每次 mi[i] 增加 n,偏差增加 2 · n。
- mi[i] ≥ s↑:在 oi 步内,每增加 n,偏差增加 2 · (s - s↓),之后每次 mi[i] 增加 n,偏差增加 2 · n。
为了预测偏差的演变,只需要知道条目 mi[i] 和计数器 oi。为了简化表示,我们用 m[i] 表示条目 m
超级会员免费看
订阅专栏 解锁全文
924

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



