| 概述 | 组 | 树 | 图形 | 不推荐 | 索引 | 概念 |

该类的实例是 CP 优化引擎中的一个受限区间变量。 通过使用成员函数 "IlcIntervalVar IloCPEngine::getInterval(const
IloIntervalVar) const,可以从 Concert Technology 的 "IloIntervalVar实例中获取 "IlcIntervalVar实例。
该类的成员函数允许访问优化引擎区间变量的域。 区间变量的域由开始、结束、长度和大小的域以及存在的布尔范围组成。 成员函数允许访问 delta 域和事件,以实现约束传播。 这些成员功能只能在优化引擎搜索过程中使用。
有关区间变量和用于调度的搜索 API 的更多信息,请参阅CP Optimizer 中用于调度的搜索 API 概念。
另请参阅:
| 方法概要 | |
|---|---|
public IlcCPEngine | getCPEngine() const |
public IlcInt | getEndMax() const |
public IlcInt | getEndMin() const |
public IlcInt | getLengthMax() const |
public IlcInt | getLengthMin() const |
public IlcInt | getOldEndMax() const |
public IlcInt | getOldEndMin() const |
public IlcInt | getOldLengthMax() const |
public IlcInt | getOldLengthMin() const |
public IlcInt | getOldSizeMax() const |
public IlcInt | getOldSizeMin() const |
public IlcInt | getOldStartMax() const |
public IlcInt | getOldStartMin() const |
public IlcInt | getSizeMax() const |
public IlcInt | getSizeMin() const |
public IlcInt | getStartMax() const |
public IlcInt | getStartMin() const |
public IlcBool | hasDeltaInterval() const |
public IlcBool | hasDeltaPresence() const |
public IlcBool | hasDeltaSize() const |
public IlcBool | isAbsent() const |
public IlcBool | isFixed() const |
public IlcBool | isOldAbsent() const |
public IlcBool | isOldPresent() const |
public IlcBool | isPresenceFixed() const |
public IlcBool | isPresent() const |
public IlcBool | isSizeFixed() const |
public void | setAbsent() const |
public void | setEnd(IlcInt value) const |
public void | setEndMax(IlcInt max) const |
public void | setEndMin(IlcInt min) const |
public void | setLength(IlcInt value) const |
public void | setLengthMax(IlcInt max) const |
public void | setLengthMin(IlcInt min) const |
public void | setPresent() const |
public void | setSize(IlcInt value) const |
public void | setSizeMax(IlcInt max) const |
public void | setSizeMin(IlcInt min) const |
public void | setStart(IlcInt value) const |
public void | setStartMax(IlcInt max) const |
public void | setStartMin(IlcInt min) const |
public void | whenIntervalDomain(const IlcDemon d) const |
public void | whenPresence(const IlcDemon d) const |
public void | whenSize(const IlcDemon d) const |
| 方法详细信息 |
|---|
This member function returns the instance of IlcCPEngine associated with the invoking instance of IlcIntervalVar.
此成员函数返回调用实例 "IlcIntervalVar的域末尾的当前最大值。 如果没有区间,该成员函数返回的值就没有意义。
此成员函数返回调用实例 "IlcIntervalVar末尾域的当前最小值。 如果没有区间,该成员函数返回的值就没有意义。
该成员函数返回调用实例 "IlcIntervalVar长度域的当前最大值。 如果没有区间,该成员函数返回的值就没有意义。
该成员函数返回调用实例 "IlcIntervalVar的长度域的当前最小值。 如果没有区间,该成员函数返回的值就没有意义。
该成员函数返回优化引擎传播算法最后一次处理该区间时,调用实例 "IlcIntervalVar末端域的最大值。 如果当时没有区间,则该成员函数返回的值没有意义。
该函数只能在传播函数中使用:即在执行 demon("IlcDemonI实例)或约束的虚拟成员 "propagate("IlcConstraintI实例)时使用。
该成员函数返回优化引擎的传播算法最后一次处理区间时,调用实例 "IlcIntervalVar末端域的最小值。 如果当时没有区间,则该成员函数返回的值没有意义。
该函数只能在传播函数中使用:即在执行 demon("IlcDemonI实例)或约束的虚拟成员 "propagate("IlcConstraintI实例)时使用。
该成员函数返回优化引擎的传播算法最后一次处理该时间间隔时,"IlcIntervalVar调用实例长度域的最大值。 如果当时没有区间,则该成员函数返回的值没有意义。
该函数只能在传播函数中使用:即在执行 demon("IlcDemonI实例)或约束的虚拟成员 "propagate("IlcConstraintI实例)时使用。
该成员函数返回优化引擎的传播算法最后一次处理时间间隔时,"IlcIntervalVar调用实例长度域的最小值。 如果当时没有区间,则该成员函数返回的值没有意义。
该函数只能在传播函数中使用:即在执行 demon("IlcDemonI实例)或约束的虚拟成员 "propagate("IlcConstraintI实例)时使用。
该成员函数返回优化引擎的传播算法最后一次处理该时间间隔时,"IlcIntervalVar调用实例的大小域的最大值。 如果当时没有区间,则该成员函数返回的值没有意义。
该函数只能在传播函数中使用:即在执行 demon("IlcDemonI实例)或约束的虚拟成员 "propagate("IlcConstraintI实例)时使用。
该成员函数返回优化引擎的传播算法最后一次处理该时间间隔时,"IlcIntervalVar调用实例的大小域的最小值。 如果当时没有区间,则该成员函数返回的值没有意义。
该函数只能在传播函数中使用:即在执行 demon("IlcDemonI的实例)或约束("IlcConstraintI的实例)的虚拟成员 "propagate时使用。
该成员函数返回优化引擎的传播算法最后一次处理时间间隔时,"IlcIntervalVar调用实例的起始域的最大值。 如果当时没有区间,则该成员函数返回的值没有意义。
该函数只能在传播函数中使用:即在执行 demon("IlcDemonI实例)或约束的虚拟成员 "propagate("IlcConstraintI实例)时使用。
该成员函数返回优化引擎的传播算法最后一次处理区间时,调用实例 "IlcIntervalVar的起始域的最小值。 如果当时没有区间,则该成员函数返回的值没有意义。
该函数只能在传播函数中使用:即在执行 demon("IlcDemonI的实例)或约束("IlcConstraintI的实例)的虚拟成员 "propagate时使用。
该成员函数返回调用的 "IlcIntervalVar实例大小域的当前最大值。 如果没有区间,该成员函数返回的值就没有意义。
该成员函数返回调用实例 "IlcIntervalVar的大小域的当前最小值。 如果没有区间,该成员函数返回的值就没有意义。
该成员函数返回调用实例 "IlcIntervalVar的起始域的当前最大值。 如果没有区间,该成员函数返回的值就没有意义。
该成员函数返回调用实例 "IlcIntervalVar的起始域的当前最小值。 如果没有区间,该成员函数返回的值就没有意义。
如果 "IlcIntervalVar调用实例的开始、结束或长度的整数范围自上次优化引擎的传播算法处理该区间以来发生了变化,则该成员函数返回 "IlcTrue。 否则,返回 "IlcFalse。
该函数只能在传播函数中使用:即在执行 demon("IlcDemonI实例)或约束的虚拟成员 "propagate("IlcConstraintI实例)时使用。
IlcIntervalVar的实例可以不存在,但仍有一个 delta 间隔。如果调用 "IlcIntervalVar实例的存在值自上次优化引擎的传播算法处理时间间隔以来发生了变化,则该成员函数返回 "IlcTrue。 否则,返回 "IlcFalse。
该函数只能在传播函数中使用:即在执行 demon("IlcDemonI实例)或约束的虚拟成员 "propagate("IlcConstraintI实例)时使用。
IlcTrue,则调用实例 "IlcIntervalVar的存在是固定的。This member function returns IlcTrue if the integer range of the size of the invoking instance of IlcIntervalVar has changed since the last time the interval was processed by the propagation algorithm of the optimizer engine. 否则,返回 "IlcFalse。
该函数只能在传播函数中使用:即在执行 demon("IlcDemonI实例)或约束的虚拟成员 "propagate("IlcConstraintI实例)时使用。
IlcIntervalVar的实例可以不存在,但仍有 delta 大小。如果调用的 "IlcIntervalVar实例不存在,则该成员函数返回 "IlcTrue。 否则,返回 "IlcFalse。 请注意,缺席间隔是固定的。
This member function returns IlcTrue if the invoking instance of IlcIntervalVar is fixed, that is, if the interval is absent or present and the start and end (and implicitly the length and size) integer ranges of the invoking instance of IlcIntervalVar are fixed. 否则,返回 "IlcFalse。
如果 "IlcIntervalVar的调用实例在优化引擎的传播算法最后一次处理该区间时不存在,则该成员函数返回 "IlcTrue。
该函数只能在传播函数中使用:即在执行 demon("IlcDemonI实例)或约束的虚拟成员 "propagate("IlcConstraintI实例)时使用。
如果 "IlcIntervalVar的调用实例在优化引擎的传播算法最后一次处理时间间隔时存在,则该成员函数返回 "IlcTrue。
该函数只能在传播函数中使用:即在执行 demon("IlcDemonI实例)或约束的虚拟成员 "propagate("IlcConstraintI实例)时使用。
如果调用实例 "IlcIntervalVar的存在是固定的,即区间存在或不存在,则该成员函数返回 "IlcTrue。 否则,返回 "IlcFalse。
如果调用的 "IlcIntervalVar实例存在,则该成员函数返回 "IlcTrue。 否则,返回 "IlcFalse。
如果调用 "IlcIntervalVar实例的大小的整数范围固定或为空(空表示不存在区间),则该成员函数返回 "IlcTrue。 否则,返回 "IlcFalse。
如果调用的 "IlcIntervalVar实例尚未缺席,该成员函数会将其设置为缺席。 如果 "存在 "布尔范围变为空,例如区间存在,优化引擎就会提示失败。 否则,将创建一个存在域事件。 该成员函数的效果是可逆的。
此成员函数将调用实例 "IlcIntervalVar的末端范围值设置为整数参数 "value。 如果没有间隔,则不会发生变化(由于 CP 优化引擎的单调性)。 如果末端范围为空,区间将被设置为不存在。 否则,将创建一个区间域事件。 该成员函数的效果是可逆的。
该成员函数将调用实例 "IlcIntervalVar的末端范围最大值设置为整数参数 "max。 如果 "max大于终端范围的当前最大值,或者没有区间,则不会发生变化(这是优化引擎的单调性所致)。 如果末端范围为空,区间将被设置为不存在。 否则,将创建一个区间域事件。 该成员函数的效果是可逆的。
该成员函数将调用实例 "IlcIntervalVar的末端范围最小值设置为整数参数 "min。 如果 "min小于终端范围的当前最小值,或者没有区间,则不会发生变化(由于优化引擎的单调性)。 如果末端范围为空,区间将被设置为不存在。 否则,将创建一个区间域事件。 该成员函数的效果是可逆的。
该成员函数将调用实例 "IlcIntervalVar的长度范围值设置为整数参数 "value。 如果没有间隔,则不会发生变化(由于优化引擎的单调性)。 如果长度范围为空,区间将被设置为不存在。 否则,将创建一个区间域事件。 该成员函数的效果是可逆的。
该成员函数将调用实例 "IlcIntervalVar的最大长度范围设置为整数参数 "max。 如果 "max大于长度范围的当前最大值,或者没有区间,则不会发生任何变化(这是优化引擎的单调性决定的)。 如果长度范围为空,区间将被设置为不存在。 否则,将创建一个区间域事件。 该成员函数的效果是可逆的。
该成员函数将调用实例 "IlcIntervalVar长度范围的最小值设置为整数参数 "min。 如果 "min小于长度范围的当前最小值,或者没有区间,则不会发生变化(由于优化引擎的单调性)。 如果长度范围为空,区间将被设置为不存在。 否则,将创建一个区间域事件。 该成员函数的效果是可逆的。
如果调用的 "IlcIntervalVar实例尚未存在,该成员函数会将其设置为存在。 如果 "存在 "布尔值范围为空,例如区间不存在,优化引擎就会提示失败。 否则,将创建一个存在域事件。 该成员函数的效果是可逆的。
此成员函数将调用实例 "IlcIntervalVar的大小范围值设置为整数参数 "value。 如果没有间隔,则不会发生变化(由于优化引擎的单调性)。 如果大小范围为空,间隔将被设置为不存在。 否则,将创建大小域事件(如果长度和大小相等,则创建间隔域事件)。 该成员函数的效果是可逆的。
该成员函数将调用实例 "IlcIntervalVar的最大尺寸范围设置为整数参数 "max。 如果 "max大于大小范围的当前最大值,或者没有区间,则不会发生变化(这是优化引擎的单调性决定的)。 如果大小范围为空,间隔将被设置为不存在。 否则,将创建大小域事件(如果长度和大小相等,则创建间隔域事件)。 该成员函数的效果是可逆的。
该成员函数将调用实例 "IlcIntervalVar的大小范围最小值设置为整数参数 "min。 如果 "min小于大小范围的当前最小值,或者没有区间,则不会发生变化(这是优化引擎的单调性决定的)。 如果大小范围为空,间隔将被设置为不存在。 否则,将创建大小域事件(如果长度和大小相等,则创建间隔域事件)。 该成员函数的效果是可逆的。
此成员函数将调用实例 "IlcIntervalVar的起始范围值设置为整数参数 "value。 如果没有间隔,则不会发生变化(由于优化引擎的单调性)。 如果起始范围为空,间隔将被设置为无。 否则,将创建一个区间域事件。 该成员函数的效果是可逆的。
该成员函数将调用实例 "IlcIntervalVar的起始范围最大值设置为整数参数 "max。 如果 "max大于起始区间的当前最大值,或者没有区间,则不会发生变化(由于优化引擎的单调性)。 如果起始范围为空,间隔将被设置为无。 否则,将创建一个区间域事件。 该成员函数的效果是可逆的。
该成员函数将调用实例 "IlcIntervalVar的起始范围的最小值设置为整数参数 "min。 如果 "min小于起始区间的当前最小值,或者没有区间,则不会发生变化(这是优化引擎的单调性决定的)。 如果起始范围为空,间隔将被设置为无。 否则,将创建一个区间域事件。 该成员函数的效果是可逆的。
该成员函数将恶魔 "d与调用实例 "IlcIntervalVar上的区间域事件关联起来。 只要调用区间的起始、结束或长度整数范围缩小,恶魔就会被执行。
由于约束也是恶魔,因此约束也可以作为参数传递给该成员函数。 每当调用区间的开始、结束或长度整数范围缩小时,该约束就会传播。
该成员函数只能在张贴约束时使用。
该成员函数将恶魔 "d与调用实例 "IlcIntervalVar的存在域事件(当区间出现或不存在时)关联起来。 只要调用区间变量的存在被固定,恶魔就会被执行。
由于约束也是恶魔,因此约束也可以作为参数传递给该成员函数。 只要调用区间固定存在,约束就会传播。
该成员函数只能在张贴约束时使用。
该成员函数将恶魔 "d与调用实例 "IlcIntervalVar上的大小域事件关联起来。 每当调用区间变量的大小整数范围缩小时,恶魔就会被执行。
由于约束也是恶魔,因此约束也可以作为参数传递给该成员函数。 每当调用区间的大小整数范围缩小时,该约束就会传播。
该成员函数只能在张贴约束时使用。