公共接口IloPropagator 扩展IloConstraint
IloPropagator接口提供了一种定义自定义约束的简单方法,即通过创建自己的 "IloCustomConstraint子类来定义传播规则。
编写自定义约束条件通常有两个原因。 其一是 CP 优化器不具备表达约束所需的建模功能,而且 "allowedAssignments的效率不高(例如,所需的元组数量过多)。 第二个原因是,我们有机会进行比 CP 通常更强的推论(传播)。 例如,同一个表达式在一个约束条件的多个地方使用,就会出现这种情况。
对传播器内部变量的所有修改都会被缓冲。 这意味着您对变量域做出的更改在传播器内不可视,但是将被记录并且在传播器退出时应用。 如果代码在修改变量后检查变量的域,则需要注意这一点。
| 修饰符和类型 | 方法和说明 |
|---|---|
void |
execute()在定义一个实现了 "
IloPropagator接口的类以创建自己的自定义约束时,您需要定义执行函数。 |
getName, setName