| 概述 | 组 | 树 | 图形 | 不推荐 | 索引 | 概念 |
序列约束将函数 "IlcDistribute创建的多个约束组合成一个约束,以便更有效地减少约束变量的域。
参数 "nbMin表示允许的最小值,"nbMax表示允许的最大值。 参数 "seqWidth表示序列中元素的个数。 参数 "cards表示一个心形数组(即出现的次数)。
在此函数创建的新约束中,数组 "cards中的约束变量将等于数组 "vars中出现的数组 "values中的值的个数,这样,对于每个序列 "seqWidth(一个数字)的连续约束变量 "vars,至少有 "nbMin,最多有 "nbMax的值 "values被分配给该序列的一个约束变量。
cards和 "values数组的长度必须相同,否则 CP 优化器将抛出异常("IloException实例)。 但要注意的是,数组 "vars可以包含与数组 "values不同的值。
如果没有明确说明过滤级别,CP 优化器将对该约束使用默认过滤级别。 The optional argument level can take values of the enumeration IlcFilterLevel. 其最低值为 "IlcBasic。 传播过程中域的缩小量取决于该值。 The value IlcExtended causes more domain reduction than does IlcBasic; it also takes longer to run. 请参阅 "IlcFilterLevel,了解过滤器级别及其对约束传播的影响。
另请参阅: